✅ 특수목적 레지스터는 아래와 같은 다양한 레지스터가 존재합니다.
- 메모리 주소 레지스터: (MAR) : 읽고 쓰기 위한 주기억장치의 주소를 저장한다.
- 프로그램 카운터 (PC) : 다음에 수행할 명령어의 주소를 저장
- 명령어 레지스터 (IR) : 현재 실행 중인 명령어를 저장
- 메모리 버퍼 레지스터 (MBR) : 주기억장치에서 읽어온 데이터나 저장할 테이터를 임시로 저장
- 누산기 (AC, ACCUMULATOR) : 연산 결과를 임시로 저장
제어부와
내부버스
제어부
내부버스
연산장치는??
산술 논리 장치라고 불리는 이 곳은 덧셈, 뺄셈같은 산술연산과 논리 연산을 계산하는 디지털 회로입니다.
CPU의 성능
클럭
CPU 내부에서 일정한 주파수를 가지는 신호로, 이 신호로 모든 명령어가 동작되게 됩니다.
1Hz(헤르츠)면 1초에 한 번의 주기. 1기가 헤르츠라고 하면 1초에 1기가만큼(1024메가), 즉 10억 번 정도인 셈입니다.
따라서 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있기에 더 좋은 성능의 중앙 처리 장치라고 할 수 있습니다.
코어
캐시메모리
= 컴퓨터 시스템 향상을 위해서 CPU와 주기억장치 사이에 있는 아주 작은 비싼 메모리 입니다.
L2,L3 캐시메모리
vs CPU 레지스터
L2, L3 **캐시메모리**
는 CPU와 별도의 공간이며, 메인 메모리와 CPU 간의 속도차이를 극복하기 위한 것이다!CPU **레지스터**
는 CPU안에서 연산을 처리하기 위하여 데이터를 저장하는 공간이다!메인메모리
= 주기억장치
= RAM
정적 메모리
전원 공급이 되는 동안은 기록된 내용이 지워지지 않기 때문에 재충전이 필요 없습니다.
접근 속도가 빠르고 가격이 비싸다는 특징이 있으며 주로 캐시메모리나 레지스터로 사용됩니다.
동적 메모리
전원이 계속 공급되더라도 주기적으로 재충전되어야 기억된 내용을 유지할 수 있습니다.
주로 대용량의 기억장치에 사용되며 가격이 저렴합니다.
주로 RAM이라고 표현하는 것(주기억장치)은 거의 DRAM을 가리킵니다.
주기억장치가 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다
주문대에서 주문이 들어오면 요리사🧑🍳(
CPU
)가 주문표⌨️입력 데이터
)를 선반🍽️(주 기억장치
)에 걸어두고 창고📦(보조 기억장치
)에서 필요한 레시피🧾(프로그램
)와 재료🍅(저장 데이터
)를 선반으로 가져옵니다.
CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억 장치에 저장한다
요리사🧑🍳는 선반🍽️에서 주문표⌨️에 따라서 레시피🧾와 재료🍅를 가지고 우뇌🧠를 통해 연산을하고 오른손✋으로 요리를 만들어서 선반🍽️에 올려놓습니다.
주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보내서 출력시킨다
선반🍽️에 올려놓은 요리는 수령대🖥️로 가져다주거나, 미리 손질한 요리재료라면 창고📦에 다시 넣어놓습니다.
CPU 내의 제어장치(CU)가 1~3번 과정에서 명령어가 순서대로 실행되도록 각 장치들을 제어한다
요리사🧑🍳의 좌뇌🧠가 1~3번 과정에서 주문순서, 레시피🧾순서에 따라 요리를 하도록 양손✋을 제어합니다.
32비트 또는 64비트
32비트와 64비트 프로세서는 데이터를 처리할 수 있는 수준으로 구분하시면 됩니다.
CPU는 앞서 말씀드렸듯이 2진수로 이루어진 많은 데이터를 처리해야 합니다.
프로세서는 한 단어의 비트 양에 의해 제한됩니다. 32비트 프로세서가 처음 설계되었을 때, 그 당시에 32비트의 데이터는 엄청나게 큰 데이터였죠.
그러나 무어의 법칙을 통해 CPU는 계속 발전되었고, 컴퓨터는 새로운 64비트 프로세서의 개발을 통해 4GB 이상의 RAM을 처리할 수 있었습니다.
하지만 64비트 프로세서를 사용한다고 모든 데이터를 64비트로 처리할 수는 없습니다. 바로 프로그램에서도 64비트를 지원해야 하기 때문이죠.
L2와 L3 캐시는 처리 중에 CPU가 사용할 수 있는 속도가 빠른 캐시 메모리 입니다. L2, L3와 같은 캐시 메모리를 가지고 있을수록 CPU의 성능이 빨라집니다.
만약 CPU 프로세서를 구매하실 계획이고 고성능을 원하신다면 L2/L3 캐시를 확인해보실 것을 권장드립니다.
주파수는 프로세서의 작동 속도를 가리킵니다.
멀티 코어 프로세서 이전에 주파수는 서로 다른 CPU 사이에서 가장 중요한 성능 메트릭스이었습니다. CPU 프로세서 구매 시 주파수 성능도 꼭 고려해야할 중요한 요소 중 하나입니다.
예를 들어 매우 빠른 듀얼 코어 CPU가 느린 쿼드 코어 CPU를 능가할 수도 있기 때문이죠.
CPU 의 동작
데이터를 가져오기, 디코딩, 실행 바로 이 세 단계가 CPU의 핵심이자 전부라고 말할 수 있습니다.
데이터를 가져오기(Fetch)
데이터는 이진수(011010..)로 표시되며 RAM에서 CPU로 전달됩니다. 각 실행 작업은 모든 작업의 작은 부분일 뿐이므로 CPU는 다음에 어떤 실행이 나올지 알아야 합니다.
명령어는 프로그램 카운터(PC)에 의해 보관됩니다. 그런 다음 PC와 명령문은 IR(지침 레지스터)에 배치됩니다.
그리고 PC 길이는 다음 명령문의 주소를 참조하기 위해 증가됩니다.
디코딩(Decoding)
일단 명령을 가져와 IR에 저장하면 CPU는 명령 해독기라는 회로로 명령을 전달합니다.
명령어는 CPU의 다른 부분으로 전달하여 작동을 위해 전달되는 신호로 변환됩니다.
이것을 디코딩이라고 합니다.
실행(Execute)
마지막 단계에서 디코딩된 명령문은 완료될 CPU의 관련 부분으로 전송됩니다.
결과는 대개 CPU 레지스터에 기록되며, 이 레지스터는 이후 명령문에 의해 참조될 수 있습니다.
계산기의 메모리 기능처럼 생각하시면 쉽게 이해하실 수 있습니다.