0. 들어가며...
컴퓨터 구조의 지식은 크게 두가지로 컴퓨터가 이해하는 정보 와 컴퓨터의 핵심 부품 4가지로 나눌 수 있다.
이번 장에서는 컴퓨터가 이해하는 정보가 무엇이 있는지, 컴퓨터의 핵심 부품 4가지의 구조가 어떤지 대략적으로 알아보고 마친다.
이번 장에서는 컴퓨터가 이해하는 정보가 무엇이 있는지, 컴퓨터의 핵심 부품 4가지의 구조가 어떤지 대략적으로 알아보고 마친다.
1. 컴퓨터가 이해하는 정보
컴퓨터는 0과 1로만 구성된 bit만 이해할 수 있다.
이 0과 1로 구성된 비트 정보는 역할에 따라
이 0과 1로 구성된 비트 정보는 역할에 따라
데이터와 명령어로 나뉜다.(1) 데이터
데이터는 말 그대로, '정적인 정보' 를 뜻한다.
숫자, 문자, 이미지, 동영상 같은 부류가 여기에 속한다.
숫자, 문자, 이미지, 동영상 같은 부류가 여기에 속한다.
(2) 명령어
명령어는 '실행력을 가진 문장' 을 말한다.
데이터를 운용하고 컴퓨터를 구동시키는 역할을 한다.
데이터를 운용하고 컴퓨터를 구동시키는 역할을 한다.
중요도
데이터와 명령어 사이의 중요도를 따지자면, 명령어가 훨씬 중요하다.
명령어는 데이터들을 움직이며, 컴퓨터를 구동시키는 핵심 역할을 하지만, 데이터는 명령어 없이는 그냥 정보의 덩어리에 불과하기 때문이다.
데이터와 명령어 사이의 중요도를 따지자면, 명령어가 훨씬 중요하다.
명령어는 데이터들을 움직이며, 컴퓨터를 구동시키는 핵심 역할을 하지만, 데이터는 명령어 없이는 그냥 정보의 덩어리에 불과하기 때문이다.
2. 컴퓨터의 핵심 4가지 부품
어떤 종류의 컴퓨터이든 다음 4가지 부품은 필수로 가진다.
- CPU (Central Processing Unit): 중앙 처리 장치
- 주 기억 장치
- 보조 기억 장치
- 입출력 장치
대략적인 구조도를 보면 다음과 같다.
- 메인 보드는 컴퓨터 내부, 보조 기억 장치와 입출력 장치는 컴퓨터 외부에 존재한다.
- 각 요소들은 시스템 버스라는 연결 통로를 통해 소통하고 작업을 처리한다.
(0) 메인 보드란?
모든 핵심 부품들이 연결되어 있는 판이다.
CPU와 메모리는 메인 보드에 직접 꽂혀있는 형태이고, 보조 기억 장치나 입출력 장치는 포트를 이용해 선으로 연결되어 있다.
CPU와 메모리는 메인 보드에 직접 꽂혀있는 형태이고, 보조 기억 장치나 입출력 장치는 포트를 이용해 선으로 연결되어 있다.
(1) 메인보드 내부
A. 메모리
실행 중인 프로그램의 데이터와 명령어가 저장되는 부품이다. CPU는 메모리에서 필요한 명령어와 데이터를 꺼내 쓰기 때문에, 실행을 원하는 프로그램은 반드시 메모리에 적재되어 있는 상태여야 한다.
- 저장된 데이터와 명령어를 효율적으로 찾기 위해
주소라는 개념을 이용해 저장된 정보들을 특정한다.
- 휘발성 기억 장치라서 컴퓨터가 꺼지면 들고 있던 내용이 전부 날아간다.
B. CPU
CPU는 컴퓨터의 두뇌 역할을 하는 부품이다.
메모리에 저장된 데이터와 명령어를 읽어들인 뒤, 그것을 해석하고 실행하는 역할을 한다. CPU 내부의 구성 요소를 나누면 다시 3가지로 나눌 수 있다.
메모리에 저장된 데이터와 명령어를 읽어들인 뒤, 그것을 해석하고 실행하는 역할을 한다. CPU 내부의 구성 요소를 나누면 다시 3가지로 나눌 수 있다.
- ALU(산술 논리 연산 장치)
: 명령어에 적힌 대로 데이터를 연산하는 역할을 한다.
- 제어 장치
: 메모리에 제어 신호를 보내서 필요한읽기/쓰기작업을 한다. - 읽기의 경우
:데이터와 명령어를 요청하고, 해당 내용들이 레지스터에 적재되면 그것을 읽고 해석하는 역할을 한다. (이후 ALU에게 적절한 일을 시킨다.) - 쓰기의 경우
: 메모리에 특정 위치에 CPU 연산 결과를 써넣는다.
- 레지스터
: 프로그램 실행에 필요한 값들을 임시로 저장하는 역할을 한다.
중간 연산 결과 혹은 실행 전인 데이터와 명령어가 이곳에 저장된다.
C. CPU와 메모리가 소통하며 프로그램을 실행하는 원리
위에서 설명 했듯이, CPU와 메모리는 메인보드 내의
시스템 버스를 활용하여 소통하고 프로그램을 실행한다. 그 과정을 설명하면 다음과 같다. (밑에서 보이는 화살표가 모두 시스템 버스임)1. CPU가 '읽기' 제어 신호 보내기
최초 프로그램 실행을 위하여, CPU의 제어 장치가 메모리에게 '읽기' 전기 신호를 보낸다.
2. 메모리가 비어있는 레지스터에 이를 적재, 제어 장치가 이를 읽고 해석
해석 해보니, 연산을 위해서는 3번지와 4번지 데이터가 추가로 필요하다. 따라서 다시 읽기 제어 신호를 보내 두 데이터를 요청한다.
3. 필요한 데이터 셋 모두 수집, ALU에게 연산 요청
4. 연산 결과를 레지스터에 저장, 다음 명령으로 넘어가기
5. 다음 명령어를 제어 장치가 읽고, 1번지 연산 결과를 메모리에 저장해야 겠다고 판단
6. '쓰기' 제어 신호를 보내서, 연산 결과를 메모리에 저장
특징을 보면,
- 메모리와 소통하는 과정 자체에서 항상 레지스터를 거친다. (중간 저장 단계 - 게임에서의 세이브 파일)
- CPU 안에서도 제어 장치가 리더 역할을 하며 ALU와 레지스터를 운용한다.
D. 시스템 버스
부품들이 서로 데이터를 주고 받으며 소통할 수 있게 하는 구성요소이다. 위의 시스템과 메모리의 작동 과정에서는 시스템 버스를 선 하나로 퉁쳤는데, 실제로는 시스템 버스 또한 주고 받는 내용물에 따라 세분화되어 있다.
제어 버스: 제어 신호를 주고 받는 통로
주소 버스: 메모리 주소를 주고 받는 통로
데이터 버스: 데이터와 명령어를 주고 받는 통로
읽기의 경우,
제어 버스와 주소 버스로 읽고자 하는 메모리 주소 특정, 메모리가 그 주소의 내용물을 데이터 버스로 태워보냄.
쓰기의 경우
제어버스, 주소, 데이터버스에 원하는 내용을 한 번에 실어서 보낸다.
(2) 메인 보드 외부
A. 보조 기억 장치
메모리는 휘발성 기억 장치이기 때문에 컴퓨터가 종료되어도 데이터를 일관적으로 저장할 공간이 필요하다. 이 필요성을 채워주는 부분이 바로 보조 기억 장치이다.
보조 기억 장치에는 하드 디스크, SSD, USB 메모리 등이 존재한다.
보조 기억 장치에는 하드 디스크, SSD, USB 메모리 등이 존재한다.
B. 입출력 장치
마이크, 스피커, 키보드 같이 외부에 존재하여 입력과 출력을 주고 받는 장치들을 통틀어 입출력 장치라 말한다.
부록
A. 모르는 것 정리
제어 신호
: 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호
B. 참고 문서
- 강민철의 혼자 공부하는 컴퓨터 구조 + 운영체제
⬅️ 이전 글
없음