Skip to content

Latest commit

 

History

History
20 lines (11 loc) · 1.78 KB

File metadata and controls

20 lines (11 loc) · 1.78 KB

2. System Structure & Program Execution

4/13 Chapter 2

Q. CPU가 하나의 인스트럭션을 마쳤을 때, 다음 작동 매커니즘은 어떻게 되는가?

하나의 인스트럭션 실행이 끝나면, 메모리의 주소를 가리키는 프로그램 카운터(주소 레지스터)가 다음 데이터로 이동된다. 추가적인 정보로 레지스터는 주소 레지스터, 상태 레지스터, 데이터 레지스터로 이루어져 있다. image

참고 링크: https://ko.wikipedia.org/wiki/프로세서_레지스터

Q. 유저 영역과 커널 영역이 점핑되지 않는 이유는?

사용자 프로그램에게 I/O 접근 권한을 제공하면 악용될 우려가 있으므로 일반 명령과 특권 명령으로 권한을 분리한다. 더하여, 사용자 프로그램 각각이 고유한 가상 메모리 공간을 가지고 있는 것과 유사하게 유저 영역과 커널 영역 또한 고유한 메모리 공간을 소유하고 있어서 직접적으로 점프할 수 없다고 보아도 될 것 같다.

사용자 프로그램 간의 요청이 있을 때는 mode bit이 1 → 0 → 1로 변경되는 식으로 시스템 콜이 이루어질 것으로 보인다.

Q. DMA Controller는 device controller와 같이 작은 CPU라고 볼 수 있는가?

DMA Controller는 local buffer를 거쳐 I/O가 발생했을 때 직접 메모리에 올리고, 해당 I/O가 전부 끝나면 CPU에 인터럽트를 걸어서 종료를 알린다. 이 역할은 CPU와 유사하게 보여지나, CPU의 오버헤드를 낮춰주는 개별적인 연산장치로 보는 것이 맞다.