본문 바로가기
기타

정보처리 필기_전자계산기 구조_15강_명령 실행 및 제어

by avvin 2019. 7. 28.


문제 정보 / 이미지 출처 (무료인강) : 

https://www.youtube.com/playlist?list=PLimVTOIIZt2aR9jib0ws7hoDVZXdtiWsK


1. 메이저 스테이트


2. 메이저 스테이트 변화


3. 제어기의 구성요소


4. 제어기의 구현



1. 메이저 스테이트(Major State)


CPU가 무엇을 하고있는가를 나타내는 것 

Fetch / Indirect / Excute / Interrupt


Instruction Fetch(인출) Cycle (+decoding : 직.간접 주소지정 방식인지 분석 )


 / (Indirect) (직접 주소지정 방식이면 skip  : 유효주소를 구하는 단계, 주소변환 // 데이터를 읽어오는건 X


 / Excute Cycle (실행사이클) : 오퍼랜드 패치를 포함  


 / (Interrupt Cycle) : 잠깐 실행도중 정지하고 급한 명령 처리 

   // 끝나면 fetch 단계로 간다. 매번 Interrupt인지 확인하는게 아니라 돌발적으로 발생할때 해결할 뿐이다


필수인건 fetch와 execute







2번은 일반적인 경우를 말한다




- Fetch (인출단계) : MBR에서 IR에 set시켜 decoding하는 단계


인출 단계의 마이크로 오퍼레이션


OPR(Operation Register) = IR


I : Mode bit  //직간접 주소지정 방식 분석하기 위한 단계


CPU에는 FR플립플롭이 있는데 이 플립플롭의 값이 인출 / 간접 / 실행 / 인터럽트 상태를 나타냄


명령의 번지를 전송 > 명령을 읽고 PC를 하나 증가 > OP 코드를 전송(IR로 보냄) > 간접 사이클 > 실행 사이클  


[암기]

답은 3번.


4번은 기억해두기. JMP 명령은 PC가 MBR값에 들어가 IR로 전달된다.





- 인터럽트 단계 ★


F : 1 R : 1


인터럽트 발생 시 복귀 주소를 PC에 저장시키고 제어순서를 인터럽트 처리 프로그램(ISR, Interrupt Service Routine)의 

첫번째 명령으로 옮기는 단계


하드웨어로 실현되는 서브루틴의 호출이라고 볼 수 있다.





IEN : Interrupt Enable (허용)


위 방식으로 복귀주소 저장하고(요즘은 스택에 저장), 


IEN을 0으로 set하는건 인터럽트를 허용하지 않는다는 의미 // 다른 인터럽트의 실행을 막는 과정


인터럽트 처리하고 나면


F에 0, R에 0 set 하여 fetch단계로 넘어감



다른 마이크로 오퍼페이션 어디에도 MAR에 있는 값을 MBR로 보내는 단계는 없다★


PC 값을 메모리에 올리려면 반드시 MBR을 거쳐야한다. (복귀 주소를 메모리에 저장할 때 PC값을 MBR로 옮김)




3. 제어기(Control Unit)의 구성요소 (외울필요 x..잘 안나옴)


전부 [암기]






4. 제어기의 구현 - 고정적 배선 방식 / 마이크로 프로그램


고정 배선 방식 (Hard Wired)


cpu 내부의 제어장치와 컴퓨터 내부의 모든 장치를 신호선으로 물리적으로 연결, 하드웨어적으로 직접 모든 신호를 보내는 방식.


제어기가 복잡하지만 속도가 빠름★★★, 비싸다, 간단한 시스템에 적합


문제는 한번 구현하고나면 구조를 바꿀 수 없음



마이크로 프로그램 


소프트웨어를 이용하여 수정이 용이. 융통성이 있다. ROM에 저장. 펌웨어

요즘은 대부분 이 방식 사용

펌웨어만 업데이트 해주면된다.



>> 보기 모두 맞는 설명인데 3번이 답으로 나온 문제


[암기]