스터디/CS 스터디 (24.06-24.11)

컴퓨터 구조 : 컴퓨터의 3대 구성요소, CPU의 동작 원리

minseokiim 2024. 6. 27. 17:50

1. 컴퓨터의 3대 구성요소

 

* 컴퓨터 시스템

하드웨어 CPU, 메모리, I/O장치
소프트웨어 OS, 시스템 소프트웨어, 응용 소프트웨어

 

 

* 컴퓨터의 3대 요소

컴퓨터 아키텍쳐

1) CPU(중앙 처리 장치) : 두뇌 역할,명령 해석하고 실행하기 까지..

연산 논리 장치(ALU) 실제 산술/논리 연산 수행하는 장치
레지스터 CPU 내부에서 처리할 명령어/연산결과/주소 일시적으로 기억하는 기억장치
제어장치(CU) 모든 장치 동작을 지시하고 제어

 

 

2) 메모리(기억 장치) : 데이터 저장하고 접근하는 역할, 컴퓨터 프로그램/데이터를 일시 또는 영구로 저장하는 공간

주기억장치 램(RAM) 빠른 데이터 접근 속도. 데이터 일시저장, 전원 끄면 내용 사라짐(휘발성). 
롬(ROM) 데이터 영구 저장. 내용 변경 불가
보조기억장치 하드디스크드라이브(HDD) 대용량 데이터 영구 저장
솔리드 스테이트 드라이브(SSD) 빠른 데이터 접근 속도, 비휘발성 메모리 장치
플래시 드라이브, CD, 블루레이 .. 이동식 저장장치

 

 

3) I/O장치(입출력 장치) :  컴퓨터와 외부 환경간의 데이터 교환 담당

입력 장치 데이터 -> 컴퓨터 ex) 키보드, 마우스. 스캐너, 마이크 ...
출력장치 컴퓨터 처리결과 -> 사용자 ex) 모니터, 프린터, 스피커

 

 

 

 

2. CPU의 동작 원리

* CPU 란?

컴퓨터 시스템의 핵심적인 구성요소로 컴퓨터의 뇌 역할을 함.

입력장치로부터 자료를 입력받아 연산 후, 결과를 출력 장치로 보내 과정을 제어하는 역할을 함.

 

 

* CPU의 역할

- 연산 : 연산장치는 레지스터에서 데이터를 가져오고 결과를 다시 레지스터로 보냄

- 제어 : 명령어 순서대로 실행하도록 하는 제어장치, 명령어 꺼내 해석하고 결과에 따라 실행에 필요한 제어 신호를 기억/연산/입출력 장치로 보냄

- 저장 : 연산에 필요한 것들을 임시저장(범용 레지스터/특수 목적 레지스터)

 

 

* CPU의 구성 요소

CPU

- 제어장치(CU) : 모든 장치 동작을 지시하고 제어함.

명령 레지스터에서 읽어들인 명령어 해석 후, 해당하는 장치에 신호 보내 실행을 지시함.

 

- 연산장치(ALU) : 제어장치로부터 받은 명령에 따라 실제 연산 수행하는 장치, CPU의 핵심 요소로 다양한 산술 논리연산 처리.

 

- 레지스터 : CPU 내부에서 처리할 명령어/연산결과/주소 일시적으로 기억하는 기억장치

CPU에서 사용하는 특수 목적 레지스터의 종류는 매우 다양함.

 

    1) PC(Program Counter) : 다음번에 수행할 메모리 주소 지정

    2) MAR(Memory Address Register) : 그 주소의 메모리 위치를 지정

    3) MBR(Memory Buffer Register) : 그 위치의 데이터를 임시 저장

    4) IR(Instruction Register) : 명령어 레지스터, 명령어를 저장하고 해독

    5) Accumulator(누산기) : 데이터를 연산하고 그 결과를 일시적으로 저장

 

- 각 구성요소 연결하는 CPU 내부 버스 :  ALU와 레지스터간 데이터 이동을 위한 데이터, 주소 선들, 제어장치로부터 발생되는 제어 신호를 전송하는 선들로 구성

 

 

* CPU의 동작 과정

1) fetch (명령어 인출) : 메모리상의 PC가 가리키는 명령어를 프로세스로 가져오는 단계

2) decode(명령어 해독) : 명령어 해석해서 명령어 종류/타겟 판단 후, 처리할 컨트롤 신호 생성하는 단계, IR에 있는 명령어 해석

3) execute(실행) : 해석된 명령어에 따라 ALU가 데이터 연산 수행, 필요 데이터는 레지스터/메모리에서 가져오고 결과는 다시 누산기/범용 레지스터에 저장

4) writeback(쓰기) : 명령어대로 처리된 데이터를 기록하는 단계, 주로 범용 레지스터/메모리 에 저장되고 필요에 따라 메모리에 저장

 

-> 각 단계는 클럭 사이클 동안 반복적으로 수행

(* 클럭 : CPU 속도를 나타내는 단위, 각 클럭 사이클 동안 CPU는 위의 단계 중 하나를 수행)

 

 

 

* CPU와 기억장치 상호작용

CPU에 비하면 하드디스크는 너무 느림 -> CPU는 하드디스크와 소통 X, RAM과 소통

하드디스크/SSD 데이터를 RAM으로 옮기고 그 데이터를 가져옴.

하지만, RAM도 CPU에 비하면 느림.

 

-> CPU 내부나 근처에 캐시 메모리 만들어 그 곳에 저장

캐시 메모리는 용량이 RAM보다 매우 작아서, 중요 판단되는 데이터만 저장.

캐시 메모리 레벨으로는 1,2,3이 있는데 레벨 높을수록 속도 느리고 용량이 큼.

 

속도) SSD -> RAM -> CACHE -> REGISTER

         (느림)                                       (빠름)