Palamore 2020. 9. 22. 15:25

Register

CPU가 연산을 하기 위해 필요한 데이터를 저장하는 CPU 내부의 수십 개의 작은 저장 장소.

컴퓨터의 처리장치 중 속도가 가장 빠르다. (레지스터 > 캐시 > 메모리 > 보조기억장치 순)

n개의 Filp/Flip으로 구성되어 있는데 예를 들면 32비트 레지스터는 32개의 Flip/Flop으로 구성된다.

Word의 비트에 따라 연산을 수행한다.

 

CPU 내부의 주요 레지스터로는

MAR, PC, IR 등이 있다.

MAR(Memory Address Register) : 메모리의 주소를 저장하는 레지스터

PC(Program Counter) : 다음에 수행될 명령어의 위치를 저장하는 레지스터

IR(Instruction Register) :  현재 수행중인 명령어를 저장하는 레지스터

AC(Accumulator) : 연산의 결과를 일시적으로 저장하는 레지스터

MBR(Memory Buffer Register) : 메모리에서 가져온 또는 메모리로 보낼 데이터를 일시적으로 저장하는 레지스터

DR(Data Register) : 연산에 사용될 데이터를 저장하는 레지스터.

 

Micro operation

레지스터가 수행하는 연산.

레지스터에 저장되어 있는 데이터로 연산을 수행하는 것.

Arithmetic Micro operation

더하기, 빼기, 곱하기, 나누기, 나머지 와 같은 산술 연산들을 수행하는 micro operation

4개의 전가산기를 사용한다.

 

Logic Microoperation

AND, OR, XOR 같은 논리 연산들을 수행하는 micro operation

 

Shift Microoperation

>>, << 과 같은 쉬프트 연산을 수행하는 micro operation

logical Shift : 왼쪽, 오른쪽 쉬프트 시 생기는 공간에 0이 삽입된다.

Circular Shift : 왼쪽 쉬프트 시에는 왼쪽 끝 비트가 오른쪽 끝으로 붙고,

오른쪽 쉬프트 시에는 오른쪽 끝 비트가 왼쪽 끝으로 붙는다.

Arithmetic Shift : 왼쪽 쉬프트 연산 시 오른쪽 끝 비트에는 0을 삽입,

왼쪽 끝 비트에는 해당 비트와 그 오른쪽 비트를 XOR연산한 값을 삽입.

오른쪽 쉬프트 연산 시 왼쪽 끝 비트를 변환시키지 않고(그대로 유지하고) 쉬프트 연산.