본문 바로가기
2학년 2학기/컴퓨터 구조

5.1 Instruction codes

by print_soo 2024. 10. 27.

micro operation(마이크로 연산)들이 모여서 instructions이 되고, 그 instructions이 모여서 프르그램이 된다.

 

❓ Instruction이란?

: CPU가 프로그램에서 수행해야 할 구체적인 작업을 정의하는 기본 명령어이다. 인스트럭션은 연산 코드와 피연산자로 이루어지며, 이를 통해 CPU가 데이터를 처리하고 명령을 수행하게 된다.

 

 

Instruction의 기본 포멧

 instruction은 명령어의 종류와 피연산자의 주소로 이루어져있고, 각각 4bit, 12bit로 이루어져있다. 그리고 피연산자의 값은 16 bit로 이루어져있다. 

 


 

 memory의 구조

 

메모리의 사이즈는 16bit이고, 메모리 전체의 주소는 instruction의 Adress에 의해서 결정된다. instruction의 Adress는 총 12bit이므로 메모리 전체의 주소 값의 크기는 2의 11승인 4096이다. 따라서 메모리 주소는 0에서 2^11 -1 까지 설정할 수 있다.

 


 

AC(Accumulator) - 누산기: 누적돼서 처리된다.)

 

기본적으로 처리되는 결과가 저장되는 레지스터이다. 

 


 

Effective address(유효주소)

: 실제 피연산자의 주소를 이야기한다.

 

 

유효 주소를 지정하는 방식

 

1. 즉시 주소 지정(Immediate Addressing)

: 명령어 내에 피연산자의 값이 바로 포함되어 있는 경우이다. 즉, 피연산자 값이 명령어 자체에 있어 메모리를 따로 참조할 필요가 없다.

예를 들면, "너에게 데이터 5개를 줄게!" 라고 하는 것

 

2. 직접 주소 지정(Direct Addressing)

: 명령어에 피연산자의 메모리 주소가 포함된 경우이다. 명령어가 직접 메모리 주소를 참조하여 그 주소에 저장된 값을 가져오는 방식이다.

예를 들면, "데이터가 1000번 창고에 있으니깐 거기서 가져와!" 라고 하는 것

 

3. 간접 주소 지정(Indirect Addressing)

: 명령어에 피연산자의 메모리 주소가 포함된 경우이다. 명령어가 직접 메모리 주소를 참조하여 그 주소에 저장된 값을 가져오는 방식이다.

예를 들면, "데이터는 500본 창고에 저장된 노트에 적인 주소에 있어!" 라고 하는 것

 


위에서  instructions 포멧에 대해서 다루어봤다. 

 



더 자세히 살펴보면 위의 그림과 같이 Opcode 내부에 I bit라고 해서 I가 0이면 직접 주소 지정을 하고, I가 1이면 간접 주소 지정을 한다. 다. 따라서, I bit를 제외하고, 나머지 3bit가 명령어를 의미한다.

 

 

 

[I가 0인 경우 - 직접 주소 지정]

 

I가 0이기 때문에, 직접 주소 지정 방식을 사용한다. 457번 주소에 있는 값이 해당 operand(피 연산자)가 되는 것이다.  따라서 해당 값과 AC를 더해서 AC에 저장하는 것이다. (유효 주소는 457)

 

 

[I가 1인 경우 - 간접 주소 지정]

 

I가 1이기 때문에, 간접 주소 지정 방식을 사용한다. 300번 주소에 있는 값을 주소로 가지는 값이 해당 operand(피 연산자)가 되는 것이다.  따라서 해당 값과 AC를 더해서 AC에 저장하는 것이다. (유효 주소는 1350)

'2학년 2학기 > 컴퓨터 구조' 카테고리의 다른 글

5.3 Computer Instructions  (0) 2024.10.27
5.2 Computer registers  (0) 2024.10.27
Quiz Session  (0) 2024.10.16
4.7 Arithmetic logic shift unit  (1) 2024.10.09
4.6 shift micro-operations  (1) 2024.10.09