본문 바로가기
개발 지식/CS

[CS]컴퓨터 주요 구성 요소(CPU, Memory, IO Devices, System Bus), 메모리 계층과 각 메모리 특징

by hi-rachel 2023. 1. 14.

📌 메모리 계층(Memory Hierarchy)이란?

기억장치 계층 구조

= 메모리를 필요에 따라 여러 가지 종류로 나누어 둠을 의미한다. 이때 필요한 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이다.

위 그림처럼 계층 구조에서 상위의 기억장치일수록 접근 속도와 접근 시간이 빠르지만, 기억 용량이 적고 고가이다. 아래로 내려갈수록 상대적으로 비용은 내려가고 접근 속도는 느리지만 기억 용량이 크다.

 

📌 기억 장치(Memory Unit)?

컴퓨터에서 사용하는 프로그램과 처리할 데이터 및 처리한 결과 등을 저장하는 장치.

컴퓨터에서 사용하는 모든 프로그램과 데이터를 저장해 두고 필요할 때 이용할 수 있도록 해준다.

기억 장치는 처리 속도와 사용 용도, 기억 용량의 크기에 따라 아래와 같이 4가지로 구분된다.

  • 레지스터(Register) 
  • 산술적/논리적 연산이나 정보 해석, 전송 등을 할 수 있는 일정 길이의 정보를 저장하는 중앙 처리 장치(CPU) 내의 기억장치
    • 저장 용량에는 제한되어 있으나 주기억 장치에 비해서 접근 시간이 빠르고, 체계적인 특징이 있다.
    • 컴퓨터에는 산술 및 논리 연산의 결과를 임시로 기억하는 누산기(accumulator), 기억 주소나 장치의 주소를 기억하는 주소 레지스터(address register)를 비롯하여 컴퓨터의 동작을 관리하는 각종 레지스터가 사용된다.

 

  • 캐시 기억장치(Cache Memory)
  • 중앙 처리 장치와 주기억장치 간의 속도 차이를 극복하기 위해 사용하는 고속의 메모리.
    • 캐시 기억 장치는 고속의 중앙 처리 장치(CPU)와 CPU에 비해 속도가 느린 주기억장치 사이에 데이터와 명령어들을 일시적으로 저장하는 기억 장소를 제공하여, CPU가 주기억장치로부터 읽고 주기억장치에 기록할 때보다 몇 배 빠른 속도 또는 CPU에 가까운 속도로 접근할 수 있게 한다. 캐시 기억 장치의 기억 용량이 클수록 필요한 데이터가 이미 캐시에 저장되어 있을 확률이 크기 때문에 그만큼 성능이 향상된다. [참고]
    • 캐시 메모리는 참조의 국한성을 활용한 메모리 계층이다.
      • 참조의 국한성(Locality of Reference) : 프로그램이 수행되는 동안 메모리 참조가 국한된 영역에서 이루어지는 경향성을 말한다.

 

  • 주기억장치(Main Memory, Main Memory Unit, MM)
  • 중앙 처리 장치(CPU)와 직접 자료를 교환할 수 있는 기억장치
    • 주기억장치를 구성하는 각각의 기억 소자에는 외부와 직접 자료 교환을 할 수 있는 단자들이 있다.
    • 기억 소자 종류
      • non-volatile memory : 정전이 되더라도 그 상태를 유지하고 있는 기억 소자
      • volatile memory : 정전이 되면 기억 내용을 상실하는 기억 소자가 있다.
    • 종류 : 코어 기억장치나 개인용 컴퓨터의 ROM, RAM 등
    • 각기 자신의 주소를 갖는 워드 또는 바이트들로 구성되어 있으며, 주소를 이용하여 액세스 할 수 있다.

 

※ 레지스터, 캐시 기억장치, 주기억장치의 프로그램과 데이터는 CPU가 직접 액세스 할 수 있으나, 보조기억장치에 있는 프로그램이나 데이터는 직접 액세스할 수 없다.

 

  • 보조기억장치(auxiliary storage)
    • 주기억장치의 기억 용량을 보조하거나 데이터를 영구 저장하기 위한 기억장치
    • 자기 디스크 장치나 자기테이프 장치 등이 있고, 개인용 컴퓨터에서는 플로피 디스크, 카세트테이프, USB 메모리, 하드디스크 등이 있다. 
    • 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 액세스될 수 있다.

 

📌 컴퓨터 시스템

크게 다음과 같이 이루어져 있다.

  • Hardware : CPU, Memory, Storage, Network 등
  • Software : 운영체제, 응용 프로그램 등

 

📌 폰 노이만 구조 (현재 컴퓨터 구조)

폰 노이만 구조는 최초의 프로그램이 내장된 컴퓨터 방식으로, 하드웨어적으로 전선을 재배치할 필요 없이 소프트웨어만 교체하여 다른 연산을 수행할 수 있다. 폰 노이만 구조에서는 먼저 연산의 수행과 관련된 명령어와, 연산에 필요하거나 결과로 나온 데이터를 저장장치(메모리)에 보관하게 되며, 순차적으로 메모리에 저장된 데이터를 끄집어내 지시대로 연산 수행하는 방식이다. [참고]

 

📌 컴퓨터 주요 구성 요소 (CPU, Memory, IO Devices) + System Bus(데이터 송수신 연결 장치)

1. CPU(중앙 처리 장치, Central Processor Unit)

출처 : https://www.breefin.com/study-material/2/12

  • 프로그램의 명령을 수행하여 다양한 입력 장치로부터 데이터를 받아서 기억장치와 연계하여 처리한 후 출력 장치로 보내는 모든 과정을 제어하고 연산하는 장치. ALU, 제어장치(Control Unit), 레지스터로 구성된다.

 

  • CPU는 컴퓨터의 가장 중요한 부분으로 연산과 제어회로가 포함되어 있다. 컴퓨터 시스템에서 데이터는 입력 장치를 통해 입력되어 주기억장치로 저장된다. CPU는 주기억장치에 저장된 데이터를 처리하여 출력장치로 결과를 출력한다.
  • 연산 : ALU(산술 논리 연산 장치, Arithmetic Logic Unit)
    • 데이터를 처리하고 계산하는 장치, CPU를 구성하는 핵심 부분의 연산을 수행하는 회로의 집합. 
    • 산술 연산(Arithmetic Operation)
    • 논리 연산(Login Operation)
  • 제어 : Control Unit(제어 장치)
    •  데이터의 연산을 차례대로 실행하기 위해 기억 장치, 연산 장치, 입출력 장치에 제어 신호를 보내고, 이들 장치로부터 신호를 받아 제어하는 장치. 프로그램을 제어하려면 인출 주기(fetch cycle)명령 실행 주기(execution cycle)의 두 단계를 거쳐야 한다. 인출 주기는 기억장치의 명령어를 저장하는 단계이고, 명령 실행 주기는 명령어를 해독하여 실행하는 과정이다.
    • IO Device(입력_Input, 출력_Output 장치), Memory, ALU 동작 제어

 

2. Memory(메모리, 코드와 데이터를 저장하는 장치)      (위 기억장치 설명 참고)

프로그램과 프로그램 수행에 필요한 데이터를 저장

  • 내부 기억장치 (주기억장치)
    • CPU 안에 레지스터, 캐시
    • DRAM 등 메모리 (RAM, DDR4 ...)
    • ROM(Read Only Memory) 등
  • 외부 기억장치 (보조기억장치)
    • HDD(Hard Disk Drive)
    • SSD(Solid-State Drive)
    • Bluray 등

 

3. IO Devices(입출력 장치)

  • 입력 장치 : 마우스, 키보드, 터치패드, CD ROM 등
  • 출력 장치 : 모니터, 프린터, 스피커, Network Card 등

 

+ System Bus(시스템 버스)

출처 : https://en.wikipedia.org/wiki/System_bus

컴퓨터의 중앙 처리 장치, 기억 장치, 입출력 모듈을 연결하는 버스 형태의 단일 통로

버스 시스템은 아래와 같이 3가지로 구성된다.

  • 연산 및 데이터의 이동을 위한 제어 정보가 전달되는 제어 버스         (정보 결정)
  • 기억 장치 또는 외부 장치에 읽거나 쓸(입출력) 데이터의 주소가 하달되는 주소 버스         (정보 위치 결정)
  • 위 사진 세 구성 요소 간데이터를 교환하기 위한 데이터 버스         (정보 운반)

 

 

참고 사이트

하드웨어

정보통신용어사전

2023 시나공 정보처리기사 필기

zero-base/ 잔재미코딩의 CS 이론

 

 

😃 공부하면서 적는 글입니다. 잘못된 점이 있다면 피드백 주시면 감사합니다.