[CS] CPU와 메모리

말랑이·2025년 2월 8일

CS

목록 보기
4/10

Intro. 컴퓨터의 구성

  • 컴퓨터가 이해하는 정보 : 데이터, 명령어
  • 컴퓨터의 네 가지 핵심부품 : CPU, 메모리(주기억장치), 보조기억장치, 입출력장치

1. 입출력장치

1️⃣ 입력장치

  • 사용자가 입력장치를 통해 컴퓨터에 명령을 요청하거나 데이터를 입력함
  • 키보드, 마우스, 터치스크린, 마이크, 스캐너 등

2️⃣ 출력장치

  • 컴퓨터가 출력장치를 통해 사용자에게 명령이나 데이터를 입력할 수 있는 화면을 보여주거나 명령에 대한 처리결과를 보여주고 들려줌
  • 모니터, 스피커, 프린터 등

2. CPU

1️⃣ CPU의 구성

  • 산술논리 연산장치(ALU) : 비교, 판단, 연산을 담당
  • 제어부(CU)와 내부버스 : 명령어의 해석과 올바른 실행을 위해 CPU를 내부적으로 제어함
  • 레지스터(Registers) : 처리할 명령어를 저장함
  • 캐시메모리(L1) : 처리속도를 높여주는 역할

📌 (프로세서) 레지스터

  • 연산에 필요한 데이터를 저장하고 빠른속도로 접근할 수 있는 저장공간
  • 프로세서에 위치한 고속 메모리
  • 극 소량의 데이터나 처리중인 중간결과와 같은 프로세서가 바로 사용할 수 있는 데이터를 담고 있는 영역
    • 범용 레지스터 : 연산에 필요한 데이터나 연산결과를 임시 저장
    • 특수목적 레지스터 : 메모리주소 레지스터, 프로그램 카운터, 명령어 레지스터, 메모리버퍼 레지스터, 누산기

📌 제어장치 (CU)

  • 제어부 : 주기억장치에 저장되어 있는 명령어를 순서대로 호출하여 해독 → 제어신호를 발생시켜 컴퓨터의 각 장치를 동작하도록 하는 장치
  • 내부버스 : 기억, 연산, 제어기능을 실현하기 위해 제어부 사이를 연결하는 버스

📌 연산장치 (ALU)

  • 논리연산 (덧셈, 뺄셈, 비교연산) 수행
  • 산술 논리 장치

2️⃣ CPU의 동작

  • 기계어(0, 1) → 어셈블리어 → 프로그래밍언어
① 명령어 인출
  - 제어장치(CU)가 수행할 명령어 정보를 가져옴
  
② 명령어 해독
  - opcode 명령어 코드를 인출하고 opcode의 성격에 맞게 레지스터를 준비시킴
  
③ 실행
  - 해독된 명령어를 수행함
  - 산술/논리 연산이라면, ALU가 주체가 되어 실행

④ 반영
  - 명령어 수행 결과를 반영하므로써 명령어 수행의 한 사이클이 끝남

3️⃣ CPU의 성능

📌 클럭

  • CPU 내부에서 일정한 주파수를 가지는 신호
  • 1Hz(헤르츠)는 1초에 한 번의 주기, 1GHz는 1초에 1기가바이트 (1024메가)
  • 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있기 때문에, 더 좋은 성능의 중앙처리장치라고 할 수 있음

📌 코어

  • 중앙처리 장치 역할을 하는 블록을 뜻함
  • 멀티코어는 CPU가 병렬 형태로 연산을 처리함

3. 메모리

메모리 종류
레지스터(CPU)
캐시 메모리(주기억장치)
메인 메모리(주기억장치)
하드 디스크(보조기억장치)

1️⃣ 캐시메모리(L2, L3)

  • (주기억장치)컴퓨터 전원이 꺼지면 지워지지만, 제일 빠르게 조회할 수 있는 저장공간
  • 컴퓨터 시스템 향상을 위해 CPU와 주기억장치 사이에 있는 아주 작은 비싼 메모리
  • CPU 구성의 캐시메모리(L1)와 메모리 구성의 L2, L3 캐시메모리는 다름
  • 메인메모리에 있는 데이터를 캐시메모리에 불러와 CPU가 필요한 데이터를 캐시에서 먼저 찾도록 하여 시스템 전체 성능을 향상시켜 줌

2️⃣ 주 기억장치 (=메인메모리)

  • 컴퓨터 전원이 꺼지면 지워지지만, 제일 빠르게 조회할 수 있는 저장공간
  • 메인메모리 = 주기억장치 = RAM
  • 컴퓨터의 CPU가 현재 처리중인 데이터나 명령만을 일시적으로 저장하는 휘발성 메모리
  • 보조기억장치(하드디스크)보다 접근속도가 훨씬 빠름

3️⃣ 보조 기억장치

  • 컴퓨터 전원이 꺼져도 지워지지 않는 저장공간
  • 사용자가 사용하고자 하는 데이터와 프로그램을 반영구적으로 저장함
  • 비휘발성 메모리

4. CPU와 메모리

1️⃣ CPU와 메모리의 동작

  • 주기억장치가 입력장치에서 입력받은 데이터, 또는 보조기억장치에 저장된 프로그램을 읽어옴
  • CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억장치에 저장함
  • 주기억장치는 처리결과를 보조기억장치에 저장하거나 출력장치로 보내 출력시킴
  • CPU내의 제어장치(CU)가 위 과정에서 명령어가 순서대로 실행되도록 각 장치를 제어함

2️⃣ CPU와 메모리 구조

📌 하버드구조

  • 명령어메모리 : 프로그램에서 사용할 명령어를 모아둔 메모리
  • 데이터메모리 : 명령어들로 사용될 메모리
  • ALU : 데이터를 가지고 명령어를 읽어 연산 수행
구분내용
장점- 메모리가 2개(명령어+데이터)이기 때문에 역할이 나누어져 속도가 빠르다
단점- 구성이 많기 때문에 비싸고, 복잡한 구성으로 고장이 날 확률이 높다

📌 폰노이만구조

  • 보조기억장치(HDD)에서 데이터들이 CPU에서 연산되기 위해 하나의 메모리로 올라감
  • CU : ALU에 데이터가 메모리 어디에 위치하는지 알려주는 역할
구분내용
단점- 프로그램 메모리와 데이터 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있기에 병목현상이 일어남

📌 개선된 구조

  • CPU 내부 - 하버드구조 : CPU 내부에 캐시를 둬서 RAM과 CPU 간 속도 차이를 줄임
  • CPU 외부 - 폰노이만구조 : 메모리 하나에 하나의 버스를 가지는 구조이기에 병목현상이 아직 존재함
profile
🐰 I'm Sunyeon-Jeong, mallang

0개의 댓글