728x90
반응형

operation 2

1번 레지스터 $at을 사용하는 때 [컴퓨터구조]

$at은 어셈블러가 알아서 사용하는 레지스터이다. 위와 같이 왼쪽 표현이 프로그래머가 짠 표현이라면 어셈블러는 우측과 같이 바꾸어준다. 이렇게 된 이유는 실제로 mov, blt를 MIPS에서 지원하지 않는 연산이지만 어셈블러는 이를 알아듣고 실제로 있는 연산으로 치환해주는 것이다. 다시 정리하자자면 MIPS process에선 지원하지 않고 MIPS assembly process에서 지원해주는 것이다.

MIPS Architecture & Operation, 구조와 연산 [컴퓨터구조]

MIPS의 구조를 보자 MIPS는 32비트의 레지스터를 가지고 있고 각 레지스터는 0-31 비트가 있다. 레지스터를 더 자세히 보자면 32-bit 레지스터를 레지스터 파일(Register File)이라고 한다. 2개의 read port와 1개의 write port가 있다. 1 clock에 2개를 읽고 1개를 쓸 수 있다는 것이다. 저기 그림과 같이 src1 data 와 src2 data를 동시에 읽을 수 있다. 32개의 레지스터 중에서 2개를 읽을 수 있으니까 32-bit짜리 데이터 2개를 읽을 수 있다. (읽을 레지스터는 src1 addr, src2 addr을 통해서 주소를 입력받아서 읽게 되어있다.) (주소는 5-bit) write는 쓰기 위한 데이터 (32-bit) 어떠한 주소에 쓰냐면 dst ad..

728x90
반응형