컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다.
클럭 신호가 빠르게 반복되면 cpu를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직이게 된다. (일반적으로 그렇다)
클럭 신호가 마냥 높아지면 => cpu가 빨라진다? => 그렇진 않다. => 필요이상으로 클럭이 높아지면 발열이 생긴다.
클럭 속도 높이는 법 이외에,
코어수를 늘리기(듀얼 코어, 멀티 코어). 스레드 수를 늘리기(멀티 스레드). 두가지 방법이 있다.
CPU안에서 '명령어를 실행하는 부품'을 코어라고 한다.
반드시 코어 수에 비례하여 연산속도가 증가하는 것은 아니다.
- 하나의 코어가 동시에 처리하는 명령어 단위
- 하나의 프로그램에서 독립적으로 실행되는 단위
하나의 프로그램에서 하나의 스레드가 실행 or 동시에 두개 이상의 영역이 실행
- 1코어 1스레드 CPU도 여러 소프트웨어적 스레드를 만들 수 있다.
하드웨어적 스레드는 1개여도 소프트웨어적 스레드는 여러개를 만들 수 있다.
cpu는 명령어를 실행한다.
명령어의 집합 : CPU의 언어와 같다.
ISA : CPU의 언어와 같다. 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속.
명령어 집합의 가장 큰 두축이 CISC , RISC이다.
복잡한 명령어 집합을 활용하는 컴퓨터 (CPU)
x86, x86-64는 CISC 기반 명령어 집합 구조
복잡하고 다양한 명령어 활용
명령어의 형태와 크기가 다양한 가변 길이 명령어 활용
다양하고 강력한 명령어를 활용하여 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있다.
단점 : 명령어 파이프라이닝이 불리하다. 하나의 명령어를 실행하는 데 여러 클럭 주기 필요.
명령어 종류가 적고, 짧고 규격화된 명령어 사용. => 명령어 파이프라이닝에 유리하다.
명령어 종류가 cisc보다 적기에 더 많은 명령어로 프로그램을 동작시킨다.