第5章中央處理器_第1頁(yè)
第5章中央處理器_第2頁(yè)
第5章中央處理器_第3頁(yè)
第5章中央處理器_第4頁(yè)
第5章中央處理器_第5頁(yè)
已閱讀5頁(yè),還剩264頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第五章中央處理器要點(diǎn):掌握CPU中控制器的工作過(guò)程,也就可以說(shuō)掌握了計(jì)算機(jī)的全部工作過(guò)程。深入討論CPU的工作原理、基本功能和控制方式。難點(diǎn):CPU中控制器的時(shí)序、設(shè)計(jì)方法。主要內(nèi)容:CPU的功能和組成(掌握)指令周期(掌握)時(shí)序產(chǎn)生器和控制方式(理解)微程序控制器(掌握)微程序設(shè)計(jì)技術(shù)(掌握)硬布線控制器(理解)CPU的新技術(shù)(理解)教學(xué)要求課堂上注意聽講、重要的是理解課堂外一定要看書復(fù)習(xí)或預(yù)習(xí)、完成作業(yè)5.1.1CPU的組成與功能一、

CPU的組成

CPU由控制器運(yùn)算器兩個(gè)主要部件組成。邏輯結(jié)構(gòu)圖:主要內(nèi)容:中央處理器的硬件組成和中央處理器的功能。5.1CPU的總體結(jié)構(gòu)程序計(jì)數(shù)器PCALU操作控制器時(shí)序產(chǎn)生器指令譯碼器存儲(chǔ)器輸入/出數(shù)據(jù)總線DBUS地址總線ABUS地址寄存器ARCCC狀態(tài)條件寄存器CCC算術(shù)邏輯單元CPU取指控制執(zhí)行控制狀態(tài)反饋時(shí)鐘指令寄存器IR緩沖寄存器DRC累加器……累加器程序計(jì)數(shù)器PCALU操作控制器時(shí)序產(chǎn)生器指令譯碼器存儲(chǔ)器輸入/出數(shù)據(jù)總線DBUS地址總線ABUS地址寄存器ARCCC狀態(tài)條件寄存器CCC算術(shù)邏輯單元CPU取指控制執(zhí)行控制狀態(tài)反饋時(shí)鐘指令寄存器IR緩沖寄存器DRC……由程序計(jì)數(shù)器PC、指令寄存器IR、指令譯碼器ID、時(shí)序產(chǎn)生器和操作控制器組成,它是發(fā)布命令的“決策機(jī)構(gòu)”,即完成協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作。1、控制器控制器內(nèi)的主要寄存器:程序計(jì)數(shù)器PC(ProgramCounter):存放指令的地址(當(dāng)前指令或者下一條指令地址)當(dāng)指令順序執(zhí)行時(shí),由PC+1產(chǎn)生下一條指令的地址;當(dāng)遇到轉(zhuǎn)移指令時(shí),轉(zhuǎn)移地址PC作為下一條指令的地址。地址寄存器AR(AddressRegister):用來(lái)保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址。

由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來(lái)保持地址信息,直到內(nèi)存的讀/寫操作完成為止。當(dāng)CPU和內(nèi)存進(jìn)行信息交換,即CPU向主存儲(chǔ)器存/取數(shù)據(jù)時(shí),或者CPU從主存中讀出指令時(shí),都要使用地址寄存器和緩沖寄存器。同樣若將外圍設(shè)備的設(shè)備地址作為像內(nèi)存的地址單元那樣來(lái)看待,則當(dāng)CPU和外圍設(shè)備交換信息時(shí)可同樣使用地址寄存器和緩沖寄存器。指令寄存器IR(InstructionRegister):用來(lái)保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到緩沖寄存器中,然后再傳送至指令寄存器。指令劃分為操作碼和地址碼字段,由二進(jìn)制數(shù)字組成。指令譯碼器ID(InstructionDecoder):對(duì)指令寄存器中的指令操作碼字段進(jìn)行譯碼。譯碼器的輸出信號(hào)送入操作控制信號(hào)形成部件,產(chǎn)生該指令所需要的有一定時(shí)序關(guān)系的操作控制信號(hào)序列。控制器主要功能:(1)取指令。從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置;(2)指令譯碼。對(duì)指令進(jìn)行譯碼或測(cè)試,并產(chǎn)生相應(yīng)的操作控制信號(hào),以便啟動(dòng)規(guī)定的動(dòng)作;(3)控制指令執(zhí)行。根據(jù)分析指令時(shí)產(chǎn)生的操作命令和操作數(shù)地址形成相應(yīng)的操作控制信號(hào)序列,通過(guò)運(yùn)算器、存儲(chǔ)器及輸入/輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令的功能。不斷重復(fù)執(zhí)行取指、譯碼、執(zhí)行,直至遇到停機(jī)或外來(lái)的干預(yù)。

(4)控制程序和數(shù)據(jù)的輸入與結(jié)果輸出。根據(jù)程序的規(guī)定或人為干預(yù),向輸入/輸出設(shè)備發(fā)出一些相應(yīng)的命令來(lái)完成I/O功能。

(5)處理異常情況和請(qǐng)求。當(dāng)計(jì)算機(jī)出現(xiàn)異常情況,如除數(shù)為零和數(shù)據(jù)傳送的奇偶錯(cuò)等,或者出現(xiàn)外部中斷請(qǐng)求和DMA請(qǐng)求的時(shí)候,控制器可以中止當(dāng)前執(zhí)行的程序,轉(zhuǎn)去執(zhí)行異常處理或者響應(yīng)中斷和DMA請(qǐng)求并進(jìn)行相關(guān)處理。由算術(shù)邏輯單元(ALU)、累加寄存器、數(shù)據(jù)緩沖寄存器和狀態(tài)條件寄存器組成,它是數(shù)據(jù)加工處理部件。相對(duì)控制器而言,運(yùn)算器接受控制器的命令而進(jìn)行動(dòng)作,即運(yùn)算器所進(jìn)行的全部操作都是由控制器發(fā)出的控制信號(hào)來(lái)指揮的,所以它是執(zhí)行部件。2、運(yùn)算器1)算術(shù)邏輯單元ALU(ArithmeticandLogicUnit)算術(shù)邏輯單元ALU是處理數(shù)據(jù)的部件,主要負(fù)責(zé)實(shí)現(xiàn)對(duì)數(shù)據(jù)的算術(shù)運(yùn)算和邏輯運(yùn)算。2)累加寄存器AC(Accumulator)累加器是暫時(shí)存放參加ALU運(yùn)算的操作數(shù)據(jù)和結(jié)果的部件,是一個(gè)通用寄存器。運(yùn)算器中通常至少要有一個(gè)累加器。由于運(yùn)算器的結(jié)構(gòu)不同,可采用多個(gè)累加寄存器。

3)數(shù)據(jù)緩沖寄存器DR(DataBufferRegister)

緩沖寄存器用來(lái)暫時(shí)存放從主存儲(chǔ)器、輸入/輸出設(shè)備讀來(lái)的數(shù)據(jù)或者準(zhǔn)備寫入主存儲(chǔ)器、輸入/輸出設(shè)備的數(shù)據(jù)。數(shù)據(jù)緩沖寄存器的作用是:(1)作為CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站;(2)補(bǔ)償CPU和內(nèi)存、外圍設(shè)備之間在操作速度上的差別;(3)在單累加器結(jié)構(gòu)的運(yùn)算器中,數(shù)據(jù)緩沖寄存器還可兼作為操作數(shù)寄存器。

4)狀態(tài)標(biāo)志寄存器狀態(tài)標(biāo)志寄存器用來(lái)保存由算術(shù)指令和邏輯指令運(yùn)行或測(cè)試的結(jié)果而建立的各種條件碼內(nèi)容。如:運(yùn)算結(jié)果進(jìn)位標(biāo)志(C),運(yùn)算結(jié)果溢出標(biāo)志(V),運(yùn)算結(jié)果為零標(biāo)志(Z),運(yùn)算結(jié)果為負(fù)標(biāo)志(N),等等。這些標(biāo)志位通常分別由1位觸發(fā)器保存。

除此之外,狀態(tài)標(biāo)志寄存器還用來(lái)保存中斷和系統(tǒng)工作狀態(tài)等信息,以便CPU和系統(tǒng)能及時(shí)了解機(jī)器運(yùn)行狀態(tài)和程序運(yùn)行狀態(tài)。(1)執(zhí)行所有的算術(shù)運(yùn)算;(2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試,如零值測(cè)試或兩個(gè)值的比較。運(yùn)算器的主要功能:二、CPU的功能(4)數(shù)據(jù)加工:對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理。完成數(shù)據(jù)的加工處理,這是CPU的根本的任務(wù)。(1)指令控制:程序是指令的有序集合,保證機(jī)器按規(guī)定的順序執(zhí)行程序。(2)操作控制:CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信號(hào),并把各種操作信號(hào)送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。(3)時(shí)間控制:對(duì)各種操作實(shí)施時(shí)間上的控制,計(jì)算機(jī)中各種指令的操作信號(hào)均受到時(shí)間的嚴(yán)格控制。5.1.2操作控制器與時(shí)序產(chǎn)生器數(shù)據(jù)通路:寄存器之間傳送信息的通路。由操作控制器完成。操作控制器:根據(jù)指令操作碼和時(shí)序信號(hào)的要求,產(chǎn)生各種操作控制信號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制的部件。時(shí)序產(chǎn)生器:是對(duì)各種操作實(shí)施時(shí)間上的嚴(yán)格控制的部件。操作控制器設(shè)計(jì)方法有:1)硬布線控制器:是采用組成邏輯技術(shù)來(lái)實(shí)現(xiàn)控制的操作控制器2)微程序控制器:是采用存儲(chǔ)邏輯技術(shù)來(lái)實(shí)現(xiàn)控制的操作控制器3)門陣列控制器:是采用邏輯技術(shù)和存儲(chǔ)邏輯技術(shù)相結(jié)合的操作控制器1)多個(gè)通用寄存器(用來(lái)保存CPU運(yùn)行時(shí)所需要的各類數(shù)據(jù)信息或運(yùn)行狀態(tài)信息)

2)邏輯運(yùn)算單元(對(duì)寄存器中的數(shù)據(jù)進(jìn)行加工處理)

3)操作控制器(對(duì)各種操作控制信號(hào)進(jìn)行定時(shí),以便在時(shí)間上的約束)一個(gè)典型CPU具有:5.2指令的執(zhí)行與時(shí)序產(chǎn)生器計(jì)算機(jī)是怎樣實(shí)現(xiàn)各條指令的功能,又如何保證逐條指令的連續(xù)執(zhí)行過(guò)程。計(jì)算機(jī)的工作過(guò)程可從計(jì)算機(jī)上電到停機(jī)的過(guò)程:加電產(chǎn)生Reset信號(hào)執(zhí)行程序停機(jī)斷電

馮.諾依曼結(jié)構(gòu)的計(jì)算機(jī)執(zhí)行程序的順序:1.從程序首地址開始。3.自動(dòng)地連續(xù)執(zhí)行指令,直到程序的最后一條指令。2.分步執(zhí)行每一條指令,并形成下條待執(zhí)行指令的地址。5.2.1指令周期—讀取指令指令地址送入主存地址寄存器讀主存,讀出內(nèi)容送入指定的寄存器—分析指令—按指令規(guī)定內(nèi)容執(zhí)行指令不同指令的操作步驟數(shù)和具體操作內(nèi)容差異很大—檢查有無(wú)中斷請(qǐng)求若無(wú),則轉(zhuǎn)入下一條指令的執(zhí)行過(guò)程形成下一條指令地址指令的執(zhí)行過(guò)程一、指令周期的基本概念1、指令周期:CPU每取出并執(zhí)行一條指令,都要完成一系列的操作,這一系列操作所需用的時(shí)間通常叫做一個(gè)指令周期。2、機(jī)器周期:機(jī)器周期也稱為CPU周期。通常用內(nèi)存中讀取一個(gè)指令字的最短時(shí)間來(lái)規(guī)定CPU周期。指令周期常常用若干個(gè)CPU周期數(shù)來(lái)表示,3、時(shí)鐘周期:一個(gè)CPU周期時(shí)間又包含有若干個(gè)時(shí)鐘周期(通常稱為節(jié)拍脈沖或T周期,它是處理操作的最基本單位)。這些時(shí)鐘周期的總和則規(guī)定了一個(gè)CPU周期的時(shí)間寬度。T周期T1T2T3T4T1T2T3T4指令周期CPU周期取指令CPU周期執(zhí)行指令定長(zhǎng)的CPU周期,取出一條指令并執(zhí)行這條指令需要最少2個(gè)CPU周期,如下圖所示:不定長(zhǎng)CPU周期如下圖:T周期T1T2T3T4T1T2T3T1指令周期CPU周期執(zhí)行指令CPU周期取指令八進(jìn)制地址八進(jìn)制內(nèi)容指令助記符典型指令020250000CLA清除累加器,為非法訪問(wèn)內(nèi)存指令021030000

ADD30加法,為直接訪問(wèn)內(nèi)存指令022021031

STAI31存數(shù),為間接訪問(wèn)內(nèi)存指令023140021

JMP21轉(zhuǎn)移控制指令024000000HLT停機(jī)……030000006031000040……040存和數(shù)單元下面是一個(gè)4條典型指令組成的程序:1、非訪問(wèn)主存取器指令的指令周期

CLA是一條非訪問(wèn)內(nèi)存指令,它需要兩個(gè)CPU周期,其中:取指令階段需要一個(gè)CPU周期,執(zhí)行指令階段需要一個(gè)CPU周期。二、指令周期

在第一個(gè)CPU周期,即取指令階段,CPU完成三件事:(1)從內(nèi)存取出指令;(2)對(duì)程序計(jì)數(shù)器PC加1,以便為取下一條指令做好準(zhǔn)備;(3)對(duì)指令操作碼進(jìn)行譯碼或測(cè)試,以便確定進(jìn)行什么操作。在第二個(gè)CPU周期,即執(zhí)行指令階段,將累加器Ac的內(nèi)容清零。

程序計(jì)數(shù)器PC的內(nèi)容20(八進(jìn)制)被裝入地址寄存器AR;PC(內(nèi)容為020)→AR程序計(jì)數(shù)器內(nèi)容加1,變成21,為取下一條指令做好準(zhǔn)備;PC+1→PC地址寄存器的內(nèi)容被放到地址總線上;AR→ABUS所選存儲(chǔ)器單元20的內(nèi)容經(jīng)過(guò)數(shù)據(jù)總線,傳送到數(shù)據(jù)緩沖寄存器DR;

M(在MEM中單元020的內(nèi)容)→DBUS→DR緩沖寄存器的內(nèi)容傳送到指令寄存器IR;

DR→IR指令寄存器中的操作碼被譯碼或測(cè)試;CPU識(shí)別出是指令CLA,至此,取指令階段即告結(jié)束。取指令階段(第一個(gè)CPU周期,如圖5-5)執(zhí)行指令階段(第二個(gè)CPU周期,如圖5-6)①操作控制器送一控制信號(hào)給算術(shù)邏輯運(yùn)算單元ALU②ALU響應(yīng)該控制信號(hào),將AC的內(nèi)容全部清0,從而執(zhí)行了CLA指令(0→AC)指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+10000202021222324303140CLAADD30STAI31JMP21000040000020CLACLA000021000006指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STAI31JMP21000040000020CLACLA0000210000062、直接訪問(wèn)主存儲(chǔ)器指令的指令周期ADD30指令的指令周期由三個(gè)CPU周期組成:第一個(gè)CPU周期為取指令階段,其過(guò)程與CLA指令完全相同。執(zhí)行指令階段由2個(gè)CPU周期組成:在第二個(gè)CPU周期中將操作數(shù)的地址送往地址寄存器并完成地址譯碼;在第三個(gè)CPU周期中從內(nèi)存取出操作數(shù)并執(zhí)行相加的操作。圖5-7直接訪問(wèn)內(nèi)存指令的指令周期(1)送操作數(shù)地址第二個(gè)CPU周期主要完成送操作數(shù)地址。在此階段,CPU的動(dòng)作只有一個(gè),那就是:把指令寄存器中的地址碼部分(30)裝入地址寄存器(IR→AR),其中30為內(nèi)存中存放操作數(shù)的地址。圖5-8(2)兩操作數(shù)相加第三個(gè)CPU周期主要完成取操作數(shù)并執(zhí)行加法的操作。在此階段,CPU完成如下動(dòng)作(3個(gè)):(1)把地址寄存器中的操作數(shù)的地址(30)發(fā)送到地址總線上,即(AR→ABUS)(2)由存儲(chǔ)器單元30中讀出操作數(shù)(6),并經(jīng)過(guò)數(shù)據(jù)總線傳送到緩沖寄存器,即(M→DBUS→DR)(3)執(zhí)行加操作:由數(shù)據(jù)緩沖寄存器來(lái)的操作數(shù)(6)可送往ALU的一個(gè)輸入端,已等候在累加器內(nèi)的另一個(gè)操作數(shù)(因?yàn)镃LA指令執(zhí)行結(jié)束后累加器內(nèi)容為零)送往ALU的另一輸入端,于是ALU將兩數(shù)相加,產(chǎn)生運(yùn)算結(jié)果為0+6=6。這個(gè)結(jié)果放回累加器,替換了累加器中原先的數(shù)0。(AC+DR→AC)圖5-9算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STAI31JMP21000040000021ADDADD300000210000220000300000060+6=60000060000063、間接訪問(wèn)主存儲(chǔ)器指令的指令周期STAI31指令的指令周期由4個(gè)CPU周期組成,如圖所示。其中,第一個(gè)CPU周期仍然是取指令階段,其過(guò)程和CLA指令、ADD指令完全一樣,只是此階段中程序計(jì)數(shù)器加1后變?yōu)?3,為取第四條指令做好了準(zhǔn)備。下面仍不討論第一個(gè)CPU周期,而討論從第二個(gè)CPU周期開始的指令執(zhí)行階段的各個(gè)操作。假定第一個(gè)CPU周期結(jié)束后,“STAI31”指令已放入指令寄存器并完成譯碼分析。圖5-10間接訪問(wèn)內(nèi)存指令的指令周期(1)送地址指示器在執(zhí)行階段的第一個(gè)CPU周期中,CPU完成的動(dòng)作是:把指令寄存器中地址碼部分的形式地址(31)裝到地址寄存器中,即(IR→AR)。其中數(shù)字31不是操作數(shù)的地址,而是操作數(shù)地址的地址,或者說(shuō)是操作數(shù)地址的指示器。其數(shù)據(jù)通路與圖5.5所示的完全一樣,不同的是數(shù)字31不是操作數(shù)地址。

(2)取操作數(shù)地址

CPU完成如下動(dòng)作:①地址寄存器的內(nèi)容(31)發(fā)送到地址總線上,即(AR→ABUS)。②存儲(chǔ)單元(31)的內(nèi)容(40)讀出到數(shù)據(jù)總線上,即(M→DBUS)。③把數(shù)據(jù)總線上的數(shù)據(jù)(40)裝入地址寄存器,替代了原先的內(nèi)容(31),即(DBUS→AR)。至此,操作數(shù)地址40已取出,并放入到地址寄存器中。圖5-11

(3)存儲(chǔ)和數(shù)

CPU完成如下動(dòng)作:①將累加器的內(nèi)容(6)傳送到數(shù)據(jù)緩沖寄存器DR中,即(AC→DR)。②將地址寄存器的內(nèi)容(40)發(fā)送到地址總線上,40就是要存入的數(shù)據(jù)6的內(nèi)存單元號(hào),即(AR→ABUS)。③將緩沖寄存器的內(nèi)容(6)發(fā)送到數(shù)據(jù)總線上,即(DR→DBUS)。④將數(shù)據(jù)總線上的數(shù)據(jù)寫入所選的存儲(chǔ)器單元中,即將數(shù)據(jù)6寫入內(nèi)存的40號(hào)單元中,即(DBUS→M)。圖5-12算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STAI31JMP21000040000022STASTA40000022000023000040000006000006310000064、程序控制指令的指令周期JMP21轉(zhuǎn)移類指令,可采用直接尋址和間接尋址,以直接尋址為例:JMP有兩個(gè)CPU周期組成,如下圖:取指令PC+1對(duì)指令譯碼送轉(zhuǎn)移地址開始取下條指令一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段取指過(guò)程同CLA

執(zhí)行如下圖所示:圖5-12指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40JMP21000006000023JMP21JMP2100002300002100000600002400002131000040三、用方框圖語(yǔ)言表示指令周期采用方框圖表示:公共操作符號(hào):公操作:一條指令執(zhí)行完畢后CPU所開始進(jìn)行的操作。這些主要是CPU對(duì)外請(qǐng)求的管理,如中斷管理、通道管理等,若沒(méi)請(qǐng)求,CPU將轉(zhuǎn)向內(nèi)存取下一條指令。例:如圖所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IR為指令寄存器,PC為程序計(jì)數(shù)器(具有自增功能),M為主存(受R/W信號(hào)控制),AR為地址寄存器,DR為數(shù)據(jù)緩沖寄存器,ALU由加、減控制信號(hào)決定完成何種操作,控制信號(hào)G控制的是一個(gè)門電路。另外,線上標(biāo)注有小圈表示有控制信號(hào),例中yi表示y寄存器的輸入控制信號(hào),R1o為寄存器R1的輸出控制信號(hào),未標(biāo)字符的線為直通線,不受控制。IRPCARDRR0R1R2R3MABALUIRiIRoPCiPCoARiDRiDRoR0iR0oR3iR3oXiYiA總線B總線G+-R/W1.“ADDR2,R0”指令完成(R0)+(R2)→R0功能操作。假設(shè)該指令的地址已放入PC中。2.“SUBR1,R3”指令完成(R3)-(R1)→R3的功能操作。PC→ARM→DRDR→IRR2→YR0→XR0+R2→R0~PC→ARM→DRDR→IRR3→YR1→XR3+R1→R3~PC0,G,ARiDR0,G,IRiR20,G,YiR00,G,Xi+,G,R0i

R/W=RR3o,G,YiR1o,G,Xi-,G,R3iIRPCARDRR0R1R2R3MABALUIRiIRoPCiPCoARiDRiDRoR0iR0oR3iR3oXiYiG+-R/W5.2.2

時(shí)序產(chǎn)生器一、時(shí)序信號(hào)的作用和體制二、時(shí)序信號(hào)產(chǎn)生器一、時(shí)序信號(hào)的作用和體制CPU中,時(shí)序信號(hào)使計(jì)算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作。當(dāng)計(jì)算機(jī)加電啟動(dòng)后,在時(shí)鐘脈沖作用下,CPU將根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生時(shí)序控制信號(hào),控制計(jì)算機(jī)各個(gè)部件有序地工作。1、時(shí)序信號(hào)的作用

機(jī)器一旦被啟動(dòng),即CPU開始取指令并執(zhí)行指令時(shí),操作控制器就利用定時(shí)脈沖的順序和不同的脈沖間隔,有條理、有節(jié)奏地指揮機(jī)器的動(dòng)作,規(guī)定在這個(gè)脈沖到來(lái)時(shí)做什么,在那個(gè)脈沖到來(lái)時(shí)又做什么,給計(jì)算機(jī)各部分提供工作所需的時(shí)間標(biāo)志。[思考]

用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么CPU是怎樣識(shí)別出它們是數(shù)據(jù)還是指令呢?[答案]CPU能很容易通過(guò)時(shí)序控制信號(hào)從時(shí)間和空間上識(shí)別出是數(shù)據(jù)還是指令。從時(shí)間上來(lái)說(shuō),取指令事件發(fā)生在指令周期的第一個(gè)CPU周期中,即發(fā)生在“取指令”階段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個(gè)CPU周期中,即發(fā)生在“執(zhí)行指令”階段。從空間上來(lái)說(shuō),如果取出的代碼是指令,那么一定送往指令寄存器,如果取出的代碼是數(shù)據(jù),那么一定送往運(yùn)算器。不僅如此,在一個(gè)CPU周期中,又把時(shí)間分為若干個(gè)小段,以便規(guī)定CPU在每一小段時(shí)間里具體進(jìn)行何種操作。這種嚴(yán)格的時(shí)間約束對(duì)CPU是非常必要的,時(shí)間進(jìn)度既不能來(lái)得太早,也不能來(lái)得太晚,否則就可能造成丟失信息或?qū)е洛e(cuò)誤的結(jié)果??傊?,計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而時(shí)間標(biāo)志則是用時(shí)序信號(hào)來(lái)體現(xiàn)的。操作控制器發(fā)出的各種控制信號(hào)一般都是時(shí)間因素(時(shí)序信號(hào))和空間因素(部件位置)的函數(shù)。計(jì)算機(jī)硬件的器件特性決定了:時(shí)序信號(hào)最基本的體制是電位—脈沖制。用這種體制進(jìn)行寄存器之間的數(shù)據(jù)傳送時(shí),具體如下:將數(shù)據(jù)加在觸發(fā)器的電位輸入端,將加入數(shù)據(jù)的控制信號(hào)加在觸發(fā)器的時(shí)鐘輸入端。電位的高低分別表示數(shù)據(jù)1、0。為保證加入到寄存器中的數(shù)據(jù)可靠,必須先建立電位信號(hào),并且要求電位信號(hào)在加入數(shù)據(jù)的控制信號(hào)到來(lái)之前必須已經(jīng)穩(wěn)定。2、時(shí)序信號(hào)的體制

組合邏輯控制器(硬布線控制器)中,時(shí)序信號(hào)往往采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級(jí)體制。主狀態(tài)周期:包含若干個(gè)節(jié)拍電位,可以用一個(gè)觸發(fā)器的狀態(tài)持續(xù)時(shí)間來(lái)表示,是最大的時(shí)間單位。節(jié)拍電位:一個(gè)節(jié)拍電位表示一個(gè)CPU周期時(shí)間,包含若干個(gè)節(jié)拍脈沖,較大的時(shí)間單位。節(jié)拍脈沖:把一個(gè)CPU周期劃分成幾個(gè)較小的時(shí)間間隔,這些間隔可以相等,也可以不等。在微程序控制器中,時(shí)序信號(hào)比較簡(jiǎn)單,一般采用電位-節(jié)拍脈沖二級(jí)體制。一個(gè)節(jié)拍電位表示一個(gè)CPU周期,節(jié)拍脈沖就是時(shí)鐘周期。

二、時(shí)序信號(hào)產(chǎn)生器時(shí)序信號(hào)產(chǎn)生器:就是用邏輯電路實(shí)現(xiàn)上述控制時(shí)序,產(chǎn)生指令周期控制時(shí)序信號(hào)的部件

。從設(shè)計(jì)操作控制器的方法來(lái)講,組合邏輯控制器的時(shí)序電路比較復(fù)雜,而微程序控制器的時(shí)序電路比較簡(jiǎn)單。時(shí)序信號(hào)產(chǎn)生器最基本的結(jié)構(gòu)是一樣的,都是由時(shí)鐘源、環(huán)形脈沖發(fā)生器、節(jié)拍脈沖和讀寫時(shí)序譯碼邏輯、啟??刂七壿嫷炔糠纸M成。時(shí)鐘源:用來(lái)為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定且電平匹配的方波時(shí)鐘脈沖信號(hào)。它通常由石英晶體振蕩器和與非門組成的正反饋振蕩電路組成,其輸出送至環(huán)形脈沖發(fā)生器。1、時(shí)鐘源時(shí)序脈沖發(fā)生器和啟??刂茣r(shí)序脈沖發(fā)生器就是根據(jù)時(shí)鐘產(chǎn)生一定頻率的節(jié)拍脈沖信號(hào)作為整個(gè)機(jī)器工作的時(shí)序信號(hào);啟??刂齐娐肥潜WC在適當(dāng)?shù)臅r(shí)刻準(zhǔn)確可靠地開啟或封鎖計(jì)算機(jī)工作時(shí)鐘,以控制微操作命令序列的產(chǎn)生或停止,從而啟動(dòng)或停止計(jì)算機(jī)的運(yùn)行。通常用訪問(wèn)一次主存取指或取數(shù)據(jù)的時(shí)間來(lái)作為機(jī)器周期的基本時(shí)間。機(jī)器周期確定后,每一機(jī)器周期的節(jié)拍與時(shí)鐘數(shù)、機(jī)器的主頻也就基本確定了??刂破鞯臅r(shí)鐘輸入實(shí)際上是節(jié)拍脈沖序列,其頻率即為機(jī)器的主頻。環(huán)形脈沖發(fā)生器的作用:是產(chǎn)生一組有序的間隔相等或不等的脈沖序列,以便通過(guò)譯碼電路來(lái)產(chǎn)生最后所需的節(jié)拍脈沖。環(huán)形脈沖發(fā)生器有2種形式:一種是采用普通計(jì)數(shù)器構(gòu)成;另一種采用循環(huán)移位寄存器構(gòu)成。為了在節(jié)拍脈沖上不帶干擾毛刺,環(huán)形脈沖發(fā)生器通常采用循環(huán)移位寄存器形式2、環(huán)形脈沖發(fā)生器與時(shí)序信號(hào)譯碼環(huán)形脈沖發(fā)生器與譯碼邏輯12345678910Φc1c2c3c4MREQ’RD’WE’T1T2T3T4RDWECPU周期CPU周期MREQ’、RD’、WE’等取自微程序存儲(chǔ)器12345678910Φc1c2c3c4MREQ’RD’WE’T1T2T3T4RDWECPU周期CPU周期3、節(jié)拍脈沖和讀/寫時(shí)序的譯碼由圖5-18可知,一個(gè)CPU周期是由T01、T02、T03、T04順序組成的,下一個(gè)CPU周期又按固定的時(shí)間關(guān)系,重復(fù)T01、T02、T03、T04的先后次序,以供給機(jī)器工作時(shí)所需的原始節(jié)拍脈沖。讀/寫時(shí)序信號(hào)的譯碼邏輯表達(dá)式為:

RD0=C2﹒RD’

,WE0=C3﹒WE’MREQ0=C2﹒MREQ’

,IORQ0=C2﹒IORQ’

圖5.17的上半部示出了節(jié)拍脈沖和讀/寫時(shí)序的譯碼邏輯。假設(shè)在一個(gè)CPU周期中產(chǎn)生四個(gè)等間隔的節(jié)拍脈沖,那么其譯碼邏輯可表示為:T01=C1C2,T02=C2C3,T03=C3,T04=C1其中RD0、WE0和MREQ0信號(hào)配合后可進(jìn)行存儲(chǔ)器的讀/寫操作;而RD0

、WE0和IORQ0信號(hào)配合后可進(jìn)行外圍設(shè)備的讀/寫操作。表達(dá)式右邊帶撇號(hào)的RD’、WE’、MREQ’和IORQ’是來(lái)自微程序控制器的控制信號(hào),它們都是持續(xù)時(shí)間為一個(gè)CPU周期的節(jié)拍電位信號(hào)。讀/寫時(shí)序信號(hào)RD0

、WE0

、MREQ0

、IORQ0是受到控制的,它們只有在等式右邊帶撇號(hào)的控制信號(hào)有效后才能產(chǎn)生,而不能像原始節(jié)拍脈沖T01~T04那樣,一旦加上電源后就會(huì)自動(dòng)產(chǎn)生。機(jī)器一旦接通電源,就會(huì)自動(dòng)產(chǎn)生原始的節(jié)拍脈沖信號(hào)T01~T04。但是只有在啟動(dòng)機(jī)器運(yùn)行的情況下,才允許時(shí)序產(chǎn)生器發(fā)出CPU工作時(shí)所需的節(jié)拍脈沖T1~T4。4、啟??刂七壿嫗榇诵枰蓡⑼?刂七壿媮?lái)控制原始信號(hào)T01~T04的發(fā)送。同樣,對(duì)讀/寫時(shí)序信號(hào)也需要由啟??刂七壿嫾右钥刂?。啟??刂七壿嫷暮诵氖且粋€(gè)運(yùn)行標(biāo)志觸發(fā)器(Cr),如圖5.19所示。當(dāng)運(yùn)行觸發(fā)器為“1”時(shí),原始節(jié)拍脈沖T01~T04和讀/寫時(shí)序信號(hào)RD、WE、MREQ通過(guò)門電路發(fā)送出去,變成CPU真正需要的節(jié)拍脈沖信號(hào)T1~T4和讀/寫時(shí)序RD、WE、MREQ;當(dāng)運(yùn)行觸發(fā)器為“0”時(shí),關(guān)閉時(shí)序產(chǎn)生器。圖5-19啟??刂七壿媹D5.19中,在Cr觸發(fā)器下面加上一個(gè)RS觸發(fā)器,而且用T04信號(hào)作為Cr觸發(fā)器的時(shí)鐘控制端,這樣就可以保證在T1的前沿開啟時(shí)序產(chǎn)生器,而在T4的后沿關(guān)閉時(shí)序產(chǎn)生器。5.2.3CPU的控制方式控制方式:形成控制不同操作序列的時(shí)序信號(hào)的方法。其實(shí)質(zhì)反映了時(shí)序信號(hào)的定時(shí)方式。常用的有同步控制、異步控制、聯(lián)合控制三種方式。所謂同步控制方式,是指在任何情況下,給定的指令在執(zhí)行時(shí)所需的機(jī)器周期數(shù)和時(shí)鐘周期數(shù)都固定不變的控制方式。一、同步控制方式根據(jù)不同情況,同步控制方式可選取如下方案:(1)采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。這要求計(jì)算機(jī)系統(tǒng)所有指令的指令周期都具有相同的節(jié)拍電位數(shù)和相同的節(jié)拍脈沖數(shù)。這種方法對(duì)簡(jiǎn)單指令和簡(jiǎn)單的操作來(lái)講,必然造成時(shí)間浪費(fèi)。(2)采用不定長(zhǎng)機(jī)器周期。將大多數(shù)操作安排在一個(gè)較短的機(jī)器周期內(nèi)完成,對(duì)某些時(shí)間緊張的操作,則采取延長(zhǎng)機(jī)器周期的辦法來(lái)解決。(3)中央控制與局部控制結(jié)合。將大部分指令安排在固定的機(jī)器周期內(nèi)完成,稱為中央控制;對(duì)少數(shù)復(fù)雜指令(乘、除、浮點(diǎn)運(yùn)算等)采用另外的時(shí)序進(jìn)行定時(shí),稱為局部控制。其特點(diǎn)是:每條指令、每個(gè)操作控制信號(hào)需要多少時(shí)間就占用多少時(shí)間。這意味著每條指令的指令周期可由多少不等的機(jī)器周期數(shù)組成;也可以是當(dāng)控制器發(fā)出某一操作控制信號(hào)后,等待執(zhí)行部件完成操作后發(fā)“回答”信號(hào),再開始新的操作。顯然,用這種方式形成的操作控制序列沒(méi)有固定的CPU周期數(shù)(節(jié)拍電位)或嚴(yán)格的時(shí)鐘周期(節(jié)拍脈沖)與之同步。異步控制方式的優(yōu)點(diǎn)是運(yùn)行速度快,其缺點(diǎn)是控制電路比較復(fù)雜。二、異步控制方式所謂聯(lián)合控制方式,就是指同步控制和異步控制相結(jié)合的方式。有2種實(shí)現(xiàn)方法:①大部分操作序列安排在固定的機(jī)器周期中,對(duì)某些時(shí)間難以確定的操作則以執(zhí)行部件的“回答”信號(hào)作為本次操作的結(jié)束。例如,CPU訪問(wèn)主存或者I/O端口時(shí),依靠主存或者I/O發(fā)回CPU的有效“READY”信號(hào)作為讀/寫周期的結(jié)束。②機(jī)器周期的節(jié)拍脈沖數(shù)是固定的,但是各條指令周期的機(jī)器周期數(shù)卻是不固定的。下一節(jié)要講到的微程序控制就是采用這種方法。聯(lián)合控制方式的優(yōu)點(diǎn)是能保證一定的運(yùn)行速度,其缺點(diǎn)是控制電路設(shè)計(jì)相對(duì)比較復(fù)雜。三、聯(lián)合控制方式5.3微程序設(shè)計(jì)技術(shù)和微程序控制器微程序設(shè)計(jì)技術(shù)是利用軟件方法進(jìn)行硬件設(shè)計(jì)的一門技術(shù)。采用微程序設(shè)計(jì)思想的微程序控制器,同組合邏輯控制器相比較,具有規(guī)整、靈活、易維護(hù)等一系列優(yōu)點(diǎn)。在計(jì)算機(jī)設(shè)計(jì)中,普遍采用微程序設(shè)計(jì)的控制器取代早期采用的組合邏輯控制器。微程序控制的基本思想1.若干微命令編制成一條微指令,控制實(shí)現(xiàn)一步操作;2.若干微指令組成一段微程序,解釋執(zhí)行一條機(jī)器指令;3.微程序事先存放在控制存儲(chǔ)器中,執(zhí)行機(jī)器指令時(shí)再取出。微程序控制的基本思想:就是按照設(shè)計(jì)解題程序的思路,把操作控制信號(hào)編成微指令,并將微指令代碼存放到只讀存儲(chǔ)器里;當(dāng)機(jī)器運(yùn)行時(shí),一條一條地讀出這些微指令,產(chǎn)生計(jì)算機(jī)所需要的各種操作控制信號(hào),使相應(yīng)部件執(zhí)行規(guī)定的操作。5.3.1

微程序設(shè)計(jì)技術(shù)一條指令功能:是由控制部件通過(guò)控制線向執(zhí)行部件發(fā)出各種控制命令;執(zhí)行部件接受命令后,按一定次序執(zhí)行一系列最基本操作完成的。這些控制命令通常稱為微命令,而這些最基本的操作稱為微操作。1.微程序設(shè)計(jì)技術(shù)的基本概念微操作:指令執(zhí)行時(shí)必須完成的基本操作。例如,PC→AR,PC+1→PC,RAM→IR。微命令:是組成微指令的最小單位,也就是控制微操作實(shí)現(xiàn)的控制信號(hào)。一般用于控制數(shù)據(jù)通路上門的打開/關(guān)閉,或者功能選擇。微指令:是一組微命令的集合,用于完成一個(gè)功能相對(duì)完整的操作。微程序:微指令的有序集合,用于實(shí)現(xiàn)機(jī)器指令的功能??刂拼鎯?chǔ)器:是存放微程序的存儲(chǔ)器。該存儲(chǔ)器主要存放控制命令和下一條執(zhí)行的微指令地址。1.主要部件(1)控制存儲(chǔ)器CM功能:微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲(chǔ)器CM譯碼器微命令序列微命令字段微地址字段μIR存放微程序。CM屬于CPU,不屬于主存儲(chǔ)器??刂拼鎯?chǔ)器CM(2)微指令寄存器μIR功能:微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲(chǔ)器CM譯碼器微命令序列微命令字段微地址字段μIR存放現(xiàn)行微指令。微命令字段:提供一步操作所需的微命令。微地址字段:指明后續(xù)微地址的形成方式。提供微地址的給定部分。(微操作控制字段)(順序控制字段)微命令字段微地址字段μIRa)操作控制部分:用來(lái)發(fā)出指揮計(jì)算機(jī)工作的控制信號(hào)。可以用操作字段的每一位表示一個(gè)微命令,位信息為“1”表示發(fā)出微命令;位信息為“0”表示不發(fā)出微命令。微命令信號(hào)既不能來(lái)得太早,也不能來(lái)得太晚,為此要求這些微命令信號(hào)還要加入時(shí)間控制。2.微指令基本結(jié)構(gòu)(1)微指令的基本格式2.微指令基本結(jié)構(gòu)(1)微指令的基本格式b)順序控制部分:用來(lái)決定產(chǎn)生下一條微指令的地址。順序控制字段的若干位直接給出下一條微指令的地址,其余各位則做為判別測(cè)試狀態(tài)的標(biāo)志,如標(biāo)志為“0”表示不進(jìn)行判別測(cè)試,直接按順序控制字段給出的地址取下一條微指令;若標(biāo)志為“1”表示要進(jìn)行判別測(cè)試,根據(jù)測(cè)試結(jié)果,按要求修改相應(yīng)的地址位信息,并按修改后的地址取下一條微指令。微地址形成電路(3)微地址形成電路功能:IRPSWPC微地址寄存器

μAR控制存儲(chǔ)器CM譯碼器微命令序列微命令字段微地址字段μIR提供兩類微地址微程序入口地址:由機(jī)器指令操作碼形成。后續(xù)微地址:由微地址字段、現(xiàn)行微地址、運(yùn)行狀態(tài)等形成。微地址形成電路微地址形成電路2.工作過(guò)程(1)取機(jī)器指令CM取指微指令μIR微命令字段譯碼器微命令主存機(jī)器指令I(lǐng)R微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲(chǔ)器CM譯碼器微命令序列微命令字段微地址字段μIR取指微指令控制存儲(chǔ)器取指微指令微命令字段微地址字段譯碼器微命令序列控制存儲(chǔ)器微命令字段微地址字段譯碼器微命令序列(2)轉(zhuǎn)微程序入口IR操作碼微地址形成電路微程序入口μAR微命令字段CM首條微指令(3)執(zhí)行首條微指令μIRμIR譯碼器微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲(chǔ)器CM譯碼器微命令序列微命令字段微地址字段μIR取指微指令控制存儲(chǔ)器取指微指令微命令字段微地址字段譯碼器微命令序列IR控制存儲(chǔ)器微命令字段微地址字段譯碼器微命令序列微地址形成電路IR微地址寄存器微地址形成電路控制存儲(chǔ)器微地址寄存器微命令字段微地址字段控制存儲(chǔ)器微命令字段微地址字段微命令操作部件(4)取后續(xù)微指令微地址字段現(xiàn)行微地址運(yùn)行狀態(tài)微地址形成電路后續(xù)微地址μARCM后續(xù)微指令μIR微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲(chǔ)器CM譯碼器微命令序列微命令字段微地址字段μIR微命令字段微地址字段PSW微地址寄存器微地址形成電路微命令字段微地址字段PSW微地址寄存器微地址寄存器微地址形成電路微地址寄存器(5)執(zhí)行后續(xù)微指令同(3)微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲(chǔ)器CM譯碼器微命令序列微命令字段微地址字段μIR微命令字段微地址字段PSW微地址寄存器微地址形成電路微命令字段微地址字段PSW微地址寄存器微地址寄存器微地址形成電路微地址寄存器(6)返回微程序執(zhí)行完,返回CM中存放取指微指令的固定單元。在串行方式的微程序控制器中:微指令周期=讀出微指令的時(shí)間+執(zhí)行該條微指令的時(shí)間為保證整個(gè)機(jī)器控制信號(hào)的同步,可將一個(gè)微指令周期時(shí)間設(shè)計(jì)得恰好和一個(gè)CPU周期時(shí)間相等。圖5-21示出了某小型機(jī)中CPU周期與微指令周期的時(shí)間關(guān)系:(2)微指令周期與CPU周期的關(guān)系一個(gè)CPU周期包含四個(gè)等間隔的節(jié)拍脈沖T1~T4,每個(gè)脈沖寬度為200ns。用T4作為讀取微指令的時(shí)間,用T1+T2+T3時(shí)間作為執(zhí)行微指令的時(shí)間。分析:例如在前600ns時(shí)間內(nèi)運(yùn)算器進(jìn)行運(yùn)算,600ns時(shí)間結(jié)束時(shí)運(yùn)算器已運(yùn)算完,用T4上升沿將運(yùn)算結(jié)果送入寄存器,同時(shí)可用T4間隔讀取下條微指令,經(jīng)200ns的延遲,下條微指令又從控制存儲(chǔ)器讀出,并在T1上升沿輸入到微指令寄存器中。若忽略觸發(fā)器的翻轉(zhuǎn)延遲,則下條微指令的微命令信號(hào)就從T1上升沿起開始有效,直到下一條微指令讀出后并輸入到微指令寄存器為止,這樣一條微指令的時(shí)間恰好是800ns。因此,一條微指令的時(shí)間就是一個(gè)CPU周期的時(shí)間。分析①一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,一個(gè)微程序?qū)?yīng)若干條微指令序列。②指令、程序和地址是與主存儲(chǔ)器有關(guān)微指令、微程序和微地址是與控制存儲(chǔ)器有關(guān)。③一個(gè)CPU周期對(duì)應(yīng)一條微指令,上次所講的4條典型的指令的指令周期圖,也是微程序的流程圖。(3)微指令與機(jī)器指令的關(guān)系關(guān)系圖:3、微程序的設(shè)計(jì)技術(shù)

微程序設(shè)計(jì)的關(guān)鍵是微指令結(jié)構(gòu)的設(shè)計(jì),所考慮的問(wèn)題是:①如何縮短微指令字的長(zhǎng)度②如何減小控制存儲(chǔ)器的容量③如何減少程序的長(zhǎng)度④如何提高微程序的執(zhí)行速度⑤如何易于修改微指令⑥如何增加微程序設(shè)計(jì)的靈活性

(1)微指令的編碼譯碼控制方法微指令由控制字段和順序控制字段組成。微命令編碼、譯碼控制方法:就是對(duì)微指令中的操作控制字段進(jìn)行編碼表示,并且給出操作控制信號(hào)的方法。通常有以下5種方法:1)位直接控制法采用位直接控制法的微指令結(jié)構(gòu)如圖所示。在微指令的控制字段中,每一位表示一個(gè)微命令。在設(shè)計(jì)微指令時(shí),是否發(fā)出某個(gè)微命令,只要將微指令控制字段中相應(yīng)位置成“1”或“0”,即打開對(duì)應(yīng)控制門,便可發(fā)出或禁止某個(gè)微命令。優(yōu)點(diǎn):是簡(jiǎn)單直觀,其輸出直接用于控制。缺點(diǎn):是微指令字較長(zhǎng),因而使控制存儲(chǔ)器容量較大。測(cè)試標(biāo)志順序地址操作控制部分順序控制部分控制信號(hào)W/RS1-S0下一條微指令地址2)字段直接譯碼控制法如果在若干個(gè)(一組)微命令中,在選擇使用它們的微周期內(nèi),每次只能有一個(gè)微命令有效,則這一組微命令是互相排斥的。字段直接譯碼控制法就是把一組相斥性的微命令信號(hào)組成一個(gè)字段(一個(gè)小組),然后通過(guò)字段譯碼器對(duì)每一個(gè)微命令信號(hào)進(jìn)行譯碼,譯碼輸出作為操作控制信號(hào)。采用該方法,可以用較小的二進(jìn)制信息位表示較多的微命令信號(hào)。3)字段間接譯碼控制法是在字段直接譯碼控制法的基礎(chǔ)上,進(jìn)一步縮短微指令字長(zhǎng)的方法。若在字段直接譯碼控制法中規(guī)定一個(gè)字段的某些命令由另一個(gè)字段中的某些微命令來(lái)解釋,則這種方法稱為字段間接譯碼控制法,如圖所示。4)混合編碼譯碼控制法這種方法是將位直接控制法與字段譯碼控制法混合使用的方法,能綜合考慮微指令字長(zhǎng)、靈活性和執(zhí)行微程序速度等方面的要求。5)常數(shù)字段控制法這種方法在微指令中附設(shè)一個(gè)常數(shù)字段,就象指令中的立即數(shù)一樣,用它來(lái)給某些執(zhí)行部件直接發(fā)送常數(shù)。該常數(shù)有時(shí)作為操作數(shù)送入ALU參加運(yùn)算,有時(shí)也作為計(jì)數(shù)器的初值來(lái)控制微程序循環(huán)次數(shù)。例:某32位機(jī)共有微操作控制信號(hào)52個(gè),構(gòu)成5個(gè)相斥類的微命令組,各組分別包含4個(gè),5個(gè),8個(gè)15個(gè)可20個(gè)微命令,已知可判定的外部條件有CY和ZF兩個(gè),微指令字長(zhǎng)29位。

(1)給出采用斷定方式的水平型微指令格式

(2)控制存儲(chǔ)器器的容量應(yīng)為多少位?(2)控制存儲(chǔ)器器的容量為:28×29=256×29位D28~D26D25~D23D22~D19D18~D15D14~D10D9D8D7~D04個(gè)微命令5個(gè)微命令8個(gè)微命令15個(gè)微命令20個(gè)微命令條件測(cè)試字段下一地址字段3位3位4位4位5位2位8位

(2)微地址的產(chǎn)生及微程序流的控制當(dāng)前正在執(zhí)行的微指令,稱為現(xiàn)行微指令?,F(xiàn)行微指令所在的控制存儲(chǔ)器單元的地址稱為現(xiàn)行微地址?,F(xiàn)行微指令執(zhí)行完畢后,下一條要執(zhí)行的微指令稱為后繼微指令。后繼微指令所在的控制存儲(chǔ)器單元地址稱為后繼微地址。所謂微程序流的控制是當(dāng)現(xiàn)行微指令執(zhí)行完畢后,控制產(chǎn)生后繼微指令的后繼微地址的過(guò)程。通常,產(chǎn)生后繼微地址有3種方法。1)計(jì)數(shù)器方式2)增量方式與斷定方式相結(jié)合的方法3)多路轉(zhuǎn)移方式1)計(jì)數(shù)器方式

與使用程序計(jì)數(shù)器產(chǎn)生機(jī)器指令地址的方法類似:在順序執(zhí)行微指令時(shí),后繼微地址由現(xiàn)行微地址加上一個(gè)增量來(lái)產(chǎn)生;在非順序執(zhí)行微指令時(shí),必須通過(guò)轉(zhuǎn)移方式,使現(xiàn)行微指令執(zhí)行后,轉(zhuǎn)去執(zhí)行指定的后繼微地址的下一條微指令。在這種方法中,微地址寄存器通常改為計(jì)數(shù)器,順序執(zhí)行的微指令序列必須安排在控制存儲(chǔ)器的連續(xù)單元中。計(jì)數(shù)器方式的基本特點(diǎn)是:微指令的順序控制字段較短,微地址產(chǎn)生機(jī)構(gòu)簡(jiǎn)單。但是多路并行轉(zhuǎn)移功能較弱,速度較慢,靈活性較差。2)增量方式與斷定方式相結(jié)合的方法這種方法將微指令順序控制部分分成兩部分:條件選擇字段和轉(zhuǎn)移地址字段。當(dāng)微程序轉(zhuǎn)移時(shí),將轉(zhuǎn)移地址送微程序計(jì)數(shù)器(μPC),否則順序執(zhí)行下一條微指令(μPC加l)。圖5.25增量方式與斷定方式結(jié)合形成微地址的示意圖。3)多路轉(zhuǎn)移方式一條微指令具有多個(gè)轉(zhuǎn)移分支功能的情況稱為多路轉(zhuǎn)移。例如,“取指”微指令根據(jù)操作碼OP產(chǎn)生多路微程序分支而形成多個(gè)微地址。在多路轉(zhuǎn)移方式中,當(dāng)微程序不產(chǎn)生分支時(shí),后繼微地址直接由微指令的順序控制字段給出;當(dāng)微程序出現(xiàn)分支時(shí),將有若干個(gè)候選微地址可供選擇,按順序控制字段的“判別測(cè)試”標(biāo)志和“狀態(tài)條件”信息來(lái)選擇其中一個(gè)微地址。3)多路轉(zhuǎn)移方式“判別測(cè)試”有n位標(biāo)志,可實(shí)現(xiàn)微程序2的n次方路轉(zhuǎn)移,涉及微地址寄存器的n位。多路轉(zhuǎn)移方式的特點(diǎn)是:能以較短的順序控制字段配合,實(shí)現(xiàn)多路并行轉(zhuǎn)移,靈活性好,速度較快,但轉(zhuǎn)移地址邏輯需要用組合邏輯方法設(shè)計(jì)。大體分成兩類:水平型微指令和垂直型微指令。(3)微指令的格式1)水平型微指令:一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令。采用直接控制法進(jìn)行編碼的,屬于水平型微指令的典型例子。水平型微指令的一般格式如下:按照控制字段的編碼方法的不同,水平型微指令又分為三種:全水平型(不譯法)微指令、字段譯碼法水平型微指令、直接和譯碼相混合的水平型微指令。2)垂直型微指令:設(shè)置微操作碼字段時(shí),采用微操作碼編譯法來(lái)規(guī)定微指令的功能的微指令。垂直型微指令的結(jié)構(gòu)類似于機(jī)器指令的結(jié)構(gòu),有操作碼,在一條微指令中只有1~2個(gè)微操作命令,每條微指令的功能簡(jiǎn)單。因此,實(shí)現(xiàn)一條機(jī)器指令的微程序要比水平型微指令編寫的微程序長(zhǎng)得多。它采用較長(zhǎng)的微程序結(jié)構(gòu)來(lái)?yè)Q取較短的微指令結(jié)構(gòu)。(教程P185)下面舉4條垂直型微指令的微指令格式加以說(shuō)明。設(shè)微指令字長(zhǎng)為16位,微操作碼3位。(1)寄存器-寄存器傳送型微指令功能:把源寄存器數(shù)據(jù)送目標(biāo)寄存器。13—15位為微操作碼(下同),源寄存器和目標(biāo)寄存器編址各5位,可指定31個(gè)寄存器。(2)運(yùn)算控制型微指令功能:選擇ALU的左、右兩輸入源信息,按ALU字段所指定的運(yùn)算功能(8種操作)進(jìn)行處理,并將結(jié)果送入暫存器中。左、右輸入源編址可指定31種信息源之一。000源寄存器編址目標(biāo)寄存器編址其他151312873200000右輸入源編址左輸入源編址AL能:根據(jù)測(cè)試對(duì)象的狀態(tài)決定是轉(zhuǎn)移到D所指定的微地址單元,還是順序執(zhí)行下一條微指令。9位D字段不足以表示一個(gè)完整的微地址,但可以用來(lái)替代現(xiàn)行μPC的低位地址。測(cè)試條件字段有4位,可規(guī)定16種測(cè)試條件。(3)訪問(wèn)主存微指令功能:將主存中一個(gè)單元的信息送入寄存器或者將寄存器的數(shù)據(jù)送往主存。存儲(chǔ)器編址是指按規(guī)定的尋址方式進(jìn)行編址。第1,2位指定讀操作或?qū)懖僮?取其之一)。(4)條件轉(zhuǎn)移微指令010寄存器編址存儲(chǔ)器編址其他1513128732210000D測(cè)試條件1513124303)水平型微指令與垂直型微指令的比較A.水平型微指令并行操作能力強(qiáng)而且高效靈活,而垂直型微指令并行操作能力低且效率低。水平型微指令中,設(shè)置有能控制信息傳送通路以及進(jìn)行所有操作的微命令,在設(shè)計(jì)微程序時(shí),可以同時(shí)定義比較多的并行操作的微命令,來(lái)控制盡可能多的并行信息傳送。因此,水平型微指令具有效率高及靈活性強(qiáng)的優(yōu)勢(shì);而垂直型微指令一般只能完成一個(gè)操作,控制一兩個(gè)信息傳送通路,因此,微指令的并行操作能力低,效率也低。B.水平型微指令執(zhí)行時(shí)間短,垂直型微指令執(zhí)行時(shí)間長(zhǎng)。由于水平型微指令的并行操作能力強(qiáng),因此,可以用較少的微指令數(shù)來(lái)實(shí)現(xiàn)一條指令的功能,從而縮短了指令的執(zhí)行時(shí)間,而且執(zhí)行一條微指令時(shí),水平型微指令的微命令一般能直接控制控制對(duì)象;垂直型微指令要經(jīng)過(guò)譯碼才能控制被控對(duì)象,這也會(huì)影響速度。C.由水平型微指令解釋指令的微程序,微指令字比較長(zhǎng),但微程序短;而垂直型微指令的微指令字比較短而微程序長(zhǎng)。D.水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,用戶比較容易掌握。水平型微指令與機(jī)器指令差別很大,一般需要對(duì)機(jī)器的結(jié)構(gòu)、數(shù)據(jù)通路、時(shí)序系統(tǒng)以及微命令很精通才能設(shè)計(jì)。3)水平型微指令與垂直型微指令的比較串行微程序控制

(4)串行微程序控制和并行微程序控制方式①串行微程序控制方式在串行微程序控制方式中,執(zhí)行現(xiàn)行微指令的操作與取下一條微指令的操作在時(shí)間上是按順序進(jìn)行的,所以微指令周期=取微指令的時(shí)間+執(zhí)行微操作的時(shí)間,即等于只讀存儲(chǔ)器的讀數(shù)周期。串行微程序控制的微指令周期較長(zhǎng),但控制簡(jiǎn)單,形成微地址的硬部件比較少。并行微程序控制②并行微程序控制方式就是將取微指令和執(zhí)行微指令這兩類操作在時(shí)間上重疊并行進(jìn)行的方式。由于取微指令和執(zhí)行微指令的操作是在兩個(gè)完全不同的部件中執(zhí)行的,因此,可以將這兩部分操作同時(shí)進(jìn)行,以縮短微指令周期。并行微程序控制可以縮短微指令周期,但是為了不影響本條微指令的正確執(zhí)行,需要增加一個(gè)微指令寄存器,用以暫存下一條微指令。其次,當(dāng)微程序出現(xiàn)轉(zhuǎn)移時(shí),需要解決如何確定下一條微指令地址。微程序設(shè)計(jì)有靜態(tài)微程序設(shè)計(jì)和動(dòng)態(tài)微程序設(shè)計(jì)之分。若計(jì)算機(jī)的機(jī)器指令只有一組微程序,而且這一組微程序設(shè)計(jì)好之后,一般無(wú)需改變而且也不易改變,那么這種微程序設(shè)計(jì)稱為靜態(tài)微程序設(shè)計(jì)。當(dāng)采用EPROM作為控制存儲(chǔ)器時(shí),可以通過(guò)改變微指令和微程序來(lái)改變機(jī)器的指令系統(tǒng),這種微程序設(shè)計(jì)稱為動(dòng)態(tài)微程序設(shè)計(jì)。(5)動(dòng)態(tài)微程序設(shè)計(jì)毫微程序是用以解釋微程序的一種微程序,因此組成毫微程序的毫微指令就可看作是解釋微指令的微指令。采用毫微程序設(shè)計(jì)的主要目的是減少控制存儲(chǔ)器的容量。采用的是兩級(jí)微程序設(shè)計(jì)方法。通常第一級(jí)采用垂直微程序,第二級(jí)采用水平微程序。(6)毫微程序設(shè)計(jì)

4.微程序設(shè)計(jì)語(yǔ)言所謂微程序設(shè)計(jì)語(yǔ)言就是設(shè)計(jì)者專門用來(lái)編制微程序的語(yǔ)言,用微程序設(shè)計(jì)語(yǔ)言編制的程序稱為源微程序。源微程序不能直接裝入控制存儲(chǔ)器,必須轉(zhuǎn)換成二進(jìn)制代碼后才能裝入控制存儲(chǔ)器。將源微程序翻譯成二進(jìn)制代碼的程序稱為微編譯程序。5.3.2微程序控制器主要三大塊組成:控制存儲(chǔ)器、微指令寄存器(微地址寄存器和微命令寄存器)和地址轉(zhuǎn)移邏輯。控制存儲(chǔ)器用來(lái)存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀存儲(chǔ)器。一旦微程序固化,機(jī)器運(yùn)行時(shí)則只讀不寫。(1)控制存儲(chǔ)器其工作過(guò)程是:每讀出一條微指令,則執(zhí)行這條微指令;接著又讀出下一條微指令,又執(zhí)行這一條微指令……。讀出一條微指令并執(zhí)行微指令的時(shí)間總和稱為一個(gè)微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只讀存儲(chǔ)器的工作周期??刂拼鎯?chǔ)器的字長(zhǎng)就是微指令字的長(zhǎng)度,其存儲(chǔ)容量視機(jī)器指令系統(tǒng)而定,即取決于微程序的數(shù)量。

(2)

微指令寄存器

微指令寄存器用來(lái)存放由控制存儲(chǔ)器讀出的一條微指令信息。其中微地址寄存器決定將要訪問(wèn)的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測(cè)試字段的信息。在一般情況下,微指令由控制存儲(chǔ)器讀出后直接給出下一條微指令的地址,通常簡(jiǎn)稱微地址,這個(gè)微地址信息就存放在微地址寄存器中。(3)地址轉(zhuǎn)移邏輯如果微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。當(dāng)微程序出現(xiàn)分支時(shí),意味著微程序出現(xiàn)條件轉(zhuǎn)移。在這種情況下,通過(guò)判別測(cè)試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。地址轉(zhuǎn)移邏輯就承擔(dān)自動(dòng)完成修改微地址的任務(wù)。微程序控制器——微程序舉例ALUR1R2R3Cy+

-MDR468579123例:R1=3R2=5R1+R2->R31、控4=1,R1->多路開關(guān)->X

控7=1,R2->多路開關(guān)->Y2、控+=1,ALU完成3+53、控3=13+5->R3微指令的格式:.......................123

4

567891011121314151617181920212223LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制微程序控制器——微程序舉例舉例:“十進(jìn)制加法”指令的微程序控制的過(guò)程。十進(jìn)制加法”指令的功能是用BCD碼來(lái)完成十進(jìn)制數(shù)的加法運(yùn)算。在十進(jìn)制運(yùn)算時(shí),當(dāng)相加二數(shù)之和大于9時(shí),便產(chǎn)生進(jìn)位,要進(jìn)行加6修正;當(dāng)相加二數(shù)之和小于等于9時(shí),結(jié)果是正確的。

假定數(shù)a和b已存放在R1和R2兩寄存器中,數(shù)6存放在R3寄存器中。算法要求先進(jìn)行a+b+6運(yùn)算,然后判斷結(jié)果有無(wú)進(jìn)位;當(dāng)進(jìn)位標(biāo)志Cy=1不減6,當(dāng)Cy=0,減6,從而可以獲得正確的結(jié)果。用BCD碼完成A+B運(yùn)算1、A=1000B=1001

1000+100110001有進(jìn)位,修正為:

10001+

0110101112、A=0110B=1000A+B+6=10100有進(jìn)位,正確3、A+B+6=1101無(wú)進(jìn)位,錯(cuò)誤,修正:

1101-01100111PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2RD0000000010101001000000010000Cy≠0Cy=0微程序流程圖~第一條微指令00000000000011111100000123

4

567891011121314151617181920212223LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制操作控制字段有五個(gè)微命令:第16位發(fā)出LDAR’,將PC內(nèi)容送到地址寄存器AR;第13位發(fā)出RD’,第14位發(fā)出LDDR’,于是內(nèi)存執(zhí)行讀操作,從內(nèi)存取出“十進(jìn)制加法”指令放到DR中,第15位發(fā)出LDIR’,將DR中的指令再送到指令寄存器IR中,第17位發(fā)出PC+1微命令,是程序計(jì)數(shù)器加1,做好取下一條機(jī)器指令的準(zhǔn)備。PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2RD0000000010101001000000010000Cy≠0Cy=0微程序流程圖~第二條微指令01010010010000000001001123

4

567891011121314151617181920212223LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2RD0000000010101001000000010000Cy≠0Cy=0微程序流程圖~第三條微指令01000100110000000010000123

4

567891011121314151617181920212223LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2RD0000000010101001000000010000Cy≠0Cy=0微程序流程圖~第四條微指令01000100100100000000000123

4

567891011121314151617181920212223LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2RD0000000010101001000000010000Cy≠0Cy=0微程序流程圖~以上是由四條微指令序列組成的簡(jiǎn)單微程序,從這個(gè)簡(jiǎn)單的控制模型中,我們就可以看到為程序控制的主要思想及大概過(guò)程。2.微程序控制器AM2910位片式大規(guī)模集成電路芯片AM2910,就是微程序控制器的核心部件,主要功能是控制產(chǎn)生下一條微指令地址。命令譯碼器的輸出有三個(gè)使能控制信號(hào)(PL、MAP、VECT),用來(lái)確定直接輸入信號(hào)D的來(lái)源:①當(dāng)PL為有效的低電平時(shí),D來(lái)源于微指令的下地址字段,D用來(lái)實(shí)現(xiàn)微程序的轉(zhuǎn)移;②當(dāng)MAP有效時(shí),D來(lái)源于控制存儲(chǔ)器,D用于實(shí)現(xiàn)從機(jī)器指令到相應(yīng)微程序的轉(zhuǎn)移;③當(dāng)VECT有效時(shí),D來(lái)源于中斷向量,用于向量中斷處理圖中其他各輸入輸出信號(hào)的含義如下:D11~D0:外部直接輸入的數(shù)據(jù),可作為寄存器/計(jì)數(shù)器的初值,也可直接經(jīng)地址多路開關(guān)從Y11~Y0輸出,作為下一條微指令的地址。Y11~Y0:下一條微指令地址,直接作為控制存儲(chǔ)器的地址。I3~I(xiàn)0:AM2910命令碼,來(lái)自微指令字有關(guān)字段,用于選擇AM2910的16條命令。16條命令則用來(lái)選擇下一條將要執(zhí)行的微指令地址。CC:條件輸入,若為低電平則表示測(cè)試成功,否則表示測(cè)試失效。CCEN:CC允許信號(hào),若為低電平,則表示CC有效。RLD:寄存器/計(jì)數(shù)器的裝入信號(hào),當(dāng)為低電平時(shí),不管AM2910所執(zhí)行的命令和測(cè)試條件如何,都會(huì)強(qiáng)行把直接輸入D11~D0裝入寄存器/計(jì)數(shù)器中。OE:地址多路開關(guān)輸出允許信號(hào),當(dāng)其為高電平時(shí),Y輸出為高阻態(tài)。CP:時(shí)鐘脈沖信號(hào),由低變高的上升沿觸發(fā)所有內(nèi)部寄存器發(fā)生變化。3.微程序控制計(jì)算機(jī)的工作過(guò)程-1機(jī)器加電后,首先由Reset信號(hào)將開機(jī)后執(zhí)行的第一條指令的地址送入PC內(nèi),同時(shí)將一條“取指”微指令送入微指令寄存器內(nèi),并將其他一些有關(guān)的狀態(tài)位或寄存器置于初始狀態(tài)。當(dāng)電壓達(dá)到穩(wěn)定值后,自動(dòng)啟動(dòng)機(jī)器,產(chǎn)生節(jié)拍電位和工作脈沖。為保證計(jì)算機(jī)正常工作,電路必須保證開機(jī)工作后第一個(gè)機(jī)器周期信號(hào)的完整性,在該CPU周期末,產(chǎn)生開機(jī)后第一個(gè)工作脈沖。然后計(jì)算機(jī)開始執(zhí)行程序,不斷地取出指令、執(zhí)行指令。程序可以存放在固定存儲(chǔ)器中,也可以利用固化在ROM中的一小段引導(dǎo)程序,將要執(zhí)行的程序和數(shù)據(jù)從外部設(shè)備調(diào)入主存。3.微程序控制計(jì)算機(jī)的工作過(guò)程-2實(shí)現(xiàn)各條指令的微程序是存放在微程序控制器中的。當(dāng)前正在執(zhí)行的微指令從微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和數(shù)據(jù)的傳送,并進(jìn)行相應(yīng)的處理。當(dāng)遇到停機(jī)指令或外來(lái)停機(jī)命令時(shí),應(yīng)該待當(dāng)前這條指令執(zhí)行完后再停機(jī)或至少在本機(jī)器周期結(jié)束時(shí)再停機(jī)。要保證停機(jī)后重新啟動(dòng)時(shí)計(jì)算機(jī)能繼續(xù)工作而且不出現(xiàn)任何錯(cuò)誤。一條機(jī)器指令由一段微程序來(lái)解釋實(shí)現(xiàn)。微程序控制的計(jì)算機(jī)工作過(guò)程:開機(jī)上電產(chǎn)生Reset信號(hào)置PC為第一條指令的地址置μPC為取指令微程序段的入口地址取指令分析指令執(zhí)行指令執(zhí)行取指令微程序段產(chǎn)生該指令的微程序入口地址執(zhí)行該指令的微程序段3.微程序控制計(jì)算機(jī)的工作過(guò)程-3

3、

微程序控制計(jì)算機(jī)的工作過(guò)程通過(guò)計(jì)算機(jī)啟動(dòng)、執(zhí)行程序直到停機(jī)的過(guò)程說(shuō)明微程序是如何控制計(jì)算機(jī)工作的加電后,產(chǎn)生REST信號(hào)第一條指令地址送PC,同時(shí)將一條“取指”微指令送入微指令寄存器內(nèi),并將有關(guān)信息置于初始狀態(tài)。電壓穩(wěn)定后,產(chǎn)生節(jié)拍電位和節(jié)拍脈沖第一機(jī)器周期信號(hào)要求完整。并在該周期末產(chǎn)生第一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論