Welcome to My World (www.dgmayor.com)

4차 산업 혁명 기초 IT 지식

1. 컴퓨터 구조 - from 전자 계산기

dgmayor 2022. 2. 15. 14:01
728x90

1. 컴퓨터 시스템의 구성(개요)

 

여기서는 컴퓨터의 구성요소와 구성요소들이 어떠한 기능을 하는지 간략하게 큰 그림을 먼저 그려보고 가겠습니다.

 

 

하드웨어&소프트웨어

①하드웨어

컴퓨터를 구성하는 물리적인 기계장치 입니다.

 

②소프트웨어

하드웨어에 동작을 명령하는 명령어의 집합. 즉, 프로그램입니다.

 

 

그래서 이번 챕터에서는 하드웨어의 각 구성요소들이 어떠한 기능을 하는지 차근차근 살펴보겠습니다.

 

 

2. 중앙처리장치 (CPU, Central Processing Unit)

컴퓨터에서 두뇌의 역할을 하는 장치로 주기억장치에서 명령어와 데이터를 읽고,

명령어에 따라 처리 및 제어하는 역할을 수행합니다.

CPU는 아래와 같이 3가지로 구성되어 있으며, 그 사이를 연결해주는 '시스템버스'라는 개념이 있습니다.

 

 

① 연산장치(ALU, Arithmetic Logic Unit)

 

연산에 필요한 데이터를 가져오고(From.레지스터),

산술연산(사칙연산)과 논리연산(AND, OR, NOT)을 수행해,

연산결과를 다시 레지스터로 보냅니다.

연산장치 혹은 산술논리연산장치는 주로 비교와 연산을 담당합니다.

 

② 제어장치(Control Unit)

 

주 기억장치에서 명령어를 꺼내오고,

명령어를 순서대로 실행할 수 있도록 해독합니다.

그리고, 그 결과에 따라 신호를 기억장치/연산장치/입출력장치로 전달합니다.

제어장치에서는 주로 명령어의 해석&실행을 담당합니다.

 

③ 레지스터(Register)

 

고속의 기억장치로 명령어의 주소, 명령어 코드, 연산에 필요한 데이터와 그 결과를 임시저장 하는 주기억장치 입니다.

그 용도에 따라 산술 및 논리연산과 관련된 데이터를 저장하는 '범용 레지스터' 와,

주소저장, 명령어저장, 데이터저장, CPU상태저장을 하는 '특수목적 레지스터' 로 구분됩니다.

 

④ 시스템버스(System Bus)

 

위 ①②③번 요소를 물리적으로 연결하며, 데이터를 서로 전달할 수 있도록 '통로'의 역할을 수행합니다.

시스템버스는 데이터를 전달하는 '데이터버스' 와,

데이터의 주소를 전달하는 '주소버스' 와,

데이터버스와 주소버스를 제어하는 '제어버스' 로 구성됩니다.

 

 

명령어 셋트 & 명령어 사이클

위에서 명령어라는 단어를 상당히 많이 언급했는데요.

명령어는 말그대로 컴퓨터 시스템에서 데이터를 구체적으로 어떻게 처리하라는 명령입니다.

 

그럼 이제 그 명령어가 어떻게 구성되어있고,

또 이 명령어에따라 컴퓨터가 어떻게 동작할 수 있는지 간단히 알아보겠습니다.

 

① 명령어 셋

 

'명령어셋'은 CPU가 처리해야할 명령어의 모음집 입니다.

이 명령어는 실행할 연산내용을 나타내는 "연산코드"와,

위에서 필요했던 데이터와 데이터의 저장위치를 나타내는 "피연산자" 로 구분됩니다.

 

② 명령어 사이클

 

CPU가 주기억장치에서 명령어를 인출하고 실행하는 사이클 1회를 '명령어 사이클'이라 부릅니다.

명령어 사이클은 명령어를 뽑아내는 "인출 사이클"과,

인출사이클에서 뽑아낸 명령어를 실행하는 "실행 사이클"로 구분됩니다.

따라서, 명령어 사이클은 "인출사이클" -> "실행사이클" 로 구성된 일련의 활동을 칭합니다.

 

 

3. 기억장치(Memory)

데이터, 그리고 그 데이터를 처리할 프로그램, 그리고 연산내용을 일시적 혹은 영구적으로 저장하는 저장소입니다.

이러한 기억장치는 크기 및 용량에 따라 4단계로 구성됩니다.

레지스터 -> 캐시메모리 -> 주기억장치 -> 보조기억장치 등 입니다.

 

① 레지스터

 

CPU내부에 존재하고, 따라서 가장 빠른 처리속도를 가지고 있으며 용량이 아주 작습니다.

 

② 캐시메모리

 

캐시메모리는 주기억장치보다 10개가량 빠른 속도를 가지고 있으며, 용량은 다소 작습니다.

CPU는 처리속도가 가장 빠르기 때문에,

다소 느린 속도를 가진 주기억장치에서 정보를 뽑아올 때, 딜레이가 생겨납니다.

이러한 딜레이를 최소화시키는 역할을 캐시메모리가 수행합니다.

캐시메모리는 CPU 내부 존재 유무에따라 'L1(내부캐시)' 혹은 'L2(외부캐시)'로 구분 짓습니다.

당연히 CPU는 정보를 요구할 때, L1캐시를 우선적으로 참고하게 됩니다.

캐시 메모리의 용량은 다소 작기 때문에, 주기억장치의 내용 일부만을 저장하고 있는데요,

CPU가 요구하는 정보와 캐시 메모리에 존재하는 정보가 일치할 경우 이를 "캐시적중(Cache hit)",

반대로, CPU가 요구하는 정보가 캐시메모리에 존재하지 않을 경우, 이를 "캐시미스(Cache Miss)" 라고 표현합니다.

 

 

 

③ 주기억장치(Computer Memory)

 

주기억장치의 역할은 컴퓨터가 동작하는 동안 데이터, 연산, 프로그램 등을 저장하는 역할을 합니다.

위 그림에서 보시면 아시겠지만, 적당한 속도와 적당한 용량을 가지고 있습니다.

이러한 주 기억장치는 휘발성메모리(임시저장)의 용도로 이용되는 'RAM'과,

데이터를 영구적으로 저장하는 비휘발성메모리인 'ROM'으로 구성됩니다.

 

④ 보조기억장치

 

보조기억장치는 용량이 크고 컴퓨터 외부의 저장공간을 끌어 쓰는 것이기에 속도가 가장 느립니다.

보조기억장치는 주기억장치의 용량 한계로인해 주로 이용됩니다.

보조기억장치는 정보를 읽는 방식에 따라, 두가지로 구분되는데요.

정보를 순서대로 차례차례 읽어나가는 "순차 접근 기억장치"와,

정보의 위치를 직접적으로 파악해 요구 정보의 위치를 즉각적으로 찾을 수 있는 "직접 접근 기억장치" 입니다.

 

'순차 접근 기억장치'는 저 때까지만 해도 썻는데 요즘에는 찾아보기 힘든 ㅠㅠ..

비디오테이프, 카세트테이프 등과 같은 것들이 있습니다.

테이프는 앞에서 부터 순서대로 빨리감기기능을 통해 원하는 위치를 찾는데요.

이것이 "순차접근기억장치"입니다.

 

비디오테이프

 

카세트테이프

 

직접 접근 기억장치는,

디스켓(플로피디스크)를 시작으로 탄생했는데요.

원하는 정보를 딱 클릭하면 딱 찾아줄 수 있습니다.

최근 찾아볼 수 있는 예시로CD, SD카드(플레시메모리) 등이 "직접 접근 기억장치"에 속합니다.

 

 

4. 입출력장치

대망의 마지막.. 입출력장치는.. 우리가 흔히 쓰고있는 것이라 너무나도 익숙한데요.

 

①입력장치

 

입력장치는 문자, 그림, 소리 등을 입력하는 장치로 2진수형태로 변환시켜 컴퓨터로 저장시킵니다.

우리가 흔히 사용하는 키보드, 마우스, 터치스크린, 스캐너 등이 이에 해당합니다.

 

②출력장치

 

출력장치는 컴퓨터의 정보를 사람이 인지할 수 있도록 표현하는 장치입니다.

모니터 등이 이에 해당합니다.

 

펌한 자료이고... 운영체제 구조 보다... 컴퓨터 구조가 먼저이나, 실수로 순서를 제대로 못 잡아서 늦게 등록...

이 블로그 만든 이유가 원래는 웹 서버 만드려다.... 정보가 다 달라서 홧김에 만드는 바람에 어쩌다 보니 그렇게 되었다.

728x90