반응형

중앙처리장치

- 중앙처리장치(Central Processing Unit)는 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치이다.

- 중앙처리장치는 제어장치, 연산장치, 레지스터 그리고 이들을 연결하여 데이터를 전달하는 버스로 구성되어 있다.

 

제어장치

- 제어장치(Control Unit)는 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치이다.

- 제어장치는 명령 레지스터에서 읽어 들인 명령어를 해독하여 해당하는 장치에게 제어 신호를 보내 정확하게 수행하도록 지시한다.

 

제어장치의 구성요소

1) 명령 레지스터 : 현재 실행중인 명령어의 내용을 기억하고 있다.

2) 명령 해독기(Decoder) : 명령 레지스터에 있는 명령어를 해독하는 회로이다.

3) 제어신호 발생기, 부호기(Encoder) : 해독된 명령에 따라 각 장치로 보낼 제어 신호를 생성하는 회로이다.

4) 제어 주소 레지스터(CAR) : 다음에 실행할 마이크로 명령어의 주소를 저장하는 레지스터로 Mapping의 결과값, 주소 필드, 서브루틴 레지스터의 내용들이 적재되어 있다.

5) 제어 버퍼 레지스터(CBR) : 제어 기억장치로부터 읽혀진 마이크로 명령어 비트들을 일시적으로 저장하는 레지스터이다.

6) 제어 기억장치 : 마이크로 명령어들로부터 이루어진 마이크로 프로그램을 저장하는 내부 기억장치이다.

7) 순서 제어 모듈 : 마이크로 명령어의 실행 순서를 결정하는 회로들의 집합이다.

8) 순차 카운터 :(Sequence Counter) : 디코더에 의해 선택된 번호에 해당하는 타이밍 신호를 생성한다.

 

연산장치

- 연산장치(ALU, Arithmetic & Logic Unit)는 제어장치의 명령에 따라 실제로 연산을 수행하는 장치이다.

- 연산장치가 수행하는 연산에는 산술 연산, 논리 연산, 관계 연산, 이동(Shift) 등이 있다.

- 연산장치는 가산기, 누산기(AC, Accumulator), 보수기, 데이터 레지스터, 오버플로 검출기, 시프트 레지스터 등으로 구성되어 있다.

 

레지스터

- 레지스터(Register)는 CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 저장소이다.

- 레지스터는 플립플롭(Flip-Flop)이나 래치(Latch)들을 병렬로 연결하여 구성한다.

- 레지스터는 메모리 중에서 속도가 가장 빠르다.

- 레지스터의 크기는 워드를 구성하는 비트 개수만큼의 플립플롭으로 구성되며, 여러 개의 플립플롭은 공통 클록의 입력에 의해 동시에 여러 비트의 자료가 저장된다.

- 레지스터를 구성하는 플립플롭은 저장하는 값을 임의로 설정하기 위해 별도의 입력 단차를 추가할 수 있으며 저장값을 0으로 하는 것을 설정해체(CLR)라고 한다.

 

레지스터 간의 자료 전송

- 직렬 전송 : 직렬 시프트 마이크 오퍼레이션을 뜻하며 병렬 전송에 비해 속도가 느리다.

- 병렬 전송 : 하나의 클록 펄스 동안에 레지스터 내의 모든 비트, 즉 워드가 동시에 전송되는 전송 방식이다.

- 버스 전송 : 모든 레지스터들이 공통으로 이용하는 경로로 병렬 전송에 비해 결선의 수를 줄일 수 있다는 장점이 있다.

 

레지스터의 종류 및 기능

1) 프로그램 카운터(Program Counter) : 다음 번에 실행할 명령어의 번지를 기억하는 레지스터로 분기(Branch, Jump) 명령이 실행되는 경우 그 목적지 주소로 갱신된다.

2) 명령 레지스터(Instruction Register) : 현재 실행중인 명령의 내용을 기억하는 레지스터이다.

3) 누산기(Accumulator) : 연산된 결과를 일시적으로 저장하는 레지스터로 연산의 중심이다.

4) 상태 레지스터(Status Register) : 시스템 내부의 순간순간의 상태가 기록된 정보를 PSW라고 한다.

5) 메모리 주소 레지스터(Memory Address Register) : 기억장치를 출입하는 데이터의 번지를 기억하는 레지스터이다.

6) 메모리 버퍼 레지스터(Memory Buffer Register) : 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터로 CPU가 데이터를 처리하기 위해서는 반드시 거쳐야 한다.

7) 베이스 레지스터(Base Register) : 명령이 시작되는 시작 번지를 기억하고 있는 레지스터이다.

8) 인덱스 레지스터(Index Register) : 주소의 변경, 서브 루틴 연결 및 프로그램에서의 반복 연산의 횟수를 세는 레지스터로 프로그래머가 내용을 변경할 수 있다.

9) 데이터 레지스터(Data Register) : 연산에 사용될 데이터를 기억하는 레지스터이다.

10) 시프트 레지스터(Shift Register) : 저장된 값을 왼쪽 혹은 오른쪽으로 1Bit씩 자리를 이동시키는 레지스터로 2배 길이의 레지스터라고도 한다.

11) 메이저 스테이터스 레지스터(Major Status Register) : CPU의 메이저 상태를 저장하고 있는 레지스터

* 메이저 상태 : CPU의 현재 상태를 말하는 것으로 인출, 간접, 실행, 인터럽트 상태가 있다.

 

버스

- 버스는 CPU, 메모리, I/O 장치 등과 상호 필요한 정보를 교환하기 위해 연결하는 공동의 전송선이다.

- 컴퓨터 내부 회로에서 버스 선(Bus Lines)을 사용하는 목적은 결선의 수를 줄이기 위함이다.

- 메모리나 입출력 장치가 제대로 동작하려면 버스를 통해 전달되는 제어 신호, 어드레스 신호 및 데이터 신호의 상호 시간적 관계가 잘 유지되어야 한다.

 

전송하는 정보에 따른 분류

1) 번지 버스(Address Bus) : CPU가 메모리나 입출력기기의 번지를 지정할 때 사용하는 단방향 전송선

2) 자료 버스(Data Bus) : CPU와 메모리 또는 입출력기기 사이에서 데이터를 전송하는 양방향 전송선

3) 제어 버스(Control Bus) : CPU의 현재 상태나 상태 변경을 메모리 또는 입출력장치에 알리는 제어신호를 전송하는 데 사용하는 양방향 전송선

 

버스 위치에 따른 분류

1) 내부 버스 : CPU 및 메모리 내에 구성된 BUS

2) 외부 버스 : 주변 입출력장치에 구성된 BUS

반응형

+ Recent posts