: CPU 속도 단위 -> 속도 가 높은 CPU가 성능이 좋다.
오버클럭킹
: 일정한 클럭 속도를 유지하기보다 고성능을 요구하는 순간 최대 클럭 속도를 강제로 끌어올리는 기법
코어: CPU 내에서 명령어를 실행하는 부품
코어를 여러개 포한하는 CPU를 멀티코어CPU, 멀티코어 프로세서라고 한다.
: 실행 흐름의 단위
- 하드웨어적 스레드 -> CPU에서 사용, 논리 프로세서라고 부르기도함
: 하나의 코어가 동시에 처리하는 명령어 단위
하나의 코어로 여러 명령어를 동시에 처리하는 CPU를 멀티스레드 프로세서, 멀티스레드 CPU라고 한다.
인텔에서의 멀티스레드 기술을 하이퍼스레딩
이라고 한다.
- 소프트웨적 스레드 -> 프로그램에서 사용
: 하나의 프로그램에서 독립적으로 실행되는 단위
여러가지 각 기능을 수행할 메모리를 할당해 여러 기능을 동시에 실행
1코어 1스레드 CPU로도 이용 가능
멀티스레드 프로세서가 가능한 핵심은 레지스터이다.
코어가 여러 개의 레지스터를 갖는다면 여러 개의 명령어를 동시에 실행한다.
: CPU를 한시도 쉬지 않고 작동시키는 기법
: 동시에 여러 개의 명령어를 겹쳐 실행하는 기법
: 데이터 의존적인 두 명령어를 무작정 동시에 실행하려고 하면 파이프라인이 제대로 작동하지 않는 것
: 여러 개의 명령어를 동시에 처리하다가 이전의 명령어 중에서 분기를 해야하는 상황이 발생했을 때
: 서로 다른 명령어가 동시에 ALU, 레지스터 등과 같은 CPU 부품을 사용하려고 할 때 발생
: CPU 내부에 여러 개의 명령어 파이프라인을 포함한 구조 like 멀티명령어 파이프라인
슈퍼스칼라 프로세서, 슈퍼스칼라 CPU라고 부른다.
: 순차적으로 메모리가 나열되었을 때 중간에 이전의 결과 값이 있어야되는 경우 뒤의 메모리를 먼저 처리하고 원하는 결과 값이 나온 이후에 실행되도록 하는 기법
: CPU언어
: CPU가 이해할 수 있는 명령어들의 모음
제조사마다 명령어가 다르다.
: 복잡한 명령어 집합을 활용하는 컴퓨터
장점
: 여러 개의 명령어로 수행할 수 있는 일을 몇 개만으로 수행할 수 있다.
단점
: 복잡한 명령어 때문에 하나를 실행하는 데에 여러 클럭 주기가 필요하다.
따라서 명령어 수행 시간이 길고 가지각색이기 때문에 파이프라인이 효율적이지 않다.
: 고정길이 명령어를 추구하고 CISC의 단점을 보완해서 나옴
CISC
RISC