1장 ; 컴퓨터 구조의 큰그림에 대해서 파악
컴퓨터 : 데이터와 명령어를 처리하는 기계
연산 Operation :
명령어 Instruction : 데이터를 움직이고 컴퓨터를 작동시키는 정보
메모리 : 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
- 주소 : 저장된 명령어와 데이터의 위치. 이들을 정돈시키고 빠르게 접근할 수 있도록 도움
보조기억장치 : 전원이 꺼져도 보관할 프로그램을 저장하는 부품
입출력장치 : 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
CPU : 메모리에 저장된 명력어를 읽어 들이고 해석하고 실행하는 부품
- 산술논리연산장치 ALU : 산술논리 계산을 위한 부품
- 제어장치 CU : 컴퓨터 부품들을 관리하고 작동시키는 제어신호를 내보내고 명령어를 해석하는 장치
시스템버스 : 컴퓨터의 네가지 핵심부품들이 서로 정보를 주고받는 통로
- 주소버스 : 주소를 주고받는 통로, 제어버스 : 제어신호를 주고 받는 통로. 데이터버스 : 명령어와 데이터를 주고받는 통로
3장 명령어 ; 명령어란 무엇이며 명령어가 어떻게 컴퓨터를 작동시키는지 확인
고급언어 : 사람이 이해하고 작성하기 쉽게 만들어진 언어
저급언어 : 컴퓨터가 직접 이해하고 실행할 수 있는 언어
기계어 : 0과 1로 이루어진 명령어
어셈블리어 : 기계어를 사람이 읽기 편한 형태로 번역한 저급언어,
어셈블리어는 기계어와 1:1로 매칭되어 저급언어로 분류됨. CPU에 저장된 명령어 구성을 따르기때문에 CPU 마다 어셈블리어가 다름.
인터프리터 언어 : 소스코드가 한줄씩 저급언어로 변환되어 실행되는 언어
컴파일 언어 : 소스코드 전체가 저급언어로 한번에 변환되어 실행되는 언어
명령어 : 연산 코드(어떤 동작을 수행하라)와 오퍼랜드(무엇을 대상으로)로 구성
연산코드 : 명령어가 수행할 연산으로 크게 데이터전송, 제어흐름변경, 산술논리연산, 입출력제어가 있음
오퍼랜드 : 연산에 사용할 데이터 또는 연산에 사용할 데이터가 저장된 위치
- 주소지정방식 : 오퍼랜드 필드에 연산에 사용할 데이터 위치(유효주소)를 명시하고 이를 찾는 방법
- 즉시주소지정방식 : 데이터를 오퍼랜드 필드에 직접 명시하는 방식
- 직접주소지정방식 : 오퍼랜드 필드에 유효 주소를 직접적으로 명시하는 방식
- 간접주소지정방식 : 유효주소의 주소를 오퍼랜드에 명시하는 방식
- 레지스터 주소지정방식 : 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시하는 방식
- 레지스터 간접주소지정방식 : 연산에 사용할 데이터를 메모리에 저장하고 그 주소를 저장한 레지스터를 오퍼랜드에 명시하는 방식
- * 레지스터의 접근속도가 메모리접근방식보다 더 빠름.
4장 CPU의 작동원리 ; CPU를 구성하는 부품과 CPU가 명령어를 실행하는 방식
ALU : 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 어떤 연산을 수행할지 제어신호를 받아들임(IN). 연산의 결과와 연산결과에 대한 부가정보인 플래그를 레지스터로 내보냄(OUT).
- 부호플래그
- 제로플래그
- 캐리플래그
- 오버플로우플래그
- 인터럽트플래그
- 슈퍼바이저플래그
제어장치 : 클럭, 해석할 명령어, 플래그, CPU외부로부터 제어신호를 받아들임(IN),부품을 관리하고 작동시키기 위해 CPU 내부와 외부(주로, 메모리와 입출력장치)로 제어신호를 내보냄(OUT)