CPU의 기능과 동작
- 명령어 인출과 명령어 해독
- 명령어 인출 : 주기억장치에 저장되어 있는 명령어를 읽어오는 기능
- 명령어 해독 : 인출된 명령어를 해독
기능 |
내용 |
데이터 인출(data fetch) 기능 |
명령어 실행을 위하여 데이터가 필요한 경우, 기억장치 또는 입출력장치에서 그 데이터를 읽어오는 과정이다. 연산 과정에서 사용하는 데이터를 불러오는 과정이라고 할 수 있다. |
데이터 처리(data process) 기능 |
읽어온 데이터에 대한 산술적 또는 논리적 연산을 수행한다. |
데이터 쓰기(data store) 기능 |
데이터 처리 과정에서의 수행 결과를 저장하는 기능이다. |
CPU의 동작
①처리해야 할 데이터는 주기억장치 RAM에서 인출되고 외부 시스템 버스를 통해서 레지스터 1번으로 전달된다.
②제어장치는 새롭게 저장된 레지스터 1번 데이터와 이전부터 저장하고 있던 레지스터 2번의 데이터를 덧셈하라는 제어신호를 ALU로 전달한다.
③결과를 누산기에 전달한다.
④다시 주기억장치로 전달한다.
제어장치의 기본 동작
- 모든 데이터는 CPU내에 있는 제어장치에서 지시를 받아 산술연산장치에서 처리된다.
- 모든 장치는 제어장치의 신호에 의해서만 작동하며, 이 신호는 제어 버스에 의해서 전달된다.
제어장치의 동작
①주기억장치에서 명령어를 인출해서 제어장치 내에 명령어 레지스터로 저장된다.
②프로그램 카운터는 다음에 실행될 명령어의 주소가 저장된다.
③제어장치가 명령어 레지스터의 명령어를 해석한다.
④해석된 명령어는 해당되는 제어신호를 발생시킨다.
프로그램 카운터의 동작
- 앞에서부터 한 명령씩 차례대로 실행
- 조건부 분기(JUMP)와 같이 순서를 바꾸어야 하는 경우가 생긴다.
CPU의 성능 요소
- 컴퓨터의 속도는 CPU의 속도를 이야기한다.
- 컴퓨터의 성능을 평가하는 중요한 요인이다.
- 여러 가지 요소에 좌우
- 클록 주파수
- 워드 크기
- 캐시메모리
- 명령어 집합의 복합성
- 파이프라이닝
- 병렬처리
클록 주파수
- 시스템 클록 : 컴퓨터에서 수행되는 모든 연산의 타이밍을 맞추기 위해 방출되는 펄스
- 클록 주파수
- 컴퓨터가 명령어를 수행하는 속도 결정
- 하나의 클록 동안에 명령어 부 사이클이 수행
- 클록의 주기가 길어지면 처리될 수 있는 명령어 부 사이클의 시간이 지연
- 클록의 주기는 클록의 주파수와 반비례이므로 짧은 주기는 높은 클록 주파수를 뜻한다.
- 클록의 주파수는 특정시간 동안 완수할 수 있는 명령어의 수를 제란
- 측정 단위는 MHz
워드 크기
- CPU가 한 번에 read, write 할 수 있는 비트 수
- 레지스터의 크기와 버스의 데이터 선 수에 다려있다.
- 워드 크기가 큰 컴퓨터는 워드 크기가 작은 컴퓨터보다 한 명령어에서 더 많은 데이터를 처리할 수 있다.
명령어 집합의 복잡성
- 복잡 명령어 집합 컴퓨터(CISC : Complex instruction set computer) 와
축소 명령어 집합 컴퓨터(RISC : Reduced instruction set cpmputer) 로 분류된다. - CISC
- CPU에 복잡한 명령어가 많이 내재된 컴퓨터
- 저속으로 동작
- 인텔 계열의 CPU - RISC
- 연산 속도를 향상시키기 위해 제어논리를 단순화
- CISC에 비해 단순화된 명령어의 구조
- CPU에 빠르게 수행되는 제한된 수의 간단한 명령어만이 내재된 컴퓨터
- 특별한 설계 방법을 통해 속도를 최대한 높일 수 있다.
- 병렬처리가능, MIPS계열, SPARC, ARM계열
파이프라이닝
- 연속적으로 연결되는 개념
- CPU 또는 프로세서가 이전 명령어의 수행이 완전이 종료되기 전에 새로운 다음 명령어 수행을 시작
파이프라이닝의 동작 원리
③번 명령어를 해독하는 동안
②번 명령어에 필요한 데이터는 레지스터로 가고
①번 명령어는 누산기에서 수행을 마친다.
- 명령어들의 부 사이클이 동시에 처리될 수 있어, CPU의 처리속도를 증가시킬 수 있다.
728x90
반응형
'컴퓨터구조' 카테고리의 다른 글
컴퓨터구조 - 주기억장치의 이해 (1) | 2020.01.03 |
---|---|
컴퓨터구조 - 주기억장치 (0) | 2020.01.03 |
컴퓨터구조 - CPU의 논리회로 설계(제어장치) (0) | 2019.11.07 |
컴퓨터구조 - CPU의 논리회로 설계(연산장치) (0) | 2019.11.07 |
컴퓨터구조 - CPU의 논리회로 설계(레지스터) (0) | 2019.11.07 |