1. 빠른 CPU를 위한 설계 기법
- 클럭 : 클럭 속도가 높은 CPU가 성능이 좋다. 너무 빨라지면 발열이 발생해 성능이 저하된다.
- 1Hz : 1초에 클럭이 몇 번 반복되는지 나타낸다.
- 코어 : 명령어를 실행하는 부품.
- 멀티 코어 프로세서 : 코어를 여러 개 포함하고 있는 CPU.
- 스레드 : 명령어를 실행하는 단위.
- 하드웨어적 스레드 : 하나의 코어가 동시에 처리하는 명령어 단위. 논리 프로세서라고도 부른다.
- 소프트웨어적 스레드 : 하나의 프로그램에서 독립적으로 실행되는 단위.
- 멀티 스레드 프로세서 : 하나의 코어로도 여러 개의 명령어를 동시에 실행할 수 있는 여러 스레드를 지원하는 CPU

2. 명령어 병렬 처리 기법
- 명령어를 동시에 처리하여 CPU를 쉬지 않고 작동시키는 기법

1) 명령어 파이프라인
- 같은 단계가 겹치지 않는다면 인출, 해석, 실행, 저장을 동시에 실행할 수 있다.
- 파이프라인 위험 : 파이프라이닝이 성능 향상에 실패하는 경우
- 데이터 위험 : '명령어 간 데이터 의존성'에 의해 발생. 반드시 끝나야만 실행되어하는 관계가 있는데 무작정 동시에 실행하려고 하면 파이프라이닝이 제대로 작동되지 않아 발생.
- 제어 위험 : '프로그램 카운터의 갑작스러운 변화'에 의해 발생. 프로그램 카운터는 기본적으로 현재 실행 중인 명령어의 다음 주소로 갱신되지만 갑작스러운 변화가 생기면 처리 중이던 명령어들이 쓸모가 없게 되어 발생.
- 구조적 위험 : 명령어들이 겹쳐 실행하는 과정에서 서로 다른 명령어가 동시에 ALU, 레지스터 등과 같은 CPU 부품을 사용하려할 때 발생. 자원 위험이라고도 한다.
2) 슈퍼 스칼라
- CPU 내부에 여러 개의 명령어 파이프라인을 두는 기법.

3) 비순차적 명령어 처리
- 파이프라인의 중단을 방지하기 위해 순서를 바꿔 실행해도 무방한 명령어를 먼저 실행하여 명령어 파이프라인이 멈추는 것을 방지하는 기법.
3. CISC와 RISC
- ISA : 명령어 집합. ISA가 같은 CPU끼리는 서로의 명령어를 이해할 수 있지만, ISA가 다르면 서로의 명령어를 이해하지 못한다. 즉, ISA는 CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속이다.
- CISC : 복잡하고 다양한 수의 가변 길이 명령어 집합을 활용하는 컴퓨터.
- 장점 : 적은 수의 명령어로도 프로그램을 실행할 수 있어 메모리 공간을 절약할 수 있는 장점이 있다.
- 단점 : 명령어가 복잡하고 다양한 기능을 제공하는 탓에 명령어의 크기와 실행되기까지의 시간이 일정하지 않다. 복잡한 명령어 때문에 명령어 하나를 실행하는 데에 여러 클럭 주기가 필요하다.
- RISC : CISC의 단점을 보완하기 위해 짧고 규격화된 명령어, 되도록 1클럭 내외로 실행되는 명령어를 활용하는 컴퓨터. 명령어 파이프라이닝에 최적화되어 있다.
CISC | RISC |
복잡하고 다양한 명령어 | 단순하고 적은 명령어 |
가변 길이 명령어 | 고정 길이 명령어 |
다양한 주소 지정 방식 | 적은 주소 지정 방식 |
프로그램을 이루는 명령어의 수가 적음 | 프로그램을 이루는 명령어의 수가 많음 |
여러 클럭에 걸쳐 명령어 수행 | 1클럭 내외로 명령어 수행 |
파이프라이닝하기 어려움 | 파이프라이닝하기 쉬움 |
'CS > 컴퓨터 구조' 카테고리의 다른 글
컴퓨터 구조 - (6) 보조 기억 장치와 입출력 장치 (0) | 2023.01.27 |
---|---|
컴퓨터 구조 - (5) 메모리와 캐시 메모리 (0) | 2023.01.26 |
컴퓨터 구조 - (3) CPU의 작동 원리 (0) | 2023.01.22 |
컴퓨터 구조 - (2) 데이터와 명령어 (0) | 2023.01.20 |
컴퓨터 구조 - (1) 개요 (0) | 2023.01.17 |
댓글