명령에 대한 작업을 수행하는 처리장치
- 구성 : 산술논리 연산장치(ALU), 제어 장치 (제어부(CU)와 내부 버스), 레지스터, 캐시 메모리(L1)
산술논리 연산장치(ALU)
제어 장치
레지스터
동작 : 기계어(저장공간) > 어셈플리어(CPU) > 프로그래밍 언어(사람)
성능 결정하는 부분
클럭
코어
레지스터 = CPU
캐시메모리(SRAM) : 컴퓨터 시스템 향상을 위해서 CPU와 주기억장치 사이에 있는 아주 작은 비싼 메모리 (CPU에 있는 L1과는 다름)
L2,L3 캐시메모리
vs CPU 레지스터
L2, L3 캐시메모리
는 CPU와 별도의 공간, 메인 메모리와 CPU 간의 속도차이를 극복하기 위한 것CPU 레지스터
는 CPU안에서 연산을 처리하기 위하여 데이터를 저장하는 공간메인 메모리(DRAM) = 주 기억장치 : 전원이 꺼지면 지워지지만 조금더 빠르게 조회할 수 있는 저장공간 (휘발성 메모리)
SRAM vs DRAM
SRAM(Static RAM)
DRAM(Dynamic RAM)
하드디스크(HDD) = 보조 기억장치 : 컴퓨터 전원이 꺼져도 지워지지 않는 저장공간 (비휘발성)
데이터를 가져오기(Fetch)
데이터는 이진수(011010..)로 표시되며 RAM에서 CPU로 전달. 각 실행 작업은 모든 작업의 작은 부분일 뿐이므로 CPU는 다음에 어떤 실행이 나올지 알아야 함
명령어는 프로그램 카운터(PC)에 의해 보관 -> PC와 명령문은 IR(지침 레지스터)에 배치
PC 길이는 다음 명령문의 주소를 참조하기 위해 증가
디코딩(Decoding)
명령을 가져와 IR에 저장하면 CPU는 명령 해독기라는 회로로 명령을 전달
명령어는 CPU의 다른 부분으로 전달하여 작동을 위해 전달되는 신호로 변환
실행(Execute)
마지막 단계에서 디코딩된 명령문은 완료될 CPU의 관련 부분으로 전송
결과는 CPU 레지스터에 기록, 이 레지스터는 이후 명령문에 의해 참조
ex) 계산기의 메모리 기능
공감하며 읽었습니다. 좋은 글 감사드립니다.