본문 바로가기
부트캠프교육중/CS

CPU

by 뭉지야 2023. 3. 28.
728x90

<CPU>
#컴퓨터 시스템의 가장 중요한 요소
# 폰 노이만 구조
-중앙 처리 장치(CPU)라는 것이 있고 이 중앙 처리 장치를 통해서 연산을 수행하게 되는 구조이며 이 CPU(중앙처리 장치)는 각종 연산을 수행하고 기억장치에 기억되어 있는 명령어들을 수행하는 컴퓨터 시스템을 이루는 핵심 부품입니다. 

<CPU의 구조>
-CPU 의 내부 구성은 크게 산술/논리 연산 장치(ALU), 제어 장치와 레지스터로 구성되어 있습니다. 

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


#레지스터(Register)
-CPU 내부의 메모리임.
-중앙처리장치(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): 명령 레지스터에 수록된 명령을 해독하여 수행될 장치에 제어신호를 보낸다.
-제어 장치 구현의 방식은 고정 배선 제어(Hardwired) 방식과 Micro Program 방식이 있습니다.
그림1추가


<CPU의 기능>
- 명령어와 데이터에 관련이 있습니다.
-명령어 인출 및 해독은 모든 명령어들에 대하여 공통적으로 수행하며 기억 장치로부터 명령어를 읽어옵니다. 
-데이터 인출 및 처리, 쓰기와 같은 것들은 명령어에 따라 필요할 때만 수행합니다.
-이 명령어 및 명령어 수행 과정과 처리 방식은 CPU에서 중요한 부분을 차지하고 있습니다.


#명령어
-시스템이 특정 동작을 수행시키는 작은 단위.
-코드로 되어 있는데, 동작코드(Op-code : Operational Code)와 오퍼랜드(Operand)로 구성되어 있습니다.
-동작 코드(Op-code): 각 명령어의 실행 동작을 구분하여 표현합니다.
-오퍼랜드(Operand): 명령어의 실행에 필요한 자료나 실제 자료의 저장 위치를 의미합니다.


#명령어 수행 과정 (CPU가 하나의 명령을 처리하는 과정)
FI -> DI -> EI -> WB

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

#명령어 처리 방식
* RISC(Reduced Instruction Set Computer)
-컴퓨터 내부적으로 사용하는 명령어 세트를 단순화 시켜서 처리하는 형태의 구조이며, 단순한 명령을 조합해서 하나의 기능을 수행하게 됩니다.
-하나의 사이클로 명령어를 처리합니다.
-메모리 Load / Store 명령만 처리하는 방식입니다.
-파이프라이닝, 슈퍼스칼라의 사용이 가능합니다.
-복잡한 컴파일러 구조를 갖고 있습니다.

*CISC(Complex Instruction Set Computer)
- 하나의 기능에 해당하는 하나의 명령이 있는거다.
- 여러 사이클로 명령어를 처리합니다.
- 많은 명령어가 메모리를 참조하는 처리 방식입니다.
- 파이프라이닝의 사용이 어렵습니다.
- 복잡한 마이크로 프로그램 구조를 갖고 있습니다.

 


출처

코드스테이츠

728x90

'부트캠프교육중 > CS' 카테고리의 다른 글

문자열과 그래픽  (0) 2023.03.28
스레드  (0) 2023.03.28
운영체제, 프로세스  (0) 2023.03.28
Memory  (1) 2023.03.28
컴퓨터의 구조  (0) 2023.03.28