입출력 구성
- cpu와 IO장치의 속도차이 제어를 위하여 Flag사용
io장치는 cpu보다 느리다.
cpu는 io장치가 사용할 수 있는지 없는지를 확인해야 한다.
FGO, FGI가 입출력이 가능한지 확인하는 Flag이다.
키보드에 키가 눌렸다 => FGI가 1이된다 => 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 명령이 수행된다. 보내고 나면 FGI가 0으로 바뀐다.
OUT - AC에있는 것을 OUTR로 보낸다. FGO가 0이된다.
SKI – FGI =1이면(가져올 데이터가 있다면) 다음에 수행할 명령어를 건너 뛴다.
SKO - FGO =1이면(가져올 데이터가 있다면) 다음에 수행할 명령어를 건너 뛴다.
ION – 입력을 하겠다. IEN 플레그를1로 바꾼다. 즉 입출력을 실행하겠다.
IOF – 입출력을 할 수 있더라도 cpu는 입출력을 하지 않는다.
'Computer Science > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터 구조] 제어장치 (0) | 2021.01.22 |
---|---|
[컴퓨터 구조] 입출력과 인터럽트 (0) | 2021.01.21 |
[컴퓨터 구조] -명령어 사이클 (0) | 2021.01.19 |
[컴퓨터 구조] 컴퓨터가 동작하는 경위 (0) | 2021.01.18 |
[컴퓨터구조] 기본 컴퓨터 레지스터 (0) | 2021.01.17 |