2️⃣컴퓨터 구조(Computer Structure)

1. 컴퓨터 구조 기초

📌 메인보드

  • 다양한 물리적인 장치를 장착할 수 잇는 인쇄회로기판

  • 컴퓨터의 CPU, 메인 메모리, 하드 디스크(보조기억장치)등을 장착

  • 다양한 컴퓨터 부품을 연결할 수 있는 인터페이스 제공

📌 GPU (Graphics Processing Unit)

  • GPU는 그래픽 관련 연산을 빠르게 처리하는 답을 도출하는 연산 장치

  • 인공지능(딥러닝), 고화질 게임, 무인 자동차

  • 컴퓨터 그래픽/영상 처리

  • 대규모 행렬 및 벡터 연산을 처리하는 데 뛰어난 성능을 발휘

📌 보조 기억 장치

  • 단점: 보조 기억 장치는 메인 메모리보다 속도가 느리다.

  • 장점: 전원이 차단되어도 내용 유지, 저장 용량 큼

  • 하드 디스크: 큰 용량의 프로그램을 장기간 저장하기 위해 효과적으로 사용 가능

  • SSD: 하드 디스크보다 빠르고 전력 소비가 적지만, 기대 사용 수명이 짧은 편. 최근 빠르면서 대용량 조건을 만족하게 되어 실질적으로 많이 쓰임

📌 메인 메모리

  • 주기억장치

  • 개인용 컴퓨터에서 RAM(Random Access Memory)이 자주 사용된다.

  • 공급되던 전원이 사라지면, 저장된 내용이 사라지는 휘발성 메모리

  • 컴퓨터의 프로그램을 실행하면, 프로그램은 메인 메모리에 적재(프로세스 형태)된다.

  • 이후에 CPU는 메인 메모리에 적재된 프로그램 명령 코드를 읽어 들여 실행/처리한다.

📌 CPU(중앙처리장치)

  • 메인 보드에 가장 먼저 연결하는 장치 중 하나

  • CPU는 컴퓨터의 구성 요소 중에서 인간의 뇌와 같은 역할

  • 연산(computation)과 제어(control)를 담당

우리가 프로그램을 실행하면?

  • CPU는 계산/제어 담당 (ALU 연산 장치 사용)

  • CPU는 메인 메모리에서 명령어를 읽어, 계산한 뒤에 메인 메모리에 저장

  • 보조기억장치에는 일반적으로 설치된 프로그램(실행 파일 및 비휘발성 데이터)이 존재

  1. 설치된 웹 브라우저 실행(Chrome)

  2. 메인 메모리에 프로그램 적재

  3. CPU가 실질적인 연산 처리

📌 노트북(Laptoop)

  • 모니터, 키보드, 카메라, 메인 보드, CPU, 그래픽 카드(GPU) 등이 한꺼번에 탑재

2. 컴퓨터의 구성 요소

📌 컴퓨터의 일반적인 구조

  • 하드웨어: 컴퓨터가 동작하도록 해주는 내부 물리적인 장치들

  • 소프트웨어: 컴퓨터가 어떻게 동작해야 하는지 명시되어 있는 명령어 집합

📌 컴퓨터의 기억 장치

  • 기억 장치는 속도가 빠를 수록 용량이 적고, 가격이 비싸다.

  • 기억 장치는 계층적으로 구성 (보조기억장치의 용량이 가장 크다)

  • 용량 (높 → 낮), 속도 및 가격(낮→높)

    • 보조기억장치(HDD, SSD), 메인 메모리(DRAM), 캐시 메모리(SRAM), 레지스터

📌 소프트웨어

  • 사용자 ↔ 응용 프로그램 ↔ 시스템 소프트웨어 ↔ 하드웨어

  • 시스템 소프트웨어: 하드웨어 제어 및 관리

  • 응용 소프트웨어: 일반적인 사용자 작업 수행을 도움

소프트웨어의 구분

  1. 시스템 소프트웨어: 하드웨어 자원에 대한 접근이 용이하며, 대게 저수준 언어로 작성

    1. 펌웨어, 운영체제(OS), 컴파일러, 장치 드라이버

  2. 응용 소프트웨어: 컴퓨터 자원에 대한 직접적인 접근이 제한되며, 대게 고수준 언어로 작성.시스템 소프트웨어에 비해 접근하기 쉽고, 친화적이다.

    1. 게임, 웹 브라우저

3. 중앙처리장치(CPU) 동작 방식

3가지 모듈로 구성되며, 서로 내부 버스로 연결되어 있다.

  1. 산술/논리 장치(Arithmetic Logic Unit, ALU)

  2. 제어장치(Control Unit)

  3. 레지스터(Register)

하드웨어 구성요소

📌 레지스터(Register)

  • 프로세스는 메인 메모리에 적재된다.

  • 실제 연산은 CPU 내부에서 수행되므로, 데이터를 CPU로 가져와 처리해야 한다.

  • 데이터를 일시적으로 CPU 내부에 저장할 공간이 레지스터다.

  • 레지스터는 CPU의 현재 상태(state)를 저장할 공간으로 사용되기도 한다.

📌 산술/논리 연산 장치(ALU)

  • CPU가 실질적으로 연산을 처리할 수 있도록 한다.

  • 산술 연산(+, - ,*, /) 및 논리 연산(AND, OR, XOR)을 수행할 수 있따.

  • 컴퓨터 내에서 매우 빠른 연산 장치

📌 제어 장치(Control Unit)

  • 메인 메모리에 적재된 처리해야 할 데이터를 해석하고, 적절한 제어 신호를 생성한다.

  • ALU에게 연산 수행을 명령할 수 있다.

  • 메인 메모리에 대한 읽기(read)/쓰기(write) 등의 제어 명령을 내린다.

📌 프로그램 수행 절차

  • 보조 기억 장치(하드 디스크)에 있는 프로그램이 메인 메모리로 적재된다.

  • 메인 메모리로 올라간 프로그램의 코드(code) 영역의 명령어를 읽어 명령을 수행한다.

  • 명령어 수행 사이클을 반복한다.

    • 명령어 인출(fetch): 메인 메모리에서 수행할 명령어를 레지스터로 가져온다.

    • 명령어 해석(decode): 명령어 정보를 해석한다.

    • 명령어 실행(excute): 제어 장치가 명령어 수행을 위한 적절한 제어 신호를 보내 실행하도록 한다.

4. 캐시 메모리

📌 캐시 메모리(Cache Memory)

  • 캐시 메모리는 빠른 CPU와 상대적으로 느린 메인 메모리 사이에 위치

  • 두 장치의 속도 차이에서 오는 병목 현상을 보완/완화하기 위해 사용한다.

  • 메인 메모리에서 CPU로 적재할 데이터를 캐시 메모리에 보관한다.

  • 이후에 데이터에 접근할 때 캐시 메모리에서 먼저 데이터를 찾는다.

  • 캐시 히트: 데이터를 찾은 경우, 메인 메모리에 접근하지 않아도 되므로 시간 효율적이다.

📌 동작 과정

  1. 데이터를 메인 메모리에서 캐시 메모리로 복사

  2. 캐시에서 데이터를 꺼낸 뒤에 CPU가 처리

  3. 데이터에 접근이 필요한 경우, CPU는 캐시 메모리를 먼저 검사하여 가져온다.

  4. 캐시에 원하는 데이터가 없는 경우, 다시 메인 메모리에서 캐시 메모리로 복사한다.

📌 웹 캐시

  • 웹 브라우저의 경우 자주 방문하는 웹 사이트에 대하여 자주 쓰이는 데이터를 저장한다.

  • 웹 데이터를 캐시 처리한다고 하여, 웹 캐시라고 부른다.

  • 자주 접속하는 사이트의 파일(이미지, HTML, CSS)에 대해 특정 저장 공간에 저장한다.

Last updated