본문 바로가기
CS/컴퓨터 구조

컴퓨터 구조 - (4) CPU 성능 향상 기법

by 16비트 2023. 1. 23.

 

1. 빠른 CPU를 위한 설계 기법

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

댓글