컴퓨터를 구성하는 핵심 부품의 역할과 작동 방법에 대해 알아보며, 컴퓨터 구조의 큰 그림을 이해해봅시다.
1. 컴퓨터가 이해하는 정보
프로그램을 개발하기 위해서는 프로그래밍 언어로 소스 코드를 작성해야 합니다. 하지만 컴퓨터는 프로그래밍 언어를 직접 이해하지 못합니다. 컴퓨터는 기본적으로 0과 1만 이해할 수 있기 때문에, 소스 코드는 컴퓨터가 이해할 수 있는 형태로 컴파일되어 실행됩니다.
컴퓨터에 정보를 저장하거나 주고 받기 위해서는 데이터와 명령어를 활용합니다. 데이터는 컴퓨터와 주고받는 정보, 컴퓨터에 저장된 정보 자체를 의미하고 명령어에 종속적인 정보이며, 명령의 대상이자, 명령어의 재료라고 할 수 있습니다. 그리고 명령어는 이 데이터를 활용하는 정보입니다.
명령어를 이해하고 실행하는 주체는 CPU 입니다. CPU의 종류에 따라 실행 가능한 세부적인 명령어의 종류와 처리의 양상이 달라질 수 있는데, CPU의 종류와 무관하게 공통적으로 활용되는 명령어는 어느 정도 정해져 있습니다.
컴퓨터가 이해하는 정보 | 데이터 | 0과 1로 숫자 표현하기 | 정수 |
실수 | |||
0과 1로 문자 표현하기 | - | ||
명령어 | 명령어의 종류 | - | |
명령어 사이클 | - |
2. 컴퓨터의 핵심 부품
컴퓨터를 작동시키는 핵심 부품은 CPU, 메모리, 캐시 메모리, 보조기억장치, 입출력장치 등이 있습니다.
컴퓨터의 핵심 부품 | CPU | 주요 구성 요소 |
빠른 명령어 처리를 위한 기술 | ||
메모리와 캐시 메모리 | RAM | |
엔디안(메모리가 데이터에 저장되는 순서) | ||
캐시 메모리 | ||
보조기억장치 | RAID(안전하고 안정적으로 보조기억장치를 구성하는 기술) | |
입출력장치 | 입출력 기법 |
3. CPU
컴퓨터가 정보를 읽어들이고, 해석하고, 실행하는 부품이 바로 CPU입니다. 사람으로 비유하면 두뇌에 해당하는 부품이라고 볼 수 있습니다. CPU의 내부에는 다음과 같이 산술논리연산장치(이하 ALU)와 제어장치를 포함한 여러 레지스터들이 있습니다.
산술논리연산장치(ALU, Arithmetic and Logic Unit) | 연산을 수행할 회로로 구성되어 있는 일종의 계산기 입니다. |
제어장치(CU, Control Unit) | 명령어를 해석해 제어 신호라는 전기 신호를 통해 부품을 작동시킵니다. |
레지스터(Register) | CPU 내부의 작은 임시 저장장치로, 데이터와 명령어를 처리하는 과정의 중간값을 저장합니다. |
4. 메모리와 캐시 메모리
두 번째 핵심 부품은 메인 메모리(주기억장치)입니다.
메인 메모리 역할을 하는 하드웨어에는 RAM, ROM이 있는데, 일반적으로 RAM을 지칭하는 경우가 많습니다.
RAM은 CPU가 읽어 들이고, 해석하고, 실행하는 모든 정보를 저장하는 장치이며, 실행 중인 프로그램을 구성하는 데이터와 명령어를 저장하는 부품입니다. 여기서 중요한 것은 '실행 중인' 프로그램을 저장한다는 것 입니다.
메모리(RAM)와 관련해 기억해야 할 중요한 배경지식 중 하나는 주소라는 개념이고, 다른 하나는 휘발성이라는 개념입니다. CPU가 메모리에 접근할 때, 컴퓨터가 빠르게 작동하기 위해서는 데이터와 명령어가 정돈되어 있어야 합니다.
그래서 사용되는 개념이 주소입니다. CPU가 원하는 정보로 접근하기 위해서는 메모리의 주소가 필요합니다.
휘발성은 전원이 공급되지 않을 때, 저장하고 있는 정보가 지워지는 특성을 의미합니다.
메모리와 함께 중요한 저장장치는 캐시 메모리 입니다. 캐시 메모리는 CPU가 조금이라도 더 빨리 메모리에 저장된 값에 접근하기 위해 사용하는 저장장치 입니다. 빠른 메모리 접근을 보조하는 저장장치인 셈입니다. 캐시 메모리는 CPU 안에 위치하기도 하고 밖에 위치하기도 합니다.
5. 보조기억장치
메모리가 휘발성 저장장치라고 한다면, 이를 보조하기 위해 전원이 꺼져도 저장된 정보가 사라지지 않는 보조기억장치를 사용합니다. 즉 비휘발성 저장장치입니다. 대표적으로 하드 디스크, SSD, USB, SD카드 등이 있습니다.
유의할 점은 CPU가 보조기억장치에 저장된 프로그램을 바로 가져와서 실행할 수 없다는 점 입니다. 프로그램을 실행하기 위해서는 보조기억장치에서 보관하고 있는 프로그램을 메모리로 복사해야 합니다.
6. 입출력장치
입출력장치는 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 말합니다. 대표적으로 마우스, 키보드, 모니터, 스피커, 프린터 등이 있습니다.
7. 메인 보드와 버스
메인보드 혹은 마더보드는 컴퓨터의 핵심 부품들을 고정하고 연결하는 기판을 의미합니다. 메인 보드에 연결된 부품들은 각자의 역할을 수행하기 위해 서로 정보를 주고 받습니다. 이 때 정보를 주고 받는 통로를 버스(Bus)라고 합니다. 버스의 종류는 다양하지만 시스템 버스(System Bus)가 가장 중요하다고 할 수 있고, 몸을 연결하는 컴퓨터의 척추와도 같다고 할 수 있습니다.
'Computer Science > OS (Operating System)' 카테고리의 다른 글
[CS] 운영체제 자원 관리 알고리즘 (0) | 2025.04.18 |
---|---|
[CS] 3. 컴퓨터 작동 방식 (0) | 2024.10.03 |
[CS] 1. 컴퓨터 과학을 알아야 하는 이유 (7) | 2024.10.01 |