이 글은 "혼자 공부하는 컴퓨터 구조 + 운영체제"를 읽고 이해한 내용을 복습하기 위해 작성하는 글입니다.
이미지 출처 : 혼자 공부하는 컴퓨터 구조 + 운영체제
CPU 성능
1. 설계기법
-
클럭
-
첫번째 CPU성능을 올리는 요인
-
주로 클럭속도(hz)는 CPU 속도 단위로 간주된다.
-
CPU는 일정한 클럭을 유지하는 것이 아니라 고성능을 요하는 순간에는 속도를 높히고 아닐때는 속도를 낮춘다.
-
최대 클럭 속도를 강제로 더 끌어 올리는 것을 오버클럭킹(OverClocking)이라 한다.
-
코어(멀티코어)
- 두번째 CPU성능을 올리는 요인
- 코어 : 명령어를 실행하는 부품
- CPU도 명령어를 실행하는 부품이 맞지만, 코어 또한 그러하다.
따라서 CPU = 명령어를 실행하는 부품을 여러가지 포함하는 부품 이라고 보는 것이 적절하다.
- 코어를 여러개 포함하는 CPU를 멀티코어 프로세서라고 한다.
- 하지만 코어의 갯수와 CPU의 연산속도는 무조건적인 비례관계가 아니다.
-
스레드 (멀티 스레드)
- 하드웨어적 스레드
- CPU에서 사용하는 "스레드"
- 하나의 코어가 동시에 처리하는 명령어 단위
- 하나의 코어가 동시에 처리하는 CPU를 멀티스레드 프로세서 라고 한다.
- 소프트웨어적 스레드
- 하나의 프로그램에서 독립적으로 실행되는 단위
- 1코어 1스레드 CPU로도 프로램의 여러 부분을 동시에 실행 가능
2. 명령어 병렬 처리 기법
- 명령어를 동시에 처리하여 CPU를 쉬지 않고 작동시키는 기법
-
명령어 파이프라인
-
슈퍼 스칼라
- 여러개의 명령어 파이프 라인을 포함한 구조
-
비순차적 명령어 처리
- 명령어를 순차적으로 실행 하지 않고, 먼저 처리해도 무방한 명령어를 먼저 실행하는 기법
3. CISC, RISC
- CISC
- Complex Instruction Set Computer
- 복잡한 명령어 집합을 사용하는 컴퓨터(CPU)
- 장점
- 가변길이 명령어를 사용
상대적으로 적은 수의 명령어 사용 > 컴파일된 프로그램의 크기가 작다.
- 단점
- 명령어가 복잡하고 다양하기 때문에, 크기와 실행시간이 일정치 않음
- 때문에 파이프라인 사용이 힘들다.
- RISC
- Reduced Instruction Set Computer
- 짧고 규격화된 명령어(1클럭 내외) 사용
- 고정길이 명령어 사용
- 파이프라이닝에 최적화