-
컴퓨터 시스템의 개요 - 기본 구성 요소, 명령어 수행운영체제 Operating System/운영체제 내부구조 및 설계원리 제8판 2020. 3. 23. 13:25
1.1 기본 구성 요소
컴퓨터는 처리기, 메모리, 입출력 요소들로 구성되고, 타입별로 하나 이상의 모듈들이 존재한다. 이런 구성요소들은 컴퓨터의 주요 기능인 프로그램 수행을 위해 나름대로 연결되어 있다.
컴퓨터는 다음의 4가지 기본 구성요소로 이루어진다.
- CPU (프로세서, processor, 처리기): 컴퓨터의 동작을 제어하고 데이터를 처리한다.
- 주기억장치(main memory): 데이터와 프로그램을 저장한다. 휘발성(volatile) 메모리이기 때문에 컴퓨터가 셧다운(shutdown) 될 경우 메모리 내용이 사라진다. (비 휘발성 메모리: 디스크 메모리 – 컴퓨터가 셧다운 돼도 메모리 내용 유지된다.)
- 입출력 모듈(I/O module): 컴퓨터와 외부 환경 간의 데이터 이동을 담당한다.
- 시스템 버스(System bus): 처리기, 주기억장치, 그리고 입출력 모듈 간의 통신을 제공한다.
CPU 기능 중 하나는 메모리와 데이터를 교환하는 것이다.
: MAR(Memory Address Register): 다음에 읽거나 기록할 메모리 내 주소를 명시한다.
: MBR(Memory Buffer Register) 메모리에 기록되거나 메모리로부터 읽힐 데이터를 저장한다.
(I/0 AR, BR인 입출력 레지스터도 비슷하게 cpu와 입출력 모듈간의 데이터 교환을 위해 사용된다.)
메모리 모듈은 일련번호로 주소가 부여된 장소들의 집합. (이진수로 구성되어있다.)
입출력 모듈은 데이터가 전달될 때까지 일시적으로 보관하기 위한 내부 버퍼를 가지고 있다.
1.3 명령어 수행
프로그램은 메모리에 저장된 명령어들의 집합이며, 처리기에 의해 수행된다.
프로그램 수행은 명령어 반입(Instruction fetch)과 명령어 실행(Instruction execution)의 반복으로 이루어진다.
-> 이를 명령어 사이클(Instruction cycle)이라 한다.
각 명령어 사이클이 시작될 때 처리기는 메모리로부터 명령어를 가져온다.
PC(Program Counter)는 다음에 가져올 명령어의 주소를 가지고 있다. -> 각 명령어를 반입한 후 항상 pc를 증가시켜 순서대로 다음 명령어가 순서대로 반입되게 한다.
(ex. 각 명령어 길이가 16비트인 컴퓨터를 가정해보자. PC가 300번지를 가리키고 있다면, cpu는 300번지에 위치한 명령어를 반입하고, 이때 PC는 301번지를 가지게 된다. 그러면 후속의 명령어 사이클에서 301번지에 위치한 명령어를 반입한다. 그럼 또 이때 PC는 302번지를 가리킬 것이다.)
반입된 명령어는 cpu내의 명령어 레지스터로 적재된다. 명령어의 비트들은 cpu가 행해야 하는 작업을 명시한다. 그러면 cpu는 이 명령어를 해석하고 요구된 작업을 수행한다.
- 처리기-메모리: 데이터는 처리기 <-> 메모리로 전송된다.
- 처리기-입출력: cpu와 입출력 모듈 간의 전송을 통해 주변장치로 또는 주변장치로부터 데이터가 전송된다.
- 데이터 처리: 처리기는 데이터를 해석하고 산술/연산을 수행한다.
*명령어와 데이터의 길이는 16bit라고 해보자.
연산 코드(Opcode)를 4bit로 할당한다면, 최대 2^4 =16개의 연산이 표현될 수 있다.
0001 = 메모리에 저장된 값을 메모리에 저장
AC(accumulator): CPU가 가지고 있는 하나의 데이터 레지스터
1. PC에 명령어의 주소 300이 들어있다. 이 명령어는 IR에 적재되고, PC가 증가된다.(PC: 300 -> 301)
이때, MAR과 MBR이 사용되는 것을 알 수 있다.
2. IR의 첫 번째 4비트의 연산(1)에 따라 메모리에 저장된 값이 AC에 적재하는 것을 수행하면 된다. 그리고 나머지 12비트(940)는 주소를 명시한다.
940번지에 있는 데이터 0003을 AC에 저장하면 된다.
3. 다음 명령어가 301번지로부터 반입되고 PC가 증가된다.(PC: 301 -> 302)
이처럼 쭉~ 수행하면 된다.
'운영체제 Operating System > 운영체제 내부구조 및 설계원리 제8판' 카테고리의 다른 글
컴퓨터 시스템의 개요 - 캐시 Cache (0) 2020.03.30 컴퓨터 시스템의 개요 - 메모리 계층 구조 (0) 2020.03.30 컴퓨터 시스템의 개요 - 인터럽트 (0) 2020.03.28