COPFLYI組成原理實驗指導書_第1頁
COPFLYI組成原理實驗指導書_第2頁
COPFLYI組成原理實驗指導書_第3頁
COPFLYI組成原理實驗指導書_第4頁
COPFLYI組成原理實驗指導書_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

目錄1COP-FLY-I硬件結構22脫機運算器實驗73儲藏器實驗144微程序控制器實驗185模型計算機的實現2611.COP-FLY-I硬件結構1.1COP-FLY-I實驗系統COP-FLY-I實驗系統主要由以下部件組成:運算器電路、控制器電路、儲藏器電路、地址/時序電路、操作臺、顯示電路、邏輯筆電路以及軟硬件通訊電路。串口組合邏輯控制器小板微程序控制器電路邏輯筆電路控制信號二選一電路雙端口儲藏器時序、地址小板單片機下載/采集電路運算器小板LED擴信號采集板液晶擴展模塊展模塊操作臺模式開關8位數據開關位擴張開關16圖1.1COP-FLY-I實驗系統整體結構框圖1.2COP-FLY-I實驗系統的電氣結構1、模型計算機時序信號COP-FLY-I模型計算機主時鐘MF的頻率為1MHz,執行一條微指令需要3個節拍脈沖T1、T2、T3。COP-FLY-I模型計算機時序采用不定長機器周期,絕大多數指令采用2個機器周期W1、W2,少許指令采用一個機器周期W1也許3個機器周期W1、W2、W3。2、模型計算機組成I時序發生器時序發生器集成在時序控制電路小板上,產生節拍脈沖T1、T2、T3,節拍電位W1、W2、W3,以及中斷央求信號ITNQ。主時鐘MF采用石英晶體振蕩器產生的1MHz時鐘信號。T1、T2、T3的脈寬為1巧妙。一個機器周期包括一組T1、T2、T3。運算器運算器集成在一片EPM1270的芯片內,主要由ALU加存放器堆兩部分組成。存放2器堆包括2-4譯碼器、4個8位存放器R0、R1、R2、R3,4選1選擇器A,4選1選擇器B。2-4譯碼器產生信號LR0、LR1、LR2和LR3,選擇數據線上的數據被保存到R0~R3的哪個存放器,再由4選1選擇器選擇將R0~R3中的哪個數據送到ALU的A/B端口。運算器對A端口和B端口的8位數進行加、減、與、或和數據傳達5種運算,產生8位數據結果、進位標志C和結果為0標志Z。當信號ALUBUS為1時,將運算的數據結果送數據總線DBUS。數據/地址開關AD9~AD010位數據/地址開關AD9~AD0是雙位開關,撥到上邊表示“1”,撥到下邊表示“0”。IV雙端口RAM雙端口RAM由1片IDT7132及少許附加電路組成,存放程序和數據。雙端口RAM是一種2個端口可同時進行讀、寫的儲藏器,2個端口各有獨立的儲藏器地址、數據總線和讀、寫控制信號。在COP-FLY-I中,雙端口儲藏器的左端口是個真切的讀、寫端口,用于將數據總線DBUS上的數寫入儲藏器;右端口設置成只讀方式,從右端口讀出的為指令,被送往指令存放器IR。V指令存放器IR指令存放器是1片74273,用于保存從雙端口RAM中讀出的指令。它的輸出IR7~IR4送往組合邏輯控制器、微程序控制器,IR3~IR0送往2選1選擇器。VI程序計數器PC、地址存放器AR和中斷地址存放器IAR程序計數器PC、地址存放器AR、中斷地址存放器IAR跟時序發生器都集成在時序小板上的CPLD內。程序計數器PC向雙端口RAM的右端口供應儲藏器地址PC7~PC0,可將儲藏器內的指令讀出,擁有PC復位、自動加1、PC和轉移偏量相加的功能。地址存放器AR向雙端口RAM的左端口供應儲藏器地址AR7~AR0,可將DBUS上的數據寫入儲藏器,擁有擁有PC復位、自動加1功能。中斷地址存放器保存中斷時的程序地址PC。VII微程序控制器微程序控制器產生COP-FLY-I模型計算機所需的各種控制信號。它由5片HN58C65組成,存放微程序代碼。微地址的產生和譯碼電路也集成在時序小板上的CPLD內。VIII組合邏輯控制器組合邏輯控制器由1片大型可編程器件EPM1270組成,產生COP-FLY-I模型計算機所需的各種控制信號。該小板也能夠由PC的USB口單獨供電,獨立工作。可實現部分數字電路和EDA課程的實驗。IX程序下載電路為了對ROM和RAM芯片實現在線編程,我們在大板上放置了一片單片機,經過PC上3的專用軟件,即可實現:下載新的微程序到ROM,無需編程器;下載新的測試程序代碼到RAM,免去手動輸入測試程序代碼的繁瑣。1.3模型計算機指令系統COP-FLY-I模型計算機是個8位機,字長是8位。多數指令是單字指令,少許指令是雙字指令。指令使用4位操作碼,最多容納16條指令。已實現加法、減法、邏輯與、加1、存數、取數、Z條件轉移、C條件轉移、無條件轉移、輸出、中斷返回、開中斷、關中斷和停機14條指令。指令系統如表所示。名稱助記符功能指令格式IR7~R4IR3IR2IR1IR0加法ADDRd,RsRd←Rd+Rs0001RdRs減法SUBRd,RsRd←Rd-Rs0010RdRs邏輯與ANDRd,RsRd←RdandRs0011RdRs加1INCRdRd←Rd+10100RdXX取數LDRd,[Rs]Rd←[Rs]0101RdRs存數STRs,[Rd]Rs→[Rd]0110RdRsC條件轉移JCaddr若是C=1,則0111offsetPC←@+offsetZ條件轉移JZaddr若是Z=1,則1000offsetPC←@+offset無條件轉移JMP[Rd]PC←Rd1001RdXX輸出OUTRsDBUS←Rs1010XXRs中斷返回IRET返回斷點1011XXXX關中斷DI禁止中斷1100XXXX開中斷EI贊同中斷1101XXXX停機STP暫停運行1110XXXX表1.1COP-FLY-I模型計算機指令系統表1.1中,XX代表隨意值。Rs代表源存放器號,Rd代表目的存放器號。在條件轉移指令中,@代表當前PC的值,offset是一個4位的有符號數,第3位是符號位,0代表正數,1代表負數。注意:@不是當前指令的PC值,是當前指令的PC值加1。輸入與輸出A.輸入設備——按鈕1、啟動按鈕ST按一次啟動按鈕ST,則產生2個脈沖ST和ST#。ST為正脈沖,ST#為負脈沖,脈4沖的寬度與按下ST按鈕的時間同樣。正脈沖ST啟動節拍脈沖信號T1、T2和T3。2、復位按鈕RST按一次復位按鈕RST,則產生2個脈沖RST和RST#。RST為正脈沖,RST#為負脈沖,脈沖的寬度與按下RST按鈕的時間同樣。負脈沖RST#使模型計算機復位,處于初始狀態。3、中斷按鈕按一次中斷按鈕,則產生2個脈沖PULSE和PULSE#。PULSE為正脈沖,PULSE#為負脈沖,脈沖的寬度與按下PULSE按鈕的時間同樣。正脈沖PULSE向COP-FLY-I模型計算機發出中斷央求。B.輸入設備——開關1、數據/地址開關AD9~AD0這10個雙位開關的高兩位AD9、AD8用于地址譯碼,產生內存芯片的片選信號。低8位用于向存放器中寫入數據、向儲藏器中寫入程序也許用于設置儲藏器初始地址。當開關撥到向上地址時為1,撥到向下地址時為0。2、電平開關S15~S0這16個雙位開關用于在實驗時設置信號的電平。每個開關上方都有對應的接插孔,供接線使用。開關撥到上地址為1,撥到下地址為0。3、單微指令開關STEP單微指令開關控制節拍脈沖信號T1、T2、T3的數目。當單微指令開關STEP撥到上位時,實驗系統處于單微指令運行方式,每按一次ST按鈕,只產生一組T1、T2、T3;當單微指令開關STEP撥到下位時,處于連續運行方式,每按一次ST按鈕,開始連續產生T1、T2、T3,直到按一次RST按鈕也許控制器產生STOP信號為止。4、控制器變換開關當控制器變換開關撥到上位時,使用組合邏輯控制器;當控制器變換開關撥到下位時,使用微程序控制器。5、編程開關當編程開關撥到下位時,COP-FLY-I模型計算機處于正常工作狀態;當編程開關撥到上位時,處于在線編程狀態。在編程狀態下,可更正ROM內的微程序代碼也允許更正RAM內的測試程序代碼。6、操作模式開關OP4、OP3、OP2、OP1、OP0操作模式開關OP4、OP3、OP2、OP1、OP0的狀態決定COP-FLY-I模型計算機的工作模式,其對應關系以下以下:模式開關實驗箱運行模式OP4OP3OP2OP1OP0500000啟動程序運行00001寫儲藏器00010讀儲藏器00011讀存放器00100寫存放器00101聯機運算器實驗00110雙端口儲藏器實驗00111數據通路實驗01000脫機運算器/儲藏器擴展/系統結構實驗10000自檢表模式開關設置表C.輸出設備——指示燈:為了在實驗過程中觀察各種數據,COP-FLY-I實驗系統設計了大量的指示燈。1、與運算器相關的指示燈數據總線指示燈D7~D0。運算器A端口指示燈A7~A0。運算器B端口指示燈B7~B0。進位信號指示燈C。結果為0信號指示燈Z。2、與儲藏器相關的指示燈程序計數器指示燈PC7~PC0地址指示燈AR7~AR0擴展儲藏器地址指示燈EAR7~EAR0指令存放器指示燈IR7~IR0雙端口儲藏器右端口數據指示燈INS7~INS03、與微程序控制器相關的信號指示燈在使用微程序控制器時,控制信號指示燈指示微程序控制器產生的控制信號以及后繼微地址NμA7~NμA0和鑒識位R4~R0,微地址指示燈指示當前的微地址μA7~μA0;在使用組合邏輯控制器時,微地址指示燈μA7~μA0、后繼微地址NμA7~NμA0和鑒識位指示燈R4~R0沒有實質意義。4、其他指示燈手動模式指示燈:當它亮時,表示數據和控制信號的送入是人為手動干預;當它不亮時,表示自動運行程序。組合邏輯控制器指示燈:亮時使用組合邏輯控制器;不亮時使用微程序控制器。62.脫機運算器實驗脫機運算器實驗顧名思義就是把運算器從整機中走開出來,單獨對運算器進行控制的實驗。實驗時,組合邏輯和微程序的控制器都不供應控制信號,運算器運行所需要的控制信號由大板右下方的16個開關供應;大板下方的數據地址開關供應運算的數據。一、實驗目的⑴熟悉運算器的數據傳達通路;⑵考據運算器的加1、加、減、與、直通等功能;3)按給定的數據,達成幾種指定的算術、邏輯運算。二、實驗原理計算機系統由五大多數組成:輸入設備、輸出設備、運算器、儲藏器、控制器。運算器肩負執行算術、邏輯運算的功能。平時由執行算術邏輯運算功能的ALU線路、暫存參加ALU運算的數據和中間運算結果的通用存放器組、支持乘除法運算的專用存放器三部分組成。三個部分之間經過多路選擇器線路實現連接,從而組成一個完滿的運算器部件。7S0S1S2S3R0

DBUSZC數據總線D7~D0ALUBUS#LZLCF:ALU運算結果MALUCINA端口B端口A7—A0RD0B7—B04選14選1RS0選擇目的存放器RD1選擇源存放器RS1RD=“00”RD=“01”RD=“10”RD=“11”DRWR1DRWR2DRWR3DRWT3T3T3T3DBUS數據總線D7~D0SWBUS#數據開關SW7~SW0圖運算器邏輯框圖COP-FLY-I計算機組成原理實驗系統的運算器部件由一片CPLD器件組成,算術邏輯運算單元是參照74LS181設計的,運算器部件的組成線路和信息連接關系如圖2.1所示。主體部分由ALU部件和存放器堆組成;存放器能夠接收來自數據總線的8位數據,并作為A/B口的輸入送到ALU算術邏輯運算單元,ALU部件依照讀到的控制信號,達成相應的算術和邏輯運算。數據開關AD7~AD0是8個雙位開關。撥動這些開關,能夠生成需要的AD7~AD0的值。數據開關的值經過一片74LS244(SWD)控制可否送到數據總線上。在信號SWBUS#為0時,AD7~AD0經過SWD送往數據總線DBUS。在本實驗中,使用數據開關AD7~AD0設置送往存放器R0、R1、R2和R3的值。存放器堆包括4個8位的存放器R0、R1、R2、R3,4選1選擇器A,4選1選擇器B。運算器部件依照接收到的信號RD1、RD0進行譯碼,指示出被寫的存放器。當DRW信號為1時,在T3的上升沿,將數據總線DBUS上的數寫入譯碼指定的存放器中。再依照信8號RD1、RD0的值,4選1選擇器A從4個存放器中選擇1個存放器送往ALU的A端口。依照信號RS1、RS0的值,4選1選擇器B從4個存放器中選擇1個存放器送往ALU的B端口。ALU是參照74LS181設計來達成算術邏輯運算的。ALU對來自A7~A0和B7~B0上的2個8位數據依照讀到的控制信號M、CIN、S3、S2、S1、S0來進行算術邏輯運算,運算后的數據結果在信號ALUBUS#為0時送數據總線DBUS(D7~D0),運算后產生狀態標志C和Z,若是LC、LZ信號為1,則在T3的上升沿保存進位標志位C和結果為0標志位Z。加法和減法同時影響C標志和Z標志,與操作和或操作只影響Z標志。需注意:數據總線DBUS有4個信號本源:運算器、儲藏器、數據開關和中斷地址存放器,在每一時辰只贊同其中一個信號源送數據總線,否則會引起數據矛盾,影響實驗結果,嚴重的會燒毀器件。學生在做脫機運算器實驗時,需要特別注意SWBUS#和ALUBUS#這兩個信號不能夠同時有效。為了便于理解和實驗參照,把ALU實驗中用到的控制信號整理以下:信號功能M狀態控制端S3-S0運算選擇控制Cin低位進位輸入C進位標志LC保存進位標志Z結果為0標志LZ保存運算Z標志SL3SL2選擇A口存放器SL1SL0選擇B口存放器DRW寫存放器SWBUS#數據開關送總線ALUBUS#運算結果送總線A7~A0A端口數據B7~B0B端口數據D7~D0數據總線

說明M=1邏輯運算;M=0算術運算S3S2S1S0決定電路執行哪一種算術CIN=0有進位,無借位;CIN=1無進位,有借位C=1運算結果有進位或借位;反之為0LC=1,在T3上升沿將運算的進位結果保存到C標志存放器;LC=0,進位結果保持不變Z=1運算結果為0;Z=0運算結果不為0LZ=1,在T3上升沿將運算的狀態標志Z保存到Z標志寄存器;LZ=0,進位結果保持不變相當于RD1、RD0,2位譯碼決定R0-R3相當于RS1、RS0,2位譯碼決定R0-R3DRW=1,在T3上升沿對RD1、RD0選中的存放器進行寫操作,將數據總線上的數D7~D0寫入選定的存放器SWBUS#=0,將數據開關的值送到數據總線上,反之不送ALUBUS#=0,將運算結果送到數據總線上,反之不送送往ALU的A端口的運算數1送往ALU的B端口的運算數2數據總線DBUS上的8位數9表ALU控制信號說明表ALU運算功能如表所示:方式M=1M=0算術運算S3S2S1S0邏輯運算CN=1(無進位,有借位)CN=0(有進位,無借位)0000F=/AF=AF=A加10001F=/(A+B)F=(A+B)F=(A+B)加10010F=(/A)BF=A+/BF=(A+/B)加10011F=0F=負1(補碼形式)F=00100F=/(AB)F=A加A(/B)F=A加A/B加10101F=/BF=(A+B)加A/BF=(A+B)加A/B加10110F=A⊕BF=A減B減1F=A減B0111F=A/BF=A(/B)減1F=A(/B)1000F=/A+BF=A加ABF=A加AB加11001F=/(A⊕B)F=A加BF=A加B加11010F=BF=(A+/B)加ABF=(A+/B)加AB加11011F=ABF=AB減1F=AB1100F=1F=A加AF=A加A加11101F=A+/BF=(A+B)加AF=(A+B)加A加11110F=A+BF=(A+/B)加AF=(A+/B)加A加11111F=AF=A減1F=A表ALU運算功能表(表中的“/”表示求反)應當指出,ALU對減法運算采用的是補碼運算方式,即先求得[-減數]的補碼,爾后和被減數的補碼相加的方式達成。因此一個較大的數減去一個較小的數,也許2個相等的數相減時產生進位。從上表中能夠看出控制信號SL3、SL2(即RD1、RD0)和SL1、SL0(即RS1、RS0)的狀態決定當前應用的是哪個存放器。他們的對應關系如表2.3所示:RD1RD0SL3SL2對應目的存放器RS1RS0SL1SL0對應源存放器0000R00000R00101R10101R11010R21010R21111R31111R3表譯碼信號與存放器對應關系表10注:SL3、SL2、SL1、SL0是控制器產生的控制信號,開關給出的控制信號直接命名為RD1、RD0、RS1、RS0,它們的功能是完滿同樣的,實驗中都是經過排線連接到運算器部件。三、實驗任務對下述5組數據進行加1,加、減、與、直通運算。(1)A=0F0H,B=10H(2)A=0FFH,B=00H(3)A=55H,B=0AAH(4)A=03H,B=05H(5)A=080H,B=80H四、實驗準備注意:設備上的模式開關和數據地址開關均為撥到上方為‘1’。1、置模式開關OP4-OP0=01000;2、置單步開關STEP=1;3、置“正常運行/下載”開關S19為“正常”狀態;4、置“微程序/組合邏輯控制器”選擇開關S18為“微程序”狀態;5、將大板右下方獨立微動開關處標有J21、J22的雙排座與ALU小板上標有J8、J9的雙排座分別用8芯彩排線連接起來;6、將標有“SWBUS#”的獨立微動開關的孔S7與數據地址開關的標有“SWBUS#-”I的孔P17用自鎖緊導線連接起來。五、實驗步驟SWBALUCi按ST從前按ST此后操作BUSRdRSDrwLcLzMS運算結運算結CZUS#n#CZ果果R0<-A010000100000000R1<-B010100100000000A+1100001011000000A+B100001011101001A-B100001011000110A與B10000101111011直通A10000101111111表脫機運算器的步驟列表注意:1.數據總線DBUS有2個信號本源:數據開關的值和運算器運算結果,實驗中必然要保證SWBUS#和ALUBUS#這兩個信號不能夠同時有效,即不能夠同時為‘0’。在該實驗中,能夠經過改變RD的值選擇寫入的存放器。幾組實驗數據能夠選擇不同樣的存放器來達成。存放器的選擇可參照表2.3。設置數A到存放器R0數據開關上設置A數F0H(11110000),獨立撥動開關上設置有效控制信號:SWBUS#=0、ALUBUS#=1、DRW=1、RD=00,其他用不到的控制信號默認為‘0’;11按ST,將數F0寫入存放器R0;設置數B到存放器R1數據開關上設置B數10H(00010000),獨立撥動開關上設置控制信號:SWBUS#=0、ALUBUS#=1、DRW=1、RD=01;按ST,將數10寫入存放器R1;A+1運算獨立撥動開關上設置加1的控制信號:SWBUS#=1、ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=0、M=0、S=0000,A加1的運算結果馬上顯示在DBUS上。按ST,觀察狀態指示燈C、Z。A+B運算獨立撥動開關上設置A+B的控制信號:SWBUS#=1、ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=1、M=0、S=1001,A+B的運算結果馬上顯示在DBUS上。按ST,觀察狀態指示燈C、Z。A-B運算獨立撥動開關上設置A-B的控制信號:SWBUS#=1、ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=0、M=0、S=0110,A-B的運算結果馬上顯示在DBUS上。按ST,觀察狀態指示燈C、Z。A與B運算獨立撥動開關上設置A與B的控制信號:SWBUS#=1、ALUBUS#=0、LZ=1、LC=1、RD=00、RS=01、DRW=0、Cin=0、M=1、S=1011,A與B的運算結果馬上顯示在DBUS上。按ST,觀察狀態指示燈Z。直通運算獨立撥動開關上設置直通A的控制信號:SWBUS#=1、ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=0、M=1、S=1111,直通A的結果馬上顯示在DBUS上。12六、實驗結果依照實驗結果填寫下表:運算操作加1加法減法與A直通數A數BFCZFCZFCZFZFF0H10HFFH00H55HAAH03H05H80H80H表脫機運算器實驗表除表中給出的運算之外,同學們能夠自行設計或運算,B直通運算的控制信號列表,進行運算并給出運算結果。133.儲藏器實驗儲藏器是計算機中存放正在運行中的程序和相關數據的部件。在授課計算機儲藏器部件設計中,我們采用靜態儲藏器芯片作為實現內儲藏器的儲藏體,包括雙端口儲藏區IDT7132)和擴展的RAM儲藏區(HM6116)兩部分.這里用到1個譯碼器電路,74LS138譯碼器芯片接收來自地址開關最高2位的地址信息,當需要內存工作時,由這片譯碼器產生內存芯片的4個片選信號,雙端口默認工作地址從000-0ff,擴展ram經過連接線連接片選來確定能夠進行讀寫的內存空間。開關AD9AD8片選儲藏器芯片00000h-0ffh雙端口儲藏器01100h-1ffh擴展儲藏器10200h-2ffh擴展儲藏器11300h-3ffh擴展儲藏器表地址空間譯碼表DBUSRAMBUSD7L—D0LRAMW雙端口儲藏器T2A7L—A0LAR7—AR0RSTLOADARARINCART3DBUS

INS7—INS0D7R—D0RA7R—A0RPC7—PC0RSTLOADPCPCPCINCPCADDT3IR3—IR0IR7—IR0數據總線D7~D0IRSWBUS數據開關SD7—SD0

LIRT3圖雙端口儲藏器電路圖擴展儲藏器我們采用的是1片長度8位、容量2KB的HM6116芯片實現,該芯片是靜態儲藏器芯片,芯片的內容斷電今后就會扔掉。14RAMBUS#D7—D0RMOE#地地地地地RAMWA7—A0AR7—AR0AR地地地地地DBUS

LAR地地地地D7~D0SWBUS#地地地地SD7—SD0圖3.2擴展儲藏器結構框圖一、實驗目的⑴認識靜態儲藏器HM6116的工作特點及其使用方法;⑵認識靜態儲藏器怎樣完妙手動控制讀寫;二、實驗任務1.經過獨立撥動開關供應控制信號,給三個儲藏器地址寫入不同樣的數值;地址210:數據88;地址220:數據66;地址230:數據22。2.讀出寫入的三個儲藏器地址的內容,送到數據總線上顯示出來,觀察寫入可否正確。三、實驗接線置模式開關OP4-OP0=01000;置單步開關STEP=1;置“正常運行/下載”開關S19“正常”狀態;4.置“微程序/組合邏輯控制器”選擇開關S18為“微程序”狀態;將大板上雙端口儲藏器右上方標有J24、J25的雙排座分別與ALU小板上的標有J8、J9的雙排座用8芯排線連接;6.將儲藏器擴展芯片6116右邊的標有J19的雙排座與下方的標有J29的雙排座用8芯排線連接;將6116芯片下方的標有“ECS#”的孔與數據地址開關上方的譯碼出來的片選的孔P30經過自鎖緊導線相連,即擴展6116的儲藏空間為200-2FFH;將數據地址開關上方的標有“SWBUS#-”I孔P17與獨立撥動開關下邊一排左數第一15個標有“SWBUS#”的開關上方的孔用自鎖緊導線連接;將6116芯片下方的標有“RMOE#”、“LAR”、“WRE”的孔分別與獨立撥動開關下邊一排的標有“RMOE#”“LAR”、“WRE”的開關上方的孔用自鎖緊導線連接;四.實驗步驟操作數據地SWBUS#RMOE#LARWRE按ST從前按ST此后址DBUSEARDBUSEAR設置寫入地址1210H011010001010寫數據188H0101881088E0設置寫入地址2220H011020102020寫數據266H010166208820設置寫入地址3230H011030203030寫數據322H010122302230設置讀出地址1210H011010001010讀出數據110008810設置讀出地址2220H011020102020讀出數據210006620設置讀出地址3230H011030203030讀出數據310002230表3.2寫6116控制信號列表設置第一個寫入地址210H將10位數據地址開關的高兩位設置成10,代表的是擴展儲藏器芯片6116的片選地址是200-2FF;整個實驗過程中高兩位開關保持不變,下邊不再描述;低8位設置成00010000代表16進制的10H;(下同)獨立撥動開關上設置控制信號:SWBUS#=0、RMOE#=1、LAR=1、WRE=0;按ST按鍵,地址10送到地址存放器,在擴展地址指示燈上觀察;寫入數據88H8位數據地址開關設置成10001000代表16進制的88H;(下同)獨立撥動開關上設置控制信號:SWBUS#=0、RMOE#=1、LAR=0、WRE=1;按ST按鍵,將數據88H寫入到地址10H中;重復上邊的步驟寫入第二個數和第三個數設置第一個讀出地址210H168位地址數據開關設置成10H;獨立撥動開關上設置控制信號:SWBUS#=0、RMOE#=1、LAR=1、WRE=0;按ST按鍵,地址10送到地址存放器,在擴展地址指示燈上觀察;讀出數據88H獨立撥動開關上設置控制信號:SWBUS#=1、RMOE#=0、LAR=0、WRE=0;觀察數據總線指示燈,能夠看到數據88H;重復d、e步同樣讀出第二個數和第三個數實驗中注意SWBUS#和RMOE#信號不要同時為0,省得數據總線上出現數據矛盾。174.微程序控制器實驗微指令字長40位,序次字段11位(鑒識字段R4~R0,后繼微地址NμA5~NμA0,)控制字段29位,微命令直接控制。RWNISSSSRCCDS3210RUUPWAPC543210-EDUBUBNCZRMDNDNWAGLLLLTTABMBM3210OAIAI4AAAAAACESSSSNNIAWUILLITAROCR3210μμμμμμRRRRRNNNNNNIRSALL鑒識字段后繼微地址3938373635343332313029282726252423222120191817161514131211109876543210圖4.1微指令格式介紹過的微命令不再重述,這里介紹后繼微地址、鑒識字段和其他的微命令。本實驗中用到的信號歸納以下表4.1所示:信號功能說明NμA5~NμA0下地址在微指令序次執行的情況下,下一條微指令的地址μA5~μA0微地址當前執行微指令的地址R4條件判斷轉移依照下地址和中斷信號INT確定下一條微指令的地址R3條件判斷轉移依照下地址和結果為0標志Z確定下一條微指令的地址R2條件判斷轉移依照下地址和進位C確定下一條微指令的地址。R1條件判斷轉移依照下地址和指令操作碼高四位確定下一條微指令的地址R0條件判斷轉移依照下地址和模式開關低三位確定下一條微指令的地址LIAD中斷地址為1時,在T3的上升沿,將PC寫入中斷地址存放器PCADR跳轉地址為1時,將當前的PC值加上相對轉移量,生成新的PC表微程序控制器控制信號功能表COP-FLY-I模型計算機微程序控制器電路主要包括兩大多數,一部分是用VHDL語言描述生成的放到CPLD器件內部的微地址生成部件,功能結構框圖是下邊框中所示部分;別的一部分是控制信號儲藏部件,用5片COM器件實現。整體結構框圖如圖所示。18WS-GCE--AA

3210NILLLLDSSSSE---TANI

SSSSURUBUUABMBB32WMLIALSS--RSA---AA---AAAAAA

ZPWNCM10ROIDDASSCLITR-SAAAAAAAA

RCCAPCDNDAA543210RIROOCAAAAAALLPD43210μμμμμμAPPPPPNNNNAAAANN7654321076543210765432107654321076543210OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO////////////////////////////////////////IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIICM4CM3CM2CM1CM0543210543210543210543210543210AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5A4A3A2A1A0地地地地地地地RSTT3NμA5

AR1NμA4-T1NμA3-T1NμA2-T1NμA1-T1NμA0-T≥≥≥≥≥NμA41NμA31NμA21NμA111≥≥≥≥≥NμA0&&&&&&&&&&IB0I1AIIIITC01013147P6P2NWPPWWP5PZP4PIPRRRCPRII圖微程序控制器電路圖控制儲藏器由5片58C65組成,CM0~CM4。其中CM0儲藏微指令最低的8位微代碼,CM5儲藏微指令最高的8位微代碼。在正常工作方式下,5片E2PROM處于只讀狀態;在更正控制儲藏器內容時,5片E2PROM處于讀、寫狀態。微地址存放器和條件轉移邏輯部件是用VHDL硬件描述語言實現的,放在了一片CPLD器件中。其實現的主要功能為:按下復位按鈕RST時,產生信號RST#(負脈沖)使微地址存放器復位,μA5~μA0為00H,供讀出第一條微指令使用;在一條微指令結束時,用T3的下降沿將微地址轉移邏輯產生的下地址NμA5、NμA4-T~NμA0-T寫入微地址存放器。微地址轉移邏輯的主要功能是依照實驗箱模式功能開關的狀態、鑒識位R、指令操作碼的高四位IRH7~IRH4、狀態標志位C、Z和后繼微地址NμA5~NμA0來實現微程序分枝,產生出新的微地址NμA5-T~NμA0-T的。新產生的微地址NμA5-T~NμA0-T在T3的下降沿寫入微地址存放器μAR。19地址時序小板上所需要的指令操作碼的高四位IRH7~IRH4和狀態標志位C、Z信號經過雙排線跟大板上產生的的相應的信號連接起來。一、實驗目的1)掌握微程序控制器的原理2)理解條件轉移對計算機的重要性。二、實驗任務正確設置指令操作碼IR7~IR4,用單微指令方式追蹤除停機指令STP之外的所有指令的執行過程。記錄下每一步的微地址μA5~μA0、鑒識位R4~R0和相關控制信號的值。對于JZ指令,追蹤Z=1、Z=0兩種情況;對于JZ指令,追蹤C=1、C=0兩種情況。經過大板右下方獨立撥動開關設置操作碼IR7~IR4,按ST按鈕,追蹤指令的執行。按復位RST按鈕,能夠結束本次追蹤操作。改變開關的值,就可以看到不同樣指令的執行可否正確。三、實驗接線1.置模式開關OP4-OP0=00000;2.置單步開關STEP=1;3.置“正常運行/下載”開關S19“正常”狀態;4.置“微程序/組合邏輯控制器”選擇開關S18為“微程序”狀態;5.將大板上雙端口儲藏器右上方標有J24、J25的雙排座分別與ALU小板上的標有J8、J9的雙排座用8芯排線連接;6.將”微程序/組合邏輯控制器”選擇開關右上方的標有“SWBUS#”的孔與數據/地址開關上方的標有“SWBUS#-”I的孔P17用自鎖緊導線連接。7.將時序電路小板上標有J1(小板上方左邊第一個)的雙排座與大板右下方標有J21的雙排座用8芯排線連接;四、實驗步驟20地地SL3=0SL2=000地地地SL1=1SL0=1R0R0OP3地OP0=0100OP3地OP0=0011OP3地OP0=0010OP3地OP0=0001OP3地OP0=0000地地地地地地地地地地地地地地地地地地090A070503INT=0SWBUSSWBUSSL3=0SWBUSSWBUSR4SL3=0SL3=1SL2=0LOADARLOADAR01INT=11ESL2=0SL2=0SL1=0STOPSTOPSL1=0SL1=0REG-SWREG-SWLIRINTDISL0=1SL0=1SL0=1REG-SWPCINCLIADREG-SWREG-SWSTOPR1SL1=0DRWSTOPDRWSTOP080C060402SL0=0STOPSWBUSWBUSL3=1RAMBUSSSWBUS14SL3=0SL2=0SL3=1ARINCRAMWSL2=1SL2=1SL1=1SWBUSSL1=1STOPARINCSL1=0SL0=1R1LOADPCSL0=0SL0=0REG-SWREG-SWSTOPREG-SWREG-SWREG-SWDRWSTOPDRWSTOPSTOP地地IR7-IR4地地IR7-IR400010010001101000101011001111000100110101011110011011110ADDSUBANDINCLDSTJCJZJMPOUTIRETDIEISTP2122232425262728292A2B2C2D2ES=S=0110MS=0000MMR2R3MMINTBUSINTDIINTENSTOP1001S=111CINALUBUSS=1011ALUBUSS=1010S=11111S=1010LOADPCR4ALUBUSDRWALUBUSDRWALUBUSALUBUSC=0Z=0ALUBUSALUBUSR4DRWLZDRWLZLOADARLOADARR3LOADPCR4R2LZLCLZLCZ=1R4LCR4R4R40E10C=1R4RAMBUMSS=10101312DRWALUBUSR4R4RAMWR4R4PCADR圖4.3微程序控制器流程圖觀察記錄ADD指令執行過程<1>將大板右下方標有IR7~IR4的獨立撥動開關設置成0001(ADD指令的指令編碼);<2>按RST按鍵,微地址指示燈μA7~μA0顯示00000000;條件鑒識位R0為1,即根據模式開關的設置進行分支跳轉,這里判斷模式開關的低三位OP3~OP0,都為0,轉到指令執行分支來執行;21<3>按ST按鍵,微地址指示燈μA7~μA0顯示00000001;條件鑒識位R1為1,即依照指令編碼的值進行分支跳轉,不同樣的指令跳轉到不同樣的微地址來執行;觀察控制信號指示燈,控制信號為:LIR=1,PCINC=1。注:以上為公共微指令,即任何一條指令執行都需要這幾步。<4>按ST按鍵;微地址指示燈μA7~μA0顯示00100001(本條微指令執行ADD指令;觀察控制信號指示燈,控制信號為:S=1001、CIN=1、LC=1、LZ=1、DRW=1,ALUBUS=1。能夠看到,ADD、SUB、AND、INC、JMP、OUT的執行除公共微指令外,只需一條微指令就能達成。觀察LD指令執行過程<1>將大板右下方標有IR7~IR4的獨立撥動開關設置成0101(LD指令的指令編碼);<2>按RST按鍵,微地址指示燈μA7~μA0顯示00000000;條件鑒識位R0為1,即根據模式開關的設置進行分支跳轉,這里判斷模式開關的低三位OP3~OP0,都為0,轉到指令執行分支來執行;<3>按ST按鍵,微地址指示燈μA7~μA0顯示00000001;條件鑒識位R1為1,即依照指令編碼的值進行分支跳轉,不同樣的指令跳轉到不同樣的微地址來執行;觀察控制信號指示燈,控制信號為:LIR=1,PCINC=1。<4>按ST按鍵;微地址指示燈μA7~μA0顯示00100101(本條微指令執行LD指令;觀察控制信號指示燈,控制信號為:S=1010、M=1、LOADAR=1、ALUBUS=1。<5>按ST按鍵;微地址指示燈μA7~μA0顯示00001110(本條微指令執行LD指令;觀察控制信號指示燈,控制信號為:DRW=1、RAMBUS=1。能夠看到,LD、ST的執行除公共微指令外,還需兩條微指令才能達成。觀察JC指令執行過程<1>將大板右下方標有IR7~IR4的獨立撥動開關設置成0111(JC指令的指令編碼);<2>按RST按鍵,微地址指示燈μA7~μA0顯示00000000;條件鑒識位R0為1,即依照模式開關的設置進行分支跳轉,這里判斷模式開關的低三位OP3~OP0,都為0,轉到指令執行分支來執行;<3>按ST按鍵,微地址指示燈μA7~μA0顯示00000001;條件鑒識位R1為1,即依照指令編碼的值進行分支跳轉,不同樣的指令跳轉到不同樣的微地址來執行;觀察控制信號指示燈,控制信號為:LIR=1,PCINC=1。<4>按ST按鍵;微地址指示燈μA7~μA0顯示00100111(本條微指令執行JC指令;條件判斷位R2為1,進行條件判斷。條件判斷指令的執行跟其他指令不同樣,需要判斷運算的結果標志位,JC指令要判斷進位標志C的值,依照C為0還是為1,轉去執行不同樣的分支;若是C為0,序次執行下一條語句;若是C為1,轉去執行指定的語句;C的值由大板右下方的獨立撥動開關S8供應。22<5>按ST按鍵;若是C為0,微地址指示燈μA7~μA0顯示00010010;判斷有沒有中斷央求,指令執行達成;若是C為1,微地址指示燈μA7~μA0顯示00010011;觀察控制信號指示燈,控制信號為:PCADD=1。能夠看到,JC、JZ的執行除公共微指令外,需判斷轉移條件C、Z的值,依照不同樣的值,跳轉到不同樣的分支。23微址指令操作功能下址R4-R0SL3-SL0DRW-RAMWPCINC-LPCARINC-LARLIR-LIARRSW-STLC-LZM-CINS3-S0ALU-SW-INTEN-DIPCADDOPRAM-INT編碼0000001復位030000100110000000000000000000000000寫儲藏器03AR<-[首地址]02000000000000001001100000000010000002ARINC0200000000001001000110000000001000000000010復位050000100110000000000000000000000000讀儲藏器05AR<-[首地址]04000000000000001001100000000010000004ARINC0400000000000001000110000000000100000000100復位090000100110000000000000000000000000寫存放器09R0<-DBUS08000000001100000001100000000010000008R1<-DBUS0A00000010010000000110000000001000000AR2<-DBUS0C00000100110000000110000000001000000CR3<-DBUS0000000111010000000110000000001000000000011復位070000100110000000000000000000000000讀存放器0700011A<-R0;B<-R10600000000100000000110000000000000000600011A<-R2;B<-R30000000101100000000110000000000000000000000復位010000100110000000000000000000000000執行指令01取指210001000000010001000000000000000000210001ADD001000000001000000000110110011000000220010SUB001000000001000000000110001101000000230011AND001000000001000000000011010111000000240100INC001000000001000000000110000001000000250101LD0E0000000000000010000001010101000000240E001000000001000000000000000000010000260110ST10000000000000001000000101111100000010001000000000100000000001010101000000270111JC12/13001000000000000000000000000000000013001000000000000000000000000000000001281000JZ12/13010000000000000000000000000000000012001000000000000000000000000000000000291001JMP0010000000000010000000010111110000002A1010OUT0010000000000000000000010101010000002B1011IRET0010000000000010000000000000000010002C1100DI0000000000000000000000000000000000102D1101EI0000000000000000000000000000000001002E1110STP0010000000000000000010000000000000001E14000000000000000100100000000000001014010000000000001000000000000000100000表4.2微程序控制信號表注意:由于空間有限,列名RSW-ST分別代表信號:REG-SW/STOP。255.模型計算機的實現前邊我們系統的介紹了計算機的三大組成部分:運算器、儲藏器和控制器。對于各部件的工作原理有了必然程度的認識。計算機的各部分是要組成一個整體,來共同工作的。在這里,我們就將微程序控制器和運算器組成CPU,跟雙端口儲藏器組成一個模型計算機,來運行一段程序。一、實驗目的用微程序控制器控制數據通路,將相應的信號線連接,組成一臺能運行測試程序的CPU。執行一段簡單的程序,掌握機器指令與微指令的關系。二、實驗任務1.下邊的表5.1和表5.2是兩段程序,選擇一個或自己編寫一段程序,將下邊的程序手工匯編成二進制機器代碼,并將指令代碼用手動方式寫入儲藏器。表中地址0FH、10H、11H中存放的不是指令,而是數據。地址指令機器2進制代碼機器16進制代碼00HLDR0,[R3]0101001153H01HINCR3010011004CH02HLDR1,[R3]0101011157H03HSUBR0,R10010000121H04HJZ0BH1000011086H05HSTR0,[R2]0110100068H06HINCR3010011004CH07HLDR0,[R3]0101001153H08HADDR0,R10001000111H09HJC0CH0111001072H0AHINCR20100100048H0BHSTR2,[R2]011010106AH0CHANDR0,R100110001310DHOUTR210100010A2H0EHSTP11100000E0H0FH85H1000010185H10H23H0010001123H11H0EFH11101111EFH26表程序1指令譯碼表地址指令機器2進制代碼機器16進制代碼00HLDR0,[R3]0101001153H01HINCR3010011004CH02HLDR1,[R3]0101011157H03HSUBR0,R10010000121H04HSTR0,[R2]0110100068H05HOUTR010100000A0H06HSTP11100000E0H0FH85H1000010185H10H23H0010001123H11H0EFH11101111EFH表程序2指令譯碼表2.寫存放器R0=00H、R1=00H、R2=12H、R3=0FH。3.用單步方式運行程序,程序的執行過程中觀察指示燈的信號和數據;4.程序執行完后,讀出存放器的值;5.讀出儲藏器地址12單元的內容。三、實驗接線1.置模式開關OP4-OP0=00001;2.置單步開關STEP=1;3.置”正常運行/下載”開關S19“正常”狀態;4.置“微程序/組合邏輯控制器”選擇開關S18為“微程序”狀態;5.將大板上雙端口儲藏器右上方標有J24

溫馨提示

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

最新文檔

評論

0/150

提交評論