CS

01. 컴퓨터의 네가지 핵심 부품

zhelddustmq 2024. 7. 26. 14:34

1.  입출력 장치

2.  CPU

3.  메모리

1. 입출력 장치: 컴퓨터의 입출력을 도와주는 장치

 - 입력 장치의 종류

  • 키보드, 마우스, 터치스크린, 마이크, 스캐너, 카메라 등..
  • 입력 장치들을 통해 컴퓨터에게 명령을 요청하거나 데이터를 입력
  • 키보드를 통해 파일에 문자를 입력하도록 명령하고 연산을 작성한뒤 엔터키를 눌러서 연산수행 및 저장을 명령
  • 마우스를 통해 폴더를 열거나 파일 실행하도록 명령하고 컴퓨터 설정을 변경

 - 출력 장치의 종류

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

2. CPU(중앙처리장치):  컴퓨터가 사용자의 명령에 대한 작업을 수행하는 처리장치

 

 2-1. 중앙처리장치 구성 요소: 산술논리 연산장치, 제어, 내부 버스,  메모리 유닛(레지스터, 캐시)

CPU기본 구성 요소

 - 산술논리 연산장치(ALU): 비교 판단 연산을 담당. 논리연산(덧셈,뺄셈,비교연산) 수행 

 

 - 제어(CU)와 내부 버스: 명령어 해석 및 올바른 실행을 위해 CPU를 내부적으로 제어. (어떤 명령을 실행할지 스케쥴링)

 

제어부

  • 주기억 장치에 저장되어 있는 명령어를 순서대로 호출하여 해독하고, 제어 신호를 발생시켜 컴퓨터의 각 장치를 동작하도록 하는 장치

내부버스

 

 - 메모리 유닛 : 연산을 위한 데이터를 저장하는 곳.

  • 레지스터 : 처리할 명령어를 저장.
  • 레지스터 종류특수목적 레지스터 : 특별한 용도로 사용하는 레지스터
    • 메모리 주소 레지스터: (MAR) : 읽고 쓰기 위한 주기억장치의 주소를 저장한다.
    • 프로그램 카운터 (PC) : 다음에 수행할 명령어의 주소를 저장
    • 명령어 레지스터 (IR) : 현재 실행 중인 명령어를 저장
    • 메모리 버퍼 레지스터 (MBR) : 주기억장치에서 읽어온 데이터나 저장할 테이터를 임시로 저장
    • 누산기 (AC, ACCUMULATOR) : 연산 결과를 임시로 저장
     
  • ✅ 특수목적 레지스터는 아래와 같은 다양한 레지스터가 존재합니다.
  • 범용 레지스터 : 연산에 필요한 데이터나 연산 결과를 임시로 저장
  • 캐시 메모리(L1) : 처리속도를 높여줌

 2-2. CPU동작

 - 컴퓨터는 모든 데이터를 “기계어”(0,1)로 저장함

  • 기계어를 모스부호처럼 하드웨어적으로 CPU가 알아볼 수 있게 변환한게 어셈블리어
  • “어셈블리어”를 사람이 알아볼 수 있게 소프트웨어적으로 변환한게 프로그래밍 언어
  • 즉, 기계어(저장공간) > 어셈블리어(CPU) > 프로그래밍 언어(자연어)

 - 데이터와 명령어는 모두 저장공간에 저장되어 있음

  • CPU가 명령어를 읽고 수행하는 동작
  1. 명령어 인출
    • CU가 이번에 수행할 명령어 정보추출
  2. 명령어 해독
    • 명령어 정보를 성공적으로 인출했으면 명령어를 해독
    • 보통 opcode라고 하는 명령어 코드를 인출하고 opcode의 성격에 맞게 레지스터들을 준비
  3. 실행
    • 해독된 명령어를 수행. 예를 들어, 이것이 산술/논리 관련된 연산이면 ALU가 주체가 되어서 실행
  4. 반영
    • 이 명령어의 수행 결과를 반영함으로써 명령어 수행의 한 사이클 마무리

 2-3. CPU의 성능

 CPU 스펙:

 

클럭: CPU 내부에서 일정한 주파수를 가지는 신호 단위. 클수록 1초 처리량이 많다는 뜻.

코어:  중앙처리 장치 역할을 하는 블록을 뜻합니다. 즉, 멀티 코어들은 많은 연산을 빠르게 병렬 처리 가능

 

3. 메모리: 명령에 대한 모든 연산은 저장공간을 통해서 처리

  • 레지스터 = CPU
  • 캐시메모리(SRAM), 메인 메모리(DRAM) = 주 기억장치
  • 하드디스크(HDD) = 보조 기억장치

 3-1. 캐시 메모리 (L2,L3): 컴퓨터가 전원이 꺼지면 지워지지만 제일 빠르게 조회할 수 있는 저장공간

 

 - L1 캐시 메모리: 일반적으로 CPU 칩안에 내장되어 데이터 사용/참조에 가장 먼저 사용. L1 캐시는 보통 8~64KB 정도의 용량으로 CPU가 가장 빠르게 접근하게 되며, 여기서 데이터를 찾지 못하면, 이제 L2 캐시 메모리로 넘어감

 

 - L2 캐시 메모리: 용도와 역할은 L1 캐시와 비슷하지만 속도는 그보다 느림. 일반적으로 64KB~4MB 정도. L2 캐시는 CPU 회로판에 별도의 칩으로 내장됨. 앞서 말한대로 L1 캐시를 먼저 뒤지고, L2 캐시를 뒤져 데이터를 찾고, 역시 L2 캐시는 L1 캐시보다 느리지만, 일반 메모리(RAM)보다는 빠름

 

 - L3 캐시:  메모리도 동일한 원리로 작동. 웬만한 프로세서에서는 L3 캐시 메모리를 달고있지 않음. L2 캐시로 충분히 커버할 수 있기 때문. intel core2 duo나 quad에는 L3 캐시가 없지만, 코어 i7에는 8MB를 달아둠. L1/L2 캐시 메모리 정도만 CPU 성능에 직접적인 영향을 미치기에 L3 캐시는 크게 신경쓰지 않는것이 일반적인 추세. L3 캐시는 CPU가 아닌 메인보드에 내장되는 경우가 더 많음

 

 3-2. 주 기억장치(메인메모리, RAM) : 컴퓨터가 전원이 꺼지면 지워지지만 조금더 빠르게 조회할 수 있는 저장공간

  • RAM은 Random Access Memory의 약자
  • RAM은 DRAM과 SRAM이 있는데 주기억장치는 주로 DRAM을 의미. (SRAM은 캐시나 레지스트리)
  • 컴퓨터의 CPU가 현재 처리중인 데이터나 명령만을 일시적으로 저장하는 휘발성 메모리
    • 전원이 꺼지면 메인 메모리에 저장된 내용들은 모두 사라지기 때문에 컴퓨터가 꺼진 이후에도 데이터를 유지하고 싶을 경우에는 데이터를 하드디스크에 저장.
  • 보조기억장치(하드디스크)보다 접근속도가 빠름
  • 모든 프로그램은 컴퓨터에서 실행되기 위해 메모리의 일부를 사용
  • HDD - RAM - CPU 와 유사한 방식으로 연산과정의 중간에 위치
  • HDD에 비해 월등히 빠른 속도로 CPU가 정보를 원활히 이용할 수 있도록 도와줌
  • CPU가 사용하기 좋도록 각종 정보를 임시 저장하는 휘발성 장치

 - SRAM: Static RAM

  • 정적 메모리
  • 전원 공급이 되는 동안은 기록된 내용이 지워지지 않기 때문에 재충전이 필요 없습니다.
  • 접근 속도가 빠르고 가격이 비싸다는 특징이 있으며 주로 캐시메모리레지스터로 사용됩니다.

 - DRAM: Dynamic RAM

  • 동적 메모리
  • 전원이 계속 공급되더라도 주기적으로 재충전되어야 기억된 내용을 유지할 수 있습니다.
  • 주로 대용량의 기억장치에 사용되며 가격이 저렴합니다.
  • 주로 RAM이라고 표현하는 것(주기억장치)은 거의 DRAM을 가리킵니다.

 3-3. 보조 기억장치: 컴퓨터 전원이 꺼져도 지워지지 않는 저장공간

  • 사용자가 사용하고자 하는 데이터와 프로그램을 반영구적으로 저장
  • 전원을 끄더라도 저장된 데이터나 정보가 날아가지 않는 비휘발성 메모리
  • 설치하는 모든 프로그램이나 파일들은 이곳에 반영구적으로 저장

4. CPU 와 메모리

 4-1. 동작 순서

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

 4-2. CPU 와 메모리의 구조

  • 하버드 구조
    하버드 구조
    • 명령어 메모리 = 프로그램에서 사용할 명령어를 모아둔 메모리
      • 명령어 메모리 -> 제어장치 : 명령어 대한 정보를 보내줌
    • 데이터 메모리 = 명령어들로 사용될 메모리
    • ALU = 데이터를 가지고 명령어를 읽어서 연산 수행
    • 장/단점
      • 장점 : 메모리가 두개이기 때문에 역할이 나누어져 있으며 속도가 빠름
      • 단점 : 구성이 많기 때문에 비싸며, 복잡한 구성으로 고장이 날 확률이 높음
  • 폰노이만 구조
    폰노이만 구조
    • 보조기억장치에서 데이터들이 CPU에서 연산되기 위해서 하나의 메모리에 올라감
    • 제어장치는 산술논리장치에 데이터가 메모리 어디에 위치한지 알려주는 역할
    • 프로그램 메모리와 데이터 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있음(병목현상 발생)
  • 개선된 구조
    • 하버드 구조 + 폰노이만 구조
    • CPU의 캐시 메모리 형상에 관여
    • CPU 내부 - 하버드 : CPU 내부에 캐시를 둬서 RAM과 CPU 간의 속도 차이를 줄이려고 노력
    • CPU 외부 - 폰노이만 : 메모리 하나에 하나의 버스를 가지는 구조이기 때문에 병목현상이 아직까지는 존재

 

참조: https://hongong.hanbit.co.kr/컴퓨터의-4가지-핵심-부품cpu-메모리-보조기억장/

 

'CS' 카테고리의 다른 글

OpenAI의 Chat Completions response format  (0) 2024.09.26
MTV 패턴(Django)  (0) 2024.08.09
CS관련 기술 모의 면접에 대한 간단한 고찰  (0) 2024.08.09
전반적인 용어정리  (0) 2024.07.31
02. CPU의 스케쥴링 및 메모리 심화  (1) 2024.07.29