클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직인다.
코어: 명령어를 실행하는 부품, cpu는 코어를 여러 개 가지고 있음
코어를 여러개 포함하면 ⇒ 멀티코어 CPU / 멀티코어 프로세서
thread: 실행 흐름의 단위, cpu에서 사용되는 하드웨어적 스레드와 프로그램에서 사용되는 소프트웨어적 스레드가 있다.
하드웨어적 스레드 ”하나의 코어가 동시에 처리하는 명령어 단위” 여러 스레드를 지원하는 cpu는 하나의 코어로도 여러 개의 명령어를 동시에 실행할 수 있다. 이를 멀티스레드 프로세서라한다.
소프트웨어적 스레드 ”하나의 프로그램에서 독립적으로 실행되는 단위” 하나의 프로그램은 실행되는 과정에서 한 부분만 실행될 수도 있지만, 프로그램의 여러 부분이 동시에 실행될 수도 있습니다.
멀티스레드 하나의 코어로 여러 명령어를 처리하도록 만들려면 프로그램 카운터, 스택 포인터, 메모리 버퍼 레지스터, 메모리 주소 레지스터와 같이 하나의 명령어를 처리하기 위해 꼭 필요한 레지스터를 여러 개 가지고 있어야 함.