본문 바로가기
컴퓨터개론

[컴퓨터개론] 하드웨어 구성

by seung_nari 2022. 6. 3.

pc는 소프트웨어와 하드웨어로 이루어져있으며, 하드웨어는 3가지 구성요소로 이루어져있습니다.

- 중앙처리장치 (cpu)

- 기억장치 (RAM 주기억장치, HDD 보조기억장치)

- 입출력장치 (마우스, 프린터)

 

중앙 처리 장치

CPU는 컴퓨터의 모든 연산과 작업을 처리하는 장치

 

CU (Control Unit, 제어유닛)

- 명령어를 순서대로 실행할 수 있도록 제어하는 장치

- 주기억장치에서 프로그래램 명령어를 꺼내 해독

- 그 결과에 따라, 명령어 실행에 필요한 제어 신호를 연산장치, 기억장치, 입출력장치로 보냅니다.

- 또한, 장치가 보낸 신호를 받아, 다음에 수행할 동작을 결정합니다.

 

ALU (산술논리연산장치)

- 산술연산과 논리연산을 수행하는 장치입니다.

- 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보냅니다.

산술 및 불린 논리 연산기 (Arithmetic and Boolean Logic)

- 덧셈, 뺄셈과 같은 사칙연산을 수행

- AND, OR, NOT과 같은 논리연산을 수행해 참 거짓 판단

 

상태 플러그 (Status Flags)

- 장치 내의 데이터 상태를 표시함

- 음수, 0, 오버플로우 표시

 

이동기 (Shiffer)

- 데이터 비트를 좌우로 비트 별로 이동

- 비트의 이동은 2로 곱셈하거나 나눗셈하는 것으로 해석함

 

보수기 (Complementer)

- 연산장치 내의 보수 연산을 수행

- 덧셈이나 뺄셈을 사용할 때 사용하는 보수를 만들어줌

 

Register(레지스터)

- 고속 기억장치입니다.

- 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장합니다.

- 중앙처리장치의 종류에 따라 사용할 수 있는 레지스터 개수와 크기가 다릅니다.

- 용도에 따라 범용 레지스터와 특수목적 레지스터로 구분됩니ㅏㄷ.

- 범용 레지스터: 연산에 필요한 데이터나 연산 결과를 임시로 저장

- 특수목적 레지스터 : 특별한 용도로 사용하는 레지스터

 

- 데이터 레지스터와 제어용 레지스터로 구분

 

데이터 레지스터

- CPU가 명령어 처리하는 과정에서 임시로 처리할 데이터를 저장하거나 메모리의 주소를 저장할 목적으로 사용

- 데이터 레지스터(Data Register), 주소 레지스터(Address Register), 범용 레지스터(General Register)로 구분

 

1) 주소 레지스터

(1) 스택 포인터(SP, Stack Pointer)

- CPU는 현재 실행하고 있는 프로그램의 메모리 영역을 스택으로 관리

- SP는 현재 스택 영역에서 가장 마지막 부분(가장 최근에 저장된)을 가르킴

 

(2) 베이스 포인터(BP, Base Pointer)

- BP는 스택 영역에서 각 메모리 영역의 경계선을 가르킴

- 즉, 서브루틴 호출 시에 Caller의 SP는 BP가 됨

- 서브루틴의 실행이 완료되면 BP는 다시 SP가 됨

 

(3) 인뎃트 레지스터(IX, Index Register)

- 배열에 순차적으로 접근하기 위한 레지스터

 

제어용 레지스터

- CPU가 프로그램의 실행 흐름을 제어하거나 상태를 저장하기 위해 사용되는 레지스터

 

1) 프로그램 카운터(PC, Program Counter)

- 다음에 실행할 명령어의 주소 저장

 

2) 명령어 레지스터(IR, Instruction Register)

- 현재 실행중인 명령어 저장

 

3) 메모리 주소 레지스터(MAR, Memory Address Register)

- 엑세스할 메모리의 주소 저장

- 주소 버스에 연결

 

4) 메모리 버퍼 레지스터(MBR, Memory Buffer Register)

- 메모리에 접근 시에 해당 주소에 저장/적재할 데이터를 임시 저장

- 데이터 버스에 연결

 

5) 상태 레지스터(SR, Status Register)

- 조건 혹은 이벤트를 검사해 프로그램의 흐름을 제어

- 각 비트에 플래그 값을 가짐

- 연산 결과를 나타내는 조건 플래그(Conditional Flags)와 CPU를 제어하기 위한 제어 플래그(Control Flags)로 구성

 

cpu의 동작 과정

1. 주기억장치는, 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어옵니다.

2. cpu는 프로그램을 실행하기 위해, 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고, 결과를 다시 주기억장치에 저장합니다.

3. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보냅니다.

4. CPU의 제어장치는 1~3 과정에서 명령어가 순서대로 실행되도록 제어합니다.

 

기억 장치

- 기억장치는 프로그램, 데이터, cpu 연산결과를 저장하는 장치이며, 아래와 같이 분류됩니다.

 

주기억장치(RAM)

- cpu의 연산 결과를 임시로 저장해주며, cpu 작업을 효율적으로 도와주는 장치입니다.

 

보조기억장치(HDD)

- ram의 용량이 부족하거나, cpu 작업을 처리하는데 필요한 정보가 ram에 없을 때, 데이터를 제공하는 보조 역할 장치입니다.

- HDD의 작업처리속도는 CPU나 RAM의 작업처리속도에 비해 현저히 느립니다.

- 따라서, CPU가 아무리 고성능이고, RAM의 용량과 클럭이 아무리 높다고 하더라도

- 직접적으로 데이터를 공급해주는 HDD가 느리다면, 컴퓨터의 전체 속도가 낮아집니다.

- 따라서, 이러한 HDD의 단점을 보완해주는 부품으로 SSD가 있습니다.

 

HDD와 SSD의 차이

- HDD는 모터가 자성체를 입힌 알루미늄 원판(자기디스크, 플래터)를 회전시키고

- 그곳에 길다란 헤드라는 놈을 얹어, 왔다갔다 하며 자기디스크의 자기 배열 방식을 읽어들이며

- 컴퓨터상에 읽기, 쓰기(설치, 복사, 이동, 삭제, 로딩 등등) 작업을 하는 장치입니다.

- 플래터를 빠르게 돌리면 돌릴수록 HDD의 속도는 빨라지지만, 그만큼 전력소모량과 소음은 증가하기 때문에 한계가 있으며 하드디스크의 속도는 CPU나 그래픽, 메모리같은 타 부품들에 비해 굉장히 느립니다.

- 따라서, 타 제품이 아무리 빨라도, 하드디스크가 그 속도를 제대로 뒷받쳐주지 못해, 제대로 된 성능발휘를 못하게 됩니다.

- 따라서, 이러한 문제를 해결하기 위해 나온 녀석이 바로 SSD입니다.

 

- SSD

- SSD는 Solid State Disk의 약자이며, 메모리 반도체로 이루어진 하드디스크(보조기억장치)를 의미합니다.

- Solid State는 메모리 반도체로 회로를 구성하는 방식을 뜻합니다.

- 위 사진을 보면, SSD 내부는 HDD와 다르게 메모리 반도체들로 이루어져 있습니다.

- 이처럼, SSd는 자체 물리적 회전으로 데이터를 읽고 저장하는 HDD와 달리

- CPU, RAM과 동일한 메모리 반도체를 이용해, 데이터를 일고 저장하는 시스템입니다.

- 따라서, HDD보다 속도가 빠릅니다.

- 이러한, Flash Memory는 2가지 종류로 나뉩니다.

- NAND형

- 속도는 느리지만 대용량이고 저렴

- MP3플레이어, 디지털 카메라등의 휴대용 저장장치에 쓰임

- NOR형

- 속도는 빠르지만 저용량이고 데이터의 안정성이 확보

- 주로 휴대폰에 쓰임

 

HDD와 SSD의 차이 요약

- SSD는 메모리 반도체로 이루어져 있기 때문에 속도가 빠릅니다.

- HDD는 자기디스크를 돌리며, 이곳저곳 읽거나 쓸 곳을 찾으므로 느릴 수 밖에 없습니다.

- 반대로 SSD는 반도체셍아 바로 입력을 기억하기 때문에 바로바로 처리가 가능합니다.

 

- SSD는 소음이나 전력소모량이 적습니다.

- HDD는 플래터를 계속해서 돌려야하고, 그 과정에서 물리적인 힘이 필요하기 때문에 소음과 전력 공급향이 많아 발생하게 됩니다.

- 하지만, SSD는 그렇지 않습니다.

- 따라서, 노트북에 SSD를 달면 배터리 유지시간이 늘어납니다.

- 주로 사용되는 곳

- SSD

- 암축, OS 설치, 게임로딩, 프로그램로딩, 파일실행

- HDD

- 백업이나 용량이 큰 녀석들을 보관하기 위해

- 따라서, 보통 자주 실행하는 프로그램, 게임, 윈도우 파일등은 SSD에 설치하고, 대용량 파일은 하드디스크에 저장합니다.

 


기억장치

- 프로그램을 수행하는 데 필요한 데이터를 저장하기 위해 사용

- 내부 기억장치와 외부 기억장치로 나뉨

 

주기억장치

- 내부 기억장치에 속함

- 컴퓨터 시스템에서 수행되는 프로그램과 수행에 필요한 데이터를 기억

- CPU에 접근하는 속도가 빠름, 많은 양의 데이터를 기억

- RAM (Random Access Memory)를 현재 사용

 

RAM과 ROM

RAM(Random Access Memory)

- 휘발성 메모리로, 작업 중인 파일을 한시적으로 저장합니다.

- 하나의 프로그램이나 페이지가 다른 프로그램이나 페이지로 이동할 때마다 기존 정보가 즉시 제공되는데, 이때의 데이터가 RAM에 저장되어있는 데이터이다.

 

ROM(Read Only Memory)

- Rom은 컴퓨터에 지시사항을 영구히 저장하는 비휘발성 메모리

 

보조기억장치

- 외부 기억장치에 속함

- 반 영구적으로 데이터를 저장하고 보존함

- 중앙처리장치와 직접 정보 교환이 불가능해 주기억장치로 옮겨진 후에 처리됨

- 가격이 저렴하고 저장 용량이 크지만 속도가 느려 빠른 중앙처리장치와 직접적으로 정보 교환이 불가능한 것임

- 자기 디스크, 하드 디스크, CD-ROM 등이 여기에 속함

 

캐시 메모리

- 속도가 빠른 장치와 느린 장치 사이에서 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리


명령 수행과정 - 머신 사이클

프로그램을 구성하는 명령어는 4단계의 과정을 통해 수행됨

- 인출 Fetch : 필요한 명령어를 주기억장치에서 불러움

- 해독 Decode : 호출된 명령어를 해석함

- 실행 Execute : 해석된 명령어를 산술/논리 연산장치를 통해 실행함

- 저장 Store : 수행결과를 주기억장치에 저장함

 

 

 

 

 

 

 

 

 

 

참고 : https://www.crucial.kr/articles/about-memory/what-is-the-difference-between-ram-and-rom

참고 : https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%84%B0Register

참고 : https://jamielim.tistory.com/entry/1%EC%A3%BC%EC%B0%A8-%EC%A0%95%EB%A6%AC-%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%84%B1%EC%9A%94%EC%86%8C-%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4

참고 : https://wooono.tistory.com/248

댓글