본문 바로가기
System SW

[2.5] MIPS Instruction Set Architecture V - 연산별 비트 구조

by Hangii 2022. 10. 13.

MIPS의 각 연산 과정에서 나타나는 비트 구조를 복습한다.

  • (Recap) MIPS의 기계어는 32bit를 가진다.
    • 기계어의 field는 opcode 영역(6bits)과 피연산자 영역(5bits+5bits+5bits+5bits+6bits)으로 나눌 수 있다.
    • 레지스터 3개를 사용하는 instruction의 경우, 11bit가 남아돈다.
    • 반면, memory addressing을 해야 하는 연산의 경우, 메모리의 주소를 표현하는 데만 32bit가 필요하기 때문에 opcode를 제외한 MIPS instruction field 영역으로는 표현하기에 부족하다. 따라서 레지스터와 메모리 주소를 혼합해서 사용한다든지의 방법으로 한정적으로 메모리를 표현해야 한다.
    • 피연산자의 조합에 따라 instruction field의 bit가 남기도, 부족하기도 하다.

  • 비트가 남는 instruction에서는 opcode 대신 남는 비트에 연산의 종류를 작성한다. 
    • 레지스터 피연산자 3개를 사용하는 연산의 경우, opcode 6bit 값을 모두 0으로 채우고, 뒤에 남는 funct 필드에 실제 operation을 작성한다.
    • branch instruction 중 bit수가 남는 경우, opcode에 000001을 채우고, rt필드에 operation을 작성한다.

  • Base Addressing
  • immediate값은 다음 명령어부터 재사용 불가

 

(추가 작성 예정)

댓글