본문 바로가기

Computer science4

[혼공컴운] 레지스터와 캐시 메모리의 차이가 무엇인가요? 레지스터 레지스터는 CPU가 연산을 위해 명령어와 데이터를 저장하는 위한 임시 저장 장치이다. CPU 안에는 목적에 따라 여러가지 레지스터들이 존재한다. ﹒프로그램 카운터(PC, Program Counter) ﹒명령어 레지스터(IR, Instruction Register) ﹒메모리 주소 레지스터(MAR, Memory Address Register) ﹒메모리 버퍼 레지스터(MBR, Memory Buffer Register) ﹒플래그 레지스터(FR, Flag Register) ﹒범용 레지스터 ﹒필요에 따라 누산기, 기억 레지스터, 주소 레지스터, 색인 레지스터 등의 기능을 수행 ﹒스택 포인터(SP, Stack Pointer) ﹒베이스 레지스터(BR, Base Regiester) 레지스터의 이름은 제조사마다 .. 2023. 11. 30.
[혼공컴운] CPU 성능 향상을 위한 설계 기법에는 무엇이 있나요? 서론 무어의 법칙(Moore’s Law)은 반도체 집적회로의 컴퓨팅 성능이 24개월마다 2배로 증가하고, 가격은 반으로 떨어진다는 예측이다. 단일 프로세서의 집적도는 이미 한계에 직면했으나 다양한 성능 향상을 위한 기법이 등장하면서 현재까지도 연산 장치의 속도는 지속적으로 발전하고 있다. 다음은 책에서 소개되는 CPU의 성능 향상을 위한 설계 기법이다. 클럭(Clock) CPU 명령어 사이클은 클럭 주기에 맞춰서 동작한다. 따라서 클럭 속도가 빠르면 그만큼 명령어 사이클이 더 빠르게 반복될 것이고 전체적인 성능이 향상될 것이다. 오버클럭킹(Overclocking)이란 CPU를 설계된 것 보다 더 높은 클럭 속도로 동작하게 강제하는 것이다. 오버클럭을 진행하면 성능이 올라가는 만큼 열도 많이 발생하게 되고.. 2023. 11. 24.
[혼공컴운] ALU와 CU의 차이가 무엇인가요? CPU에는 크게 산술논리연산장치(ALU, Arithmetic Logic Unit), 제어장치(CU, Control Unit) 그리고 레지스터(Register)로 구성된다. 산술논리연산장치(Arithmetic Logic Unit) 산술논리연산장치(ALU)는 제어 장치로부터 명령을 받아 레지스터에서 피연산자를 가져와서 산술연산이나 논리 연산 등 실질적인 연산을 수행하고, 연산이 완료되면 결과값과 플래그를 레지스터에 저장한다. 여기서 플래그란 결과값을 해석하는데 사용되는 메타 데이터이다. 플래그에는 부호, 제로, 캐리, 오버플로우, 인터럽트, 슈퍼바이저에 대한 정보가 담겨있다. 각 플래그는 0 혹은 1의 값을 갖는다. 제어 장치(Contorl Unit) 제어장치(CU)는 명령어를 해석하고 레지스터나 ALU, .. 2023. 11. 24.
CPU 명령어 파이프라인 위험과 분기문 명령어 파이프라인 (Instruction Pipeline) 명령어 파이프라인이란 CPU 성능향상을 위해 명령어를 여러 단계로 나누어 동시에 실행하는 병렬 처리 기법이다. 명령어 처리 과정을 클럭 단위로 나누어보면 일반적으로 명령어 인출(IF, Instruction Fetch), 명령어 해석(ID, Instruction Decode), 명령어 실행(EX, Execute Instruction), 메모리 인출(MEM, Memory Fetch) 그리고 결과 저장(WB, Write Back)으로 나눌 수 있다. CPU 명령어 파이프라인은 아래 그림과 같이 각 단계를 동시에 실행한다. 파이프라인 위험(Pipeline Hazard) 파이프라이닝이 높은 성능을 가져오지만, 성능 향상에 실패하거나 오히려 성능이 저하되는.. 2023. 11. 23.