본문 바로가기
책/혼공 컴퓨터구조+운영체제

컴퓨터구조 - 컴퓨터구조의 큰 그림(CPU, 메모리,보조기억장치,입출력장치)

by 코딩하는 돼징 2023. 10. 18.
반응형

컴퓨터 구조 지식은 크게 컴퓨터가 이해하는 정보와 컴퓨터의 네가지 핵심 부품으로 나눠질 수 있다.


컴퓨터가 이해하는 정보

컴퓨터는 0과 1로 표현된 정보만을 이해한다. 그리고 0과 1로 표현되는 정보에는 크게 두 종류가 있는데 바로 데이터와 명령어이다.

01 데이터(Data)

데이터는 컴퓨터와 상호 작용하고 저장하는 정보를 나타낸다. 이는 숫자, 문자, 이미지, 동영상 등과 같은 정적인 정보를 포함한다. 이러한 정보는 0과 1로 표현되며 이진(binary) 표현을 통해 컴퓨터에 저장 및 처리된다.


02 명령어(Instructions)

명령어는 컴퓨터의 동작을 지시하는 정보이다. 명령어는 컴퓨터의 중앙 처리 장치(CPU)에서 실행되며, 프로그램을 구성하는 기본 요소이. 명령어는 다양한 동작을 수행하도록 설계되며, 이러한 명령어의 조합으로 프로그램이 작동된다.


예를 들어 1과2는 데이터이고 '더하라 1과 2를'은 명령어이다. 

즉 명령어는 컴퓨터를 작동시키는 정보이고 데이터는 명령어를 위해 존재하는 일종의 재료이다. 컴퓨터 프로그램은 명령어들의 모음이라고 정의되기도 하다. 명령어는 컴퓨터 구조를 학습하는데 있어 데이터보다 더 중요한 개념이라고 할 수 있다.


컴퓨터의 네가지 핵심 부품

01 메인보드(Mainboard 또는 Motherboard)

이 네가지 핵심 부품이 부착할 수 있는 곳이 메인보드 혹은 마더보이다. 


02 시스템 버스

메인보드 안을 보면 울긋불긋하게 생긴 회로들이 있다. 컴퓨터의 4가지의 핵심부품들이 서로 연결되서 부착이 되서 서로가 정보를 주고받을 수 있으려면 정보를 교환하는데 사용되는 통로를 버스라고 한다.

다양한 버스들이 있지만 제일 중요한 버스는 시스템 버스이다.

내부 구성

주소 버스 : 주소를 주고 받는 통로

데이터 버스 : 명령어와 데이터를 주고 받는 통로

제어 버스 : 제어 신호를 주고 받는 통로

예시 

메모리 읽기인 경우

제어버스로 메모리 읽기 제어 신호를 메모리에 보내고 주소 버스로 읽고자 하는 주소를 내보낸다. 그러면 메모리는 데이터버스로 CPU가 요청한 주소에 있는 내용을 보낸다.

메모리 쓰기인 경우

제어 버스로 메모리 쓰기 제어 신호를 메모리에 보낸다. 데이터 버스를 통해 메모리에 저장할 값을 메모리에 전달한다. 그리고 CPU는 주소 버스를 통해 메모리에 저장할 주소를 메모리에 전달한다. 주소 버스로 전달된 주소에 데이터 버스로 전달된 값을 저장한다.

 

출처 : 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

03 메모리(Memory)

메모리는 현재 실행 중인 프로그램의 데이터와 명령어를 저장하는 역할을 한다. 주요 메모리 종류로는  RAM (Random Access Memory)과 ROM (Read-Only Memory)이 있으며, 이 두 가지 메모리를 풀 네임으로 메인 메모리라고 한다.

현재 실행되는 프로그램을 프로세스라고 한다. 어떤 프로그램이 실행되기 위해서는 메모리 안에 저장되어 있어야한다.

현재 실행되지 않고 있는 프로그램은 어디에 저장되어있을까? 그것들은 메모리가 아니라 보조기억장치에 저장되어있다.


메모리 주소

메모리 각 칸은 주소로 식별되며 주소는 메모리 내의 특정 데이터 또는 명령어 위치를 지정하는데 사용된다. 주소는 0과1로 표현된 데이터 및 명령어를 실제 메모리 내의 위치로 매핑한다.

 

정리

프로그램이 실행되게 위해서는 메모리에 저장되어 있어야 한다. 메모리는 실행되는 프로그램의 명렁어와 데이터를 저장한다. 메모리에 저장된 값의 위치는 주소로 알 수 있다.


04 CPU

CPU는 컴퓨터의 두뇌와도 같은 부품으로서 메모리에 저장된 명령어를 읽고 해석하며 실행한다.

CPU의 내부 구성 부품은 크게 3가지이다.

1) ALU(ALU : Arithemtic Logic Unit)

간단히 계산기라고 표현할 수 있다. 산술(덧셈, 뺄셈, 곱셈, 나눗셈) 및 논리(AND,OR,NOT) 연산을 수행한다.

2) 제어장치(CU : Control Unit)

제어 신호(컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호)를 내보내고, 명령어를 해석한다.

메모리 읽기와 메모리 쓰기

메모리 읽기(Read from Memory)

CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어 신호를 보낸다.

1. 제어장치는 명령어를 읽어 들이기 위해 메모리에 메모리 읽기 제어 신호를 보낸다

2. 메모리는 1번지에 저장된 명령어를 CPU에 건네주고 이 명령어는 레지스터에 저장된다.

3. 제어장치는 읽어 들인 명령어를 해석 하고 3번지와 4번지에 저장에 저장된 데이터를 읽어 들이기 위해 메모리에 메모리 읽기 제어 신호를 보낸다.

4. 메모리는 3번지와 4번지에 저장된 데이터를 CPU에 전달하고, 이 데이터들을 CPU 서로 다른 레지스터에 저장된다.

5. ALU는 읽어 들인 데이터로 연산을 수행하고 계산의 결괏값은 레지스터에 저장된다. 계산이 끝났다면 첫번째 명령어의 실행이 끝난다.

메모리 쓰기(Write to Memory)

CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기 라는 제어 신호를 보낸다.

1. 제어장치는 2번지에 저장된 다음 명령어를 읽어 들이기 위해 메모리에 메모리 읽기 제어 신호를 보낸다. 메모리는 2번지에 저장된 명령어를 CPU에 건네주고 이 명령어는 레지스터에 ㅓ장된다. 제어장치는 이 명령어를 해석한 뒤 메모리에 계산 결과를 저장해야 한다고 판단한다.

2. 제어장치는 저장하기 위해 메모리에 메모리 쓰기 제어 신호와 함께 계산결과를 메모리에 보낸다. 그러면 메모리가 계산결과를 저장하면 두 번째 명령어의 실행도 끝난다.

3) 레지스터 (Register)

CPU내부의 작은 저장장치이다. 프로그램을 실행하는데 필요한 값들을 임시로 저장한다. CPU안에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있다.


05 보조기억 장치(Secondary Storage)

메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다고 했지만 이 메모리는 두 가지 치명적인 약점이 있다. 가격이 비싸 저장용량이 적다는 점과 전원이 꺼지면 저장된 내용을 잃는 다는 점이다.

이에 메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조할 저장 장치가 필요하게 되었는데 이게 보조기억장치이다.

하드 디스크, SSD, USB메모리, DVD, CD-ROM과 같은 저장 장치가 보조기억 장치의 일종이다. 

 

결론

메모리는 실행할 정보를 저장하고 보조기억장치는 보관할 정보를 저장한다.


06 입출력 장치

마이크, 스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치이다.

 

질문

보조 기억장치로 알고있었던 USB도 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 장치로 볼 수 있지 않나요? 그러면 보조기억장치도 결국 입출력 장치 아닌가요?

답변

보조 기억장치는 관점에 따라 입출력장치의 일종으로 볼 수 있다. 실제로 보조기억장치와 입출력장치를 주변 장치(peripheral device)라고 통칭하기도 한다. 다만 보조기억장치는 모니터, 마우스, 키보드와 같은 일반적인 입출력장치에 비해 메모리를 보조한다는 특별한 기능을 수행한다.

 

 

 

 

 

 

 

참고 :  본 내용은개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제강의를 수강하여 작성하였습니다.

https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard

 

 

 

반응형

댓글