빠른 CPU를 위한 설계 기법
클럭
클럭 속도가 높을수록 CPU 성능이 좋다.
하지만 클럭 속도가 높을 수록 발열이 심하고 CPU에 무리가 간다
클럭 속도 단위: Hz, 100Hz = 1초당 클럭이 100번 반복되는 것
※클럭 속도는 일정하지 않으며 고성능을 요할때만 최대 클럭을 낸다
※최대 클럭이상으로 끌어올리는걸 오버클럭킹이라 한다.
코어와 멀티코어
코어: CPU 속 명령어를 실행하는 부품
멀티코어:코어가 여러개 포함하고 있는 CPU
당연히 멀티코어의 처리 속도가 단일 코어보다 더 빠르다.
스레드와 멀티스레드
스레드: 실행 흐름의 단위 (사전적 의미)
하드웨어적 스레드(논리 프로세서): 하나의 코어가 동시에 처리하는 명령어 단위
멀티 스레드 프로세서(멀티스레드 CPU): 하나의 코어로 여러 명령어를 동시에 처리하는 CPU
하이퍼스레딩: 인텔의 멀티스레드 기술
소프트웨어적 스레드: 하나의 프로그램에서 독립적으로 실행되는 단위
동시에 여러가지 기능들의 코드를 각각의 스레드로 만들면 동시에 실행 시킬 수 있다.
멀티스레드 프로세서
핵심 : 하나의 코어가 여러개의 레지스터 세트를 포함한다면 멀티스레드 프로세서를 설계할 수 있다.
명령어 병렬 처리 기법
명령어 파이프라이닝
명령어 파이프라이닝: 명령어를 파이프라인에 넣고 동시에 처리하는 기법
명령어 처리 과정 :
- 명령어 인출
- 명령어해석
- 명령어해석
- 결과 저장
CPU가 같은단계만 겹치지 않으면 각 단계를 동시에 실핼 할 수 있다.- 그림과 같이 그려짐
파이프라인을 사용하지 않는 경우 순차적으로 처리해야 하기 때문에 효율적이지 않다.-실행시간이 길다
파이프라인 위험
파이프라이닝이 성능 향상에 실패하는 특정 경우 3가지 (데이터,제어,구조적 위험)
데이터 위험
명령어 간 데이터 의존성에 의해 발생한다. 데이터 의존적인 두 명령어를 무작정 동시에 실행하려할 때 파이프라인이 제대로 작동하지 않는 것을 뜻한다. -이전 명령어가 끝까지 실행해야만 실행 될 수 있는 경우
제어 위험
주로 분기 등으로 인한 프로그램 카운터의 갑작스러운 변화에 의해 발생.
(JUMP,CALL같은 메모리 주소가 갑자기 바뀌는 경우에 발생함)
예방 -분기예측
구조적 위험(자원 위험)
서로 다른 명령어가 동시에 같은 CPU 부품을 사용하려할 때 발생함
슈퍼스칼라
CPU 내부에 여러 개의 명령어 파이프라인을 포함한 구조
슈퍼스칼라 프로세서는 파이프라인 개수에 비례하여 프로그램 처리 속도가 빨라지지만, 파이프라인 위험 등의 예상치 못한 문제가 있어 파이프라인 개수와 속도가 반드시 비례하진 않는다.
비순차적 명령어 처리(중요개념)
파이프라인 중단을 방지하기 위해 명령어들을 순차적으로 실행하지 않는 기법이다.
순차적인 처리를 상정한 방법의 경우 앞선 명령어가 모두 실행되어야 다음 명령어가 실행되기에 밀릴 수 밖에 없다.
하지만 비순차적 명령어 처리의 경우 순서를 바꿔 실행해도 무방한 명령어를 먼저 실행하여 명령어 파이프라인이 멈추는 것을 방지하는 기법이다.
CISC와 RISC
명령어 집합 : CPU들의 언어
CPU가 이해할 수 있는 명령어들의 모음으로 CPU 제조사마다 ISA가 다르다. ISA가 다르면 CPU가 이해할 수 있는 명령어와 어셈블리어가 달라진다.
CSIC VS RISC
CSIC (complex - 복잡한) | RISC(Reduced) |
복잡하고 다양한 명령어 | 단순하고 적은 명령어 |
가변 길이 명령어 | 고정 길이 명령어 |
다양한 주소 지정 방식 | 적은 주소 지정 방식 |
프로그램을 이루는 명령어의 수가 적다 | 프로그램을 이루는 명령어의 수가 많다 |
여러 클럭에 걸쳐 명령어를 수행한다 | 1클록 내외로 명령어를 수행한다 |
파이프라이닝하기 어렵다 | 파이프라이닝하기 쉽다 |
CSIC
메모리 절약 가능 하지만 명령어 규격화가 어려워 파이프라이닝이 어려움
RISC
메모리 접근 최소화, 레지스터를 활용 - 범용 레지스터가 많다.
'컴퓨터 사이언스 > 컴퓨터 구조 & 운영체제' 카테고리의 다른 글
[혼공컴운] 컴퓨터 구조 chapter 6 (0) | 2024.01.18 |
---|---|
[혼공컴운] 컴퓨터 구조 2주차 미션 (1) | 2024.01.15 |
[혼공컴운] 컴퓨터 구조 chapter 4 (0) | 2024.01.13 |
[혼공컴운] 컴퓨터 구조 1주차 미션 (1) | 2024.01.07 |
[혼공컴운] 컴퓨터 구조 chapter 3 (0) | 2024.01.07 |