하나의 인스트럭션 실행이 끝나면, 메모리의 주소를 가리키는 프로그램 카운터(주소 레지스터)가 다음 데이터로 이동된다. 추가적인 정보로 레지스터는 주소 레지스터, 상태 레지스터, 데이터 레지스터로 이루어져 있다.
참고 링크: https://ko.wikipedia.org/wiki/프로세서_레지스터
사용자 프로그램에게 I/O 접근 권한을 제공하면 악용될 우려가 있으므로 일반 명령과 특권 명령으로 권한을 분리한다. 더하여, 사용자 프로그램 각각이 고유한 가상 메모리 공간을 가지고 있는 것과 유사하게 유저 영역과 커널 영역 또한 고유한 메모리 공간을 소유하고 있어서 직접적으로 점프할 수 없다고 보아도 될 것 같다.
사용자 프로그램 간의 요청이 있을 때는 mode bit이 1 → 0 → 1로 변경되는 식으로 시스템 콜이 이루어질 것으로 보인다.
DMA Controller는 local buffer를 거쳐 I/O가 발생했을 때 직접 메모리에 올리고, 해당 I/O가 전부 끝나면 CPU에 인터럽트를 걸어서 종료를 알린다. 이 역할은 CPU와 유사하게 보여지나, CPU의 오버헤드를 낮춰주는 개별적인 연산장치로 보는 것이 맞다.