CPU의 명령어 사이클과 인터럽트
명령어 사이클
명령어 사이클은 마이크로프로세서(CPU)가 메모리로부터 프로그램된 한 개의 기계어 명령어를 가져와 어떠한 동작을 요구하는지를 결정하고 명령어가 요구하는 동작을 수행하는 연속적인 동작 과정입니다.
인출 사이클 : 주기억장치(메모리)에서 수행할 명령어 인출
간접 사이클 : 명령어의 오퍼랜드에 '유효 주소의 주소'가 담긴 간접 주소 방식처럼 메모리에 한 번 더 접근
실행 사이클 : 제어장치가 명령어 레지스터에 담긴 값을 해석하고 제어신호를 발생시켜 명령어를 실행
인터럽트 사이클 : 인터럽트 발생 시 인터럽트의 처리과정
인터럽트
인터럽트는 CPU가 특정 기능을 수행 중일 때 급하게 다른 일을 처리할 필요가 있을 때 사용할 수 있는 기능입니다.
인터럽트 처리과정
1. 현재 작업 도중에 인터럽트 발생(인터럽트 플래그를 통해 인터럽트 여부 확인)
2. 현재 작업을 중지하고 현재 상태를 스택에 저장
3. 발생한 인터럽트를 처리하기 위한 인터럽트 벡터를 참조하여 인터럽트서비스루틴(ISR) 처리
4. 스택에 저장된 작업내용 복구 후 기존 작업 재개
* 인터럽트 플래그 : 인터럽트 여부를 결정하는 플래그(플래그 레지스터의 인터럽트 플래그)
* 인터럽트 벡터 : 인터럽트가 발생했을 때, 그 인터럽트를 처리할 수 있는 서비스 루틴들의 주소
* ISR : 인터럽트 접수에 의해 발생되는 인터럽트에 대응하여 특정 기능을 처리하는 기계어 코드 루틴
Reference
1. 혼자공부하는 컴퓨터구조 + 운영체제
2. 위키백과
'CS > 운영체제&컴퓨터구조' 카테고리의 다른 글
커널(Kernel)과 시스템 콜(Syetem call) (0) | 2022.11.02 |
---|---|
CISC와 RISC 비교 (0) | 2022.10.26 |
CPU의 구성요소 및 작동원리 (0) | 2022.10.25 |
명령어 고급언어와 저급언어 그리고 구조 (0) | 2022.10.25 |
컴퓨터의 구조 (0) | 2022.10.25 |
댓글