중앙처리장치( CPU : Central Processing Unit )
- 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치이며, ‘제어장치’,‘연산장치’,‘주기억장치로 구성된다.
제어장치
- 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치이다.
- 제어장치는 주기억장치에서 읽어들인 명령어를 해독하여 해당하는 장치에게 제어 신호를 보내 정확하게 수행하도록 지시한다.
- 제어장치는 프로그램 카운터(PC), 명령어 레지스터(IR), 부호기(제어신호 발생기), 명령어 해독기, 번지 해독기 등으로 구성된다.
- 명령어의 실행은 인출(Fetch)단계, 간접(Indriect)단계, 실행(Execute)단계, 인터럽트(Interrupt)단계를 거친다.
인출(Fetch)단계
- 주기억장치로부터 명령어를 읽어 들여 해석하는 단계이다.
간접(Indriect)단계
- 해석된 명령어의 주소가 간접주소인 경우에 수행하는 단계로, 유효주소를 계산하기 위해 주기억 장치를 계산하기 위해 주기억 장치를 한번 더 접근한다.
실행(Execute)단계
- 해석한 명령을 실행하는 단계이다.
인터럽트(Interrupt)단계
- 인터럽트 발생 시 복귀주소를 저장시키고, 제어 순서를 인터럽트 처리 프로그램의 첫 번째 명령으로 옮기는 단계이다.
제어장치의 명령 실행 순서
1. 프로그램 카운터에 저장된 주소(값)을 번지 레지스터에 옮긴다.
2. 명령어를 주기억장치로부터 인출한다.
3. 프로그램 카운터를 증가 시킨다.
4. 명령 코드를 명령 레지스터로 옮긴다.
5. 명령 레지스터의 내용을 해독하여 실행한다.
-추가설명-
부호기(제어신호 발생기)
- 해독된 명령에 따라 각 장치로 보낼 제어 신호를 생성하는 회로이다.
명령어 해독기
명령 레지스터에 있는 명령어를 해독하는 회로이다.
번지 해독기
명령 레지스터에 있는 명령어가 가지고 있는 번지(간접, 직접 번지 등)을 해독하는 회로이다.
연산장치(ALU : Arithmetic & Logic Unit)
- 제어장치의 명령에 따라 실제로 연산을 수행하는 장치이다.
- 연상장치가 수행하는 연산에는 산술연산, 논리연산, 관계연산, 이동 등이 있으며, 가산기, 누산기, 보수기, 데이터 레지스터, 오버플로 검출기, 시프트 레지스터 등으로 구성되있다.
레지스터(Register)
- CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 기억장소이다
- 레지스터는 메모리 중에서 속도가 가장 빠르며, 연산 속도를 향상시키기 위해 사용된다. 또한 새로운 데이터가 전송되면 기존에 있던 내용은 지워지고 새로운 내용만 기억한다.
레지스터의 종류와 기능
프로그램 카운터(PC : Program Counter)
- 다음 번에 실행할 명령어의 번지를 기억하는 레지스터다.
명령어 레지스터(IR : Instruction Register)
- 현재 실행중인 명령의 내용을 기억하는 레지스터다.
누산기(AC : Accumulator)
- 연산된 결과를 일시적으로 저장하는 레지스터로 연산의 중심이 된다.
상태 레지스터(Staus Register) , PSWD(Program Status Word Register) , 플래그 레지스터(Flag Register)
- 시스템 내부의 순간 순간의 상태가 기록된 정보를 PSW라고 한다.
- 오버플로, 언더플로, 자리올림, 인터럽트 등이 PSW를 저장하고 있는 레지스터이며, 제어장치와 연산장치의 실행 순서를 제어하기 위해 사용되는 레지스터이다.
메모리 주소 레지스터(MAR : Memory Address Register)
- 기억장치를 출입하는 데이터의 번지를 기억하는 레지스터이다.
메모리 버퍼 레지스터(MBR : Memory Buffer Register)
- 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터이 이며, 버퍼 레지스터라고도 한다.
인덱스 레지스터(Index Register)
- 주소의 변경, 서브루틴 연결 및 프로그램에서의 반복 연산의 횟수를 세는 레지스터이다.
데이터 레지스터(Data Register)
- 연산에 사용될 데이터를 기억하는 레지스터이다.
시프트 레지스터(Shift Register)
- 클럭 펄스에 의해서 기억되는 내용을 왼쪽 또는 오른쪽으로 1Bit 씩 자리를 이동하는 레지스터로, 2배 길이 레지스터라고 한다.
-추가설명-
오버플로
- 연산의 결과값이 기억 워드의 기억 용량을 초과하여 넘쳐나는 상태를 말한다.
언더플로
- 연산의 결과값이 컴퓨터가 표현할 수 있는 값보다 작아 표현이 불가능한 상태를 말한다.
클럭 펄스
- 컴퓨터 내부의 각 장치와 회로의 동작을 일정하게 유지시키기 위해 규칙적으로 발생하는 전기적인 신호 형태이다. CPU클럭이라고 하며, 발생 주기를 클럭 속도 또는 클럭 주파수라고 한다. 단위는 Hz를 사용한다.
연산 수행을 나타내는 단위
LIPS : 초당 1개의 연산을 수행한다.
KIPS : 초당 1,000개의 연산을 수행한다.
MIPS : 초당 1,000,000개의 연산을 수행한다.
가산기(Adder) : 2진수의 덧셈을 수행하는 회로이다.
보수기(Complementor) : 뺄셈의 수행을 위해 입력된 값을 보수로 변환하는 회로이다.
마이크로프로세서(Microprocessor)
- 제어장치, 연산장치, 레지스터가 하나의 대규모 직접회로 칩(IC)에 내장된 것으로, 개인용 컴퓨터에서 중앙처리장치로 사용되고 있다.
RISC방식
- 명령어의 종류가 적어 전력 소비가 적고, 속도가 빠르지만 복잡한 연산을 수행하기 위해 명령어들을 반복·조합해서 사용해야 하므로 레지스터를 많이 푤요하고, 프로그램도 복잡하다.
CISC방식
- 명령어의 종류가 많아 전력 소비가 많고 명령어 설계가 어려워 고가이지만 레지스터를 적게 사용하므로 프로그램이 간단하다.
RISC,CISC방식 차이점
'공부하자 > 자격증' 카테고리의 다른 글
볼 대수 (0) | 2016.12.27 |
---|---|
컴퓨터의 발전 과정 (0) | 2016.12.27 |
입·출력장치 (0) | 2016.12.27 |
컴퓨터의 개념 (0) | 2016.12.27 |
2016년도 컴퓨터활용능력 시험일정 (0) | 2016.12.26 |