[OS] Chapter1 Computer System Overview

2021. 7. 23. 15:27프로그래밍/OS

해당 강의는 HPC Lab. KOREATECH의 유투브를 보고 정리한 내용입니다.

 

하드웨어는 크게 3가지로 나뉜다.

- 프로세서 : 계산,동작제어을 담당. ex) CPU, GPU,  응용전용처리장치

프로세서는 제어장치, 레지스터, 연산장치로 나뉘어짐.

레지스터 : CPU안에 존재하는 가장 빠른 메모리.

용도에 따른 분류 : 전용 레지스터, 범용레지스터
사용자 변경 가능여부에 따른 분류 : 사용자 가시 레지스터, 불가시 레지스터
저장 정보 종류에 따른 분류 : 데이터 레지스터, 주소 레지스터, 상태 레지스터

- 프로그램 카운터 레지스터(PC) : 다음 실행할 명령어와 주소 보관
- 명령어 레지스터(IR) : 현재 실행하는 명령어 보관
- 누산기(ACC) : 데이터 일시저장.

프로그램을 실행하게 되면, 

디스크 -> 메인메모리 -> 프로세서 순으로 프로그램이 로딩되는데, 이때 디스크에서 바로 프로세서로 프로그램을 넘겨주지 않는 이유는, 
CPU의 속도를 디스크가 못따라가서 병목현상이 발생하게 되는데, 이를 해결하기 위해 중간에 메인 메모리를 두는 것.

 

- 캐시 : 속도가 빠르고, 메인 메모리의 입출력 병목 현상 해결

캐시 동작 원리

1-1) 캐시 히트 : 프로세서에서 참조하려는 메모리가 캐시에 존재하는 경우
프로세서 -> 캐시(캐시히트 발생) -> 프로세서

1-2) 캐시 미스 : 프로세서에서 참조하려는 메모리가 캐시에 존재하지않는 경우
프로세서 -> 캐시(캐시미스 발생) -> 메인메모리 -> 캐시(캐시히트 발생) -> 프로세서

캐시는 공간적 지역성과 시간적 지역성을 사용해서 캐시에 메모리를 올린다.

-공간적 지역성: 참조한 주소와 인접한 주소를 참조할 가능성이 높다 ex) 순차적 프로그래밍
-시간적 지역성 : 한번 참조한 주소를 다시 참조할 가능성이 높다 ex) for, while

따라서 캐시에 메모리를 올릴때, 인접한 주소의 메모리도 같이 올려준다.
공간적 지역성에 의해 인접한 주소의 메모리를 참조할 확률이 높기 때문

 

- 메모리 : 프로그램과 데이터 저장을 담당. ex) DRam, Disk.

프로세서가 주변 장치에 직접적인 접근이 가능하다.
시스템 버스를 통해서 하드웨어들이 데이터 및 신호를 주고 받게 된다.

데이터 버스 : 데이터를 나르는 통로
주소 버스 : 주소를 나르는 통로
제어 버스 : 제어 신호를 나르는 통로

- 주변 장치 : 그 외