운영체제를 위한 배경 지식
컴퓨터 시스템의 구조
시스템 버스
시스템 버스란 컴퓨터를 구성하는 주요 부위를 연결하여 정보를 주고 받는 통신 선로를 말한다.
-
Address bus
메모리 위치, 주소를 전달 하기 위한 버스인데, CPU가 지원할 수 있는 메모리 용량에 따라 선의 개수가 결정 된다. 예를 들면 4G바이트까지의 메모리 용량을 지원하는 CPU라면 32개의 선으로 구성된 어드레스 버스가 필요하다.
-
Data bus
메모리에 기록할 데이터나 메모리에서 읽힌 데이터를 전달하는 용도로 사용된다. CPU와 메모리 사이에서 4바이트가 전달될 필요성이 있다면 데이터 버스는 32개의 선 즉, 32 비트로 구성 되어야 한다.
주기억 장치
CPU가 접근하여 실행할 프로그램을 저장할 목적으로 사용되는 메모리를 메인 메모리라고 한다. 메모리는 보통 읽거나 쓸 수 있는 최소 단위의 바이트의 연속으로 이루어진다. 어떤 CPU에서느 2바이트 혹은 4바이트 읽기 쓰기는 반드시 2혹은 4의 배수인 주소에서만 가능하도록 되어있는데 이를 메모리 얼라이먼트(Memory Alignment) 라 한다.
기계 명령어
“CPU가 처리하는 명령어 단위”
기계 명령어는 연산 코드와 피연산자로 구성되고, 연산코드 부분의 크기는 연산 종류의 개수를, 피연산자 부분의 크기는 최대 메모리 용량을 결정한다. 피연산자는 연산 코드에 따라 주소, 상수, 레지스터 번호 등 다양하게 해석된다.
기계 사이클
- MAR <- PC
- MBR <- (M)
- PC <- PC + 2
- IR <- MBR
- CU <- IR
- MAR <- MBR
- MBR <- (M) 8 AC <- AC & MBR
영상에서 pc 증가 연산의 순서가 다르며, MDR은 MBR입니다. 그 외 내용은 기계 사이클을 이해 하는데 좋습니다.
레지스터
메모리와 달리 규칙적이지 않으면서, 소량이고, 특별한 기능이 이루어 지는 곳입니다. 크게 아래와 같이 분류 할 수 있습니다.
-
CPU레지스터
피연산자의 임시 저장 용도
-
특수 기능 레지스터 혹은 특수 목적 레지스터
컴퓨터의 상태 설정등의 용도
-
입출력 레지스터
주변 장치와의 입출력 창구 용도
주소 지정 모드
기계 명령어의 피연산자 부분에 허용될 수 있는 값의 유형을 주소 지정 모드라고 한다.
직접, 간접(Direct, Indirect) 주소 지정 모드
기계 명령어의 피연산자 값이, 연산이 적용될 값이 저장된 메모리 주소로 사용되면 이를 직접 주소 라고 한다. 이와 다르게 연산이 적용될 값이 저장된 곳의 주소가 저장된 메모리 주소로 사용될 때에는 간접 주소 라 부른다.
절대, 상대(Absolute, Relative) 주소 지정 모드
기준 레지스터에 기준이 되는 주소 값을 설정해 두고, 기계 명령어에는 그 기준 주소로부터의 거리만을 표시하는 것으로 설명할 수 있다.
주소, 즉시(Address, Immediate) 주소 지정 모드
피연산자를 주소가 아닌 상수로 사용하는 경우를 즉시 주소라 부른다.