컴퓨터 공학

돌리의 하루·2023년 3월 29일
0

CPU

CPU 의 내부 구성은 크게 산술/논리 연산 장치(ALU), 제어 장치와 레지스터로 구성되어 있습니다. 산술은 덧셈을 수행하는 것이고, 제어 장치는 시그널을 통해서 데이터 흐름을 통제하는 것이며 레지스터는 CPU 내부의 메모리임이 가장 기본적인 설명입니다.

산술/논리 연산 장치 (Arithmetic Logic Unit, ALU)

산술논리연산장치(ALU: Arithmetic Logic Unit)는 산술적인 연산과 논리적인 연산을 담당하는 장치로 가산기, 보수기, 누산기, 기억 레지스터, 데이터 레지스터 등으로 구성됩니다. 캐시나 메모리로부터 읽어 온 데이터는 레지스터(Register)라는 CPU 전용의 기억장소에 저장되며, ALU는 레지스터에 저장된 데이터를 이용하여 덧셈, 곱셈 등과 같은 산술 연산을 수행합니다. 부동소숫연산장치(FPU)와 정수연산장치, 논리연산(AND, OR 등)장치 등이 있습니다.

레지스터(Register)

레지스터(Register)는 중앙처리장치(CPU) 내부에 있는 기억장치입니다. 주로 산술 연산 논리장치에 의해 사용되는 범용 레지스터(General-Purpose Register)와 PC 등 특수 목적에 사용되는 전용 레지스터(Dedicated-Purpose Register)로 구분할 수 있습니다.

레지스터의 종류는 IR(Instruction Register), PC(Program Counter), AC(Accumulator)가 있습니다.

  • IR (Instruction Register) : 현재 수행 중에 있는 명령어 부호를 저장하고 있는 레지스터
  • PC (Program Counter) : 명령이 저장된 메모리의 주소를 가리키는 레지스터
  • AC (Accumulator) : 산술 및 논리 연산의 결과를 임시로 기억하는 레지스터

제어장치(Control Unit, CU)

제어장치는 CPU가 자신 및 주변기기들을 컨트롤하는 장치로, 프로그램의 수행 순서를 제어하는 프로그램 계수기(program counter), 현재 수행중인 명령어의 내용을 임시 기억하는 명령 레지스터(instruction register), 명령 레지스터에 수록된 명령을 해독하여 수행될 장치에 제어신호를 보내는 명령해독기(instruction decoder)로 이루어져 있습니다.

CPU의 기능 - 중 명령어

읽기(Fetch Instruction, FI): 메모리에서 명령을 가져옵니다.
해석(Decode Instruction, DI): 명령을 해석합니다.
실행(Execute Instruction, EI): 명령을 수행합니다.
기록(Write Back, WB): 수행한 결과를 기록합니다.

명령어 처리 방식

명령어 처리 방식에는 RISC와 CISC가 있습니다. RISC(Reduced Instruction Set Computer)는 컴퓨터 내부적으로 사용하는 명령어 세트를 단순화 시켜서 처리하는 형태의 구조이며, 단순한 명령을 조합해서 하나의 기능을 수행하게 됩니다. CISC(Complex Instruction Set Computer)는 하나의 기능에 해당하는 하나의 명령이 있는 개념이라고 생각하시면 됩니다.

🌺CISC

여러 사이클로 명령어를 처리합니다.
많은 명령어가 메모리를 참조하는 처리 방식입니다.
파이프라이닝의 사용이 어렵습니다.
복잡한 마이크로 프로그램 구조를 갖고 있습니다.

🌺RISC

하나의 사이클로 명령어를 처리합니다.
메모리 Load / Store 명령만 처리하는 방식입니다.
파이프라이닝, 슈퍼스칼라의 사용이 가능합니다.
복잡한 컴파일러 구조를 갖고 있습니다.

메모리

메모리 분류별 특성

기억장소라는 개념에서 확장하면 저장 장소라는 개념의 하드디스크, CD/DVD, USB 저장장치와 같은 보조 기억장치까지를 의미합니다. 이런 보조 기억장치와 메모리의 차이는 “휘발성”인데, 메모리는 시스템이 활성화 된 상태에서 그 값을 기억하고 있지만 시스템이 꺼지게 되면(ShutDown) 지워지게 됩니다. 그에 비해 보조 기억장치는 시스템이 꺼져도 기억하고 있는 값이 휘발되지 않습니다. 또한 저장/읽기 속도 면에서 메모리와 보조 기억장치는 현저하게 차이가 납니다.

캐시 메모리(Cache Memory)

캐시 메모리는 CPU 내 또는 외에 존재하는 메모리로써, 메인 메모리와 CPU 간의 데이터 속도 향상을 위한 중간 버퍼 역할을 합니다.

여기서 ‘Cache’라는 의미는 보관이나 저장의 의미를 가지고 있습니다. 캐시 메모리는 이러한 역할을 하는 물리적 장치를 말합니다. CPU와 메인 메모리 사이에 존재한다고 말할 수 있는데, CPU 내에 존재할 수도 있고 역할이나 성능에 따라서는 CPU 밖에 존재할 수도 있습니다.

특히 빠른 CPU 의 처리속도와 상대적으로 느린 메인 메모리에서의 속도의 차이를 극복하는 완충 역할을 해줍니다. 쉽게 표현하면 CPU 는 빠르게 일을 진행하고 있는데, 메인 메모리가 데이터를 가져오고 가져가는 게 느려서 캐시 메모리가 중간에 미리 CPU 에 전달될 데이터를 들고 서 있는 형태라고 생각해주시면 됩니다.

프로세서 VS 프로세스 (둘은 엄밀히 다르다)

프로세서(Processor)

프로세서는 하드웨어적인 측면과 소프트웨어적인 측면으로 나누어 볼 수 있습니다.

  • 하드웨어적인 측면 : 컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛으로, 중앙처리장치(CPU)를 의미하며 적어도 하나 이상의 ALU와 레지스터를 내장하고 있습니다.

  • 소프트웨어적인 측면 : 데이터 포맷을 변환하는 역할을 수행하는 데이터 처리 시스템을 의미합니다. 워드프로세서나 컴파일러 등이 여기에 속합니다.

프로세스(Process)

프로세스는 특정 목적을 수행하기 위해 나열된 작업의 목록을 의미합니다. 메모리에 적재 되어 프로세서에 의해 실행 중인 프로그램을 프로세스라고 볼 수 있습니다.

profile
진화중인 돌리입니다 :>

0개의 댓글