본 내용은 혼자 공부하는 컴퓨터 구조 + 운영체제 책을 공부하며 정리한 내용입니다.
https://www.yes24.com/Product/Goods/111378840
1. 컴퓨터 구조를 알아야 하는 이유
개발자는 코드만 잘 짜면 되는 거 아닌가?
절대 아니다!
현재 이 책을 공부하기 시작한 이유!...
프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야 한다…
문제 해결
→ 컴퓨터를 내려다보며 문제를 해결할 수 있는 개발자
성능, 용량, 비용?
이걸 개발자 스스로 판단이 가능해야 한다.
클라우드 서비스를 이용하더라도 CPU, 메모리, 저장 용량을 직접 선택해야 합니다.
2. 컴퓨터 구조의 큰 그림
컴퓨터가 이해하는 정보
- 데이터
숫자, 문자, 이미지, 동영상과 같은 정적인 정보
컴퓨터와 주고받는/ 내부에 저장된 정보를 데이터라 통칭하기도
- 명령어
컴퓨터는 결국 명령어를 처리하는 기계
컴퓨터를 실질적으로 움직이는 정보
데이터는 명령어를 위한 일종의 재료
컴퓨터의 네 가지 핵심 부품
1. CPU
메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품
컴퓨터의 두뇌! 따라서 정교하고 복잡하다.
1-1. ALU
계산기
수동적으로 연산처리를 하므로 명령을 내리는 주체가 필요하여 제어 장치가 통제
1-2. 레지스터
CPU 내부의 작은 저장장치
1-3. 제어 장치
제어 신호를 내보내고, 명령어를 해석하는 장치
제어 신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호
- CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어 신호를 보냄
- CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기라는 제어 신호를 보냄
ex) 제어 신호 보내는 예시 프로세스
→1. 저장되어 있던 명령어(ex. 1번지: 더하라, 3번지와 4번지를)를 메모리에서 레지스터에 전달
→2. 레지스터에서 제어장치로 전달하여 제어장치에서 명령어를 해석
3번지와 4번지에 있는 데이터가 메모리에서 필요하겠구나를 판단!
→3. 다시 메모리를 향해 제어 신호를 보냄(3번지와 4번지 메모리)
→4. ALU가 연산한 후에 연산된 값을 레지스터에 저장
2. 메모리(주 기억 장치)
이 책에서는 메모리를 지칭할 때 일반적으로 RAM을 일컫는다.
현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다.
참고: 페이징을 알게 되면 현재 실행되는 프로그램의 모든 명령어와 데이터를 몰라도 됨
메모리에는 주소라는 개념을 가지고 있음.
주소를 통해 접근하고자 하는 명령어 또는 데이터를 알 수 있다.
- 단점
보조 기억 장치에 비해 비싸다.
전원이 꺼지면 저장된 내용을 잃는다.
3. 보조 기억 장치
현재 실행되고 있지 않은 프로그램의 명령어와 데이터를 저장하는 부품
전원이 꺼져도 보관될 프로그램을 저장하는 부품
4. 입출력장치
컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
메인 보드
이 네 가지 핵심 부품들이 서로 정보를 주고받기 위해서는 하나의 모이는 지점이 있어야 함.
정보를 주고 받을 수 있는 통로: 버스
가장 중요한 버스를 시스템 버스라고 한다.
시스템 버스의 내부 구성
- 주소 버스
주소를 주고받는 통로
- 데이터 버스
명령어와 데이터를 주고받는 통로
- 제어 버스
제어 신호를 주고 받는 통로
'Computer Architecture' 카테고리의 다른 글
[혼공컴운] Chapter3. 명령어 (0) | 2024.08.22 |
---|---|
[혼공컴운] Chapter2. 데이터 (1) | 2024.08.20 |