혼자만 사용하는 프로그램을 만들 땐 성능, 용량, 비용 문제를 깊게 생각하지 않았다.
하지만 취업을 하게되면 많은 사람이 사용하는 서비스를 개발하게 되고 이러한 프로그램은 성능, 용량, 비용 문제가 중요하게 고려된다.
혼자 개발할 땐 입력과 출력에만 집중을 했지만, 더 나아가 컴퓨터 구조를 이해한다면
이러한 부분을 고려하며 개발할 수 있게 될 것을 기대하며 공부를 시작해보려고 한다.
컴퓨터가 이해하는 정보에는 데이터와 명령어가 있다.
이 때 데이터란 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리킨다.
명령어는 이러한 데이터를 움직이고 컴퓨터를 작동시키는 정보이다.
즉, 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일 뿐이다.
그래서 컴퓨터를 한 마디로 정의하면 명령어를 처리하는 기계 라고 표현할 수 있다.
컴퓨터는 크게 4가지로 구성되어 있다.
- 중앙처리장치(CPU)
- 주기억장치(main memory - RAM/ROM)
- 보조기억장치(second storage)
- 입출력장치(I/O)
메모리(주기억장치)
현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다.
프로그램이 실행되려면 반드시 메모리에 저장되어있어야 한다.
컴퓨터가 빠르게 작동하기 위해서는 저장되어있는 명령어와 데이터들이 정돈되어 있어야 하며 저장되어있는 위치를 알 수 있어야 한다.
이 위치를 찾기 위해 메모리에 저장된 값들은 모두 주소를 가지고 있으며, 이 주소로 원하는 값의 위치를 알 수 있다.
메모리의 약점은 두가지가 있다.
- 가격이 비싸 저장 용량이 적다.
- 전원이 꺼지면 저장된 내용을 잃는다.
CPU(중앙처리장치)
메모리에 저장된 명령어를 읽어 들여 해석하고 실행하는 부품이다.
CPU는 크게 3가지 요소로 구성되어 있다.
- 산술논리연산장치(ALU): 계산기 역할을 한다. 컴퓨터 내부에서 수행되는 대부분의 계산을 모두 수행한다.
- 레지스터: 프로그램을 실행하는 데 필요한 값들을 임시로 저장하는 작은 임시 저장 장치이다. CPU 내 여러개의 레지스터가 존재한다.
- 제어장치: 컴퓨터 부품들을 관리하고 장동시키기 위한 전기 신호인 제어 신호를 내보내고 명령어를 해석하는 장치이다.
- 예를 들어 CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리 읽기 제어 신호를, 값을 저장하고 싶을 땐 메모리 쓰기 제어신호를 보낸다.
보조기억장치
메모리의 약점을 보완한 저장 장치로, 저장 용량이 크고 전원이 꺼져도 저장된 내용을 잃지 않는다.
ex) 하드디스크, SSD, USB, DVD, CD-ROM 등
즉, 메모리는 현재 실행되는 프로그램을 저장하고, 보조기억장치는 보관할 프로그램을 저장한다.
입출력장치
컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치이다.
ex) 마이크, 스피커, 마우스, 키보드 등
보조기억장치도 컴퓨터 외부에 연결되어 결국 입출력장치라고 볼 순 있지만, 위 예시와 같이 일반적인 기능을 하는 것과는 다르게
메모리를 보조하는 특별한 기능을 수행하기 때문에 구분하여 생각하는 것이 좋다.
메인보드
위에서 설명한 핵심 부품들은 모두 메인보드라는 판에 연결된다.
메인보드에는 부품들을 부착할 수 있도록 슬롯과 연결 단자가 있다.
메인보드에 연결된 핵심 부품들은 시스템 버스(주소 버스 / 데이터 버스 / 제어 버스)를 통해 서로 정보를 주고받는다.
혼자 공부하는 컴퓨터 구조 + 운영체제 책을 읽고 정리하였습니다.
'Study > 컴퓨터 구조 | 운영체제' 카테고리의 다른 글
[컴퓨터 구조] | 고급 언어를 저급 언어로 변환하는 컴파일, 인터프리트 (0) | 2023.06.20 |
---|---|
[컴퓨터 구조] | 데이터를 0과 1로 표현하기 (2) | 2023.06.19 |