01-1. 컴퓨터 구조를 알아야 하는 이유
컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 하는 기본 지식이다.
문제 해결
- 같은 코드를 작성했는데도 어떤 컴퓨터에서는 코드가 제대로 작동하지 않는 상황이 발생함
- 실무에서도 이런일이 자주 일어나는데, 개발할 때는 문제 없이 작동했던 코드가 실제 사용자들에게 선보이는 자리에서는 작동하는 상황이 비일비재함
- 프로그래밍 언어의 문법만 알고 있는 사람에게 컴퓨터 코드를 입력하면 어찌어찌 알아서 결과물을 놓는 미지의 대상임
- 컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단 가능함
- 문제 해결의 실마리를 다양하게 찾을 수 있음
- 이러한 사고가 가능한 사람들은 컴퓨터가 미지의 대상이 아닌 분석의 대상이기 때문
성능, 용량 비용
- 이러한 문제는 프로그래밍의 언어의 문법만 알아서 해결하긴 어려움
- 혼자서 프로그램 만들때는 이러한 문제를 생각하지도 않았던 것이 없었을 수 밖에 없는게 당연함
- 하지만 유튜브, 워드 프로세서, 포토샵과 같이 사용자가 많은 프로그램은 필연적으로 성능, 용량, 비용이 고려됨
- 그렇기 때문에 컴퓨터 구조를 아는 것이 매우 중요함!!
01-2. 컴퓨터 구조의 큰 그림
우리가 알아야 할 컴퓨터 구조 지식은 크게 두 가지가 있음
- 컴퓨터가 이해하는 정보 와 컴퓨터의 네 가지 핵심 부품
컴퓨터가 이해하는 정보
- 컴퓨터는 0과 1로 표현된 정보만을 이해함
- 0과 1로 표현되는 정보에는 크게 두 가지 종류가 있는데, 데이터와 명령어다.
- 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리켜 데이터라고 함
- 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보를 가리킬 때 편하게 데이터라 통칭하기도 함
- 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일 뿐임
- 명령어는 데이터를 움직이고 컴퓨터를 작동시키는 정보이기 때문
- 명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료임
EX)
- 1과 2는 데이터, 더하라 1과 2은 명령어임
- 안녕하세요는 데이터 , 화면에 출력하라 및 안녕하세요는 명령어임
- cat.jpg는 데이터, USB 메모리에 저장하라, cat.jpg는 명령어임
컴퓨터의 4가지 핵심 부품
- 컴퓨터를 이루고 있는 네 가지 핵심 부품은 CPU, 메모리, 보조기억장치, 입출력장치이다.

메모리(Memory)
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품 -> 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 함
- 컴퓨터가 빠르게 작동하기 위해서는 메모리 속 명령어와 데이터가 중구난방으로 저장되면 x
- 지정된 명령어와 데이터의 위치는 정돈되어 있어야 함
- 메모리에는 저장된 값이 빠르고 효율적으로 접근하기 위해 주소라는 개념이 쓰임
- 현실에서 우리가 주소로 원하는 위치를 찾아갈 수 있듯이 컴퓨터도 메모리 내 원하는 위치에 접근할 수 있음
여기서 중요!!
- 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 함
- 메모리에는 현재 실행되는 프로그램의 명령어와 데이터를 저장함
- 메모리에 저장된 값의 위치는 주소로 알 수 있음
CPU
- 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품
- CPU 내부 구성 요소에서 가장 중요한 세 가지는 ALU(산술논리연산장치), register(레지스터), Control Unit(제어장치)
ALU
- 계산기 역할을 하며, 계산만을 위해 존재하는 부품임
- 컴퓨터가 대부분 수행되는 대부분의 계산은 ALU가 도맡아 수행함
Register
- CPU 내부의 작은 임시 저장 장치
- 프로그램을 실행하는 데 필요한 값들을 임시로 저장함
Control Unit
- 제어신호라는 전기신호를 내보내고 명령어를 해석하는 장치
- 제어신호는 컴퓨터 부품들을 관리하고 작동하기 위한 일종의 전기 신호임
- CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어 신호를 보냄
- CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기라는 제어 신호를 보냄
여기서 중요2!!
- CPU는 메모리에 저장된 값을 읽어들이고, 해석하고, 실행하는 장치
- CPU 내부에는 ALU, 레지스터, 제어장치가 있음
- ALU는 계산하는 장치, 레지스터는 임시 저장 장치, 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치임
보조기억장치
메모리는 실행되는 프로그램의 명령어와 데이터를 저장하지만 두 가지 단점이 있음
- 가격이 비싸 저장 용량이 작음
- 전원이 꺼지면 저장된 내용을 잃어버림
- 메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조할 저장장치가 필요했는데
- 이 것이 바로 보조기억장치임
- 하드디스크, SSD, USB메모리, DVD, CD-ROM과 같은 저장창지도 보조기억 장치임
- 메모리가 현재 실행되는 프로그램을 저장한다면, 보조기억장치는 보관할 프로그램을 저장함
입출력장치 & 메인보드와 시스템 버스

- 입출력 장치는 마이크, 스피커, 프린트, 마우스, 키보드처럼 컴퓨터 외부에 연결해 내부와 정보를 교환하는 장치를 의미함
- 컴퓨터의 핵심 부품들은 모두 메인보드라는 판에 연결됨
- 메인보드에는 앞서 소개한 부품을 비롯한 여러 컴퓨터 부품을 부착할 수 있는 슬롯과 연결단자가 있음
- 메인보드 내부에 버스라는 통로가 있게 됨으로써, 서로 정보를 주고 받을 수 있게 됨
- 여러 버스 가운데 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스는 시스템 버스임
- 시스템 버스는 컴퓨터의 네 가지 핵심 부품이 서로 정보를 주고받은 통로
- 시스템 버스는 주소를 주고 받는 주소 버스, 명령어와 데이터를 주고 받는 데이터 버스, 제어 신호를 주고 받는 제어 버스가 있음
'공부 기록일지' 카테고리의 다른 글
유성이의 공부일지(6) - 혼자공부하는 컴퓨터 구조 + 운영체제 6장 (0) | 2024.07.06 |
---|---|
유성이의 공부일지(5) - 혼자공부하는 컴퓨터 구조 + 운영체제 5장 (0) | 2024.07.04 |
유성이의 공부일지(4) - 혼자공부하는 컴퓨터 구조 + 운영체제 4장 (0) | 2024.07.03 |
유성이의 공부일지(3) - 혼자공부하는 컴퓨터 구조 + 운영체제 3장 (0) | 2024.07.02 |
유성이의 공부일지(2) - 혼자공부하는 컴퓨터 구조 + 운영체제 2장 (0) | 2024.07.01 |