221114 TIL

apwierk·2022년 11월 14일
0

TIL

목록 보기
28/33

CPU 성능 향상 기법

빠른 CPU를 위한 설계 기법

클럭

: CPU 속도 단위 -> 속도 가 높은 CPU가 성능이 좋다.

오버클럭킹
: 일정한 클럭 속도를 유지하기보다 고성능을 요구하는 순간 최대 클럭 속도를 강제로 끌어올리는 기법

코어와 멀티코어

CPU의 성능을 높이는 방법

  • 클럭 속도를 높인다.
  • 코어 수를 늘린다.
  • 스레드 수를 늘린다.

코어: CPU 내에서 명령어를 실행하는 부품

코어를 여러개 포한하는 CPU를 멀티코어CPU, 멀티코어 프로세서라고 한다.

스레드와 멀티스레드

스레드

: 실행 흐름의 단위
- 하드웨어적 스레드 -> CPU에서 사용, 논리 프로세서라고 부르기도함
: 하나의 코어가 동시에 처리하는 명령어 단위
하나의 코어로 여러 명령어를 동시에 처리하는 CPU를 멀티스레드 프로세서, 멀티스레드 CPU라고 한다.
인텔에서의 멀티스레드 기술을 하이퍼스레딩이라고 한다.
- 소프트웨적 스레드 -> 프로그램에서 사용
: 하나의 프로그램에서 독립적으로 실행되는 단위
여러가지 각 기능을 수행할 메모리를 할당해 여러 기능을 동시에 실행
1코어 1스레드 CPU로도 이용 가능

멀티스레드 프로세서

멀티스레드 프로세서가 가능한 핵심은 레지스터이다.
코어가 여러 개의 레지스터를 갖는다면 여러 개의 명령어를 동시에 실행한다.

명령어 병렬 처리 기법

: CPU를 한시도 쉬지 않고 작동시키는 기법

명령어 파이프라인 *

: 동시에 여러 개의 명령어를 겹쳐 실행하는 기법

명령어 처리 과정

  • 명령어 인출
  • 명령어 해석
  • 명령어 실행
  • 결과 저장
    명령어 처리 과정이 겹치지만 않는다면 CPU는 각 단계를 동시에 실행할 수 있다.

데이터 위험

: 데이터 의존적인 두 명령어를 무작정 동시에 실행하려고 하면 파이프라인이 제대로 작동하지 않는 것

제어 위험

: 여러 개의 명령어를 동시에 처리하다가 이전의 명령어 중에서 분기를 해야하는 상황이 발생했을 때

구조적 위험

: 서로 다른 명령어가 동시에 ALU, 레지스터 등과 같은 CPU 부품을 사용하려고 할 때 발생

슈퍼 스칼라 *

: CPU 내부에 여러 개의 명령어 파이프라인을 포함한 구조 like 멀티명령어 파이프라인
슈퍼스칼라 프로세서, 슈퍼스칼라 CPU라고 부른다.

비순차적 명령어 처리

: 순차적으로 메모리가 나열되었을 때 중간에 이전의 결과 값이 있어야되는 경우 뒤의 메모리를 먼저 처리하고 원하는 결과 값이 나온 이후에 실행되도록 하는 기법

CISC, RISC

: CPU언어

명령어 집합

: CPU가 이해할 수 있는 명령어들의 모음
제조사마다 명령어가 다르다.

CISC

: 복잡한 명령어 집합을 활용하는 컴퓨터
장점
: 여러 개의 명령어로 수행할 수 있는 일을 몇 개만으로 수행할 수 있다.
단점
: 복잡한 명령어 때문에 하나를 실행하는 데에 여러 클럭 주기가 필요하다.
따라서 명령어 수행 시간이 길고 가지각색이기 때문에 파이프라인이 효율적이지 않다.

RISC

: 고정길이 명령어를 추구하고 CISC의 단점을 보완해서 나옴

특징정리

CISC

  • 복잡하고 다양한 명령어
  • 가변길이 명령어
  • 다양한 주소 지정 방식
  • 프로글매을 이루는 명령어의 수가 적음
  • 여러 클럭에 걸쳐 명령어 수행
  • 파이프라이닝 어려움

RISC

  • 단순하고 적은 명령어
  • 고정 길이 명령어
  • 적은 주소 지정 방식
  • 프로그램을 이루는 명령어의 수가 많음
  • 1클럭 내외로 명령어 수행
  • 파이프라인이 쉬움
profile
iOS 꿈나무 개발자

0개의 댓글