오래 못 할 짓 하지 않기

[ 컴퓨터 구조 ] 6. MIPS Instructions 본문

2학년 2학기/컴퓨터 구조

[ 컴퓨터 구조 ] 6. MIPS Instructions

쫑알bot 2023. 9. 24. 15:53
728x90

Format

예전에 컴퓨터가 Completeness를 가져야한다 이런 내용을 배우면서

성능을 향상시키고 발전시키기 위해서는 규칙이 있어야한다고 했다.

 

그 규칙에서 우리는 간단하게 그저 Operand가 몇 개인지만 배웠고,

이제 우리는 각 Instrcution을 타입에 따라 나누어서 뜯어보려고 한다.

 

 

1) R - Type

역할 : arithmetic and logic instructions  ( 숫자 연산과 논리 연산자)

구성:

 

특징 : R-type inst는 Op코드가 항상 0이고, Function 코드는 항상 32이다.

앞은 항상 0 , Function code는 32, Shamt도 항상 0, 따라서 안에 주소만 잘 넣어주면 된다.

 

 


 

2) I - Type

역할 : 메모리에서 데이터를 가져오거나 저장한다.

 

목적 : R타입에서는 어떤 주소를 표현하려고 해도 최대 6bits이다. 

          따라서 더 큰 걸 표현할 수 있게 다른 게 필요하다

아래 예시를 하나 보자

 

lw $s0, 24 ($s1) →   s1 주소에 32를 더한 후 
                                 그 주소에 있는 값을 s0에 저장한다. 

 

(추가 예시)

'


3) J - Type

 

목적 : Jump 할 곳의 주소를 직접 적음, OP코드 제외 모든 비트를 주소 할당하는 것에 사용한다.

 

      BEQ는 상대적인 주소, 현재 위치에서 얼만큼 이동할지 알려주고, JUMP는 어디로 이동할지 직접 주소를 찍어줌
      ex) BEQ : 여기서 좌회전해서 큰 건물끼고 돌아
      JUMP : 삼산로 125번길 33...

 

 

이게 PC로 들어갈 때 변화를 보자

 

우선 가장 뒤에 <<2를 해서 0이 두 개가 들어간다고 생각.

주소는 그대로 표현해야하기 떄문에, 26개 그대로 하고 OPcode에서 안 쓰는 뒤 2bits를 없애서 MSB인 앞 4 bit만 사용한다

 

(정확한 설명)
https://jyukki.tistory.com/13

 

 

 

[ 정리 ]


문제 풀기

 

Exericise 1) 

 

 

 

 


이것도 풀어보기

 


Stored Program Concept

 

저장되어 있는 Program에 대해 관련된 정보들이 있다

 

우선 그 저장된 Program에 2가지 규칙

 

1) 메모리에는 Instructions들이 숫자로 표현되어있다. (숫자나 데이터와 구분이 되지 않음)

 

2) Instruction의 집합체인 프로그램도 메모리에 함께 저장되어있음.

  → 우리가 Data처럼 읽거나 writte 할 수 있다.


 

 

이거에 관련되어 수행하는 동작도 있다. 

앞에서 이미 다 본 것이긴 한데도 한 번 더 보자

  • Fetch & Execute Cycle

  1) Instruction은 IR( Instruction register ) 로 Fetch하여 가져온다.   (Fetch)

  2) 비트들의 내용에 따라 그에따른 작업이 결정된다.                      (Read and execute)
         ex) opcode의 비트에서 어떠면 add ( R-type )
         Opcode랑 뒤에 16비트 주소만 있으면 ( I-type )

  3) 그 다음 Instruction을 가져온다( Fetch한다 )

 

-> 1부터 다시 반복

 

 

 

  • Control Transfer Instructions

- 수행할 명령어 순서를 조정하여 바꿈으로써, 다음에 실행될 명령어를 바꾼다

 

  • +
    PC Register는 그 다음 Instruction이 있는 메모리 주소를 가리킨다. 

 

 

 

 

(출처) 

한동대학교 용환기교수님 - 컴퓨터구조