05-1. 빠른 CPU를 위한 설계 기법
1. 클럭
클럭(Clock)
1초에 클럭이 몇 번 반복되는지를 나타내는 단위. 헤르츠(Hz)로 측정 클럭 속도가 높은 CPU가 일반적으로 빠르게 동작
- 클럭은 CPU의 기본 시계이며, 명령어와 데이터의 전송을 동기화하는 역할을 합니다.
- 높은 클럭 속도는 일반적으로 빠른 연산을 의미하지만, 고주파의 클럭을 생성하는 것은 열 및 전력 소모와 같은 문제를 발생시킬 수 있습니다.
2. 코어와 멀티 코어
코어(Core)
- 코어는 하나의 물리적인 프로세서로, 독립적으로 실행 가능한 작업을 처리할 수 있는 CPU의 기본 단위입니다.
- 다중 코어 프로세서는 여러 개의 코어를 하나의 칩에 통합하여 병렬 처리를 가능하게 합니다.
멀티 코어(Multi-core)
- 여러 개의 코어를 하나의 CPU 칩에 통합하여 성능 향상과 전력 효율성을 동시에 추구하는 기술입니다.
- 멀티 코어 시스템은 병렬 처리를 통해 여러 작업을 동시에 처리할 수 있습니다.
3. 스레드와 멀티스레드
스레드(Thread)
- 스레드는 프로세스 내에서 실행되는 독립적인 실행 흐름으로, 각 스레드는 고유한 레지스터와 프로그램 카운터를 가지고 있습니다.
- 멀티스레딩은 여러 스레드가 하나의 프로세스에서 동시에 실행되는 것을 의미합니다.
멀티스레딩(Multithreading)
- 멀티스레딩은 여러 스레드가 동시에 실행되어 병렬 처리를 가능하게 합니다.
- 멀티스레딩은 작업을 더 효율적으로 분할하고 관리하여 성능 향상을 도모할 수 있습니다.
이러한 설계 기법들은 CPU의 성능을 향상시키기 위한 다양한 방법을 제시해주며,
현대의 컴퓨터 아키텍처에서는 이러한 기술들을 조합하여 고성능 및 효율적인 처리를 가능하게 만들어준답니다!
05-2. 명령어 병렬 처리 기법
1. 명령어 파이프라인
명령어 파이프라인(Instruction Pipeline)
- 명령어 파이프라인은 여러 단계로 나누어진 명령어 처리를 통해 병렬성을 활용하는 기법입니다.
- 파이프라인은 다수의 명령어가 동시에 파이프라인의 각 단계에서 처리되도록 하여 CPU의 전체 성능을 향상시킵니다.
- 단점으로는 명령어 간 의존성, 파이프라인 플러싱 등의 문제가 발생할 수 있습니다.
2. 슈퍼스칼라
슈퍼스칼라(Superscalar)
- 슈퍼스칼라는 여러 개의 명령어 유닛을 가진 CPU로, 동시에 여러 명령어를 병렬로 실행할 수 있습니다.
- 다수의 명령어 유닛을 통해 병렬성을 극대화하며, 명령어 간 의존성에 대한 처리를 최적화합니다.
- 하나의 클럭 사이클에 여러 명령어를 동시에 실행하는 것이 가능합니다.
3. 비순차적 명령어 처리
비순차적 명령어 처리(Out-of-Order Execution)
- 비순차적 명령어 처리는 명령어를 순차적으로 실행하는 대신, 실행 가능한 명령어를 먼저 실행하는 기법입니다.
- 명령어 간 의존성 등에 따라 순서를 바꾸어 최대한 많은 명령어를 병렬로 실행함으로써 성능을 극대화합니다.
- 예측 실패 등에 대한 처리가 필요하며, 안정성을 유지하면서 성능을 향상시키는 데 중요한 역할을 합니다.
이러한 명령어 병렬 처리 기법들은 하드웨어 수준에서 명령어를 효율적으로 처리하여 성능을 향상시키는데 사용됩니다. 이들은 각각의 특성과 장단점이 있으며, 현대의 고성능 CPU는 이러한 여러 기법을 조합하여 사용합니다.
05-3. CISC와 RISC
1. 명령어 집합
명령어 집합(Instruction Set)
- 명령어 집합은 CPU가 이해하고 실행할 수 있는 명령어의 모음을 나타냅니다.
- 명령어 집합은 기계어 수준에서 프로세서가 수행할 수 있는 연산을 정의하며, CPU의 아키텍처에 직접적인 영향을 미칩니다.
2. CISC
CISC(Complex Instruction Set Computer)
CISC는 복잡하고 다양한 수의 가변 길이 명령어 집합을 활용
- CISC는 명령어 집합이 복잡하고 다양한 명령어를 포함하는 컴퓨터 아키텍처를 나타냅니다.
- 하나의 명령어가 여러 동작을 수행할 수 있으며, 메모리 접근, 연산, 제어 흐름 등을 포함하는 복합적인 명령어를 지원합니다.
- 주로 인텔 x86 계열 CPU가 CISC 아키텍처를 사용합니다.
3. RISC
RISC(Reduced Instruction Set Computer)
RISC는 단순하고 적은 수의 고정 길이 명령어 집합을 활용
- RISC는 명령어 집합이 단순하고 명령어 수를 최소화한 컴퓨터 아키텍처를 나타냅니다.
- 단일 사이클 명령어 실행을 강조하며, 명령어의 길이가 짧고 고정되어 있습니다.
- 간단한 명령어로 구성되어 병렬 처리를 용이하게 하고 전력 소모를 줄입니다.
- 주로 ARM, MIPS, RISC-V 등이 RISC 아키텍처를 사용합니다.
CISC와 RISC는 명령어 집합의 특성에 따라 구분되며, 각각의 아키텍처는 서로 다른 설계 철학과 장단점을 가지고 있습니다.
CISC는 명령어가 복잡하지만 각 명령어의 작업이 많고 메모리 접근이 유연하며, RISC는 간단한 명령어로 높은 성능을 추구하는 방향으로 설계되었습니다. 최근에는 이 두 가지를 조합한 형태도 나타나고 있습니다.
'혼공학습단 > 컴퓨터 구조 with 운영체제' 카테고리의 다른 글
[컴퓨터 구조] 혼공학습단 11기_4주차 (2) | 2024.01.27 |
---|---|
[컴퓨터 구조] 혼공학습단 11기_3주차 (0) | 2024.01.21 |
[컴퓨터 구조] 혼공학습단 11기_2주차 (2) | 2024.01.10 |
[컴퓨터 구조] Chapter04 : CPU의 작동 원리 (0) | 2023.12.24 |
[컴퓨터 구조] Chapter01 ~ 03 (0) | 2023.12.21 |