본문 바로가기

Computer Science/컴퓨터구조

[컴퓨터 구조] 입출력과 인터럽트

입출력 구성

- cpuIO장치의 속도차이 제어를 위하여 Flag사용

io장치는 cpu보다 느리다.
cpu
io장치가 사용할 수 있는지 없는지를 확인해야 한다.

FGO, FGI가 입출력이 가능한지 확인하는 Flag이다.

 

 

 

 

왼쪽 부분은 cpu 부분이다.

키보드에 키가 눌렸다 => FGI1이된다 => INPR로 데이터를 받아들여서 AC에 보낸다.
FGO
1이된다 => cpu”지금 printer가 사용 가능하다

 

IEN(interrup enable flag)1이면 cpu에 입출력이 가능하다

 

입출력과 인터럽트는 무슨관계이냐? 인터럽트와 입출력은 같은것이다.

 

인터럽트란? cpu가 원래 일을 쭉진행하다가. 인터럽트가 걸리면, 인터럽트를 처리하고 다시 원래 일을 처리한다.

 

cpu는 일을 계속 쭉처리하게하면 빠를텐데 무엇이 멈추게 하는가? 데이터를 가져와야하기 때문에(그것이 입력장치), 데이터를 출력해야 하기 때문

 

, 입출력이 발생하면 인터럽트가 발생한 거이다.

 

 

 

입출력 명령어

 

 

OP코드가 1111

 

D7은 모두가1일 때 1이된다. i=1이고, T3에 실행될 때 p라고 메크로 표시를 한다.

ex) 11번 비트가 1이면 INP 명령이 수행된다. 보내고 나면 FGI0으로 바뀐다.


OUT - AC
에있는 것을 OUTR로 보낸다. FGO0이된다.


SKI – FGI =1
이면(가져올 데이터가 있다면) 다음에 수행할 명령어를 건너 뛴다.


SKO - FGO =1
이면(가져올 데이터가 있다면) 다음에 수행할 명령어를 건너 뛴다.


ION –
입력을 하겠다. IEN 플레그를1로 바꾼다. 즉 입출력을 실행하겠다.


IOF –
입출력을 할 수 있더라도 cpu는 입출력을 하지 않는다.

728x90