입출력과 인터럽트
* 입출력 (input/output) 구성
* 인터럽트 (interrupt)
입출력 (input/output) 구성
* 컴퓨터는 사용자와 통신을 하기 위해서 외부 장치, 즉 메모리로 데이터와 명령어를 읽어들일 입력장치(input-device)와 계산 결과를 사용자에게 표시해 줄 출력장치(output-device)를 갖추어야 한다
* 단밀장치(terminal device) : 키보드, 프린터 등
* 입출력 구성
인터럽트 (interrupt)
* 프로그램 제어 전송 (program controlled transfer) : 플래그를 사용한 통신 방법
* 프로그램 제어 전송 방법은 프로세스와 입출력 장치와의 속도 차이 때문에 매우 비능률적이다
* 인터럽트 인 에이블 플립플롭 (interrupt enable flip-flop) IEN
- 프로그램 제어전송 대신에 외부장치가 전송 준비가 되었을 때 컴퓨터에 알리는 방법에 활용되는 플립플롭
- 컴퓨터는 프로그램 실행 도중 플래그를 체크하지 않으며, 플래그가 세트되면 컴퓨터는 각 실행중이던 프로그램을 중지하고 플래그의 세트 정보를 받아들여 입출력을 실행
- 입출력 실행 후 즉시 원프로그램으로 복귀
* 컴퓨터 실행 속도 대비 외부 입력 장치와의 입출력 속도 차이
- 컴퓨터의 프로세스 처리 속도 : 10us-fetch and excute cycle time
- 입출력 장치의 처리 속도 : 10 문자/초 라고 가정을 한다면
- 입출력 장치는 1분자 당 100,000us(=0.1sec)의 시간이 소요된다.
- 결론적으로 매 전송 시 5000번의 플래그 체크가 필요하다
* 메모리 상태 예제에 대한 설명
- 메모리 주소 255에 있는 명령이 실행 중, R=1 이고 인터럽트가 발생 했다고 가정
- 현재 PC <- 256 복귀 주소이다
- [before interrupt]에서와 같이 프로그래머는 입출력 서비스 프로그램을 주소 1120번지에 로드 시켜놓았고, 주소 1 <- BUN 1120 로드
- [인터럽트 실행시] M[0] <- 256, PC <- 1, R <- 0 (clear)
- Execute M[1] 이는 1120번지로 분기하여 I/O program 실행
- ION instruction에 의해 IEN을 1로 세트하고 프로그램 복귀 시도
출처 : 제로베이스
'공부 Note > 컴퓨터 구조' 카테고리의 다른 글
Chapter 03 중앙처리장치 (7) (0) | 2022.02.24 |
---|---|
Chapter 03 중앙처리장치 (6) (0) | 2022.02.24 |
Chapter 03 중앙처리장치 (4) (0) | 2022.02.24 |
Chapter 03 중앙처리장치 (3) (0) | 2022.02.24 |
Chapter 03 중앙처리장치 (2) (0) | 2022.02.24 |