IT 프로그래밍/컴퓨터구조

[단국대 강의] MIPS 컴퓨터 구조 instruction

기술1 2024. 9. 29. 11:21
반응형

instruction을 조절해서 새로운 문제를 푸는 데 도움이 됩니다. instruction이라는 것이 어떻게 구성이 되어 있는지 조금 더 깊이 살펴보면 0과 1로 이루어진 비트스트림으로 구성이 되어 있습니다. 

 

MIPS의 경우 고정된 비트스트림을 가지고 있으며 opcode와 operand의 위치가 일정하게 지정이 되어 있습니다. 

 

어셈블리 프로그래밍은 머신코드와 동일한 프로그램을 갖지만 사람이 읽을 수 있는 프로그래밍을 말합니다. 머신의 입장에서 특성을 이해하는 과정이 필요합니다. 

 

MIPS ISA의 구조

Simple

R0 ~ R31의 레지스터, 고정된 사이즈 및 opcode 위치 고정되어 있음

 

MIPS instrucion set 구조에서 명령어는 R 타입, I타입, J타입으로 되어 있습니다. 

 

일반적인 카테고리

  • R-type ALU ops
  • I-type ALU ops
  • Load
  • Store
  • Jump
  • Branch

R타입 ALU OPS

opcode rs rt rd shamt funct
31~26 25~21 20~16 15~11 10~6 5~0

3개의 레지스터가 rs, rt, rd로 사용이 되며 opcode와 함께 function code가 지정이 되어 어떤 ALU인지 지정을 할 수 있도록 되어 있습니다.

 

이것이 마치 배열처럼 이해하시면 이해가 쉬울 것입니다. 

 

R[rd] = R[rs] + R[rt]

 

프로그램의 instruction의 실행이 끝난 다음 PC = PC+4를 합니다. 모든 명령어가 4바이트로 크기가 고정되어 있기 때문에 4를 더하는 것입니다. 

 

I-type ALU ops

opcode rs rt immediate
31~26 25~21 20~16 15~0

 

R[rt] = R[rs] + imm

 

 

i 타입 같은 경우 rt 레지스터에 저장을 하는 것을 확인할 수 있습니다.

 

LOAD

opcode rs rt immediate
31-26 25-21 20-16 15-0

 

STORE

opcode rs rt immediate
31 ~ 26 25 ~ 21  20 ~ 16 15 ~ 0

 

JUMP

opcode address
31 ~ 26 25 ~ 0

 

BRANCH

opcode rs rt iummediate
31 ~ 26 25 ~ 21  20 ~ 16 15 ~0

if(R[rs] == R[rt])

 

PC = PC + b_target

 

 

반응형

'IT 프로그래밍 > 컴퓨터구조' 카테고리의 다른 글

[컴퓨터구조] Processor1  (0) 2024.12.17
[컴퓨터구조] processor1  (0) 2024.12.17
[컴퓨터구조] Dapapath  (1) 2024.12.11
[컴퓨터구조] CPU 구조  (0) 2024.12.11
컴퓨터 응용 분야  (0) 2024.09.06