본문 바로가기

컴퓨터 구조

CH4 명령어 사이클과 인터럽트

명령어 사이클

컴퓨터가 명령어를 해석하고 실행하는 과정. 프로그램 속 명령어들은 이 사이클이 반복되며 실행된다.

 

Fetch(인출) cycle 

메모리에 있는 명령어를 CPU로 가져오는 과정

Execution(실행) cycle 

CPU로 가져온 명령어를 실행하는 과정

Indirect(간접) cycle 

간접 주소 지정 방식처럼 메모리 접근이 추가로 필요한 경우 실행하는 과정

 

인터럽트

CPU의 작업을 방해하는 신호, 정상적인 프로그램의 실행을 중단해야 하는 이벤트

 

하드웨어 인터럽트

: 입출력장치와 같은 하드웨어에 의해 발생하는 인터럽트

 

처리 순서

1. user program이 실행중에 인터럽트가 발생한다.

2. 실행 사이클을 끝내고 인터럽트 요청 확인 후 인터럽트 받을 수 있는지 여부를 인터럽트 플래그를 통해 확인한다.

3. CPU는 PC와 PSW를 컨트롤 스택에 저장하고 지금까지 작업(나머지 레지스터 값)을 컨트롤 스택에 저장한다.

4. CPU가 인터럽트 벡터를 참조하여 인터럽트 서비스 루틴(인터럽트 핸들러) 프로그램을 실행한다.

5. 실행이 끝나면 컨트롤 스택에 있는 것들을 복구하고 PC, PSW값 복구한다.

 

인터럽트 플래그 : PSW가 표현하는 정보 중 하나로 인터럽트를 받아들일 수 있는지 여부를 결정한다.

인터럽트 서비스 루틴 / 인터럽트 핸들러 : 인터럽트를 처리하기 위한 프로그램으로 메인메모리에 존재한다. 입출력장치마다 다른 인터럽트 서비스 루틴을 가지고 있다.

인터럽트 벡터 : 인터럽트 서비스

 

'컴퓨터 구조' 카테고리의 다른 글

CH6 메모리와 캐시메모리  (0) 2024.03.31
CH 5 CPU 성능 향상 기법  (0) 2024.03.31
CH.4 CPU의 작동원리  (0) 2024.03.21
CH3. 명령어 고급언어와 저급언어  (0) 2024.03.17
CH.2 데이터  (0) 2024.03.14