STUDY

[컴퓨터구조]Ch2: 5. Representing Instructions

컴퓨터구조
Author
gleaming
Date
2021-10-24 06:44
Views
278

CHAPTER 2.
INSTRUCTIONS : LANGUAGE OF THE COMPUTER

 



5. Representing Instructions

 




◆ Representing Instuctions

  • 명령어는 binary로 인코딩 된다. (기계어)
  • in MIPS
    명령어는 32 bits의 한 word로 인코딩
  • 연산 코드(opcode), 레지스터를 표현하기 위해 적은 숫자 사용
  • $t0 ~ $t7 : reg's 8~15
    $t8 ~ $t9 : reg's 24~25
    $s0 ~ s7 : reg's 16~23
  • MIPS에서 제공하는 명령어 형식 포맷 : r형식, i형식, j형식


◆ MIPS Instructions

1) R-format

  • MIPS Fields

  • op : opcode
  • rs : first register source operand
  • rt : second register source operand
  • rd : register destination operand (연산 후의 결과 저장)
  • shamt : shift amount
  • funct(function)
  • +) op는 항상 0이고,  funct에서 rs와 rt 연산 수행

2) I-format

  • MIPS Fields

  • op / rs / rt
  • Immediate Data(16) : 상수나 주소

3) J-format

  • MIPS Fields
  • op
  • Address(26)

4) example (R-format)

  • add $t0, $s1, $t

    컴퓨터에는 맨 아래 16진수만 표현되어있다.


◆ MIPS I-format Instructions


1) 산술연산, 명령어 load/store 할 때 사용

  • -2^15 ~ +2^15 -1 사용가능
  • 기본 주소(rs)로부터 시작해서 address만큼 떨어진 주소의 값을 rt에 저장

2) Design Principle 4 : 좋은 디자인은 좋은 절충을 요구한다.

  • 다른 형식은 디코딩을 복잡하게 하지만, 이 경우엔 32-bit 명령어를 균일하게 허용한다.
  • 형식을 최대한 유사하게 유지한다.

3) example

  • A[300] = h + A[300];
    ($t1 = A의 시작, rs / $s2 = h / address=300)
  • lw $t0, 1200($t1) #$t0 = A[300]
    add $t0, $s2, $t0 #$t0 = h+$t0
    sw $t0, 1200($t1) #store $t0(h+A[300]) back into A[300]
  • 표로 나타내기