📌 컴퓨터 구조

하드웨어 + 소프트웨어

하드웨어: 전자 회로 및 기계 장치로, 입출력 장치, 중앙처리장치(CPU), 기억장치 등으로 구성
소프트웨어: 하드웨어 위에서 하드웨어를 제어하며 작업을 수행하는 프로그램




💡 컴퓨터의 기본 구성 요소

🔎 입력 장치

컴퓨터가 처리할 수 있는 형태로 데이터와 명령을 받아들이는 물리적인 장치
e.g. 키보드, 마우스, 스캐너, 타블렛, 조이콘



🔎 출력 장치

처리된 데이터를 사람이 이해할 수 있는 형태로 출력하는 물리적인 장치

가장 대표적인 출력 장치는 모니터!
모니터의 해상도(화면의 그림이나 글자의 선명도를 결정하는 요소)는 모니터와 그래픽 카드에 의해 결정된다.



🔎 중앙처리장치

CPU의 내부 구성은 크게 산술/논리 연산 장치(ALU)와 제어 장치, 레지스터로 구성

  • 산술/논리 연산 장치: 덧셈 수행
  • 제어 장치: 프로그램에 따라 명령과 제어 신호를 생성하여 각종 장치의 동작을 제어
  • 레지스터: CPU의 내부 메모리, CPU에서 사용하는 데이터를 일시적으로 저장하는 장소



🔎 저장 장치

주 기억 장치(Memory): 데이터나 프로그램을 보관하기 위한 일차 기억 장치 (RAM, ROM)

  • 프로그램 수행을 위해 필요한 정보에 비해, 중앙처리장치 내에 구비되어 있는 레지스터의 용량은 너무 작음
    ⇒ 주 기억 장치는 주로 정보를 저장해 두었다가, 필요할 때 읽어들이는 저장소로 사용됨!

보조 기억 장치: 주 기억 장치를 보조하기 위한 기억 장치 (디스크, CD ...)

  • 주 기억 장치에 비해 기억된 내용을 읽는 속도는 느리지만 대용량의 기억이 가능
  • 현재 사용하지 않는 프로그램은 보조 기억 장치에 저장됨
  • 종류
    • 자기 디스크 (플로피 디스크, 하드 디스크)
    • 광 디스크 (CD, DVD)
    • 플래쉬 메모리 (USB, SSD)










📌 CPU

각종 연산을 수행하고 기억장치에 기억되고 있는 명령어들을 수행하는 컴퓨터 시스템을 이루는 핵심 부품

폰 노이만이 제안한 폰 노이만 구조에는 중앙처리장치(CPU)를 통해 연산을 수행하게 되는 구조




💡 CPU의 구조

🔎 산술/논리 연산 장치 (Arithmetic Logic Unit, ALU)

산술적인 연산과 논리적인 연산을 담당하는 장치
가산기, 보수기, 누산기, 기억 레지스터, 데이터 레지스터 등으로 구성된다.

  • 캐시나 메모리로부터 읽어 온 데이터는 레지스터(Register)라는 CPU 전용 기억장소에 저장된다.
  • ALU는 레지스터에 저장된 데이터를 이용하여 덧셈, 곱셈 등과 같은 산술 연산을 수행한다.
  • 부동소숫연산장치(FPU), 정수연산장치, 논리연산(AND, OR 등)장치 등이 있다.



🔎 레지스터 (Register)

중앙처리장치(CPU) 내부에 있는 기억장치
범용 레지스터(General-Purpose Register): 산술 연산 논리장치에 의해 사용됨
전용 레지스터(Dedicated-Purpose Register): PC 등 특수 목적에 사용됨

< 레지스터의 종류 >

  • IR (Instruction Register): 현재 수행 중에 있는 명령어 부호를 저장하고 있는 레지스터
  • PC (Program Counter): 명령이 저장된 메모리의 주소를 가리키는 레지스터
  • AC (Accumulator): 산술 및 논리 연산의 결과를 임시로 기억하는 레지스터



🔎 제어장치 (Control Unit, CU)

CPU가 자신 및 주변기기들을 컨트롤하는 장치

프로그램 계수기(Program Counter) (프로그램의 수행 순서를 제어),
명령 레지스터(Instruction Register) (현재 수행중인 명령어의 내용을 임시 기억),
명령해독기(Instruction decoder) (명령 레지스터에 수록된 명령을 해독하여 수행될 장치에 제어신호를 보냄)로 이루어져 있다.

< 제어 장치 구현 방식 >

Hardwired(고정 배선 제어)Micro Program
제어 신호가 Hardwired Circuit에 의해서 생성되도록 하드웨어를 구성하며, 상태계수기와 PLA(Programmable Logic Array) 회로로 구성발생 가능한 제어 신호들의 조합을 미리 구성하여 ROM에 저장했다가 필요 시 신호를 발생시키는 Software 방식
고속 처리, 고가하드웨어 방식에 비해 속도도 낮고 가격도 저렴
RISC 시스템에 적용CISC에 적용




💡 CPU의 기능

명령어 및 명령어 수행 과정과 처리 방식은 CPU의 중요한 부분!

명령어 인출 및 해독은 모든 명령어들에 대하여 공통적으로 수행하며, 기억 장치로부터 명령어를 읽어온다.
그리고 데이터 인출 및 처리, 쓰기 같은 것들은 명렁어에 따라 필요할 때만 수행한다.



🔎 명령어

시스템이 특정 동작을 수행시키는 작은 단위

  • 동작 코드(Op-code)
    각 명령어의 실행 동작을 구분하여 표현
  • 오퍼랜드(Operand)
    명령어의 실행에 필요한 자료나 실제 자료의 저장 위치를 의미
profile
안녕하세연🙋 프론트엔드 개발자입니다

0개의 댓글

관련 채용 정보