4 명령실행과제어 4.1 마이크로오퍼레이션(Micro Operation) (1) 마이크로오퍼레이션( 동작) 0609 0509 1) 명령을수행하기위해 CPU 내의레지스터와플래그의상태변환을일으키는 작업 0308 0405 2) 레지스터에저장된데이터에의해서이루어지는동작 0109 0209 0503 3) 마이크로오퍼레이션을순서적으로일어나게하는데필요한신호를제어신호 라함 9910 0010 0106 0109 0209 0303 0405 0605 9906 0010 0403 0409 0505 0603 4) 마이크로오퍼레이션은 Clock 펄스에기준을두고실행 0010 0609 마이크로오퍼레이션에대한정의및설명오답 마이크로오퍼레이션중에 CPU 내부의연산레지스 터, 인덱스레지스터는프로그램으로레지스터의내용을변경할수없음 컴퓨터의빠른계산동작 플립플롭내에서기억되는 동작 2진수계산에쓰이는동작 동기디지털시스템에내장되어있는모든레지스터의타이밍은마스트클록 발생기에의하여제어됨 0106 0503 (2) 마이크로사이클타임(Micro Cycle Time) 9904 0007 1) 2) 마이크로오퍼레이션수행에필요한시간을마이크로사이클타임이라함 마이크로사이클타임부여방식 1 동기고정식 (Synchronous Fixed) 마이크로오퍼레이션중에서수행시간이가장긴것을정의한방식 수행시간이가장긴마이크로오퍼레이션의사이클타임을클럭주기로정함 2 동기가변식 (Synchronous Variable) 0308 0003 0503 마이크로오퍼레이션에따라서수행시간을다르게하는것 각마이크로오퍼레이션의사이클타임이현저한차이를나타낼때사용 중앙처리장치의시간을효율적으로이용할수있음 마이크로오퍼레이션에대하여서로다른사이클을정의할수있음 3 비동기식 (Asynchronous) 모든마이크로오퍼레이션에대하여서로다른마이크로사이클타임을정의하는방식 제어기가매우복잡해지기때문에실제로는거의사용되지않음 마이크로사이클에대한내용오답 마이크로오퍼레이션중에서수행시간의차이가큰것을약 30개로구분해서사용함 동기가변식동작에대한설명오답 모든마이크로오퍼레이션의수행시간이유사한경우에사용 수행시간이가장긴마이크로오퍼레이션의사이클타임을클럭주기로정함 143
PART 2 전자계산기구조 0010 0609 기출문제 4. 다음중마이크로오퍼레이션은어디에기준을 0609 1. 마이크로오퍼레이션에대한설명중옳지않은것은? 가. 마이크로오퍼레이션은 CPU 내의레지스터들과연산장치에의해서이루어진다. 나. 프로그램에의한명령의수행은마이크로오퍼레이션의수행으로이루어진다. 다. 마이크로오퍼레이션중에 CPU 내부의연산레지스터, 인덱스레지스터는프로그램으로레지스터의내용을변경할수없다. 라. 마이크로오퍼레이션이실행될때마다 CPU 내부의상태는변하게된다. 0308 0405 2. 명령을수행하기위한 CPU의상태변환을무엇 이라하는가? 가. fetch 나. program operation 다. micro operation 라. count operation 9910 0010 0106 0109 0209 0303 0405 0605 3. 마이크로오퍼레이션을순서적으로발생시키는데필요한것은? 가. 스위치나. 레지스터다. 누산기라. 제어신호 두고서실행되나? 가. Flag 다. Memory 9904 0007 나. Clock 라. RAM 5. 마이크로사이클에대한내용중가장관계가적은것은? 가. 마이크로오퍼레이션수행에필요한시간을마이크로사이클타임이라한다. 나. 마이크로오퍼레이션중에서수행시간이가장긴것을정의한방식이동기고정식이다. 다. 마이크로오퍼레이션에따라서수행시간을다르게하는것을동기가변식이라한다. 라. 마이크로오퍼레이션중에서수행시간의차이가큰것을약 30 개로구분해서사용한다. 0308 6. 동기가변식(Synchronous Variable) 동작에대한설명중옳지않은것은? 가. 각마이크로오퍼레이션의사이클타임이현저한차이를나타낼때사용한다. 나. 모든마이크로오퍼레이션의수행시간이유사한경우에사용된다. 다. 중앙처리장치의시간을효율적으로이용할수있다. 라. 마이크로오퍼레이션에대하여서로다른사이클을정의할수있다. 144
4.2 메이저스테이트 (1) 메이저스테이트( 메이저상태, Major State) 1) 중앙처리장치가무엇을하고있는가를나타내는것으로서기억장치의사이클을단위로하여해당사이클동안에무엇을위해기억장치를접근하는가를나타내주는것 0505 2) 메이저스테이트의변화과정 0103 0106 0209 0503 0505 0609 9904 0005 0303 0305 0405 0409 0609 메이저상태(Major State) 에대한설명오답 execute state가끝나면항상 fetch state로감 특정한명령에대해서는 indirect state가필요 메이저사이클은 fetch, indirect, execute, interrupt 과정을반드시수행해야함 3) 인출단계(Fetch Cycle) 0603 0109 1 주기억장치의지정장소(Address) 로부터명령을읽어서중앙처리장치에가지 2 3 4 고오는단계 0303 0303 0403 0609 명령의오퍼레이션(Operation) 부를명령레지스터(Instruction Register) 에세트(Set) 시켜해독시킴다음에실행할명령의기억장소(Address) 를세트(Set) 시킴인스트럭션의종류에대한판단이이루어지는상태( 명령을읽어내는스테이 트 ) 0203 5 인터럽트를처리한후다음으로전환해야될메이저스테이트 9910 0106 0209 0405 0509 6 페치(fetch) 사이클에서사용하는것: Program counter, Memory Buffer Register, Memory Address Register 7 PC의내용은 Fetch Cycle 동안에 1 증가됨 9908 0109 8 Fetch Cycle에서일어나는마이크로오퍼레이션 0010 0203 0205 0209 0303 0505 0509 0609 9906 0103 0209 0509 T1 : MAR PC PC에있는번지를MAR에전송 T2 : MBR M[MAR], PC PC+1 T3 : OPR MBR[OP], l MBR[I] T4 : F 1 또는 R 1 메모리에서 MAR이지정하는위치의값을 MBR에 전송 다음에실행할명령의위치를지정하기위해 PC 의값을 1증가시킴 명령어의 Op-Code 부분을명령레지스터에전송 명령어의모드비트를플립플롭 I에전송 I가 0이면 F 플립플롭에 1을전송하여실행사이클로변하고, I가 1이면 R 플립플롭에 1을전송하여간접사이클로변함 패치사이클(Fetch Cycle) 에대한설명오답 실제로명령을이행함 145
PART 2 전자계산기구조 4) 간접단계(Indirect Cycle) 1 인스트럭션의수행시유효주소를구하기위한메이저상태 0308 2 Fetch 단계에서해석된명령의주소부가간접주소인경우수행됨 3 간접단계(Indirect cycle) 동안에기억장치로부터오퍼랜드( 데이터) 의번지 (Address) 를인출 9910 0503 0609 9904 9910 0503 4 특정한인스트럭션에대해서는 5) 실행단계(Execute Cycle) Indirect 상태가필요없음 1 실제로명령을이행하는단계 2 Execute 단계에서는 Interrupt 요청신호를나타내는플래그레지스터의상태 변화를검사하여 Interrupt 단계로변천할것인지 Fetch 단계로변천할것인 지판단함 6) 인터럽트단계(Interrupt Cycle) 1 하드웨어로실현되는서브루틴의호출이라고볼수있음 0003 0503 2 인터럽트발생시복귀주소(PC) 를저장시키고, 제어순서를인터럽트처리프로그램의첫번째명령으로옮기는단계 0103 3 Interrupt Cycle에서일어나는마이크로오퍼레이션 0109 0305 0503 0007 1. MBR(AD) PC, PC 0 2. MAR PC, PC PC+1 3. M MBR, IEN 0 4. F 0, R 0 (2) 주요명령의마이크로오퍼레이션 1) AND 1 AC( 누산기) 내용과메모리내용을 AND( 논리곱) 연산하여결과를 AC에저장하는연산명령 2 마이크로오퍼레이션 MAR MBR MBR M(MAR) AC AC AND MBR 2) ADD 1 AC와메모리의내용을더하여결과를 AC에저장하는연산명령 2 마이크로오퍼레이션 0106 0308 0505 MAR MBR(ADDR) MBR M(MAR) AC AC + MBR 3) LDA(Load to AC) 1 메모리의내용을 AC로가져오는명령 2 마이크로오퍼레이션 0209 0409 0509 0605 9908 0603 MAR MBR(AD) MBR M(MAR), AC 0 AC AC + MBR 146
4) STA(Store AC) 1 AC의내용을메모리에저장하는명령 2 마이크로오퍼레이션 0203 0308 MAR MBR(AD) MBR AC M MBR 5) BUN(Branch UNconditionally) 1 PC에특정한주소를전송하여실행명령의위치를변경하는무조건분기명령 2 마이크로오퍼레이션 0405 PC MBR(AD) 6) BSA(Branch and Save Return Address) 복귀주소를저장하고부프로그램을호출하는명령 7) ISZ(Increment and Skip if Zero) 1 메모리의값을읽고그값을 1 증가시킨후음수에서시작한그값이 0이면현재명령을건너띄고다음명령으로이동 2 마이크로오퍼레이션 0205 MAR MBR(AD) MBR M MBR MBR + 1 M MBR, IF(MBR=0) THEN (PC PC+1) 147
PART 2 전자계산기구조 0209 0409 0509 0605 기출문제 0609 1. 컴퓨터의메이저상태에대한설명중옳지않은 것은? 가. EXECUTE 상태가끝나면항상 FETCH 상태 로만간다. 나. memory reference인간접주소인스트럭션을 수행하기위해서는 fetch-indirect-execute 순 서로진행되어야한다. 다. 특정한인스트럭션에대해서는 INDIRECT 상 태가필요없다. 라. FETCH 상태에서는기억장치에서인스트럭 션을읽어중앙연산처리장치로가져온다. 0106 0505 2. 전자계산기의중앙처리장치(CPU) 는 4가지단계를반복적으로거치면서동작을행한다. 4가지단계에속하지않는것은? 가. Fetch cycle 나. Branch cycle 다. Interrupt cycle 라. Execute cycle 0503 3. 메이저상태(major state) 에대한설명중옳은 것은? 가. execute state가끝나면항상 fetch state로 간다. 나. 특정한명령에대해서는 indirect state가필 요하다. 다. 메이저 사이클은 fetch, indirect, execute, interrupt 과정을반드시수행해야한다. 라. indirect state는 데이터의 유효번지를 얻기 위해기억장치에접근하는상태이다. 0603 4. 컴퓨터시스템이작동되면먼저프로그램카운터의초기주소값이결정되고주소에의하여명령어가기억장치로부터읽혀지는것을무엇이라하는가? 가. 인출 (fetch) 나. 실행 (execute) 다. 간접 (indirect) 라. 인터럽트 (interrupt) 9910 0106 0209 0405 5. 한명령의 execute cycle 중에 interrupt 요청을 받아 interrupt 를처리한후실행되는사이클은? 가. fetch cycle 나. indirect cycle 다. execute cycle 라. direct cycle 0205 0209 0303 0509 0609 6. 어떤명령이수행되기위해가장우선적으로이루어져야하는마이크로오퍼레이션은? 가. MBR IR 나.PC MAR 다. PC + 1 PC 라.PC MBR 7. 다음의마이크로오퍼레이션(micro-operation) 은무엇을수행하는것인가? MAR MBR(AD) MBR M, ACC 0 ACC ACC + MBR 가. store ACC 다. AND to ACC 나. load to ACC 라. ADD to ACC 0010 0203 0505 8. 다음일련의마이크로오퍼레이션은어느사이클인가? T1 : MAR <- PC T2 : MBR <- M, PC <- PC+1 T3 : OPR <- MBR(OP), I <- MBR(I) 가. FETCH CYCLE 나. EXECUTE CYCLE 다. INDIRECT CYCLE 라. INTERRUPT CYCLE 9910 0503 0609 9. 간접사이클동안에는어떤동작이수행되는가? 가. 기억장치로부터명령어의주소를인출한다. 나. 기억장치로부터데이터를인출한다. 다. 기억장치로부터데이터의주소를인출한다. 라. 기억장치로부터명령어를인출한다. 0003 0503 10. 메이저스테이트중하드웨어로실현되는서브루틴의호출이라고볼수있는것은? 가. FETCH 스테이트나. INDIRECT 스테이트다. EXECUTE 스테이트라. INTERRUPT 스테이트 0109 0305 0503 11. 인터럽트사이클을위한마이크로연산이아닌것은? 가. MAR PC, PC PC+1 나. MBR(AD) PC, PC 0 다. M MAR, IEN 0 라. F 0, R 0 0106 0308 12. 다음의 마이크로 오퍼레이션과 관련 있는 것 은? MAR MBR(ADDR) MBR M(MAR) EAC AC + MBR 가. AND 다. JMP 나. ADD 라. BSA 148
4.3 (1) 제어장치와마이크로프로그램 제어데이터 1) 제어데이터의종류 0005 0010 0103 0109 1 각메이저스테이트사이의변천을제어하는제어데이터 2 중앙처리장치의제어점을제어하는데필요한제어데이터 3 인스트럭션의수행순서를결정하는데필요한제어데이터 2) 제어데이터가될수있는것 0103 0203 1 연산자의종류 2 인스트럭션의주소지정방식 3 연산결과에대한상태플래그내용 CPU내제어기의제어데이터에포함되는것오답 입 출력장치의제어점을제어하는제어데이터 오답쪽지 제어데이터가될수있는것오답 연산을위한수치데이터 (2) 제어장치( 제어기) 의구현 0003 1) 고정배선방식(Hard-wired Control Unit) 1 속도가빠름 9910 0205 2 마이크로프로그램방식에비해비쌈 2) 마이크로프로그램방식(Micro Programmed Control Unit) 1 마이크로프로그램을이용한방식 2 하드와이어드방식에비해속도가느림 3) 제어장치의특징비교 구 분 고정배선제어장치 마이크로프로그램방식 반응속도 고속 저속 회로복잡도 복잡 간단 경제성 비경제적 경제적 융통성 없음 있음 구성 하드웨어 소프트웨어 제어메모리 불필요 필요 (3) 마이크로프로그램(Microprogram) 9906 9908 0010 0109 0305 1) 어떤명령을수행할수있도록된일련의제어워드가특수한기억장치속에저장된것으로각종제어신호를발생시킴 0007 2) 마이크로명령으로형성되어있음 3) 전자계산기의제작단계에서컨트롤스토레이지(control storage) 속에저장됨 마이크로프로그램에대한설명오답 마이크로프로그램은소프트웨어라고하는것보다하드웨어적인요소가많아펌웨어(firmware) 라고도함 마이크로프로그램은보통 RAM에저장함 4) 제어기를구성하는방법으로마이크로프로그램이이용될수있음 5) 마이크로프로그램이저장되는제어메모리는 ROM이주로사용되고사용자가 변경시킬수없음 0509 9908 6) 별도의번역과 RAM으로의접근이필요하지않기때문에일반적인소프트웨어와구별하여펌웨어(Firmware) 라고도함 149
PART 2 전자계산기구조 제어메모리에서번지결정하는방법오답 명령어분석에따른조건부분기 오답쪽지 마이크로명령형식오답 제어마이크로명령 7) 마이크로프로그램에서제어메모리의번지결정방법 0003 1 마이크로명령에서지정하는번지로무조건분기 2 서브루틴의 call과 return 3 상태비트에따른조건부분기 8) 마이크로명령형식 9908 0010 1 수평마이크로명령 (Horizontal Micro Instruction) 2 수직마이크로명령 (Vertical Micro Instruction) 3 나노명령 (Nano Instruction) 0509 기출문제 4. 마이크로컴퓨터내에는동작제어에항상필요한 0103 0203 1. 제어데이터가될수없는것은? 가. 연산자의종류나. 연산을위한수치데이터다. 인스트럭션의주소지정방식라. 연산결과에대한상태플래그내용 9910 0205 2. 하드와이어드(hard-wired) 방식이마이크로프로그래밍방식보다좋은점은? 가. 다양한어드레스모드를갖는다. 나. 인스트럭션세트를변경하기가쉽다. 다. 컴퓨터의속도가향상된다. 라. 비교적복잡한명령세트를가진시스템에적합하다. 0007 3. 어떤명령을수행할수있도록된일련의제어워드가특수한기억장치속에저장된것을무엇이라하는가? 가. 제어메모리나. 제어데이터다. 마이크로프로그램라. 고정배선제어 모니터프로그램이있다. 이러한모니터프로그 램이기억되기에적당한장소는? 가. RAM 나. I/O port 다. ROM 라. CPU 0003 5. 제어메모리에서의번지를결정하는방법으로서옳지않은것은? 가. 마이크로명령에서지정하는번지로무조건분기나. 서브루틴은 call과 return 다. 상태비트에따른조건부분기라. 명령어분석에따른조건부분기 9908 0010 6. 마이크로명령형식을표시한것이다. 적합하지않은것은? 가. 수평마이크로명령나. 제어마이크로명령다. 수직마이크로명령라. 나노명령 150