Register
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연산한 값을 삽입.
오른쪽 쉬프트 연산 시 왼쪽 끝 비트를 변환시키지 않고(그대로 유지하고) 쉬프트 연산.