쉽게 배우는 운영체제 | 조성우 저자 | 한빛 아카데미 책을 바탕으로 복습 목적으로 작성하였습니다.
목차
1. CPU의 기본 구성
2. 레지스터의 종류
4. 시스템 버스와 CPU 내부 버스
(1) CPU의 기본 구성
CPU는 산술 논리 연산장치, 제어장치, 레지스터로 구성됩니다.
✔ 연산 장치
: CPU에서 데이터를 연산하는 장치입니다. (덧셈, 뺄셈, 곱셈, 나눗셈, AND, OR)
✔ 제어장치
: CPU에서 작업을 지시하는 부분입니다.
명령어를 해석하여 제어 신호를 보내고 CPU 내의 데이터 흐름을 조절합니다.
✔ 레지스터
: CPU내에 데이터를 임시로 보관하는 곳입니다. CPU가 연산하려는 데이터를 메모리에서 레지스터로 가져옵니다.
(2) 레지스터의 종류
CPU의 작동 순서
1) CPU는 필요한 데이터를 메모리(주기억장치)에서 가져와 레지스터에 저장한다.
2) 산술논리 연산장치를 이용하여 연산을 한다.
3) 2번의 결과를 다시 레지스터에 저장했다가 -> 메모리로 옮긴다.
CPU가 메모리에 있는 데이터를 읽고 쓸 때 CPU 내의 레지스터를 거쳐서 데이터를 사용합니다.
< 사용자 가시 레지스터 / User-Visible Register >
= 사용자 프로그램에 의해 변경되는 레지스터를 의미합니다.
✔ 데이터 레지스터(DR)
: 메모리에서 가져온 데이터를 임시로 보관할 때 사용합니다.
✔ 주소 레지스터(AR)
: 데이터 또는 명령어가 저장된 메모리의 주소입니다.
<특수 레지스터>
= 사용자가 임의로 변경할 수 없는 레지스터를 의미합니다.
✔ 프로그램 카운터(PC)
: 다음에 실행할 명령어의 주소를 기억하고 있다가 제어 장치에게 알려줍니다.
✔ 명령어 레지스터(IR)
: 현재 실행 중인 명령어를 저장합니다.
제어장치는 명령어 레지스터에 있는 명령을 해석한 후 외부 장치에 제어 신호를 보냅니다.
✔ 메모리 주소 레지스터(MAR)
: 메모리에서 데이터를 가져오거나, 반대로 메모리로 데이터를 보낼 때 주소를 지정하기 위해 사용합니다.
필요한 메모리 주소를 레지스터에 넣으면 메모리 관리자가 이를 인식하여 해당 메모리 위치의 데이터를 가져오거나 또는 해당 메모리 위치에 데이터를 저장합니다.
✔ 메모리 버퍼 레지스터(MBR)
: 메모리에서 가져온 데이터나 메모리로 옮겨 갈 데이터를 임시로 저장합니다.
✔ 프로그램 상태 레지스터(PSR)
: 연산 결과가 양수인지, 음수인지, 0이 아닌지 또는 자리 올림의 유무를 결정합니다.
(3) 시스템 버스와 CPU 내부 버스
버스란
CPU와 메모리, 주변장치간에 데이터를 주고받을 때 데이터가 이동하는 통로입니다.
✔ 제어버스
: 다음에 어떤 작업을 할지 지시하는 제어 신호가 이동합니다.
메모리에서 데이터를 가져올지, 처리한 데이터를 옮겨 놓을지에 대한 지시 정보가 오고 갑니다.
주변장치도 위와 같은 방식입니다.
메모리나 주변장치에서 오류가 발생하거나 데이터가 모두 도착했다는 신호도 모두 제어 버스를 통해 전달되므로 제어 버스는 양방향으로 오고 갑니다.
✔ 주소 버스
: 메모리의 데이터를 읽거나 쓸 때 어느 위치에서 작업할 것인지를 알려주는 위치 정보(주소)가 오고 갑니다.
주소 버스는 단방향으로 메모리 주소 레지스터에서 데이터를 읽고 쓸 위치를 메모리나 주변장치에게 보내는 신호만 존재합니다.
✔ 데이터 버스
: 주소 버스가 위치 정보를 전달하면, 데이터가 데이터 버스에 실려 목적지까지 이동합니다.
'CS > OS' 카테고리의 다른 글
[쉽게 배우는 운영체제] 2장 연습문제 및 심화문제 - 정리 (0) | 2022.10.10 |
---|---|
[쉽게 배우는 운영체제] 1장 연습문제 및 심화문제 - 정리 (0) | 2022.10.09 |
[OS] 운영체제 - 프로세스의 상태와 관련 작업 - 생성, 준비, 대기, 보류, 실행, 완료상태 (0) | 2022.10.09 |
[OS] 운영체제의 정의, 역할, 목표, 필요성에 대해 (0) | 2022.10.01 |
[OS] 운영체제 - 프로세스의 생성과 복사 / fork(), exec() 시스템호출 (1) | 2022.09.23 |