컴퓨터의 구성요소, CPU의 구성요소, MPU, MCU

YUN·2025년 8월 14일

[기본적인 CS]

목록 보기
21/21
post-thumbnail

컴퓨터 구조

1. 구성요소

1️⃣ CPU (Central Processing Unit, 중앙 처리 장치)

(1) 역할: 컴퓨터/MCU의 두뇌, 명령을 해석하고 실행함

(2) 기능

  • 연산(Arithmetic) → 덧셈, 뺄셈, 곱셈, 나눗셈
  • 논리(Logical) → AND, OR, NOT 같은 연산
  • 제어(Control) → 주변 장치와 데이터 흐름 제어
  • CPU 내부에 레지스터가 존재한다.

(3) 예시: STM32F103의 ARM Cortex-M3 코어

2️⃣ RAM (Random Access Memory, 임의 접근 메모리)

(1) 역할: 임시 데이터 저장소, CPU가 빠르게 읽고 쓰기 가능

(2) 특징

  • 전원 꺼지면 데이터 사라짐(휘발성)
  • 프로그램 실행 중 변수, 스택, 버퍼 등을 저장

(3) 예시: STM32F103RBT6의 20KB SRAM

3️⃣ ROM (Read-Only Memory, 읽기 전용 메모리,,그러나 요즘은 수정가능하게 나옴)

(1) 역할: 영구적인 데이터 저장, 프로그램 코드 저장

(2) 특징

  • 주로 부팅 코드, 펌웨어 저장 (BIOS칩이 ROM에 해당한다)
  • CPU가 읽을 수 있지만 쓰기는 제한적으로 가능하다
  • 전원 꺼지면 데이터 유지됨(비휘발성)
  • Mask ROM(수정불가) -> PROM(1회 기록 가능) -> EPROM(여러번 지우고 쓰기 가능, 전용장치로 쓴다) -> EEPROM(여러번 지우고 쓰기 가능, 전용장치없이 전기 신호로 데이터를 쓴다)
  • Flash memory에게 밀려서 사용빈도가 줄어들고있다.

4️⃣ I/O Devices (Input/Output 장치)

(1) 역할: CPU가 외부 세계와 데이터를 주고받는 장치

(2) 예시

  • 입력: 센서, 버튼, 키보드
  • 출력: LED, 모터, 스피커, 디스플레이

(3) MCU 특징: GPIO, ADC, PWM, UART, SPI, I2C가 I/O 장치 역할 수행

5️⃣ Address Bus (주소 버스)

(1) 역할: CPU가 메모리나 I/O 장치 위치를 지정할 때 사용

(2) 특징

  • 단방향: CPU → 메모리/장치
  • 폭(width)이 커질수록 더 많은 주소 지정 가능

(3) 예시: 16비트 주소 버스 → 2¹⁶ = 65536개 주소 지정 가능

6️⃣ Data Bus (데이터 버스)

(1) 역할: CPU ↔ 메모리/장치 간 데이터 전송

(2) 특징

  • 양방향: 읽기/쓰기 모두 가능
  • 폭이 넓을수록 한 번에 전송 가능한 데이터 크기 증가

(3) 예시: 8비트, 16비트, 32비트 데이터 버스

7️⃣ Control Bus (제어 버스)

(1) 역할: CPU가 메모리/장치에 작업 종류 명령 전달

(2) 주요 신호

  • Read/Write → 읽기 또는 쓰기 선택
  • Clock → 동기 신호
  • Interrupt → 장치가 CPU에게 주목 요청

(3) 특징: 명령과 상태 신호 전달 전용

2. CPU

(1) 구성요소

1️⃣ Program Counter (PC, 프로그램 카운터)

(1) 역할: 현재 실행할 명령어의 주소를 가리킴

(2) 동작:

CPU가 명령어를 읽고 실행할 때 다음 명령어 주소로 자동 증가

분기(branch) 명령 시에는 점프할 주소로 값이 변경됨

2️⃣ Instruction Register (IR, 명령 레지스터)

(1) 역할: 현재 CPU가 실행할 명령어를 임시 저장

(2) 동작:

메모리에서 가져온 명령어가 IR에 들어감 → 이후 해석과 실행

한 번에 한 명령어만 저장

3️⃣ Instruction Decode (명령어 해석기)

(1) 역할: IR에 저장된 명령어를 해석하여 CPU가 수행할 동작을 결정

(2) 동작: 명령어 종류 확인 → ALU 연산, 메모리 접근, I/O 접근, 분기 등으로 구분

4️⃣ Control Unit (제어 장치)

(1) 역할: CPU 내부 모든 장치의 동작을 제어

(2) 동작: Instruction Decode에서 나온 신호를 바탕으로 ALU 연산 시작, 레지스터 읽기/쓰기
, 메모리 접근, 인터럽트 처리 등쉽게 말하면 CPU의 지휘자

5️⃣ ALU (Arithmetic Logic Unit, 산술 논리 장치)

(1) 역할: 실제 계산과 논리 연산 수행

(2) 기능:

  • 산술: 덧셈, 뺄셈, 곱셈(일부), 나눗셈(일부)
  • 논리: AND, OR, XOR, NOT
  • 비교: 값 비교 → 조건 플래그 설정

6️⃣ Registers (레지스터)

(1) 역할: CPU 내부 초고속 임시 저장 공간

7️⃣ 흐름 요약 (Cortex-M에서 명령어 처리 과정)

1. PC가 가리키는 메모리에서 명령어를 가져옴 → IR에 저장
2. Instruction Decode가 명령어 해석 → Control Unit에 전달
3. Control Unit이 신호를 ALU, 레지스터, 메모리, I/O 장치에 전달
4. ALU에서 연산 수행 → 결과 레지스터에 저장
5. PC는 다음 명령어 주소로 이동 → 반복

3. MCU 와 MPU

(1) MPU (Micro Processor Unit)

  • 개인 컴퓨터에 들어가는 CPU 라고 생각하면된다.

1. 구성

  • 메모리와 주변 장치가 포함되어있지 않고 CPU만 존재한다.
  • 메모리, 입출력 장치는 별도로 연결이 필요하다

2. 작업

  • 연산 위주의 작업
  • 범용 연산, 고성능 컴퓨팅 EX) PC, 서버, 스마트폰

3. 특징

  • 상대적으로 고가, 전력 소모 크다
  • MPU 만으로 단독 동작이 불가하다. 주변 회로를 구성해야한다.

4. 예시

EX) Intel Core, ARM Cortex-A 시리즈, Raspberry Pi SoC

(2) MCU (Micro Controler Unit)

흔히 쓰는 임베디드 보드에 들어가는 IC칩이라 생각하면된다.

이 IC 칩 내부에 마이크로컴퓨터로서 동작하는데 필요한 모든 요소들을 포함하고 있는 것이다.

1. 구성

CPU,메모리,주변 장차가 하나의 칩에 통합되어있다.

2. 작업

연산 + 주변 장치 제어 가능

3. 특징

  • 특정 제어·임베디드 시스템에 최적화 (예: 로봇, 센서, 가전)
  • 저렴, 저전력
  • MCU 만으로 단독 동작이 가능

4. 예시

EX) STM32, AVR, ESP32


3-1에 마이크로프로세서 수업에서 배웠던 내용이라 반가웠다.

profile
안녕하세요. 전자공학부 학부생의 공부 기록입니다.

0개의 댓글