컴네가 3-1이고 운체가 3-2 디비가 3-2 4-1
2학년 과목도 공부해보고 싶은데 자구 데통 멀응수 어셈
자구 어셈 데통 멀응수 - 프언 컴네 알골 컴구 - 운체 오토마타 기디비 디시설 문해기 등등...
이 책이 운체 기초에 대해서 다루는 줄 알았는데 컴구 기초도 다루고 있었다. 처음 반이 컴구고 뒤에 운체인듯. 난 운체 공부하려고 책을 샀지 컴구는 할 생각이 없었는데.....?
로드맵
늘 그렇듯이 1장은 로드맵을 그린다. 대략적으로 어떤 것을 배울지 간략하게 훑어보고 남은 장에서 이를 심화학습하는 식으로..
컴퓨터구조
이 책에서 소개하는 컴퓨터 구조의 지식은 크게 두 가지, "컴퓨터가 이해하는 정보"와 "컴퓨터의 네 가지 핵심부품"이다.
컴퓨터가 이해하는 정보
컴퓨터는 0과 1로 표현된 이진데이터만을 이해한다. 이는 크게 데이터와 명령어로 나뉜다.
데이터야 뭐 아주 많이 쓰이는 정보이므로 익숙하다. 컴퓨터가 이해하는 숫자, 문자, 이미지와 같은 정적인 정보를 뜻한다.
명령어는 데이터를 조작하고, 컴퓨터가 특정한 업무를 실행할 수 있게하는 정보에 해당한다.
마치 자바에서 클래스 내의 인스턴스 변수와 메서드와 같은 관계다. 객체의 상태를 나타내는 인스턴스 변수들이 있지만, 메서드가 있어야만 객체가 상호작용하고 자바가 돌아갈 수 있는 것처럼 컴퓨터가 읽을 수 있는 정보인 데이터와 이를 조작할 명령어가 있어야 컴퓨터가 동작한다. 자바에서 메서드가 없다면 그냥 정보나르개로 사용해야하지만, 컴퓨터는 명령어가 없다면 그냥 고철덩어리일 뿐이라는게 다른점?
데이터와 명령어는 모두 2, 3장에서 다룰 예정이다.
컴퓨터의 4가지 핵심부품
가장 기본이 되는 4가지 핵심부품은 중앙처리장치(CPU: Central Processing Unit), 주기억장치(Main memory, 일반적인 "메모리"는 이것을 지칭함), 보조기억장치(Secondary Storage), 입출력장치(I/O device)가 있다.
- 메모리
현재 실행되는 프로그램의 명령어와 데이터를 저장한다. 많은 메모리들이 그러하듯 메모리에는 주소라는 개념이 있어 다음 명령어를 더 빨리 찾아갈 수 있다. JVM에서 프로그램카운터 레지스터에 다음 명령어 주소를 넣어두고 하나씩 읽어가며 명령어를 실행하는 것과 비슷하다. 메모리 관련내용은 6장에서 나오며, 지금은
- 프로그램은 반드시 메모리에 저장되어야 실행된다.
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다.
- 메모리에 저장된 값의 위치는 주소를 통해 알 수 있다.
정도의 개념만 알아두면 좋다.
- CPU
CPU는 중앙처리장치로, 메모리에 저장된 명령어를 읽어오고 해석하고 실행한다. CPU는 다시 대부분의 계산을 도맡아하는 ALU(산술논리연산장치), 제어신호라는 전기신호를 내보내고 명령어를 해석하는 제어장치(CPU가 메모리에 저장된 값을 읽으려면 메모리를 향해 메모리를 읽겠따는 제어 신호를 보내는 등..), 프로그램 실행시에 필요한 값들을 임시로 저장하는 레지스터로 구성된다.
4장에서 배울 예정이지만 간략하게 명령어 실행과정을 살펴보자면,
1. 제어장치는 특정 메모리 주소를 읽어들이기 위해 제어장치에서 '메모리 읽기'라는 제어신호를 보낸다.
2. 메모리는 특정 메모리 주소에 저장된 명령어를 CPU에 전송하고, 이 명령어는 레지스터에 저장된다.
3. 제어장치는 이 명령어를 해석하고, 특정 메모리 주소에 저장된 데이터가 필요하다고 판단되면 메모리에 그 특정 메모리에 대해 메모리 읽기 제어신호를 보낸다.
4. 메모리는 그 특정메모리의 데이터를 CPU에게 건네주고 데이터는 레지스터에 저장된다.
5. 가져온 데이터들이 연산이 필요하다면 ALU에서 연산을 담당하고 레지스터에 그 결과를 저장한다.
6. 이렇게 "특정 메모리 주소에 있는 값에 대해 산술연산을 수행하라"라는 명령어가 끝났으며, 값을 저장하기 위해서는 1번의 과정을 반복한다. 이때 제어장치는 '메모리 쓰기' 제어신호를 사용한다.
CPU와 명령어 수행 과정은 04장과 05장에서 다룰 예정이다.
- 보조기억장치
위에서 들었던 예시에서, 메모리는 가격이 비싸서 용량이 적은 편이고, 전원이 꺼지면 내용이 사라진다는 큰 단점이 있다. 이 때문에 메모리보다 크기가 크고 휘발성이 없는 저장장치가 사용되는데 이것이 보조기억장치이다. 하드디스크, SSD, USB 등이 이에 해당한다. 보조기억장치는 07장에서 다룬다.
- 입출력장치
외부와 연결되어 정보를 교환하는 장치. 마우스, 스피커, 프린트, 키보드 등이 이에 해당한다. 08장에서 다룬다.
보조기억장치를 "컴퓨터 외부에 연결되어 정보를 교환하는" 입장에서 보면 입출력장치의 일종으로 볼 수도 있다. 완전히 다르지는 않으며 보통은 둘을 구분해서 사용하는 편이다.
- 메인보드와 시스템 버스
앞서 설명한 모든 핵심부품들은 모두 메인보드(마더보드라고도 한다고. 참으로 적절한 이름이다)라는 판에 연결된다. 핵심 부품 뿐 아니라 여러 부품을 부착할 수 있는 슬롯과 연결단자가 있다. 네트워크할 때 배웠던 NIC 장치로 마더보드에 연결되어서 사용될 때도 있다.
메인보드에 연결된 부품들은 서로 정보를 주고받아야하는데, 이는 버스라는 통로를 이용해서 정보를 교환한다. 컴퓨터 내부에는 다양한 종류의 버스가 있지만 위 네 가지 핵심부품을 연결하는 버스를 시스템버스라고 칭한다.
시스템버스는 주소버스(주소를 주고받음), 데이터버스(명령어와 데이터를 주고받음), 제어버스(제어신호를 주고받음)으로 이루어져있다. 앞서 CPU의 '메모리 읽기'라는 신호는, 단순히 메모리를 읽는게 아니라 제어버스로 읽기신호를 보내고, 주소버스로 읽고자하는 주소를 보내고, 실제 데이터가 데이터버스를 통해서 CPU로 전송되는 형식이다.
그래서 키보드나 마우스로 입력을하면 시스템버스를 통해서 CPU에 신호가 도달하고, CPU가 메모리나 보조기억장치 등에 다시 명령을 보내는데 이 때 시스템버스를 통해서 명령어가 전송되고 하는 식이다.
이렇게 간단하게 책의 전반적인 내용에 대해서 알아보았다.
혼공네트 읽을 때처럼 이렇게 전반적인 시야를 닦아놓은 뒤에 한 분야별로 자세히 알아보는 방식이다.
이런 방식, 나쁘지 않은데 나중에 컬러잇에 써먹을 수 있을 것 같다. 물론 언어공부에는 잘 써먹지는 못하겠지만 적어도 컬러잇 스프링에서는 잘하면 써먹을 수 있을듯.
02장은 데이터에 대해서 다룬다.
'CS > 컴퓨터구조' 카테고리의 다른 글
| [컴퓨터구조] OOO, OoOE, 토마슬로 알고리즘을 통한 비순차적 명령어 처리 + 혼공컴구 독서 #6 - CPU 성능향상 (1) | 2026.01.25 |
|---|---|
| [컴퓨터구조] 혼공컴구 독서 #5 - 명령어 사이클과 인터럽트 (0) | 2026.01.23 |
| [컴퓨터구조] 혼공컴구 독서 #4 - CPU 레지스터 (0) | 2026.01.20 |
| [컴퓨터구조] 혼공컴구 독서 #3 - CPU - ALU, 플래그, 제어장치 (0) | 2026.01.17 |
| [컴퓨터구조] 혼공컴구 독서 #2 - 명령어 (0) | 2026.01.16 |
