西北農(nóng)林科技大學TEC-XP實驗指導書_第1頁
西北農(nóng)林科技大學TEC-XP實驗指導書_第2頁
西北農(nóng)林科技大學TEC-XP實驗指導書_第3頁
西北農(nóng)林科技大學TEC-XP實驗指導書_第4頁
西北農(nóng)林科技大學TEC-XP實驗指導書_第5頁
已閱讀5頁,還剩154頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

計算機組成原理是計算機科學與技術專業(yè)、信管、軟件工程的一門核課程之一,它在基礎課和專業(yè)課之間起著重要的銜接作用,通過本課程的掌握計算機中核心部件“運算器、控制器、存儲器、外設”的硬件組成、功能、控制方法及工作原理。本課程主要特點:知識面廣、內(nèi)容多、更新快,又加之教材不針對具體機型結構,學生學起來感覺空洞抽象、難以理整要素,通過這臺實驗機的學習,對掌握計算機的基本構造、實現(xiàn)方法、 第1章TEC-XP實驗系統(tǒng)簡介TEC-XP由清華大學科教儀器廠和清華大學計算機系聯(lián)合研制。該實驗系統(tǒng)重點用于計算機組成原理和計算機系統(tǒng)結構等課程的硬件教學實驗,還支持監(jiān)控程序、匯編語言程序設計、BASIC高級語言程序設計等軟件方面的教學實驗。3.指令系統(tǒng)支持多種基本尋址方式。其中一部分指令已實現(xiàn),用于設計監(jiān)控程序和用戶的常規(guī)匯編程序,尚保留多條指令供實驗者自己實現(xiàn)。位的字)的RAM存儲區(qū)域組成。還可以進一步完成存儲器擴展的教學實驗。5.原理上講,主時鐘脈沖的頻率可在幾百KHz~近2MHz之間選擇。邏輯運算功能,內(nèi)部包括16個雙端口讀出、單端口寫入的通用寄存器,和一個能自行移位的乘商寄存器。設置C(進位)、Z(結果為0)、V(溢出)和S(符號位)四個狀態(tài)標志位。7.控制器采用微程序和硬布線兩種控制方案實現(xiàn),可由實驗者自由選擇。實驗人員可方便地修改已EL可以實現(xiàn)三級中斷和中斷嵌套。過數(shù)據(jù)開關手動置入的指令。11.主板上設置數(shù)據(jù)開關和微型開關、按鍵和指示燈,支持最低層的手工操作方式的輸入/輸出,通過指示燈來顯示重要的數(shù)據(jù)或控制信號的狀態(tài),可以完成機器調(diào)試和故障診斷。板上還有支持教學實驗用的一定數(shù)量的跳線夾。所有器件都用插座插接在印制板上,便于更換器件。VA.5~2.5A之間。電源模塊安裝在水平電路板右上角位置,交流220V通過電源接線插到機箱后側板,經(jīng)保險絲、開關連接到電路板上,開關安放在機箱右側靠后位置,方便操作且比較安全。13.兩路的串行接口的接插座安放在機箱后側板以方便接線插拔和機箱蓋的打開關閉軟件:解釋BASIC語言匯軟件:解釋BASIC語言匯編語言支持監(jiān)控程序(指令)級模擬教學機模擬:運算器、控制器模擬(微程序級或硬連線控制器級模擬)主存儲器模擬,總線、接口模擬輸入設備/輸出設備模擬軟軟件:解釋BASIC語言匯編語言支持監(jiān)控程序硬件:運算器,控制器(多種實現(xiàn):微程序或硬連線控制器,中小主存儲器,總線,接口輸入設備,輸出設備硬件與電路:邏輯器件和設備圖1.2軟件實現(xiàn)的模擬計算機系統(tǒng)從圖1.1可以看到,該計算機硬件系統(tǒng)組成中,功能部件是完整齊備的,運算器、控制器、存PC,同時實現(xiàn)了微程序和硬連線兩種方案控制器。從CPU的具體設計和實現(xiàn)技術來說,既支持用中小集成度從計算機組成原理課程教學實驗的角度看,該計算機軟件系統(tǒng)組成也是完整的,支持簡單的高級語言BASIC(包括浮點運算指令和基本函數(shù)運算功能),匯編語言(支持基本偽指令功能)和二進碼是寶貴的教學參考資料。從圖1.2可以看到,軟件實現(xiàn)的計算機指令級模擬系統(tǒng),可以使實驗人員脫離實際的教學計算調(diào)試教學機新的軟件或硬件功能提供重要的輔助作用??刂破?微程序或硬連線方案)輔助設計軟件,可以讓同學在PC機上使用該軟件直接設計該計制器需要提供的全部控制信號等全部過程,最后會自動生成能裝入教學計算機硬件系統(tǒng)中實際應用的最終結果文件。接下來還可以選用微程序級的模擬軟件系統(tǒng),或者硬連線控制器級的模擬軟件系統(tǒng),對經(jīng)過輔助設計軟件得到的設計結果進行模擬運行,計算機屏幕上會詳細顯示每一步的運行結果,做等方面的理解深度也有益處。2路串行接口據(jù)數(shù)據(jù)總線FPGA/GAR地址寄存器雙線選通門控制總線/MIOREQWE/GAR/GIRY運算器部件D內(nèi)部總線SWTOIB/YTOIB/IRLTOIB/FTOIB控制器部件CZVSA口B口I~I0譯從圖中可以看到TEC-XP教學計算機的總體組成。在圖的左部所表示的是選用中小規(guī)模器件實現(xiàn)的CPU系統(tǒng),由獨立的運算器、控制器部件組成。圖的中間部分所表示的是內(nèi)存儲器、串行接兩個CPU系統(tǒng)都可以通過數(shù)據(jù)總線、地址總線和控制總線連接內(nèi)存儲器、串行接口線路,從而構成一臺完整的計算機硬件系統(tǒng),安裝上必要的軟件就可以正常運行,作為計算機組成原理課程內(nèi)容實例和教學實驗設備具有很好的典型性。兩個CPU系統(tǒng)需要通過分時或者獨占的方式使用同一套存儲器部件和串行接口線路。一點是,堆棧指針SP和控制器中的程序計數(shù)器PC,都是用這里的幾個通用寄存器來實現(xiàn)的,以節(jié)省器件與簡控制器分別用微程序方式與硬布線方式兩種方案實現(xiàn),實驗者可以方便地選擇使用其中任何一種。這能方便地比較兩種控制器各自的優(yōu)缺點,和設計過程的相同的、不同的步驟與方法。在選用器件時,微程序方案中選用了美國AMD公司的微程序定序器Am2910芯片,保證微程序設計的規(guī)范與實用性;控存體選用唯讀存儲器(ROM)芯片,通過對該ROM的編程寫入方式支持動態(tài)微程序設計。硬布線方案中,節(jié)拍邏輯與時序控制信號形成部件(組合邏輯線路)選用了GAL20V8現(xiàn)場可編程器件和MacroArrayCMOSHighdensity(簡寫為MACH)器件,這對簡化控制器的邏輯設計與實現(xiàn)至,也有利于進一步掌握數(shù)字系統(tǒng)設計自動化和邏輯模擬的新知識。主存儲器選用靜態(tài)存儲器芯片,配置了兩路各自由8K字節(jié)容量的ROM(放監(jiān)控程序)和2K字節(jié)RAM的器件插系列)或電擦除(28系列)的存儲器芯片實現(xiàn)。地址總線采用16位寬度,以便訪問較大的主存空輸入/輸出接口及可接入的輸入/輸出設備,已配備了一路串行接口,可直接連接計算機終端,PCPC操作教學實驗計算機方便直觀,為教學實驗提供了非常先進的實驗手段。還提供了由學生自己通過擴展實驗實現(xiàn)另外一路串行接口的全部支持。作為最底層的輸入/輸出手段,開關撥數(shù)輸入,指示燈顯示輸出的操作方式還是應該有的。這是系統(tǒng)出現(xiàn)嚴重故障后(如器件失效等),完成故障定位與排除的最后一道防線,對提高學生的實驗技連接插孔。同時還提供了完成中斷教學實驗所需要的全部支持選用FPGA門陣列器件實現(xiàn)的單個芯片的CPU系統(tǒng)內(nèi)部組成如下:FLAGOUFLAGOUTALU_YARtimingOutDC_2MIOREQWEIRoutIRDC2RESETCLKFLAG(2)FLAGFLAG(3)二選一REQMIOWEWEMIOALUFLAGIRALU三選一IBOBQ寄存器ControlsignalsgeneratorDC1三選一RAM15Memory/SSTSSHSCISSTSSHSCIIBaddAaddIBaddCLKRESETCLKDIOPort標志位寄存器timingtiming最低為進位Aadd三選一三選一A鎖存B鎖存D數(shù)據(jù)RAM0RAMOBQ15ARQ0CYZU單元,數(shù)據(jù)總線的內(nèi)容被送到存儲器芯片和串行接口芯片的數(shù)據(jù)線引腳以提供讀寫數(shù)據(jù)。內(nèi)存儲器和IO接口芯片的讀寫命令也由該CPU提供。此時需要確保原來用中小規(guī)模器件構建的CPU的地址總線和數(shù)據(jù)系統(tǒng)綜述2.1.1指令分類1.從指令長度區(qū)分,有單字指令和雙字指令。2.從操作數(shù)的個數(shù)區(qū)分,有三操作數(shù)指令、雙操作數(shù)指令、單操作數(shù)指令和無操作數(shù)指令。3.從使用的尋址方式區(qū)分,有寄存器尋址、寄存器間址、立即數(shù)尋址、直接地址、相對尋址等多4.從指令功能區(qū)分,給出了算術和邏輯運算類指令、讀寫內(nèi)存類指令、輸入/輸出類指令、轉(zhuǎn)移指令、子程序調(diào)用和返回類指令,還有傳送、移位、置進位標志和清進位標志等指令。5.按照指令的功能和它們的執(zhí)行步驟,可以把該機的指令劃分為如下4組。在后面幾節(jié)中給出的指令流程框圖、指令流程表都是以此為標準進行指令劃分的。JRC、JRNC、JRZ、JRNZ擴展指令ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、DI、JRS、JRNS、JMPR1)A組指令完成的是通用寄存器之間的數(shù)據(jù)運算或傳送,在取指之后可一步完成。器之間的數(shù)據(jù)傳送;而其它指令在第一步置地址寄存器ARH、ARL,第二步讀內(nèi)存(即取地址操作數(shù))、計算內(nèi)存地址、置地址寄存器ARH、ARL,第三步讀、寫內(nèi)存。4)D組指令完成的是兩次讀、寫內(nèi)存操作,在取指之后可四步完成。2.1.2指令格式TEC-XP教學機實現(xiàn)了29條基本指令,用于編寫教學機的監(jiān)控程序和支持簡單的匯編語言程序雙字指令的第二個指令字是操作數(shù)、地址字段,分別有3種用法,如下圖所示。DRDRSR/直接內(nèi)存地址/變址偏移量操作碼立即數(shù)1)單字、無操作數(shù)指令:操作操作碼00PSHF;POPF;TLCI2)單字、單操作數(shù)指令:狀態(tài)標志(C、Z、V、S、P1、P0)入棧彈出棧頂數(shù)據(jù)送狀態(tài)標志寄存器子程序返回DRDR00000000SROFFSET操作碼DECINCSHLSHRJRCJRNCJRZJRNZNOUTPUSHPOPDRDRDRDROFFSET;OFFSET;OFFSET;OFFSET;DRDR←DR-1DR←DR+1LDRRDRASRDRDR算術右移,最高位保持不變,最低位移入CNOTDRDR求反,即DR←/DRMPRCALROFFSET;RNSOFFSET;3)單字、雙操作數(shù)指令:DRDRSR操作碼ADDSUBANDCMPXORTESTORMVRRLDRRSTRRADCDR,SR;DR,SR;DR,SR;DR,SR;DR,SR;DR,SR;DR,SR;DR,SR;DR,SR;DR,SR;DR←DR+SRDR←DR-SRDR←DRandSRDR-SRDR←DRDRandDR←DRDR←SRxorSRorSRDR←DR+SR+CDR←DR-SR-C4)雙字、單操作數(shù)指令:操作碼00000000ADRCALA5)雙字、雙操作數(shù)指令:DR0000操作碼0000SRDATAMVRDDR,DATA;DR←DATA操作碼RADRLDRXRXDR,OFFSET[SR];DR,OFFSET[SR];本指令指令格式匯編語句00000000DRSR00000001DRSR00000010DRSR00000011DRSR00000100DRSR00000101DRSR00000110DRSR00000111DRSR00001000DR000000001001DR000000001010DR000000001011DR000001000001OFFSET01000100OFFSET01000101OFFSET01000110OFFSET01000111OFFSET1000000000000000000001DRSR0000011DRSR100001010000SR10000111DR000010001000DR0000ADDSUBANDCMPXORTESTORMVRRDECINCSHLSHRJRJRCJRNCJRZJRNZJMPALDRRINSTRRPSHFPUSHOUTPOPMVRDPOPFDR,SRDR,SRDR,SRDR,SRDR,SRDR,SRDR,SRDR,SRRRRROFFSETOFFSETOFFSETOFFSETOFFSETADRRDR,DATA操作數(shù)222數(shù)222222221111111111212011120CZVS***************************A令令功能說明DR←DR+SRDR←DR-SRDR←DRandSRDR-SRDR←DRxorSRDRandSRDR←DRorSRDR←SRDR←DR-1DR←DR+1DR,C←DR/2DR,C←DR*2無條件跳轉(zhuǎn)DR←出棧DR←DATAFLAG←出棧子子程序返回調(diào)用首地址在ADR的子序ETCALAADR令0其余寄存器用作通用寄存器,即多數(shù)雙操作數(shù)指令和單操作數(shù)指令中的DR、SR;展指令功能功能說明DR←DR+SR+CDR←DR-SR-CDR←/DRCC開中斷關中斷匯編語句ADCDR,SRSBBDR,SRRCLDRRCRDRASRDRNOTDRJMPRSRJRSOFFSETJRNSOFFSETCICALRSRSTRA[ADR],SR指令格式00100000DRSR00100001DRSR00101010DR000000101011DR000000101100DR000000101101DR0000011000000000SR01100100OFFSET01100101OFFSET0110110000000000011011010000000001101110000000000110111100000000111000000000SR11100100DR0000100101DRSR100110DRSR111001110000SR1110111100000000CZVS*********類型A組指令C組指令D組指令操作數(shù)2211111110000122210第3章TEC-XP教學計算機硬件系統(tǒng)TEC-XP是在原有TEC系列教學計算機系統(tǒng)的基礎上,重新設計的新一代產(chǎn)品,進一步增加了下面對圖中給出的教學計算機硬件系統(tǒng)的具體線路進行必要說明。和/TxC引腳,用于驅(qū)動串行接口正常運行。還要送QC脈沖(頻率為307.2KHz)到啟??刂齐娐罚靡援a(chǎn)生相位不同的兩路輸出脈沖,作為教學計算機的系統(tǒng)時鐘,驅(qū)動計算機整機正常運行。啟停或者停止(停止送出脈沖)的操作功能。在這個線路的設計中,一定要確保任何一次手工啟停的操作都不會影響啟停線路輸出脈沖的完整性,它的實現(xiàn)原理和設計結果在教材中有詳細說明,此處從A運算器的輸出直接連接到地址寄存器AR的輸入引腳,用于提供地址總線的信息來源。運算器的輸出還經(jīng)過兩個8位的244器件的控制(使用DCI譯碼器的/YTOIB信號)被送到內(nèi)部總線IB,用于把運算器中的數(shù)據(jù)或者運算結果寫入內(nèi)存儲器或者輸入輸出接口芯片。接收送給它的信息,需要使用控制器提供的SST2~SST0三位信號。運算器還需要按照指令執(zhí)行的要求,正確地得到最低位的進位輸入信號,最低位和最高位的移三位信號的控制下,產(chǎn)生運算器最低位的進位輸入信號,最低位和最高位的移位輸入信號。教學計算機的總線系統(tǒng)由數(shù)據(jù)總線、地址總線、控制總線和內(nèi)部總線共四部分組成。在圖中使表示。(1)內(nèi)部總線,在真正的商用計算機系統(tǒng)中用戶是見不到的,在我們這里,它是數(shù)據(jù)總線在號為高電平時,245使內(nèi)部和外部總線處于斷開狀態(tài),相互不能傳送數(shù)據(jù),僅在該控制信號為低電狀態(tài),可以傳送數(shù)據(jù)。此時數(shù)據(jù)的傳送方向受245的另外一個控制從外部總線傳送到內(nèi)部總線。在內(nèi)部總線和外部總線之間設置245器件,有利于防止在完成內(nèi)存儲器實驗或者接口實驗時損壞CPU的線路。在譯碼器DC1的譯碼信號的控制下,內(nèi)部總線可以從運址、指令寄存器的低8位的輸出(此時高8位可能是符號位擴展信息)、16位的手撥開關輸入數(shù)據(jù)五路WE線引腳,用于通過內(nèi)部總線和CPU系統(tǒng)進行通訊。做輸入輸出操作的教學實驗或者內(nèi)存儲器的教學因此有效的IO端口地控制總線,用于給出總線周期的類型和一次讀、寫操作是否結束的信號。在教學計算機中,由用于保存用戶讀寫的數(shù)據(jù)和作為監(jiān)控程序的系統(tǒng)工作區(qū),包括系統(tǒng)堆棧和用戶堆棧數(shù)據(jù)。這個存儲HCS。這兩個芯片的讀寫控制信LK地址總線接串口設備MAX202/RD/WRC/地址總線接串口設備MAX202AR15~AR13AR6~AR4TxDAR/CEARCLKCLKTxC/MMREQ控制總線/MIOREQ/WE/MMREQ控制總線/MIOREQ/WED/GAR內(nèi)存芯片片選內(nèi)存芯片片選VccIO芯片片選/CE0,/CE1,...RAM0,RAM15,Q0IB7~IB4Q15Q0CinR/RYYYYFLAGFLAGY/MMREQ,/IOREQ/MRD,/WE,/RD,/WRDDDDY/CS?RAM0/YTOIBDD/WEDD/WE/FTOIBDB15~8數(shù)據(jù)總線DB/MIO245245/MAP/GIR//GIRMAPROMI8~I0數(shù)據(jù)244244PLCLKPLCLKT3~T0/SWTOIBT3~T0/SWTOIB開關開關TimingMTiming數(shù)據(jù)3數(shù)據(jù)SCCCI數(shù)據(jù)CLK2IR15~IR8數(shù)據(jù)RESETC_M#DCCKdQbQaCD161CKSCCMIOREQWECLK/GIRMIOREQWECLK/GIR/GAR…當前微地址顯示CZSINT#VccGND/IRLTOIB/FTOIBP電平址總碼將產(chǎn)生存儲器請求(有存儲器讀寫要求)信號/MMREQ和IO請求(有IO讀寫要求)信號/IOREQ,g芯片)等組成。/OEF4Cn+4OVRFRA鎖存器ALUS三選一B鎖存器IIIIIIA地址4B地址4RAM3A16個B通用寄存器三選一RAM0Q器三選一IIIRSRSA號)、B地址(寄存器編號)指定被讀寫的寄存器。兩路讀出數(shù)據(jù)分別用A、B標記,經(jīng)鎖存器線路個數(shù)據(jù)位,通過它們,實現(xiàn)芯片內(nèi)部上述三個組成成分之間的聯(lián)系,也實現(xiàn)該芯片和其外界信息的據(jù))送出芯片,標記為Y;果右移一位的值中選擇其一,作為通用寄存器的寫入信息,實現(xiàn)的是通用接存器接收及移位功能。M;體規(guī)定如下表所示。LLLLLHLHHLHLHHHHLHLHLHLHR+SS-RR-SR∨SR∧SR∧SR⊕SR⊕SLLLLLHLHHLHLHHHH數(shù)據(jù)來源I0RSLAQHABL0QH0BL0AHDAHDQHD0結結果處理通用寄存器組FQQ→QFFAFFFFFLLLLLHLHLLHHHLLHLHHHLHHH關于該芯片的具體線路尚需說明如下幾點:EY③RAM3、RAM0、Q3、Q0均為雙向(入出)三態(tài)邏輯,一定要與外部電路正確連接。GP信號。其有關規(guī)定如下圖所示。注意兩個跳變沿和低電平所實現(xiàn)的不同控制功能。//G/PY3~Y0Am2901RAM0/OEA~A0B3~B0I8~I0OVRRAM3號(Cn),4個標志位輸出信號(F3,OVR,F=0000,Cn+4),通用寄存器最高、最低位移位入出信號 QGP屬于控制類型的信號包括:主脈沖信號(CP),輸出使能信號(/OE),兩個4位的寄存器選擇信IY15-Y0。四個芯片的F=0000管腳(集電極開路輸出)連接在一起,并經(jīng)一個電阻接到+5V電源以得到CP故應將四個芯片的這些信號的各對應管腳連接在一起。Cn+y/G/PCn+x/G/PCinCy低位RAM15/OEA地址B地址D15~D12RAM0I8~I0OVRR3.需要在Am2901芯片外部的處理的邏輯功能有一些功能(數(shù)據(jù))取決于如何使用Am2901,與指令和指令的執(zhí)行步驟有關,必須用另外的線路來處理的,包括:選擇碼000001010例ADD,DECBINCADCSBB01C101111Q15說明X用于邏輯移位指令RAM0原碼除(左移)乘(右移)RAM0用于算術右移指令AM0CFXX/F15X0CX輸入輸出管腳并寫出對應的邏輯表達式,經(jīng)過編譯以處理之后,把融絲圖文件的內(nèi)容通過編程器設位。2C0MI7最低位進位信號和左/右移位信號的形成邏輯BIT8SCI1MI5MI4ZrH8CyOVRGNDZrL8CZEROQ7RAM15Q15RAM0Q0RAM7CINF3VCCQ0=SSH*SCI1*/SCI0*/F3*/BIT8ZERO=/BIT8*ZrH8*ZrL8+BIT8*ZrL8Q7=SSH*SCI1*/SCI0*RAM7*BIT8RAM7=SSH*SCI1*/SCI0*C*BIT8RAM15=SSH*/SCI1*SCI0*C*/BIT8Q15=SSH*SCI1*/SCI0*RAM0*/BIT8CIRAMBITRAM0=SSH*/SCI1*SCI0*CSST編碼恢復標志位原來的現(xiàn)場值置"0"C,另三個標志位不變置"1"C,另三個標志位不變右移操作,另三個標志位不變左移操作,另三個標志位不變聯(lián)合右移,另三個標志位不變01AMQ0狀態(tài)位輸入SSFZZFVVCCCYVVVVVZZZZZ明SSSSS狀態(tài)寄存器的實現(xiàn)邏輯FLAG123456789101112CLKSST2SST1SST0IB7IB6IB5IB4CYZrOVGNDOEF3MI5C0CZVSQ0RAM0RAM3VCCC0:=CY*/MI5值運算符左邊符號表示的觸發(fā)器線路中。m來自內(nèi)部總線SZVS信號0CYRAM0FLAGGAL右輸入GALY4片Am2901OVR運算器RAM0/OEAB地/OEAB地地址址進位GAL左輸入GAL01C信號0C指令寄存器IR(16位長度),節(jié)拍發(fā)生器(4位觸發(fā)器的節(jié)拍狀態(tài))和時序控制信號形成部件(1CLKCLK......(由與_或兩級組合邏輯門電路組成)CZCLK程序計數(shù)器PC用于保存下一條將要執(zhí)行的指令在內(nèi)存中的單元地址,有增量功能(PC+1→指令寄存器IR用于保存當前正在執(zhí)行的指令的主要內(nèi)容,在讀取指令的周期接收從內(nèi)存中讀出來的一條指令,以便提供本指令的操作碼和使用的數(shù)據(jù)或者數(shù)據(jù)地址。在教學計算機中,指令寄節(jié)拍發(fā)生器Timing用于使用幾個觸發(fā)器的不同的編碼狀態(tài)來區(qū)分和標示指令的執(zhí)行步驟,指g時序控制信號產(chǎn)生部件用于產(chǎn)生并提供每一條指令的每一個執(zhí)行步驟使用的全部時序控制信位信號(C、Z、S)等,通過由與_或兩級門電路產(chǎn)生并提供出一條指令的一個執(zhí)行步驟使用的全部控制信號,這些信號可以直接送到每個被控制對象,或者經(jīng)過譯碼器送到被控制對象。在教學計算機中,時序控制信號產(chǎn)生部件選用一片有100個引腳的CPLD器件實現(xiàn),兩個譯碼器選用三八譯3.3.2教學計算機的指令執(zhí)行流程B、寫操作,或一次IO設備的讀、寫操作,在讀取指令之后可二步完成,第一步用于向地址寄存器送入16位的(或8位的IO端口)地址,第二步完成內(nèi)存或外圍設為頭一次讀出的數(shù)據(jù)就是下一次讀寫操作要使用的地址信息,讀出之后直接(或經(jīng)過一次加法運算)。CALRPC容(子程序調(diào)用指令的后續(xù)指令地址)到堆棧,第3步把寄存器中全部指令又被劃分為基本指令(29條)和擴展指令(19條)兩大類,兩類指令合在一起才構成一套比較完整的指令系統(tǒng)。基本指令已經(jīng)由生產(chǎn)廠家完成設計并實現(xiàn),被用來支持監(jiān)控程序和簡單的匯編語言程序設計,設計結果作為教學內(nèi)容的實例寫進了教材中。擴展指令則保留給實驗者在控制器部件的教學實驗中自己動手來設計和實現(xiàn),對擴展指令的設計結果在教師用書中給出。在運行H條指令。教學計算機的使用者還可以設計實現(xiàn)自己選擇的其他一些指令。執(zhí)行B組指令D組指令讀寫內(nèi)存或寄存器間傳送ARPC,讀內(nèi)存,IR讀出指令A組指令寄存器之間的數(shù)據(jù)運算或傳送D傳送地址AR地址傳送地址AR地址讀取指令無CD,即已經(jīng)得知指令操作碼的前提下,節(jié)教學計算機系統(tǒng)加電啟動時被執(zhí)行一次,在教學計算機正常運行的過程中不會進入這個節(jié)拍。在相鄰兩條指令進行切換的時刻,即前一條指令已經(jīng)結束、下一條指令尚未開始的時刻,完成檢查等到講解中斷的時候再詳細說明。指令的執(zhí)行流程的邏輯關系表現(xiàn)得更清晰通暢,更容易學習與理解,條件。節(jié)拍發(fā)生器的邏輯設計與線路實現(xiàn)身可以運行在組合邏輯方式,也可以運行于觸發(fā)器邏輯方式,并且實現(xiàn)的正好是與—或兩級邏輯關號(暫未用),C_M#是區(qū)分組合邏輯或微程序兩種控制器的一位控制信號,高電平代表選用組合的邏輯表達式。123456789101112CLKIR15IR14IR13IR12IR11IR10IR9IR8RESETNCGNDOEC_M#NCT4T0T1T2T3NCNCINTVCCT4:=GNDT3:=C_M#*/RESETT2:=C_M#*RESET*/T3*/T2*T1*/T0*IR15+C_M#*RESET*/T3*T2*T1*/T0+C_M#*RESET*/T3*T2*/T1*/T0*IR15*IR14*IR11+C_M#*RESET*/T3*T2*T1*T0T1:=C_M#*RESET*/T3*/T2*/T1*/T0+C_M#*RESET*/T3*/T2*T1*/T0+C_M#*RESET*/T3*T2*T1*/T0*IR15*IR14*/IR11+C_M#*RESET*/T3*T2*/T1*/T0*IR15*IR14*IR11T0:=C_M#*RESET*/T3*/T2*T1*/T0*/IR15+C_M#*RESET*/T3*T2*T1*/T0*IR15*IR14*/IR11+C_M#*RESET*/T3*T2*/T1*/T0*IR15*IR14*IR11+C_M#*RESET*/T3*T2*T1*T0DESCREPTION3.3.3教學計算機的時序控制信號形成部件1.確定控制器應提供的控制信號教學計算機的總體組成情況,部件之間的連接關系,即數(shù)據(jù)傳送的通路,如圖2-18所示??刂破鞯墓δ?,是向計算機各個功能部件提供它們協(xié)同運行所需要的控制信號。應該向各功能部件提供出哪一些控制信號,是由被控制部件的組成情況和運行原理所決定的。下面結合教學計算機的總體組成和部件之間的連接,從各個部件實際需求的角度,來分析并決定控制器部件需要為它們提供制作用。節(jié)拍狀態(tài)碼節(jié)拍狀態(tài)碼標志位狀態(tài)MRWI2~0I8~6I5~3B口A口SSTSSHSCIDC2標志位狀態(tài)連接設備開關門雙向三態(tài)門最低位移位信號教學計算機的數(shù)據(jù)通路與微命令的控制作用開關門中斷向量數(shù)據(jù)開關2.教學計算機各部件的連接關系:的內(nèi)部總線。兩個需要控制其是否接受輸入的寄存器:進行詳細的說明。位(累加器和Q寄存器)的移位輸入信號②對內(nèi)存儲器和I/O接口部件,控制器主要向它們提供讀寫操作用到的地址信息和全部控制存和接口的讀寫操作。設計中一定不能忘記這一使用要求。/MIO01QWE01××操作功能I/O寫I/O讀寫CALU的輸出結果,將ALU的輸出送到內(nèi)部總線,主要目的是用于把累加器的內(nèi)容寫進內(nèi)存或ALU傳到地址寄存器;在相對轉(zhuǎn)移指令中,存放的是offset偏移值,需要送內(nèi)部總線經(jīng)ALU完成與程序計數(shù)器PC的內(nèi)容相加;此時有一個符號位擴展支持的問題,在計算相對轉(zhuǎn)移指令的轉(zhuǎn)移地16位的中斷向量,由2位的中斷優(yōu)先級拼接上確定的高12位數(shù)值(通過跳線給出)得到,最3碼信號操作說明送開關內(nèi)容到內(nèi)部總線010/ETOIB送IR低位字節(jié)內(nèi)容到內(nèi)部總線(可能含符號為擴展)/INTVH送程序狀態(tài)到內(nèi)部總線110/INTV送中斷向量到內(nèi)部總線NC無操作功能,不向內(nèi)部總線發(fā)送數(shù)據(jù)其實還可以從外部總線向內(nèi)部總線傳送數(shù)據(jù)(或者相反方向),但這是通過另外的辦法處理的,④對幾個特定的寄存器接受輸入的控制,也要通過3位編碼(標記為DC2),用來選擇允許碼信號操作說明指令寄存器接收GAR存器接收INTR恢復原中斷優(yōu)先級/INTN接收新中斷優(yōu)先級/EI開中斷/DI關中斷要EICPU用戶程序中執(zhí)行一條把上述全部內(nèi)容歸納在一起,就得出需要控制器形成并提供給計算機各個功能部件的32位時3位用于內(nèi)部總線,3位用于幾個特定寄存器。2.設計指令流程中各時序控制信號的狀態(tài)值在劃分完指令執(zhí)行步驟(流程),確定好全部時序控制信號的組成之后,接下來的工作,是根據(jù)每條指令的每一個節(jié)拍所執(zhí)行的功能,設計要求它所提供的全部控制信號的狀態(tài)值。狀態(tài)、指令操作碼、標志位的值)和32個輸出變量構成的邏輯關系的真值表。標志位(C、Z、V、S)組成時序控制信號產(chǎn)生部件的輸入信號。第2列和最右一列是注釋部分,分別標明指令對應的匯編語句名和本節(jié)拍完成的主要操作功能,為理解與閱讀指令流程表中的內(nèi)容提供幫助。這里要做的工作,就是依據(jù)已經(jīng)完成的指令執(zhí)行流程設計(指令節(jié)拍劃分與編碼,每一條指令的每中去。這基本上是一個查表(教學計算機簡明操作卡上的內(nèi)容)并填寫的過程,繁瑣而機械,卻容不得任何錯誤。式。同一個節(jié)拍中的不同指令又依據(jù)指令操作碼排序。輸入邏輯變量中的狀態(tài)標志位(C、/C、ZZI位置,條理更清晰。確定每一個(組)時序控制信號的編碼值的原理并不難理解,就是依據(jù)指令執(zhí)行流程中每一個節(jié)拍應完成的操作功能,找出需要使用的各個(組)控制信號編碼值。例如,在0011節(jié)拍的實現(xiàn)對其他各個橫行的內(nèi)容都可以參照此辦法進行填寫,每一個方格中的數(shù)值到底選擇哪一個編碼,要依據(jù)本橫應完成的功能到教學計算機的簡明操作卡中查找。表3-12基本指令執(zhí)行流程表節(jié)拍0000001000110110指令ADDSUBANDCMPXORTESTORMVRRDECSHLSHRJRJRCJRNCJRZJRNZJMPA編碼000000000000000100000010000000110000010000000101000001100000011100001000000010010000101000001011010000010100010001000101010001100100011110000000/MR/W001I2-0001011000001001001001001001001011011011011011I8-60110100010110110110010110010110110110110110C10/C10Z10/Z1010I5-3001000000000001001011000001000000000000000000000000000B010101010000DRDRDRDRDRDRDRDRDRDRDRDR010101010101010101010101A010101010000RRRRRRRR0000000000000000010101010101010101010101SST000000000001001001001001001001000001001000000000000000000SSHSCI001001000000001000001000000000000000001000000000000000001DC2011001000000000000000000000000000000000000000000000000000011DC1000000000000000000000000000000000000000000000010010010010010000注釋0→PC,DI#=0PC→AR,PC+1→PCDR+SR>DRDR-SR>DRDRorSR>DRDR-SRDRxorSR>DRDR^SRDRandSR>DRSR>DRDR-1>DRDR+1>DRSHLDRSHRDROffset+PC>PCOffset+PC>PCOffset+PC>PCOffset+PC>PCOffset+PC>PCPC>AR,PC+1>PCLDRR100000011001000010000000SR000000011000SR>AR0110IN1000001010011100100000000000000000011010IRL→ARL-32--33-STRR10000011011001000DR0000000000011000DR>ARPSHF1000010001101100101000000000000011000SP-1>SP、ARPUSH1000010101101100101000000000000011000SP-1>SP、AROUT1000011000100000000000000000011010IRL→ARLPOP1000011101101000001000100000001011000SP>AR,SP+1>SPMVRD1000100001101000001010101000001011000PC>AR,PC+1>PCPOPF1000110001101000001000100000001011000SP>AR,SP+1>SPRET1000111101101000001000100000001011000SP>AR,SP+1>SP0110CALA1100111001101000001010101000001011000PC→AR,PC+1→PC0100JMPA1000000000101100001010000000000000000MEM→PCLDRR10000001001011000DR0000000000000000MEM→DR1000001001101100000000000000000000000(PORT)→R0STRR100000110000010000000R000000000001SR→MEMPSHF1000010000000000100000000000000000000011FLAG→MEMPUSH100001010000010000000R000000000001SR→MEMOUT1000011001000100000000000000000000001R0→(PORT)POP10000111001011000DR0000000000000000MEM→DRMVRD10001000001011000DR0000000000000000MEM→DRPOPF1000110000100000100000000000010000000000MEM→FLAGRET1000111100101100001010000000000000000MEM→PCCALA1100111000100000000000000000000000000(AR)→Q0111CALA1100111000110110001010000000000000110101CALA1100111000001001000001010101000000000001PC→MEM,Q→PC表-34-3.用線路實現(xiàn)表3-12所確定的功能表2-12是體現(xiàn)教學機硬連線控制器的時序控制信號部件功能的一張真值表。由真值表出發(fā)設計其線路實現(xiàn)是數(shù)字電路的基本核心知識,通常要經(jīng)過寫出相應的邏輯表達式,適當化簡,再選用由與-或兩級邏輯關系實現(xiàn)的線路這樣3步來完成。在教學計算機中,這個線路使用的是由5000個門組成的MACH器件,內(nèi)部實現(xiàn)的正好就是與-或兩級邏輯關系,又可以現(xiàn)場編程,完全適用。在本小節(jié)的最后一段給出了實現(xiàn)表2-12所規(guī)定功能的邏輯表達式。寫邏輯表達式時,選用的是層次結構的邏輯描述語言ABEL,用到的主要符號簡單匯總″表示開始單行注釋,例如:″ControllerofTec_2000UsingMacro4;是一個邏輯表達式或一個定義的結束符&是與運算符#是或運算符!是取反運算符=是組合邏輯的賦值運算符()ABEL語言中允許使用括號,在邏輯表達式中可以靈活地定義運算的優(yōu)先級。定義輸入引腳:變量名pin管腳號,例如:Cpin4;前面已經(jīng)提到,輸入變量包括4個節(jié)拍狀態(tài)位,8位的指令操作碼,狀態(tài)標志位C和Z。定義輸出引腳:變量名pin管腳號istype′com′,com表示是組合邏輯變量例如:REQpin58istype′com′;前面已經(jīng)提到,輸出變量主要是32位的控制信號,還有一個NewIns,表示新指令(擴展指令)。定義變量組合關系:變量名=[變量名1,變量名2,…];例如:T=[T3,T2,T1,T0];表明T3~T0組合為T,在邏輯表達式中可以用(T==[0,0,1,1])取代/T3&/T2&T1&T0,可讀性更好。又如:IR=[IR15,IR14,IR13,IR12,IR11,IR10,IR9,IR8];表明IR為8位指令操作碼在后面可以用其定義宏,例如,ADD=(IR==[0,0,0,0,0,0,0,0]);為了實現(xiàn)擴展指令,還在ABEL語言的程序中,說明并使用了MACH芯片內(nèi)部的隱埋(buried)宏單元(Node),它與輸出宏單元的功能很類似,只是不能直接連接輸出引腳??梢酝ㄟ^_MIO00,REQ00,_WE00Nodeistype'com';的方式說明隱埋(buried)宏單元。4.擴展指令及其實現(xiàn)在教學計算機完整的指令系統(tǒng)中,特意劃分出19條擴展指令,在產(chǎn)品出廠時,通常情況下,控制器中并沒有實現(xiàn)這19條指令,特意留給學生在完成控制器部件設計的教學實驗中來實現(xiàn)。基本指令和擴展指令合在一起,才能構成一套較為完整的指令系統(tǒng),這兩類指令需要在指令格式、操作碼編碼及指令分組關系、使用的尋址方式、指令執(zhí)行步驟劃分等各個方面保持協(xié)調(diào)一致,以保證教學計算機系統(tǒng)的規(guī)范和易用性,還可以使擴展指令的教學實驗更簡單易行。例如,可以在基本指令集的基礎上,把全部擴展指令也添加進去,包括指令流程設計、指令執(zhí)行的流程表的內(nèi)容設計等,設計結果如圖2-?所示。其中屬于A組、D組的擴展指令使用與同組基本指令相同的執(zhí)行流程,擴展指令中不含B組指令,C組指令中有4條是通過3步完成兩次內(nèi)存讀寫操作,選用D組指令4個執(zhí)行步驟中的3個步驟來實現(xiàn),圖中通過從0110節(jié)拍到1110節(jié)拍添加一條連線來表示這一擴展。擴展指令的一個重要部分是實現(xiàn)了中斷隱指令,這是響應中斷請求過程中必須完成的功能。需要對中斷隱指令有一個正確的理解,它并不是一條真正的指令,沒有自己的操作碼,-35-讀取指令讀內(nèi)存,IR讀出指寄存器之間的數(shù)據(jù)運算或傳送不能被用于匯編程序設計中,更準確一點的概念,應該把它理解為計算機指令執(zhí)行步驟的特定延伸。在這個特定步驟中要做的第一個動作是檢查有無中斷請求,在沒有中斷請求時,一條指令結束后,計算機將自動進入下一條指令的執(zhí)行過程,在有中斷請求時,需要停止主程序的運行過程轉(zhuǎn)去響應并處理中斷,中段處理完成之后還需要轉(zhuǎn)回主程序繼續(xù)執(zhí)行,為此有一些追加的操作功能需要完成。在本教學計算機的具體實現(xiàn)中,需要完成關中斷,把主調(diào)用程序的斷點和程序狀態(tài)字保存到系統(tǒng)堆棧中,并把子程序的入口地址傳送進程序計數(shù)器PC這樣幾項功能,要經(jīng)過6個步驟才能實現(xiàn),要求劃分出讀取指令讀內(nèi)存,IR讀出指寄存器之間的數(shù)據(jù)運算或傳送有ARARPC,PCPC+1無INT#?B0110010組指令B傳送地址AR地址讀、寫內(nèi)存或讀、寫外設A組指令C組指令DA組指令0101傳送地址AR地址讀寫內(nèi)存INTN#,AR,SPSPINTN#,QSTRMEMQSTRARAR,SPSP-1INTV#,MEMINTV#,PCIB圖3-17教學計算機的指令執(zhí)行流程圖設計與實現(xiàn)擴展指令的過程中,必須保證無論這部分的設計結果正確與否,都不會影響基本指令的正常運行,否則教學計算機將進入非預期狀態(tài),導致下一步的調(diào)試工作難以進行。-36-為此,有必要對MACH器件內(nèi)部的邏輯線路的使用方式做出一點限制,把基本指令使用的、擴展指令使用的兩路控制信號明確區(qū)分開來。指定產(chǎn)生基本指令使用的控制信號的線路由I/O宏單元承擔,將它們直接連接到器件的輸出引腳,指定產(chǎn)生全部擴展指令使用的控制信號的線路改由器件內(nèi)部的隱埋(buried)宏單元(Node,不能直接連接輸出引腳)承擔,再把隱埋宏產(chǎn)生的控制信號作為一個“或”項與I/O宏的信號歸并到一起,使其可以輸出。為此,在描述MACH器件內(nèi)部功能的ABEL語言的程序中,把產(chǎn)生基本指令使用的控制信號的表達式寫在對應的輸出引腳處,把產(chǎn)生擴展指令使用的控制信號的表達式寫在各自的內(nèi)部節(jié)點處,還要限制完成擴展指令的過程中產(chǎn)生的設計錯誤不會影響基本指令正常的運行過程。例如:_MIO,REQ,_WEpin55,58,56istype'com';為3位控制信號分配3個輸出引腳_MIO00,REQ00,_WE00Nodeistype'com';為3位內(nèi)部信號分配3個內(nèi)部節(jié)點!_MIO=C_M&((T==[0,0,1,0])基本指令使用的控制信號由前4個或項產(chǎn)生#(T==[0,1,0,0])&(MVRD#LDRR#POP#JMPA#RETPOPFSTRRPUSHPSHFIN#OUT)#(T==[0,1,0,0])&(CALA)#(T==[0,1,0,1])&(CALA))#C_M&!_MIO00;!_MIO00=(T==[0,1,0,0])&IR13此或項把擴展指令使用的控制信號歸并進來產(chǎn)生全部擴展指令使用的控制信號的表達式#(T==[0,1,1,1])&(CALR#LDRA#LDRX#STRX#STRA)&IR13#(T==[0,1,0,1])&(LDRA#LDRX#STRX#STRA#IRET)&IR13#(T==[1,1,0,0])#(T==[1,1,0,1]);在表達式中,把!_MIO00作為形成!_MIO信號的一個或項,實現(xiàn)了兩路控制信號的歸并功能。在形成!_MIO00的表達式中的3個或項中,用到了IR13(擴展指令該位為1,基本指令該位為0)作為一個“與”因子,可以使用于擴展指令的微指令中的這一位控制信號設計錯誤不影響基本指令的正常運行。在形成!_MIO00的表達式中的最后2個或項中,用到的節(jié)拍只出現(xiàn)在擴展指令的表達式中,通過節(jié)拍信號就已經(jīng)和基本指令區(qū)別開來。下面給出擴展EI、DI、IRET這3條指令和中斷隱指令的設計結果作為例子,說明完成擴展指令的工作步驟和操作技術。擴展指令大體上可以分為定義指令格式和功能、劃分指令的執(zhí)行步驟、確定這些指令的執(zhí)行流程表的內(nèi)容,寫出有關擴展指令用到的32個控制信號的邏輯表達式,編譯之后將結果文件內(nèi)容下載到MACH芯片中,進一步完成調(diào)試和試運行這樣幾個步驟,與教材中講解基本指令的設計過程與實現(xiàn)技術很類似。正如前面剛剛講到的,需要做到不使擴展指令過程中出現(xiàn)的設計錯誤影響基本指令的正常運行,需要在不修改基本指令使用的控制信號的邏輯表達式的基礎上,把擴展指令使用的控制信號的邏輯表達式添加進去,并合理地把它們歸并到器件對應的輸出引腳輸出出來。請務必注意,對擴展指令只需設計實現(xiàn)它特定的操作步驟和處理功能就可以了,在需要讀取指令或者檢查中斷請求時,直接進入已經(jīng)在基本指令中實現(xiàn)了的這幾個操作步驟即可,無需另外設計,這是所有指令(含基本和擴展兩個部分)公用的操作步驟。-37-表3-12與中斷有關的擴展指令執(zhí)行流程表節(jié)拍節(jié)拍指令編碼/MR/WI2-0I8-6I5-3BASSTSSHSCIDC2DC1注釋0011EI011011100000001000000000000000000000EI0011DI011011110000001000000000000000001000DI0110IRET11101111001101000001000100000001011000SP>AR,SP+1>SP0100IRET11101111001000001000000000000100000000MEM>FLAG0111IRET11101111001101000001000100000001011000SP>AR,SP+1>SP0101IRET11110111001101100001010000000000000101001000000000000000000001011STR→Q,DI#1110001101100101000000000000011000SP-1→SP,AR11000000001000000001010000001001PC→MEM,INTN#1111001101100101000000000000011000SP-1→SP,AR11010000100010000000000000000000010110101100001010000000000000101INTV#,IB→PC3.4微程序控制器部件的技術說明現(xiàn),在圖中用虛線框表示),指令寄存器IR,控制存儲器,微指令寄存器,以及微指令下地址形成芯片Am2910(微程序定序器)、微指令轉(zhuǎn)移條件判斷線路、微地址映射部件組成。在具體實現(xiàn)中,為了方便調(diào)試,還安排了用于顯示的當前微地址寄存器。微命令微下地址微命令CP微指令寄存器CP/PL//PLCI3~CI0/MAPCP微程序定序器/MAPCP微程序定序器Am2910控制存儲器微地址MAPROM指令操作碼指令寄存器IR/OE/指令操作碼指令寄存器IRCPCP當前微地址寄存器CP條件判斷線路SCC指示燈程序計數(shù)器PC圖2-11微程序控制器的基本組成3.4.1Am2910芯片的內(nèi)部組成和功能說明Am的器件,即它的輸入輸出的地址位數(shù)和器件內(nèi)的部件位內(nèi)部組成包括一個四輸入的多路地址選擇器,用來從寄存器/計數(shù)器(R/C),直接輸入(D),微程序計數(shù)器(PC)或微堆棧(F)四個輸入中,選擇其一作為下一條微指令的地址。寄存器/計數(shù)器用作寄存器時,主要用于保存一個微地址,用以實現(xiàn)微程序轉(zhuǎn)移;當它用作計數(shù)器時,具有減一功能(何時減一,取決于Am2910的命令碼),主要用于控制微程序的循環(huán)次數(shù)。微程序計數(shù)器由增量器和寄存器PC組成。當增量器的進位輸入C1為高電平時,多路器的輸出Y加1后裝入PC(即PC←Y+1),用于實現(xiàn)微程序的順序執(zhí)行;而當C1為低電平時,多路器的輸出Y直接裝入PC(即PC←Y),用于實現(xiàn)同一條微指令的多次執(zhí)行。SP用于保存微子程序調(diào)用時的返回地址和微程序循環(huán)的首地址。微堆棧指針SP總是指向最后一次壓入的數(shù)據(jù),因此,執(zhí)行微程序循棧已滿信號(/FULL=0),這時,任何壓入操作都將覆蓋掉棧頂?shù)脑袛?shù)據(jù)。當/PL有效時(即/PL=0),D來源于微指令的下地址字段,用于給出微程序轉(zhuǎn)移地址;當/MAP有效時(即/MAP=0),D來源于MAPROM,用于實現(xiàn)從機器指令的操作碼找到相應的微程當/VECT有效時,(即/VECT=0),選擇D的另一路來源,目前的系統(tǒng)中未使用。產(chǎn)生芯片內(nèi)工作需要的控制信號和外部要用的三個控制選擇信號/PL、/MAP和/VECT。D11~D0P寄存器/計數(shù)器R/CX微堆棧F出輸入減R為零微程序計數(shù)器命令譯碼器VECT量/保DRFuPC持裝零數(shù)/選擇壓入/彈出保持/清零/清多路地址選擇器微堆棧指零檢測增量器輸FULLIRLDY11~Y0圖2-12Am2910內(nèi)部結構框圖(1)輸入信號:D11-D0:外部直接輸入的數(shù)據(jù),既可作為寄存器/計數(shù)器的初值,也可以經(jīng)過地址多路選擇器直II微堆棧的操作。CI:增量器進位輸入,當其為高電平時,控制微指令地址增量,即執(zhí)行PC←Y+1,當其為低電CP:時鐘脈沖信號,由低變高的上升邊沿觸發(fā)所有內(nèi)部狀態(tài)的變化。(2)輸出信號:Y11-Y0:下一條微指令的地址,它直接被用作為讀控制存儲器的地址。/FULL:微堆棧滿信號,低電平有效。器當前值的組合結果來決定。//CCEN=0Y輸出堆棧Y輸出堆棧0清除0清除PC/D壓入D/D/PC/D/PC壓入PC壓入PC/D/F/F/PC彈出PC彈出PC/F彈出PC/PC/F/PC彈出D彈出PC彈出完成功能初始化條件轉(zhuǎn)微子程序指令功能分支條件轉(zhuǎn)移轉(zhuǎn)中斷向量C微子程序非零循環(huán)條件返回順序執(zhí)行三路轉(zhuǎn)移信號MAP/VECT操作///////零零0123468其中只有少數(shù)命令(如0,2和14號命令)的執(zhí)行結果僅由命令碼本身決定,大部分命令還都要受到測試條件(/CC和/CCEN)為真還是為假的控制,有些命令(如8,9和15號命令)的執(zhí)行結果,試條件是否通過的雙重控制,可以實現(xiàn)三路微程序轉(zhuǎn)移的功能。件)得到,并將其作為輸出微地址Y的值,實現(xiàn)用指令操作碼找到對應該指令的微程序段的入口地址,從而開始該條指令的特定執(zhí)行過程。令也可以用于實現(xiàn)無條件的微程序轉(zhuǎn)移來使用。14號命令:順序執(zhí)行,即下一條微指令是緊跟在本條微指令后面的那條微指令。2)把/CCEN接地,使Am2910的條件判斷結果只取決于/CC。3.4.2教學計算機的微程序控制器的設計和實現(xiàn)微微下地址/VECTCI3~CI0微程序定序器Am2910/CC/CCEN條件判斷線路微命令微指令寄存器控制存儲器16位32位程序計數(shù)器CP微地址映射部件MAPROM指令寄存器/MAPCPCP微地址/PL/OE圖2-10微程序控制器的基本組成微程序控制器的基本組包括:控制存儲器、微指令寄存器、微程序下地址形成芯片Am2910(微程序定序器)和配套線路(微指令轉(zhuǎn)移條件判斷線路、微指令地址映射部件),指令寄存器IR和程對每個子部件簡要說明如下。(1)控制存儲器指令寄存器IR微指令,包括16位的微指令下地址信息(來自CM1和CM0)和32位的微命令信號(來自MACH)。選指令寄存器IR片內(nèi)的邏輯電路如下圖所示。CLK微指令地址輯線路A、B口信號合成32位的微命令字段的信號內(nèi)容(見微指令執(zhí)行流程表)的邏輯表達式完成的。8位的微指令地址是邏輯表達式的輸入變量,控制存儲器中每位微碼的值用一個表達式描述。這些邏輯表達式給出在本節(jié)的最后部分。在把微指R產(chǎn)品出廠時,全部基本指令的微程序已存放在里邊,且只提供讀操作功能。同時,教學計算機需要把設計好的微指令寫入相應的控制存儲器中(控制信號與器件及其管腳的對應關系在后面給出)。(8位)(8位)(8位)SSHSCI1~0DC2DC1(8位)OREQWEIII(8位)(8位)表AB用的寄存器的編的編碼(0000、0101、0100)不能由指令寄存器提供,只能在微指令的A口、B口字段直接給出,RAABB達式中的符號,后跟下劃線的代表來自IRIRIRIRDR和SR字段的內(nèi)容,不跟下劃線代表產(chǎn)生之后送給運算器的控制信號。A3=A3-&IR3A2=!A3-&A2-#A3-&IR2A1=!A3-&A1-#A3-&IR1A0=!A3-&A0-#A3-&IR0B3=B3-&IR7B2=!B3-&B2-#B3-&IR6B1=!B3-&B1-#B3-&IR5B0=!B3-&B0-#B3-&IR4(2)微指令寄存器S(3)微程序定序器和配套線路,用于形成下一條微指令的地址,具體由3部分組成:微程序定Am0芯片,微指令地址映射部件和微指令轉(zhuǎn)移的條件判斷線路。①微程序定序器Am2910芯片,其內(nèi)部組成、實現(xiàn)的功能和使用辦法已經(jīng)在前一節(jié)單獨講解過,在此不再贅述。②微指令地址映射部件的8位指令操作碼,其輸出內(nèi)容為這條指令對應的微程序段的入口地址。指令操作碼與相應入口地址的對應關系在下一節(jié)給出。腳與微程序定序器Am2910的/MAP引腳相連。③微指令轉(zhuǎn)移的條件判斷線路當按下“RESET”按鍵時,產(chǎn)生一清零信號CLR,使含有控制信號CI3~CI0的微指令寄存器開始執(zhí)行微程序。需要判斷測試條件是否成立,教學機中根據(jù)由控制信號SCC3~SCC0規(guī)定的判斷條件,結合指令操作微程序定序器和配套線路,依據(jù)微指令的下地址字段的內(nèi)容形成下一條微指令的地址,在教學PL效時,該值才有意義(被使用)。③微指令必定轉(zhuǎn)移時,是8位的轉(zhuǎn)移地址拼接命令碼3再拼接必轉(zhuǎn)的條件編碼0000,例如表2-8條件微指令轉(zhuǎn)移所依據(jù)的判斷條件(下面的條件滿足時,使/CC=0)JRC、JRNC、JRZ、JRNZ條件不滿足時,轉(zhuǎn)IR10=0(IN指令)時,轉(zhuǎn)IR8=1(寄存器出棧/入棧)時,轉(zhuǎn)(CI3~CI0=0011)000101LVSCCGALC_M#是組合邏輯/微程序控制器選擇信號,為低時是微程序方案,為高時是硬布線方案。V6789101112CKS3S2S1S0CZINT#SRST#NCGNDC_M#I0CK3I1I2I3CCMNRSTNCCC#I4VCC/CC#=/S3*/S2*/S1*/S0+/S3*S2*/S1*/S0*/I1*/I0*/C+/S3*S2*/S1*/S0*/I1*I0*C+/S3*S2*/S1*/S0*I1*/I0*/Z+/S3*S2*/S1*/S0*I1*I0*ZCCM=/S3*S2*S1*S0*I0/S3*S2*/S1*S0*/I1*/I0*/S/S3*S2*/S1*S0*/I1*I0*SCCM.OE=VCCCC#.OE=VCCNRST.OE=VCCCK3.OE=VCCDESCRIPTION(1)教學計算機的微程序控制器組成中還設置有一個當前微指令地址寄存器,由1片74LS377。(2)指令寄存器IR、程序計數(shù)器PC的組成和作用,與硬連線控制器中的規(guī)定完全相同,在此(3)微指令字中32位的微命令字段用于控制運算器部件、存儲器和接口部件、內(nèi)部總線和幾個特定的寄存器,與硬連線控制器中的規(guī)定完全相同,在此不再說明。詳細內(nèi)容接下來把教學機微程序控制器的設計的幾個主要步驟及其設計結果匯總如下。,框內(nèi)的文字表明這條微指令實現(xiàn)的功能,方框外的2位十六進制的數(shù)字表示這條微指令在控制存儲器中的單元地址,方框之間的帶箭頭的連線表示微指令之間執(zhí)行的次序關系,該連線旁邊無文字標注的表示執(zhí)行過前一條微指令無條件地開始下一條微指令的執(zhí)行步驟,有文字標注的表示進入下一對微程序的總體構成及有關微程序段的功能說明如下。寄存器之間運算與傳送IR(AR)讀、寫內(nèi)存CD擴展指令執(zhí)行流程圖AR地址C讀、寫內(nèi)存AR地址D組讀、寫內(nèi)存PC地址ARPC/MAPA組B組地址為00的微指令用于給出監(jiān)控程序的首地址和禁止中斷,僅在教學機加電啟動時被執(zhí)行一次,教學機在正常運行的期間不再使用這條微指令。地址為03的微指令用于通過指令的操作碼映射出這條指令特定的執(zhí)行步驟的首條微指令的地址并讀出這條微指令,也公用于每條指令。只有條件相對轉(zhuǎn)移指令,需要通過一個步驟判斷轉(zhuǎn)移條件是否滿足,不滿足時則結束指令的執(zhí)行過程,本指令只用到一條微指令,條件滿足時則要轉(zhuǎn)移,需要順序進到下一條,把指令的轉(zhuǎn)移地址微PC要無條件地轉(zhuǎn)向條指令可以合用的微指令盡可能地歸并為一條,以節(jié)省控制存儲器空間。執(zhí)行過后都要無條件地轉(zhuǎn)檢查中斷請求的那一條微指令。執(zhí)行過后要無條件地轉(zhuǎn)去執(zhí)行地址為30、用于檢查中斷請求的那一條微指令。地址為30的微指令,完成檢查中斷請求的功能(順便暫存程序狀態(tài)字到Q寄存器),無中斷請求時,就進入下一條指令的執(zhí)行過程,即開始讀取指令的第一個操作步驟;有中斷請求時,進入響應和處理中斷的過程,此處先用一條實現(xiàn)空操作的微指令替代,學習到中斷處理的內(nèi)容時再改寫成真正的響應中斷的幾條微指令。令字下地址字段的內(nèi)容和微指令地址映射直接相關,在教學計算機中是按如下原則分配的。完成了關中斷),把這條微指令安排在控制存儲器的00單元。(2)接下來的3個控存單元(地址為00、01和02)用于保存所有指令公用的、實現(xiàn)讀取(3)再接下來的控制存儲器單元分配給解釋執(zhí)行全部指令的有關微程序。且將其安排在對應JR指令的那條微指令(地址為11)之前更方便。對指令的第2條微指令將分別通過微指令的順序執(zhí)行和條件微轉(zhuǎn)移執(zhí)行與公用入口的微指令相銜中,在微指令的下地址字段中必須依此給出正確的信息。接下來可以把地址為1A、1B、1D、1E、1F、上面給出的只是分配控制存儲器地址的一種可行選擇,很容易選用另外的方案實現(xiàn)同樣的功能

溫馨提示

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

評論

0/150

提交評論