CS

컴퓨터 공학 지식(2) : 컴퓨터 구조

hxx_1 2024. 1. 18. 22:50

 

< 메인보드 >

- 다양한 물리적인 장치를 장착할 수 있는 인쇄회로기판(PCB)

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

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

- Motherboard 라고도 불린다. 

 

< GPU : Graphics Processing Unit > 

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

- 인공지능, 고화질 게임, 무인 자동차 등에서 많이 쓰임

- 컴퓨터 그래픽 / 영상 처리에 유용하게 활용됨

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

 

< 보조기억장치>

: 일반적으로 설치된 프로그램 ( 실행 파일 및 비휘발성 데이터) 존재

- 하드디스크: 전통적으로 많이 사용된 보조기억장치

-> 큰 용량의 프로그램을 장기간 저장하기 위해 효과적으로 사용 가능

 

- SSD : 하드디스크보다 빠르고 전력 소비가 적지만, 

기대 사용 수명이 하드디스크에 비해 짧은 편이다.

최근 빠르면서 대용량 조건을 만족하게 되어 실질적으로 많이 쓰이고 있다. 

 

- 단점: 메인 메모리보다 속도가 느림

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

 

<메인 메모리: 주기억장치>

- 일반적인 개인용 컴퓨터에서 RAM (Random Access Memory) 이 자주 사용됨

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

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

- CPU는 메인 메모리에 적재된 프로그램 명령 코드를 읽어들여 실행/ 처리함

 

<CPU: 중앙처리장치>

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

- 컴퓨터의 구성 요소 중에서 인간의 뇌와 같은 역할 수행

- 연산과 제어를 담당

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

 

<중앙처리장치 동작 방식>

- 구성 요소: 산술/논리 장치, 제어장치, 레지스터

(1) 산술/ 논리 연산장치(ALU): 산술 연산(+,-,*) 및 논리 연산 (AND, OR,XOR 등) 을 수행

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

 

(2) 제어 장치: 메인 메모리에 적재된 처리해야 할 데이터를 해석하고, 적절한 제어 신호를 생성

ALU에게 연산 수행을 명령할 수 있음

메인 메모리에 대한 읽기 / 쓰기 등의 제어 명령을 내림

 

(3) 레지스터: 데이터를 일시적으로 CPU 내부에 저장할 공간

 

<컴퓨터의 일반적인 구조>

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

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

 

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

ex ) 펌웨어, 운영체제, 컴파일러, 장치 드라이버 등

 

(2) 응용 소프트웨어: 컴퓨터 자원에 대한 직접적인 접근이 제한되며, 대개 고수준 언어로 작성됨

시스템 소프트웨어에 비해 접근하기 쉽고, 친화적이라는 장점이 있음

ex) 게임, 웹 브라우저 등

 

<프로그램 수행 절차>

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

2. 메인 메모리로 올라간 프로그램의 코드 영역의 명령어를 읽어 명령을 수행

3. 명령어 수행 사이클 반복

- 명령어 인출: 메인 메모리에서 수행할 명령어를 레지스터로 가져옴

- 명령어 해석: 명령어 정보를 해석

- 명령어 실행: 제어 장치가 명령어 수행을 위한 적절한 제어 신호를 보내 실행하도록 함 

 

 <캐시 메모리> 

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

: 두 장치의 속도 차이에서 오는 병목 현상을 완화하기 위해 사용함

Main Memory <-> Lv.3 Cache <-> Lv.2 Cache<-> Lv1. Cache <-> CPU

 

- 메인 메모리에서 CPU로 적재할 데이터를 캐시 메모리에 보관

-> 이후에 데이터에 접근할 때 캐시 메모리에서 먼저 데이터를 찾음

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

 

 ----------------------------------------   동작 과정    ----------------------------------------

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

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

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

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