개발자꿈나무
중앙처리장치(CPU) - 연산장치, 인터럽트 본문
- 연산장치
- 제어장치의 지시에 따라 사칙연산과 수식의 참, 거짓을 판단하는 논리 연산을 수행하는 장치
- 누산기, 가산기, 데이터 레지스터, 상태 레지서트 등으로 구성
- 상태 레지스터의 상태 비트는 플래그나 조건코드라고도 하며 네 가지 필수 구성요소를 가짐
: 자리올림 C (자리 올림수가 발생하면 1), 부호 S (음수면 1), 제로 Z (연산 결과가 0이면 1), 오버플로 O (오버플로가 발생하면 1) - 인터럽트
- 중앙처리장치가 현재 실행 중인 프로그램의 처리를 강제적으로 중단시키고, 특정 주소에 위치한 프로그램을 구생하게 하는 것
- 인터럽트를 처리하기 위해 실행되는 새로운 프로그램 루틴을 인터럽트 서비스 (ISR: Interrup Service Routine)이라 함
- 인터럽트 동작 순서
1. 인터럽트 발생장치로부터 인터럽트 요청이 있으면
2. 현재 수행중인 프로그램 상태를 안전한 기억장소에 저장
3. 인터럽트 장치와 원인을 분석하여, 해당된 인터럽트 서비스 루틴을 수행시켜 조치를 취함
4. 인터럽트 서비스 루틴이 끝나면, 미리 보존된 프로그램 상태를 복구시켜 인터럽트 당한 프로그램의 중단된 곳에서부터 프로그램을 계속적으로 수행 - 인터럽트의 종류
- 외부 인터럽트
- 정전이나 기계 결함과 같은 외부적 원인으로 발생하는 인터럽트
- 주로 입출력을 요구하는 입출력장치와 같은 하드웨어에 의해 발생하므로 하드웨어 인터럽트라고도 함
- CPU와 비동기적으로 발생 - 내부 인터럽트
- CPU 내부에서 발생하는 인터럽트로 소프트웨어적인 원인에 의한 인터럽트
- CPU와 동기적으로 발생하며 프로그램 오류로 발생하는 인터럽트, 슈퍼바이저 호출 인터럽트 등이 있음
- 슈퍼바이저 호출 인터럽트는 명시적으로 예외 조건을 생성하는 명령을 의미하며, 발생 시점이 일정하고 동기적 (특별한 서비스가 필요할 때 고의적으로 운영체제를 호출함으로써 사용자 모드에서 슈퍼바이저 모드로 진입하는 것)
더보기
Q. INTERRUPT의 발생 원인으로 가장 옳지 않은 것은?
1. 일방적인 인스트럭션 수행
2. 수퍼바이저 콜
3. 정전이나 자료 전달의 오류 발생
4. 전압의 변화나 온도 변화
-> 일방적인 인스트럭션 수행이란: 0으로 나누기 등의 잘못된 명령이나 프로그램을 수행한 경우 (내부 인터럽트)
※ 참고
2024.01.22 - [CS/컴퓨터구조] - 중앙처리장치(CPU) - 제어장치
중앙처리장치(CPU) - 제어장치
중앙처리장치의 구성요소와 역할 - 산술 논리 연산장치 (ALU) : 각종 연산을 실행 - 레지스터 세트 : 데이터를 임시 저장하는 기능 수행 - 제어 장치 : 명령을 해독하고 제어신호를 발생하여 제어
mangs2e.tistory.com
728x90
'CS > 전자계산기구조론' 카테고리의 다른 글
중앙처리장치(CPU) - 시스템 버스, 마이크로프로세서 (0) | 2024.01.23 |
---|---|
중앙처리장치(CPU) - 명령실행과 제어, 마이크로 오퍼레이션 (2) | 2024.01.23 |
중앙처리장치(CPU) - 제어장치 (0) | 2024.01.22 |
컴퓨터의 분류 (4) | 2024.01.13 |
컴퓨터 구조의 발전 (0) | 2024.01.13 |