[컴퓨터시스템구조] 9일차 - Interrrupt cycle


만든 날짜:2018-09-28 오전 9:01

해당 글은 수업을 들으며 정리한 내용입니다. 오류 및 개인적인 내용이 다수 포함 될 수 있습니다. 또는 학습에는 적합하지 않을 수 있습니다.

레지스터 레퍼런스
D7==1
I ==0
T3==1



CLA
0111 1000 0000 0000 일 때 AC를 클리어.

CLE 엔드케리를 리셋
CMA : AC 를 보수 취한다 (1의 보수)
CME : E를 보수
CIR : 서큘러 라이트
CIL : 서큘러 레프트
INC : AC를 인클,먼트
SPA : AC의 15번 비트(부호비트)가 0이면 PC를 1증가
SNA:
SZA : AC가 다 0 일 때 PC를 1증가 (flag가 있다. 전부 0일때 flag는 1)
SZE : E가 0 PC하나증가
HLT : STOP (S를 클리어하고 순차 카운터의 동작을 멈추게한다.) (S , 스탑인지, 스타트인지)




IO 레퍼런스 ( 1111 (F) )
인풋아웃풋. 키보드에서 치면 인풋레지스터에있다가 어큐뮬레이터로 들어갔다가 아웃된다.

FGI (입력용 제어 플립플롭)
: 처음에 FGI가 클리어되고 키를 쳤을 때 8비트 코드가 INPR에 시프트된후 FGI는 1로 세트된다.
플래그가 1로 되있을 때는 다른 키를 쳐서 INPR의 정보를 바꿀 수 없다.
: 이후 플래그가 1이면 INPR로 부터 AC로 병렬 전송을 하고 FGI를 클리어 시킨다. 그럼 새 정보가 INPR에 들어갈 수 있다.
들어 왔을 때 1 AC에 입력되면면 다시 0
1일때 입력불가
FGO (출력용 제어 플립플롭)
: 우선 FGO가 1로 세트되고 FGO가 1이면 AC로부터 OUTR로 정보를 병렬 전송한다.
그러고나서 FGO를 클리어시키면 출력 장치는 OUTR로 부터 정보를 가져가고 해당되는 문자를 프린트한 후 FGO를 1로 세트시킨다.
마찬 가지로 FGO가 0인 상태에서는 OUTR에 새로운 정보를 넣지 못한다.
FGO가 1이면 AC에서 OUTR로 전송
FGO가 0이되면 OUTR에서 출력장치로 감.



Flag Input
: 0이었으면 쓰고 1로 만든다.
AC에서는 1일때 보낸게 있으니까 읽는다. 아니면 대기
Flag Output
:



SKI : FGI가 1이면 PC1증가

계속 보고있을 수 없으니 인터럽트를 건다.
ION : 인터럽트가 가능한가 (IEN)
IOF : 인터럽트가 불가능한가

인터럽트가 걸리면 지금 하는것을 중단하고 그쪽으로 뛴다. (하고나면 돌아올 주소를 저장하고 진행)


인터럽트 플립플롭 R은 IEN=1이고 FGO나 FGI가 1일 때, 1로 세트된다. 이것은 타이밍 신호 T0,T1,T2 외의 어떤 시간에서도 수행되며, 레지스터 전송문으로 나타내면 다음과 같다.

T0'T1'T2'(IEN)(FGI + FGO): R <- 1

R이 1일 때는 인터럽트 사이클이 수행되어 복귀 주소를 메모리의 주소 0에 저장하고 프로그램의 수행을 주소 1로 분기시킨 다음 IEN, R, SC를 모두 0으로 클리어한다.






T0,T1,T2일때는 인터럽트가 걸리면 안됨. (모두0일때만 인터럽트)
IEN 이 1일때 (인터럽트를 걸 수 있을 때)
(FGI,FGO)둘중하나가 1일때 (쓸거나 읽을 것(IO)이 있을 때)

위 조건 만족할때 인터럽트를 건다 (R<-1)





훑터보기

담주화욜

[컴퓨터시스템구조] 9일차 - Interrrupt cycle [컴퓨터시스템구조] 9일차 - Interrrupt cycle Reviewed by Lifer on 11/05/2018 Rating: 5

댓글 없음:

Powered by Blogger.