30. Interrupt cycle에 대한 마이크로 오퍼레이션(micro-operation) 중에서 가장 관계가 없는 것은?(단, MAR : Memory Address Register, PC : Program Counter, M : memory, MBR : Memory Buffer Register, IEN : Interrupt Enable 이며, Interrupt Handler는 0 번지에 저장 되어있다고 가정한다.)
① MAR ← PC, PC ← PC + 1
❷ MBR ← MAR, PC ← 0
③ M ← MBR, IEN ← 0
④ GO TO fetch cycle
300x250
이 문제는 **Interrupt Cycle(인터럽트 사이클)**에서 수행되는 마이크로 오퍼레이션(Micro-operation) 중 실제 수행되지 않는 동작을 고르는 문제입니다.
✅ 정답: ❷ MBR ← MAR, PC ← 0 ❌
🔍 문제 핵심 개념: Interrupt Cycle(인터럽트 사이클)
인터럽트가 발생하면 CPU는 현재 수행 중인 상태(주로 PC 값)를 저장하고, **인터럽트 서비스 루틴(ISR)**이 있는 주소로 제어를 넘깁니다.
Interrupt Handler가 0번지에 저장되어 있음 → PC ← 0 이 포함될 수 있음
💡 마이크로 오퍼레이션 흐름 예시 (기본적인 Interrupt Cycle)
단계 마이크로 오퍼레이션 설명
1 | MAR ← PC | 현재 PC를 MAR에 저장 (메모리 주소 준비) |
2 | MBR ← PC | PC 값 저장 |
3 | M[MAR] ← MBR | 현재 명령어 주소(PC)를 메모리에 저장 |
4 | PC ← 0 | ISR 시작 주소로 이동 (문제 조건에선 0번지) |
5 | IEN ← 0 | 인터럽트 금지 |
6 | GO TO fetch cycle | 다음 명령어 사이클로 진입 |
🔎 보기 분석
보기 해석 타당성 이유
① MAR ← PC, PC ← PC + 1 | PC 값을 MAR에 넣고 PC 증가 | ✅ 가능 | 인터럽트 전 상태 저장 준비 |
❷ MBR ← MAR, PC ← 0 | 주소값(MAR)을 데이터레지스터(MBR)에? ❌ | ❌ 부자연스러움 | 보통은 MBR ← M[MAR] 또는 M[MAR] ← MBR 사용 |
③ M ← MBR, IEN ← 0 | 메모리에 저장 + 인터럽트 금지 | ✅ | ISR 실행 중 인터럽트 방지 필요 |
④ GO TO fetch cycle | 다음 명령어 수행 | ✅ | 인터럽트 처리 후 정상 실행 복귀 |
🔧 왜 ❷번이 틀렸을까?
- MBR ← MAR : 주소 레지스터 값을 데이터 레지스터로 복사하는 건 일반적인 마이크로 오퍼레이션이 아님
→ MBR은 데이터 전용, MAR은 주소 전용 - 설령 MAR에 있던 값을 MBR로 복사한다고 해도, 이어서 바로 PC ← 0으로 가는 흐름은 비정상적입니다
✅ 결론
보기 번호 정답 여부 설명
❶ | O (가능) | 일반적인 PC 저장과 증가 |
❷ | ❌ 정답 | MBR ← MAR은 부자연스러운 마이크로 오퍼레이션 |
❸ | O (가능) | 메모리 저장 및 인터럽트 금지 |
❹ | O (가능) | ISR 진입 후 fetch cycle로 복귀 |
'기출문제 > 정보처리기사' 카테고리의 다른 글
2018년 2회 정보처리기사 기출문제 32번 (1) | 2025.05.29 |
---|---|
2018년 2회 정보처리기사 기출문제 31번 (0) | 2025.05.29 |
2018년 2회 정보처리기사 기출문제 29번 (0) | 2025.05.28 |
2018년 2회 정보처리기사 기출문제 28번 (0) | 2025.05.28 |
2018년 2회 정보처리기사 기출문제 27번 (0) | 2025.05.28 |