컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직이고 CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행합니다.
따라서, 클럭 신호가 빠르게 반복 (클럭 속도가 향상) 명령어 사이클 반복 속도 전체 부품 작동 속도
즉, 클럭 속도가 높은 CPU는 일반적으로 성능이 좋습니다.
CPU 내부에서 명령어를 실행하는 부품으로, CPU는 명령어를 실행하는 코어를 여러 개 포함하는 부품입니다.
CPU의 연산 속도가 꼭 코어 수에 비례하여 증가하지 않는다는 것에 주의합니다. 코어마다 처리할 연산이 적절히 분배되지 않는다면 코어 수에 비례하여 연산 속도가 증가하지 않습니다.
또한, 처리하고자 하는 작업량보다 코어 수가 지나치게 많아도 성능에는 크게 영향이 없습니다.
멀티스레드 프로세서는 하나의 코어로 여러 명령어를 동시에 처리하는 CPU로, 레지스터가 가장 큰 핵심입니다.
하나의 명령어를 처리하기 위해 필수적인 프로그램 카운터, 스택 포인터, 데이터 버퍼 레지스터, 데이터 주소 레지스터를 여러 개 가지고 있도록 설계합니다.
레지스터 세트 = 프로그램 카운터, 스택 포인터, 데이터 버퍼 레지스터, 데이터 주소 레지스터라고 하였을 때,
다음 경우를 생각해봅니다.
ex) 2코어 4스레드 CPU, 각 코어 = ALU + 제어장치 + 2개의 레지스터 세트로 구성
하나의 코어에서는 2개의 명령어를 처리하기 위한 정보들을 기억할 수 있고 ALU와 제어장치가 두 개의 레지스터 세트에 저장된 명령어를 해석하고 실행하면 2개의 명령어를 동시에 실행할 수 있습니다.
총 4개의 레지스터 세트가 있으므로, 메모리 속 프로그램의 입장에서는 4개의 명령어를 동시에 처리하는 CPU처럼 보입니다. 그래서 하드웨어 스레드를 논리 프로세서라고 부르기도 합니다.
확인문제
4. 다음 그림은 멀티코어 CPU를 간략하게 도식화한 그림입니다. 빈 칸에 알맞은 용어를 써 넣으세요.
참고문헌
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=299014282&start=slayer