클럭, 멀티코어, 멀티스레드
클럭 : 컴퓨터 부품이 움직이는 단위
클럭 속도가 빠를수록 CPU의 속도도 빨리지지만 발열문제 등 한계가 있다.
멀티코어 : 여러개의 명령을 실행하는 부품
코어 : 명령을 실행하는 부품으로 레지스터, ALU,제어장치 등으로 이루어져 있음.
코어의 개수가 많을수록 CPU의 속도도 빨라지지만 연산이 적절히 분배되지 않으면 빨라지지 않는다.
멀티스레드 : 스레드가 여러개
하나의 코어로 여러 명령어를 동시 처리한다.
스레드 : 명령어 실행의 단위
하드웨어적 스레드 : 하나의 코어가 동시에 처리할 수 있는 명령어 단위
소프트웨어적 스레드 : 하나의 프로그램에서 독립적으로 실행되는 단위.
명령어 병렬 처리
명령어를 동시에 처리하여 CPU를 계속해서 작동시키는 기법
1. 명령어 파이프라인
위처럼 명령어가 끝나고 다음 명령어를 실행시키는 것이 아니라, 각 단계가 끝날 때마다 명령어를 실행시켜 동시에 처리하는 방식
1. 데이터 위험 : 만약 명령어 2에서 명령어 1의 결과값을 사용하려고 하면 에러
2. 제어 위험 : 명령어 1에서 PC가 바뀌어 JUMP 한다면 그 뒤의 것 필요 X
3. 구조적 위험 : 같은 자원을 동시에 쓰려고 할 때
2. 슈퍼스칼라
여러개의 명령어 파이프라인을 가지고 있는 경우
3. 비순차적 명령어 처리
순서를 바꿔 실행해도 무방한 명령어를 먼저 가져와 실행하는 기법
ISA CISC RISC
ISA(Instruction Set Architecture) : CPU가 이해할 수 있는 명령어들의 모음
CPU마다 ISA가 다르고 이 CPU의 언어에 따라 레지스터 종류, 개수, 메모리 관리법 등 많은 것이 달라진다.
현대 가장 많이 사용되는 ISA로는 CISC와 RISC가 있다.
CISC(Complex Instruction Set Computer)
CISC는 다양하고 복잡한 가변 길이 명령어를 활용한다.
장점 : 적은 개수의 명령어로 프로그램을 실행할 수 있다. -> 실행파일의 크기가 작다.
단점 : 명령어 실행에 시간이 오래 걸리고 일정하지 않다. -> 파이프라인 구현에 큰 걸림돌이 된다.
RISC(Reduced Instruction Set computer)
RISC는 명령어의 개수가 적고 짧으며 길이가 고정되어 있다.
CISC보다 명령어가 많고 레지스터의 개수가 많다
장점 : 파이프라인 구현에 최적화 되어 있다. 메모리 접근을 단순화하고 최소화 한다.
'컴퓨터 구조' 카테고리의 다른 글
CH7 보조기억장치 (0) | 2024.03.31 |
---|---|
CH6 메모리와 캐시메모리 (0) | 2024.03.31 |
CH4 명령어 사이클과 인터럽트 (0) | 2024.03.21 |
CH.4 CPU의 작동원리 (0) | 2024.03.21 |
CH3. 명령어 고급언어와 저급언어 (0) | 2024.03.17 |