이 글은 www.youtube.com/watch?v=BxiaL0Hsn2M&list=PLc8fQ-m7b1hD4jqccMlfQpWgDVdalXFbH&index=24 보고 공부한 글입니다.
입출력이 가능했을 때 어떻게 동작 하나
PC가1,2,3,4… 쭉 시작하면 255를 실행하면 인터럽터가 걸렸다. 255가 걸린순간 PC는 256번이다.
인터럽터의 주소를 0번지에 저장한다. => PC = PC +1 =>1번 주소를 실행 =>1120번지로 무조건 점프한다. BIOS 프로그램이다. => IO프로그램 마지막에 간접주소 0번지로 가게끔 돼있다. => 256번지로 다시 옴
입출력이 있는지 없는지 확인 => FGI, FGO가1
R이 1이면 입출력이 발생했다 => 오른쪽으로 간다. =>return address를 0번지에 저장 => PC = 1로 바꿈 => 1120번지로 가서 IO프로그램 실행
IO프로그램 중간에 인터럽터가 걸렸다. => FGI, FGO가 1이되면 => 0번지에 주소 저장 => PC= 1로 바꿈 =>1120번지로 가서 IO프로그램 실행 하면 중간에 중복 될 수 있다.
그래서 IEN를 0으로 바꿈 = 인터럽터를 안받는다.
즉, 한번에 한 개의 인터럽터를 받는다.
R = 0명령어 사이클
R =1인터럽터 사이클
●프로그램 인터럽트 – 장치가 준비되었을 때 cpu에게 알림
인터럽트 발생시 BSA명령어처럼 동작
FGI, FGO 플래그 사용
플래그가 set되면R=1
R=1이면 다음 명령어 사이클에 인터럽트 사이클 실행
IEN – 인터럽트 enable/disable 제어
IO Promgram – 입출력 인터럽트 처리 루틴의 집합
BIOS – 컴퓨터를 돌아가게하는 중요한 시스템
Basic IO system
IVT(interrup Vector table)
각 인터럽트에 벡터번호 부여
벡터번호와 인터럽트 처리 루틴 시작번지를 Table로 유지
시스템 부팅시에 IVT는0번segment에load
현대의 대부분 cpu가IVT 사용
ex)메인메모리에0~250까지 테이블로 잡아두고 인터럽트1, 인터럽트2… 번호를 붙힌다.
0번지는 비어있다. 1번지는 0번지에 해당하는 IO프로그램으로 바로 가는 명령이 있다.
●인터럽트 사이클(IC)
IC로 분기되는 조건
(오른쪽으로 넘어가는)
T3여야 한다. T0,T1,T2가 모두 아닌T3이후인 경우
인터럽트 사이클의 실행
cpu는 명령어 사이클, 인터럽터 사이클이 있다. 기준은 R값이다.
'Computer Science > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터 구조] 공통버스에 대한 제어 (0) | 2021.01.23 |
---|---|
[컴퓨터 구조] 제어장치 (0) | 2021.01.22 |
[컴퓨터 구조] 입출력과 인터럽트 (0) | 2021.01.20 |
[컴퓨터 구조] -명령어 사이클 (0) | 2021.01.19 |
[컴퓨터 구조] 컴퓨터가 동작하는 경위 (0) | 2021.01.18 |