版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1目目 錄錄1 1 COP-FLY-ICOP-FLY-I 硬件結構硬件結構.2 22 2 脫機運算器實驗脫機運算器實驗.7 73 3 存儲器實驗存儲器實驗 .13134 4 微程序控制器實驗微程序控制器實驗 .17175 5 模型計算機的實現模型計算機的實現 .25252 1 1. . COP-FLY-ICOP-FLY-I 硬件硬件結構結構1.11.1 COP-FLY-ICOP-FLY-I 實驗系統(tǒng)實驗系統(tǒng)COP-FLY-I 實驗系統(tǒng)主要由以下部件構成:運算器電路、控制器電路、存儲器電路、地址/時序電路、操作臺、顯示電路、邏輯筆電路以及軟硬件通訊電路。串串口口時時序序、地地址址小小板板邏邏輯輯
2、筆筆電電路路組組合合邏邏輯輯控控制制器器小小板板微微程程序序控控制制器器電電路路液液晶晶擴擴展展模模塊塊雙雙端端口口存存儲儲器器運運算算器器小小板板信信號號采采集集板板單單片片機機下下載載/采采集集電電路路控控制制信信號號二二選選一一電電路路LED擴擴展展模模塊塊模模式式開開關關8位位數數據據開開關關操操作作臺臺16位位擴擴展展開開關關 圖 1.1 COP-FLY-I 實驗系統(tǒng)整體結構框圖1.21.2 COP-FLY-ICOP-FLY-I 實驗系統(tǒng)的電氣結構實驗系統(tǒng)的電氣結構1 1、 模型計算機時序信號模型計算機時序信號COP-FLY-I 模型計算機主時鐘 MF 的頻率為 1MHz,執(zhí)行一條微
3、指令需要 3 個節(jié)拍脈沖 T1、T2、T3。COP-FLY-I 模型計算機時序采用不定長機器周期,絕大多數指令采用 2 個機器周期 W1、W2,少數指令采用一個機器周期 W1 或者 3 個機器周期W1、W2、W3。2 2、 模型計算機組成模型計算機組成I I 時序發(fā)生器時序發(fā)生器時序發(fā)生器集成在時序控制電路小板上,產生節(jié)拍脈沖 T1、T2、T3,節(jié)拍電位W1、W2、W3,以及中斷請求信號 ITNQ。主時鐘 MF 采用石英晶體振蕩器產生的 1MHz時鐘信號。T1、T2、T3 的脈寬為 1 微妙。一個機器周期包含一組 T1、T2、T3。IIII 運算器運算器3運算器集成在一片 EPM1270 的芯
4、片內,主要由 ALU 加寄存器堆兩部分構成。寄存器堆包含 2-4 譯碼器、4 個 8 位寄存器 R0、R1、R2、R3,4 選 1 選擇器 A,4 選 1選擇器 B。2-4 譯碼器產生信號 LR0、LR1、LR2 和 LR3,選擇數據線上的數據被保存到 R0R3 的哪個寄存器,再由 4 選 1 選擇器選擇將 R0R3 中的哪個數據送到 ALU的 A/B 端口。運算器對 A 端口和 B 端口的 8 位數進行加、減、與、或和數據傳送 5 種運算,產生8 位數據結果、進位標志 C 和結果為 0 標志 Z。當信號 ALUBUS 為 1 時,將運算的數據結果送數據總線 DBUS。IIIIII 數據數據/
5、 /地址開關地址開關 AD9AD9AD0AD010 位數據/地址開關 AD9AD0 是雙位開關,撥到上邊表示“1” ,撥到下邊表示“0” 。IVIV 雙端口雙端口 RAMRAM雙端口 RAM 由 1 片 IDT7132 及少許附加電路組成,存放程序和數據。雙端口RAM 是一種 2 個端口可同時進行讀、寫的存儲器,2 個端口各有獨立的存儲器地址、數據總線和讀、寫控制信號。在 COP-FLY-I 中,雙端口存儲器的左端口是個真正的讀、寫端口,用于將數據總線 DBUS 上的數寫入存儲器;右端口設置成只讀方式,從右端口讀出的為指令,被送往指令寄存器 IR。 V V 指令寄存器指令寄存器 IRIR指令寄
6、存器是 1 片 74273,用于保存從雙端口 RAM 中讀出的指令。它的輸出IR7IR4 送往組合邏輯控制器、微程序控制器,IR3IR0 送往 2 選 1 選擇器。VIVI 程序計數器程序計數器 PCPC、地址寄存器、地址寄存器 ARAR 和中斷地址寄存器和中斷地址寄存器 IARIAR程序計數器 PC、地址寄存器 AR、中斷地址寄存器 IAR 跟時序發(fā)生器都集成在時序小板上的 CPLD 內。程序計數器 PC 向雙端口 RAM 的右端口提供存儲器地址PC7PC0,可將存儲器內的指令讀出,具有 PC 復位、自動加 1、PC 和轉移偏量相加的功能。地址寄存器 AR 向雙端口 RAM 的左端口提供存儲
7、器地址 AR7AR0,可將 DBUS 上的數據寫入存儲器,具有具有 PC 復位、自動加 1 功能。中斷地址寄存器保存中斷時的程序地址 PC。VIIVII 微程序控制器微程序控制器微程序控制器產生 COP-FLY-I 模型計算機所需的各種控制信號。它由 5 片 HN58C65組成,存放微程序代碼。微地址的產生和譯碼電路也集成在時序小板上的 CPLD 內。VIIIVIII 組合邏輯控制器組合邏輯控制器組合邏輯控制器由 1 片大型可編程器件 EPM1270 組成,產生 COP-FLY-I 模型計算機所需的各種控制信號。該小板也可以由 PC 的 USB 口單獨供電,獨立工作??蓪崿F部分數4字電路和 E
8、DA 課程的實驗。IXIX 程序下載電路程序下載電路為了對 ROM 和 RAM 芯片實現在線編程,我們在大板上放置了一片單片機,通過 PC 上的專用軟件,即可實現:下載新的微程序到 ROM,無需編程器;下載新的測試程序代碼到RAM,免去手動輸入測試程序代碼的繁瑣。1.31.3 模型計算機指令系統(tǒng)模型計算機指令系統(tǒng)COP-FLY-I 模型計算機是個 8 位機,字長是 8 位。多數指令是單字指令,少數指令是雙字指令。指令使用 4 位操作碼,最多容納 16 條指令。已實現加法、減法、邏輯與、加 1、存數、取數、Z 條件轉移、C 條件轉移、無條件轉移、輸出、中斷返回、開中斷、關中斷和停機 14 條指令
9、。指令系統(tǒng)如表 1.1 所示。指令格式名稱助記符功能IR7R4IR3 IR2IR1 IR0加法ADD Rd, RsRd Rd + Rs0001RdRs減法SUB Rd, RsRd Rd - Rs0010RdRs邏輯與AND Rd, RsRd Rd and Rs0011RdRs加 1INC Rd Rd Rd + 10100RdXX取數LD Rd, RsRd Rs0101RdRs存數ST Rs, RdRs Rd0110RdRsC 條件轉移JC addr如果 C=1,則PC + offset0111offsetZ 條件轉移JZ addr如果 Z=1,則PC + offset1000offset無條件
10、轉移JMPRdPC Rd1001RdXX輸出OUT RsDBUS Rs1010XXRs中斷返回IRET返回斷點1011XXXX關中斷DI禁止中斷1100XXXX開中斷EI允許中斷1101XXXX停機STP暫停運行1110XXXX表 1.1 COP-FLY-I 模型計算機指令系統(tǒng)表 1.1 中,XX 代表隨意值。Rs 代表源寄存器號,Rd 代表目的寄存器號。在條件轉移指令中,代表當前 PC 的值,offset 是一個 4 位的有符號數,第 3 位是符號位,0 代表正數,1 代表負數。注意:注意: 不是當前指令的不是當前指令的 PCPC 值,是當前指令的值,是當前指令的 PCPC 值加值加 1 1
11、。51.41.4 輸入與輸出輸入與輸出A A輸入設備輸入設備按鈕按鈕1 1、 啟動按鈕啟動按鈕 STST按一次啟動按鈕 ST,則產生 2 個脈沖 ST 和 ST#。ST 為正脈沖,ST#為負脈沖,脈沖的寬度與按下 ST 按鈕的時間相同。正脈沖 ST 啟動節(jié)拍脈沖信號 T1、T2 和 T3。2 2、 復位按鈕復位按鈕 RSTRST按一次復位按鈕 RST,則產生 2 個脈沖 RST 和 RST#。RST 為正脈沖,RST#為負脈沖,脈沖的寬度與按下 RST 按鈕的時間相同。負脈沖 RST#使模型計算機復位,處于初始狀態(tài)。3 3、中斷按鈕、中斷按鈕按一次中斷按鈕,則產生 2 個脈沖 PULSE 和
12、PULSE#。PULSE 為正脈沖,PULSE#為負脈沖,脈沖的寬度與按下 PULSE 按鈕的時間相同。正脈沖 PULSE 向 COP-FLY-I 模型計算機發(fā)出中斷請求。B B輸入設備輸入設備開關開關1 1、數據、數據/ /地址開關地址開關 AD9AD9AD0AD0 這 10 個雙位開關的高兩位 AD9、AD8 用于地址譯碼,產生內存芯片的片選信號。低8 位用于向寄存器中寫入數據、向存儲器中寫入程序或者用于設置存儲器初始地址。當開關撥到朝上位置時為 1,撥到向下位置時為 0。2 2、電平開關、電平開關 S15S15S0S0這 16 個雙位開關用于在實驗時設置信號的電平。每個開關上方都有對應的
13、接插孔,供接線使用。開關撥到上位置為 1,撥到下位置為 0。3 3、單微指令開關、單微指令開關 STEPSTEP單微指令開關控制節(jié)拍脈沖信號 T1、T2、T3 的數目。當單微指令開關 STEP 撥到上位時,實驗系統(tǒng)處于單微指令運行方式,每按一次 ST 按鈕,只產生一組 T1、T2、T3;當單微指令開關 STEP 撥到下位時,處于連續(xù)運行方式,每按一次 ST 按鈕,開始連續(xù)產生T1、T2、T3,直到按一次 RST 按鈕或者控制器產生 STOP 信號為止。4 4、控制器轉換開關、控制器轉換開關當控制器轉換開關撥到上位時,使用組合邏輯控制器;當控制器轉換開關撥到下位時,使用微程序控制器。5 5、編程
14、開關、編程開關當編程開關撥到下位時,COP-FLY-I 模型計算機處于正常工作狀態(tài);當編程開關撥到上位時,處于在線編程狀態(tài)。在編程狀態(tài)下,可修改 ROM 內的微程序代碼或者可修改 RAM內的測試程序代碼。6 6、操作模式開關、操作模式開關 OP4OP4、OP3OP3、OP2OP2、OP1OP1、OP0OP06操作模式開關 OP4、OP3、OP2、OP1、OP0 的狀態(tài)決定 COP-FLY-I 模型計算機的工作模式,其對應關系如下如下:模式開關OP4OP3OP2OP1OP0實驗箱運行模式00000啟動程序運行00001寫存儲器00010讀存儲器00011讀寄存器00100寫寄存器00101聯機運
15、算器實驗00110雙端口存儲器實驗00111數據通路實驗01000脫機運算器/存儲器擴展/系統(tǒng)結構實驗10000自檢表 1.2 模式開關設置表C C輸出設備輸出設備指示燈:指示燈:為了在實驗過程中觀察各種數據,COP-FLY-I 實驗系統(tǒng)設計了大量的指示燈。1 1、與運算器有關的指示燈、與運算器有關的指示燈數據總線指示燈 D7D0。運算器 A 端口指示燈 A7A0。運算器 B 端口指示燈 B7B0。進位信號指示燈 C。結果為 0 信號指示燈 Z。2 2、與存儲器有關的指示燈、與存儲器有關的指示燈程序計數器指示燈 PC7PC0地址指示燈 AR7AR0 擴展存儲器地址指示燈 EAR7EAR0指令寄
16、存器指示燈 IR7IR0雙端口存儲器右端口數據指示燈 INS7INS03 3、與微程序控制器有關的信號指示燈、與微程序控制器有關的信號指示燈在使用微程序控制器時,控制信號指示燈指示微程序控制器產生的控制信號以及后繼微地址 NA7NA0 和判別位 R4R0,微地址指示燈指示當前的微地址 A7A0;在使用組合邏輯控制器時,微地址指示燈 A7A0、后繼微地址 NA7NA0 和判別位指示燈 R4R0 沒有實際意義。74 4、其它指示燈、其它指示燈手動模式指示燈:當它亮時,表示數據和控制信號的送入是人為手動干預;當它不亮時,表明自動運行程序。組合邏輯控制器指示燈:亮時使用組合邏輯控制器;不亮時使用微程序
17、控制器。8 2.脫機運算器實驗脫機運算器實驗顧名思義就是把運算器從整機中脫離出來,單獨對運算器進行控制的實驗。實驗時,組合邏輯和微程序的控制器都不提供控制信號,運算器運行所需要的控制信號由大板右下方的 16 個開關提供;大板下方的數據地址開關提供運算的數據。一、一、實驗目的實驗目的1 熟悉運算器的數據傳送通路;2 驗證運算器的加 1、加、減、與、直通等功能;(3)按給定的數據,完成幾種指定的算術、邏輯運算。二、二、實驗原理實驗原理計算機系統(tǒng)由五大部分構成:輸入設備、輸出設備、運算器、存儲器、控制器。運算器承擔執(zhí)行算術、邏輯運算的功能。通常由執(zhí)行算術邏輯運算功能的 ALU 線路、暫存參加 ALU
18、 運算的數據和中間運算結果的通用寄存器組、支持乘除法運算的專用寄存器三部分組成。三個部分之間通過多路選擇器線路實現連接,從而構成一個完整的運算器部件。9ALUA端口B端口CZR0R1R2R3DBUSS0S1S2S3MSWBUS#A7A0B7B0T3RS0RD=“00”T3T3T3RD=“01”RD=“10”RD=“11”CINDBUSDRWDRWDRWDRW4選1選擇目的寄存器4選1選擇源寄存器數據開關SW7SW0RS1RD0RD1LZLCF:ALU運算結果ALUBUS#數據總線D7D0數據總線D7D0圖 2.1 運算器邏輯框圖COP-FLY-I 計算機組成原理實驗系統(tǒng)的運算器部件由一片 CP
19、LD 器件構成,算術邏輯運算單元是參照 74LS181 設計的,運算器部件的組成線路和信息連接關系如圖21 所示。主體部分由 ALU 部件和寄存器堆構成;寄存器可以接收來自數據總線的8 位數據,并作為 A/B 口的輸入送到 ALU 算術邏輯運算單元,ALU 部件根據讀到的控制信號,完成相應的算術和邏輯運算。數據開關 AD7AD0 是 8 個雙位開關。撥動這些開關,能夠生成需要的 AD7AD0的值。數據開關的值通過一片 74LS244(SWD)控制是否送到數據總線上。在信號 SWBUS#為 0 時,AD7AD0 通過 SWD 送往數據總線 DBUS。在本實驗中,使用數據開關 AD7AD0設置送往
20、寄存器 R0、R1、R2 和 R3 的值。寄存器堆包含 4 個 8 位的寄存器 R0、R1、R2、R3,4 選 1 選擇器 A,4 選 1 選擇器B。運算器部件根據接收到的信號 RD1、RD0 進行譯碼,指示出被寫的寄存器。當 DRW信號為 1 時,在 T3 的上升沿,將數據總線 DBUS 上的數寫入譯碼指定的寄存器中。再10根據信號 RD1、RD0 的值,4 選 1 選擇器 A 從 4 個寄存器中選擇 1 個寄存器送往 ALU 的A 端口。根據信號 RS1、RS0 的值,4 選 1 選擇器 B 從 4 個寄存器中選擇 1 個寄存器送往 ALU 的 B 端口。ALU 是參照 74LS181 設
21、計來完成算術邏輯運算的。ALU 對來自 A7A0 和 B7B0 上的 2 個 8 位數據按照讀到的控制信號 M、CIN、S3、S2、S1、S0 來進行算術邏輯運算,運算后的數據結果在信號 ALUBUS#為 0 時送數據總線 DBUS(D7D0) ,運算后產生狀態(tài)標志 C 和 Z,如果 LC、LZ 信號為 1,則在 T3 的上升沿保存進位標志位 C 和結果為 0 標志位 Z。加法和減法同時影響 C 標志和 Z 標志,與操作和或操作只影響 Z 標志。需注意:數據總線需注意:數據總線 DBUSDBUS 有有 4 4 個信號來源:運算器、存儲器、數據開關和中斷地址個信號來源:運算器、存儲器、數據開關和
22、中斷地址寄存器,在每一時刻只允許其中一個信號源送數據總線,否則會引起數據沖突,影響寄存器,在每一時刻只允許其中一個信號源送數據總線,否則會引起數據沖突,影響實驗結果,嚴重的會燒毀器件。學生在做脫機運算器實驗時,需要特別注意實驗結果,嚴重的會燒毀器件。學生在做脫機運算器實驗時,需要特別注意 SWBUS#SWBUS#和和 ALUBUS#ALUBUS#這兩個信號不能同時有效。這兩個信號不能同時有效。為了便于理解和實驗參考,把 ALU 實驗中用到的控制信號整理如下: 信號功能說明M 狀態(tài)控制端M=1 邏輯運算;M=0 算術運算S3-S0 運算選擇控制S3 S2 S1 S0 決定電路執(zhí)行哪一種算術Cin
23、 低位進位輸入CIN=0 有進位,無借位;CIN=1 無進位,有借位C進位標志C=1 運算結果有進位或借位;反之為 0LC保存進位標志LC=1,在 T3 上升沿將運算的進位結果保存到 C 標志寄存器;LC=0,進位結果保持不變Z結果為 0 標志Z=1 運算結果為 0;Z=0 運算結果不為 0LZ保存運算Z 標志LZ=1,在 T3 上升沿將運算的狀態(tài)標志 Z 保存到 Z 標志寄存器;LZ=0,進位結果保持不變SL3 SL2選擇 A 口寄存器相當于 RD1、RD0,2 位譯碼決定 R0-R3SL1 SL0選擇 B 口寄存器相當于 RS1、RS0,2 位譯碼決定 R0-R3DRW寫寄存器DRW=1,
24、在 T3 上升沿對 RD1、RD0 選中的寄存器進行寫操作,將數據總線上的數 D7D0 寫入選定的寄存器SWBUS#數據開關送總線SWBUS#=0,將數據開關的值送到數據總線上,反之不送ALUBUS#運算結果送總線ALUBUS#=0,將運算結果送到數據總線上,反之不送A7A0A 端口數據送往 ALU 的 A 端口的運算數 1 B7B0B 端口數據送往 ALU 的 B 端口的運算數 2D7D0數據總線數據總線 DBUS 上的 8 位數11表 2.1 ALU 控制信號說明表ALU 運算功能如表 2.2 所示:方式M=1M=0 算術運算S3 S2 S1 S0邏輯運算CN=1(無進位,有借位)CN=0
25、(有進位,無借位)0 0 0 0 F=/AF=AF=A 加 10 0 0 1F=/(A+B)F=(A+B)F=(A+B)加 10 0 1 0F=(/A)BF=A+/BF=(A+/B)加 10 0 1 1F=0F=負 1(補碼形式)F=00 1 0 0F=/(AB)F=A 加 A(/B)F=A 加 A/B 加 10 1 0 1F=/BF=(A+B)加 A/BF=(A+B)加 A/B 加 10 1 1 0F=ABF=A 減 B 減 1F=A 減 B0 1 1 1F=A/BF=A(/B)減 1F=A(/B)1 0 0 0F=/A+BF=A 加 ABF=A 加 AB 加 11 0 0 1F=/( AB
26、)F=A 加 BF=A 加 B 加 11 0 1 0F=BF=(A+/B)加 ABF=(A+/B)加 AB 加 11 0 1 1F=ABF=AB 減 1F=AB1 1 0 0F=1F=A 加 AF=A 加 A 加 11 1 0 1F=A+/BF=(A+B)加 AF=(A+B)加 A 加 11 1 1 0F=A+BF=(A+/B)加 AF=(A+/B)加 A 加 11 1 1 1F=AF=A 減 1F=A表 2.2 ALU 運算功能表(表中的“/”表示求反)應當指出,應當指出,ALUALU 對減法運算采用的是補碼運算方式,即先求得對減法運算采用的是補碼運算方式,即先求得-減數減數 的補碼,的補碼
27、,然后和被減數的補碼相加的方式完成。因此一個較大的數減去一個較小的數,或者然后和被減數的補碼相加的方式完成。因此一個較大的數減去一個較小的數,或者2 2 個相等的數相減時產生進位。個相等的數相減時產生進位。從上表中可以看出控制信號 SL3、SL2 (即 RD1、RD0)和 SL1、SL0(即RS1、RS0)的狀態(tài)決定當前應用的是哪個寄存器。他們的對應關系如表 2.3 所示:RD1 RD0SL3 SL2對應目的寄存器RS1 RS0SL1 SL0對應源寄存器0000R00000R00101R10101R11010R21010R21111R31111R312表 2.3 譯碼信號與寄存器對應關系表注:
28、注:SL3SL3、SL2SL2、SL1SL1、SL0SL0 是控制器產生的控制信號,開關給出的控制信號直接命名為是控制器產生的控制信號,開關給出的控制信號直接命名為RD1RD1、RD0RD0、RS1RS1、RS0RS0,它們的功能是完全一樣的,實驗中都是通過排線連接到運算器部,它們的功能是完全一樣的,實驗中都是通過排線連接到運算器部件。件。三、三、實驗任務實驗任務對下述 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四、四、實驗準備實驗準備
29、注意:設備上的模式開關和數據地址開關均為撥到上方為注意:設備上的模式開關和數據地址開關均為撥到上方為11。1、 置模式開關 OP4-OP0=01000;2、 置單步開關 STEP=1;3、 置“正常運行/下載”開關 S19 為“正?!睜顟B(tài);4、 置“微程序/組合邏輯控制器”選擇開關 S18 為“微程序”狀態(tài);5、 將大板右下方獨立微動開關處標有 J21、J22 的雙排座與 ALU 小板上標有 J8、J9的雙排座分別用 8 芯彩排線連接起來;6、 將標有“SWBUS#”的獨立微動開關的孔 S7 與數據地址開關的標有“SWBUS#-I”的孔 P17 用自鎖緊導線連接起來。五、五、實驗步驟實驗步驟按
30、按 ST 之前之前按按 ST 之后之后操作操作SWBUS#ALUBUS#RdRSDrwLcLzCinMS運算結運算結果果CZ運算結運算結果果CZR0-A010000100000000R1-B010100100000000A+1100001011000000A+B100001011101001A-B100001011000110A 與 B10000101111011直通 A10000101111111表 2.4 脫機運算器的步驟列表注意:注意:1.1. 數據總線數據總線 DBUSDBUS 有有 2 2 個信號來源:數據開關的值和運算器運算結果,實個信號來源:數據開關的值和運算器運算結果,實驗中一
31、定要保證驗中一定要保證 SWBUS#SWBUS#和和 ALUBUS#ALUBUS#這兩個信號不能同時有效,即不能同時為這兩個信號不能同時有效,即不能同時為00 。2.2. 在該實驗中,可以通過改變在該實驗中,可以通過改變 RDRD 的值選擇寫入的寄存器。幾組實驗數據可以選的值選擇寫入的寄存器。幾組實驗數據可以選擇不同的寄存器來完成。寄存器的選擇可參考表擇不同的寄存器來完成。寄存器的選擇可參考表 2.32.3。1. 設置數 A 到寄存器 R013數據開關上設置 A 數 F0H(1111 0000) ,獨立撥動開關上設置有效控制信號: SWBUS#=0SWBUS#=0、ALUBUS#=1ALUBU
32、S#=1、DRW=1 、RD=00,其他用不到的控制信號默認為0 ;按 ST,將數 F0 寫入寄存器 R0; 2. 設置數 B 到寄存器 R1數據開關上設置 B 數 10H(0001 0000) ,獨立撥動開關上設置控制信號: SWBUS#=0SWBUS#=0、ALUBUS#=1ALUBUS#=1、DRW=1、RD=01; 按 ST,將數 10 寫入寄存器 R1 ;3. A+1 運算獨立撥動開關上設置加 1 的控制信號: SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=0、M=0、S=0000,A 加 1
33、的運算結果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 C、Z。4. A+B 運算獨立撥動開關上設置 A+B 的控制信號: SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=1、M=0、S=1001,A+B 的運算結果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 C、Z。5. A-B 運算獨立撥動開關上設置 A-B 的控制信號: SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=0、M=0、S=0110,A-B
34、的運算結果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 C、Z。6. A 與 B 運算獨立撥動開關上設置 A 與 B 的控制信號: SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、RD=00、RS=01、DRW=0、Cin=0、M=1、S=1011,A 與 B 的運算結果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 Z。7. 直通運算獨立撥動開關上設置直通 A 的控制信號: SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=0、M=1、S=1111,直通
35、 A 的結果立即顯示在 DBUS 上。14 六、實驗結果六、實驗結果根據實驗結果填寫下表:運算操作加 1加法減法與A 直通數 A數 BFCZFCZFCZFZFF0H10HFFH00H55HAAH03H05H80H80H表 2.5 脫機運算器實驗表除表中給出的運算之外,同學們可以自行設計或運算,B 直通運算的控制信號列表,進行運算并給出運算結果。153 3. .存儲器存儲器實驗實驗存儲器是計算機中存放正在運行中的程序和相關數據的部件。在教學計算機存儲器部件設計中,我們選用靜態(tài)存儲器芯片作為實現內存儲器的存儲體,包括雙端口存儲區(qū)(IDT7132)和擴展的 RAM 存儲區(qū)(HM6116)兩部分. 這
36、里用到 1 個譯碼器電路, 74LS138 譯碼器芯片接收來自地址開關最高 2 位的地址信息,當需要內存工作時,由這片譯碼器產生內存芯片的 4 個片選信號,雙端口默認工作地址從 000-0ff,擴展 ram 通過連接線連接片選來確定可以進行讀寫的內存空間。開關 AD9 AD8片選存儲器芯片00000h-0ffh雙端口存儲器01100h-1ffh擴展存儲器10200h-2ffh擴展存儲器11300h-3ffh擴展存儲器表 3.1 地址空間譯碼表IRAR雙端口存儲器DBUSRAMWRAMBUSA7LA0LD7LD0LRSTLIRSWBUSPC7PC0AR7AR0T3T3T2A7RA0RD7RD0R
37、LOADARARINCIR3IR0DBUSIR7IR0INS7INS0數據開關SD7SD0數據總線D7D0LOADPCPCINCRSTT3PCADDPC圖 3.1 雙端口存儲器電路圖擴展存儲器我們選用的是 1 片長度 8 位、容量 2KB 的 HM6116 芯片實現,該芯16片是靜態(tài)存儲器芯片,芯片的內容斷電以后就會丟失。AR地址寄存器靜態(tài)存儲器RAMWRAMBUS#A7A0D7D0SWBUS#AR7AR0LAR數據開關SD7SD0數據總線D7D0 DBUSRMOE#圖 3.2 擴展存儲器結構框圖 一、實驗目的一、實驗目的了解靜態(tài)存儲器 HM6116 的工作特性及其使用方法;了解靜態(tài)存儲器怎樣
38、完全手動控制讀寫;二、實驗任務二、實驗任務1通過獨立撥動開關提供控制信號,給三個存儲器地址寫入不同的數值;地址 210:數據 88;地址 220:數據 66;地址 230:數據 22。2讀出寫入的三個存儲器地址的內容,送到數據總線上顯示出來,觀察寫入是否正確。三、三、實驗接線實驗接線1. 置模式開關 OP4-OP0=01000;2. 置單步開關 STEP=1;3. 置“正常運行/下載”開關 S19“正?!睜顟B(tài);4. 置“微程序/組合邏輯控制器”選擇開關 S18 為“微程序”狀態(tài);5. 將大板上雙端口存儲器右上方標有 J24、J25 的雙排座分別與 ALU 小板上的標有J8、J9 的雙排座用 8
39、 芯排線連接;6. 將存儲器擴展芯片 6116 右邊的標有 J19 的雙排座與下方的標有 J29 的雙排座用 8芯排線連接;7. 將 6116 芯片下方的標有“ECS#”的孔與數據地址開關上方的譯碼出來的片選的孔P30 通過自鎖緊導線相連,即擴展 6116 的存儲空間為 200-2FFH; 178. 將數據地址開關上方的標有“SWBUS#-I”孔 P17 與獨立撥動開關下邊一排左數第一個標有“SWBUS#”的開關上方的孔用自鎖緊導線連接;9. 將 6116 芯片下方的標有“RMOE#” 、 “LAR” 、 “WRE”的孔分別與獨立撥動開關下邊一排的標有“RMOE#” “LAR” 、 “WRE”
40、的開關上方的孔用自鎖緊導線連接;四實驗步驟四實驗步驟按 ST 之前按 ST 之后操作數據地址SWBUS#RMOE#LARWREDBUSEARDBUSEAR設置寫入地址 1210H011010001010寫數據 188H0101881088E0設置寫入地址 2220H011020102020寫數據 266H010166208820設置寫入地址 3230H011030203030寫數據 322H010122302230設置讀出地址 1210H011010001010讀出數據 110008810設置讀出地址 2220H011020102020讀出數據 210006620設置讀出地址 3230H011
41、030203030讀出數據 310002230表 3.2 寫 6116 控制信號列表a) 設置第一個寫入地址 210H 將 10 位數據地址開關的高兩位設置成 10,代表的是擴展存儲器芯片 6116 的片選地址是 200-2FF;整個實驗過程中高兩位開關保持不變,下邊不再描述;低 8位設置成 0001 0000 代表 16 進制的 10H;(下同)(下同)獨立撥動開關上設置控制信號: SWBUS#=0SWBUS#=0、RMOE#=1RMOE#=1、LAR=1、WRE=0;按 ST按鍵,地址 10 送到地址寄存器,在擴展地址指示燈上觀察;b) 寫入數據 88H 8 位數據地址開關設置成 1000
42、 1000 代表 16 進制的 88H;(下同)(下同)獨立撥動開關上設置控制信號: SWBUS#=0SWBUS#=0、RMOE#=1RMOE#=1、LAR=0、WRE=1;按 ST按鍵,將數據 88H 寫入到地址 10H 中;c) 重復上面的步驟寫入第二個數和第三個數18d) 設置第一個讀出地址 210H 8 位地址數據開關設置成 10H;獨立撥動開關上設置控制信號: SWBUS#=0SWBUS#=0、RMOE#=1RMOE#=1、LAR=1、WRE=0;按 ST按鍵,地址 10 送到地址寄存器,在擴展地址指示燈上觀察;e) 讀出數據 88H獨立撥動開關上設置控制信號: SWBUS#=1SW
43、BUS#=1、RMOE#=0RMOE#=0、LAR=0、WRE=0;觀察數據總線指示燈,可以看到數據 88H;f) 重復 d、e 步同樣讀出第二個數和第三個數 實驗中注意實驗中注意 SWBUS#SWBUS#和和 RMOE#RMOE#信號不要同時為信號不要同時為 0 0,以免數據總線上出現數據沖突。,以免數據總線上出現數據沖突。194 4. . 微程序控制器微程序控制器實驗實驗微指令字長 40 位,順序字段 11 位(判別字段 R4R0,后繼微地址 NA5NA0) ,控制字段 29 位,微命令直接控制。01234567891011121314151617181920212223242526272
44、8NA0NA1NA2NA3NA4R0R1R2R3R4后繼微地址判別字段LOADARLOADPCARINCPCINCLIRSWBUSALUBUSDRWS0S2S3S1MRAMWSTOPLZLCNA5CINREG-SWSL3SL2SL1SL0RAMBUS293031323334IABUS35 INTDIINTEN3637LIAR38PCADR39圖 4.1 微指令格式介紹過的微命令不再重述,這里介紹后繼微地址、判別字段和其它的微命令。本實驗中用到的信號歸納如下表 4.1 所示:表 4.1 微程序控制器控制信號功能表COP-FLY-I 模型計算機微程序控制器電路主要包括兩大部分,一部分是用 VHDL
45、語言描述生成的放到 CPLD 器件內部的微地址生成部件,功能結構框圖是下邊框中所示部分;另外一部分是控制信號存儲部件,用 5 片 COM 器件實現。整體結構框圖如圖 4.2 所示。信號功能說明NA5NA0 下地址在微指令順序執(zhí)行的情況下,下一條微指令的地址A5A0微地址當前執(zhí)行微指令的地址R4條件判斷轉移根據下地址和中斷信號 INT 確定下一條微指令的地址R3條件判斷轉移根據下地址和結果為 0 標志 Z 確定下一條微指令的地址R2條件判斷轉移根據下地址和進位 C 確定下一條微指令的地址。R1條件判斷轉移根據下地址和指令操作碼高四位確定下一條微指令的地址R0條件判斷轉移根據下地址和模式開關低三位
46、確定下一條微指令的地址LIAD中斷地址為 1 時,在 T3 的上升沿,將 PC 寫入中斷地址寄存器PCADR跳轉地址為 1 時,將當前的 PC 值加上相對轉移量,生成新的 PC20NA0I/O0A0I/O1I/O2I/O3I/O4I/O5I/O6I/O7CM0I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7CM1I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7CM2I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7CM3I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7CM4NA1NA2NA3NA4NA5P0P1P2P3P4A-DRW
47、A-PCINCA-LOADPCA-LOADARA-ARINCA-RAMWA-STOPA-LIRA-LDZA-LDCA-CINA-S0A-S1A-S2A-S3A-MA-ALUBUSA-SWBUSA-RAMBUSA-IABUSA-LIARINTDIINTENA-SL0A-SL1A-SL2A-SL3A-REG-SWA0A0A0A0A1A1A1A1A2A1A2A2A2A2A3A3A3A3A3A4A4A4A4A4A5A5A5A5A5A0A1A2A3A4A5A-PCADRT3111111111&1&NA0-TNA1-TNA2-TNA3-TNA4-TNA5NA0NA1NA2NA3NA4P1P
48、2P3P1P1P0P0P1P0P4INTSWCIR7-ISWBIR6-ISWAIR5-IZ-IC-IIR4-IRSTAR微地址生成部件 圖 4.2 微程序控制器電路圖控制存儲器由 5 片 58C65 組成, CM0CM4。其中 CM0 存儲微指令最低的 8 位微代碼,CM5 存儲微指令最高的 8 位微代碼。在正常工作方式下,5 片 E2PROM 處于只讀狀態(tài);在修改控制存儲器內容時,5 片 E2PROM 處于讀、寫狀態(tài)。微地址寄存器和條件轉移邏輯部件是用 VHDL 硬件描述語言實現的,放在了一片 CPLD 器件中。其實現的主要功能為:按下復位按鈕 RST 時,產生信號 RST#(負脈沖)使微地
49、址寄存器復位,A5A0 為 00H,供讀出第一條微指令使用;在一條微指令結束時,用 T3 的下降沿將微地址轉移邏輯產生的下地址 NA5、NA4-TNA0-T寫入微地址寄存器。微地址轉移邏輯的主要功能是根據實驗箱模式功能開關的狀態(tài)、判別位 R、指令操作碼的高四位 IRH7IRH4、狀態(tài)標志位 C、Z 和后繼微地址 NA5NA0 來實現微程序分枝,產生出新的微地址 NA5-TNA0-T 的。新產生的微地址 NA5-TNA0-T 在 T3 的下降沿寫入微地址寄存器 AR。21地址時序小板上所需要的指令操作碼的高四位 IRH7IRH4 和狀態(tài)標志位 C、Z信號通過雙排線跟大板上產生的的相應的信號連接起
50、來。一、一、實驗目的實驗目的(1)掌握微程序控制器的原理(2)理解條件轉移對計算機的重要性。二、二、實驗任務實驗任務正確設置指令操作碼 IR7IR4,用單微指令方式跟蹤除停機指令 STP 之外的所有指令的執(zhí)行過程。記錄下每一步的微地址 A5A0、判別位 R4R0 和有關控制信號的值。對于 JZ 指令,跟蹤 Z=1、Z=0 兩種情況;對于 JZ 指令,跟蹤 C=1、C=0 兩種情況。通過大板右下方獨立撥動開關設置操作碼 IR7IR4,按 ST 按鈕,跟蹤指令的執(zhí)行。按復位 RST 按鈕,能夠結束本次跟蹤操作。改變開關的值,就可以看到不同指令的執(zhí)行是否正確。三、三、實驗接線實驗接線1 置模式開關
51、OP4-OP0=00000;2 置單步開關 STEP=1;3 置“正常運行/下載”開關 S19“正?!睜顟B(tài);4 置“微程序/組合邏輯控制器”選擇開關 S18 為“微程序”狀態(tài);5 將大板上雙端口存儲器右上方標有 J24、J25 的雙排座分別與 ALU 小板上的標有 J8、J9 的雙排座用 8 芯排線連接;6 將”微程序/組合邏輯控制器”選擇開關右上方的標有“SWBUS#”的孔與數據/地址開關上方的標有“SWBUS#-I”的孔 P17 用自鎖緊導線連接。7 將時序電路小板上標有 J1(小板上方左邊第一個)的雙排座與大板右下方標有 J21 的雙排座用 8 芯排線連接;四、四、 實驗步驟實驗步驟22
52、SWBUSLOADARSWBUS LOADARSTOPARINCSWBUS RAMWARINC0001ADD讀存儲器寫存儲器讀寄存器C=00010SUB0011AND0101LD0100INC1100DI0111JC1000JZ2122232425STOP取指RAMBUSSL1 = 1STOPS = 1001DRWS = 0110DRWS = 1011M DRWLIRPCINCALUBUSR3C=1Z=0Z=1IR7-IR4SL0 = 1R1R1根據IR7-IR4分支ALUBUSLOADARS = 0000ALUBUSDRWR4ALUBUSALUBUSLZLZLZLCLCSTOPSTOP26復
53、位LOADARALUBUSRAMWALUBUSSL3 = 0SL2 = 0STOPREG-SWREG-SWSL3 = 0SL2 = 0REG-SWDRW STOPSL3 = 0SL2 = 1REG-SWDRW STOPSL3 = 1SL2 = 0REG-SWDRWSTOPSL3 = 1SL2 = 1REG-SWDRWSTOP寫寄存器0110STDRWR21101EI1110STPR4INTDILIADSTOPSWBUSLOADPCINT=0INT=1INTDISTOPR4R4CIN R4R4R4R4R41001JMPM M S = 1010S = 1111M S = 10102728292A2
54、B2C2D2ER2R30103050709INTEN100E121310CRAMBUSMS=1111ALUBUSLOADPCR4R4SL1 = 0SL0 = 1SL3 = 1SL2 = 0SL1 = 0SL0 =1SL1 = 0SL0 = 0SL1 = 0SL0 =1SL0 = 0SL1 = 1LZLC1010OUTMS=1010ALUBUSR41011IRETINTBUSLOADPCR4SL1 = 0SL0 = 0REG-SWREG-SWREG-SWREG-SWPCADRSWBUSSWBUSSWBUSSWBUSR0SL3 = 0 SL2 = 0SL1 = 1 SL0
55、 = 1R0OP3OP0 = 0100OP3OP0 = 0011OP3OP0 = 0010OP3OP0 = 0001OP3OP0 = 000000 微地址圖 4.3微程序控制器流程圖1. 觀察記錄 ADD 指令執(zhí)行過程將大板右下方標有 IR7IR4 的獨立撥動開關設置成 0001(ADD 指令的指令編碼) ;按 RST 按鍵,微地址指示燈 A7A0 顯示 0000 0000;條件判別位 R0 為 1,即根據模式開關的設置進行分支跳轉,這里判斷模式開關的低三位 OP3OP0,都為 0,轉到指令執(zhí)行分支來執(zhí)行;23按 ST 按鍵,微地址指示燈 A7A0 顯示 0000 0001;條件判別位 R1
56、為 1,即根據指令編碼的值進行分支跳轉,不同的指令跳轉到不同的微地址來執(zhí)行;觀察控制信號指示燈,控制信號為:LIR=1,PCINC=1。注:以上為公共微指令,即任何一條指令執(zhí)行都需要這幾步。注:以上為公共微指令,即任何一條指令執(zhí)行都需要這幾步。按 ST 按鍵;微地址指示燈 A7A0 顯示 0010 0001 (本條微指令執(zhí)行 ADD 指令;觀察控制信號指示燈,控制信號為:S=1001、CIN=1、LC=1、LZ=1、DRW=1,ALUBUS=1??梢钥吹?, ADD、SUB、AND、INC、JMP、OUT 的執(zhí)行除公共微指令外,只需一條微指令就能完成。2. 觀察 LD 指令執(zhí)行過程 將大板右下方
57、標有 IR7IR4 的獨立撥動開關設置成 0101(LD 指令的指令編碼) ; 按 RST 按鍵,微地址指示燈 A7A0 顯示 0000 0000;條件判別位 R0 為 1,即根據模式開關的設置進行分支跳轉,這里判斷模式開關的低三位 OP3OP0,都為 0,轉到指令執(zhí)行分支來執(zhí)行; 按 ST 按鍵,微地址指示燈 A7A0 顯示 0000 0001;條件判別位 R1 為 1,即根據指令編碼的值進行分支跳轉,不同的指令跳轉到不同的微地址來執(zhí)行;觀察控制信號指示燈,控制信號為:LIR=1,PCINC=1。 按 ST 按鍵;微地址指示燈 A7A0 顯示 0010 0101 (本條微指令執(zhí)行 LD 指令
58、;觀察控制信號指示燈,控制信號為:S=1010、M=1、LOADAR=1、ALUBUS=1。 按 ST 按鍵;微地址指示燈 A7A0 顯示 0000 1110 (本條微指令執(zhí)行 LD 指令;觀察控制信號指示燈,控制信號為: DRW=1、RAMBUS=1??梢钥吹?, LD、ST 的執(zhí)行除公共微指令外,還需兩條微指令才能完成。3. 觀察 JC 指令執(zhí)行過程 將大板右下方標有 IR7IR4 的獨立撥動開關設置成 0111(JC 指令的指令編碼) ; 按 RST 按鍵,微地址指示燈 A7A0 顯示 0000 0000;條件判別位 R0 為 1,即根據模式開關的設置進行分支跳轉,這里判斷模式開關的低三位
59、 OP3OP0,都為 0,轉到指令執(zhí)行分支來執(zhí)行; 按 ST 按鍵,微地址指示燈 A7A0 顯示 0000 0001;條件判別位 R1 為 1,即根據指令編碼的值進行分支跳轉,不同的指令跳轉到不同的微地址來執(zhí)行;觀察控制信號指示燈,控制信號為:LIR=1,PCINC=1。 按 ST 按鍵;微地址指示燈 A7A0 顯示 0010 0111 (本條微指令執(zhí)行 JC 指令;條件判斷位 R2 為 1,進行條件判斷。條件判斷指令的執(zhí)行跟其他指令不同,需要判斷運算的結果標志位,JC 指令要判斷進位標志 C 的值,根據 C 為 0 還是為 1,轉去執(zhí)行24不同的分支;如果 C 為 0,順序執(zhí)行下一條語句;如
60、果 C 為 1,轉去執(zhí)行指定的語句;C C 的值由大板右下方的獨立撥動開關的值由大板右下方的獨立撥動開關 S8S8 提供。提供。 按 ST 按鍵;如果 C 為 0,微地址指示燈 A7A0 顯示 0001 0010; 判斷有沒有中斷請求,指令執(zhí)行完畢;如果 C 為 1,微地址指示燈 A7A0 顯示 0001 0011;觀察控制信號指示燈,控制信號為:PCADD=1。 可以看到,JC、JZ 的執(zhí)行除公共微指令外,需判斷轉移條件 C、Z 的值,根據不同的值,跳轉到不同的分支。25微址OP指令編碼操作功能下址R4-R0SL3-SL0DRW-RAMWPCINC-LPCARINC-LARLIR-LIARRSW-STLC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑公司資質借用執(zhí)行協議3篇
- 2025年全球及中國電氣化鐵路接觸網產品行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球功能型水性印花膠漿行業(yè)調研及趨勢分析報告
- 2025-2030全球莫黛爾纖維針織面料行業(yè)調研及趨勢分析報告
- 2025-2030全球企業(yè)及休閑旅游服務行業(yè)調研及趨勢分析報告
- 二零二五年度文化創(chuàng)意產業(yè)廠房抵押借款協議3篇
- 二零二五年度5人合伙經營綠色農業(yè)合同2篇
- 二零二五年股權眾籌投資與管理協議3篇
- 2025年托管班與幼兒園合作辦學合同范本3篇
- 二零二五年度高端別墅收購合作合同范本3篇
- 新人教版九年級化學第三單元復習課件
- 北師大版四年級數學上冊口算天天練題卡2
- 滑模施工計算書及相關圖紙
- DB11T 2279-2024 社會單位消防安全評估規(guī)范
- 《電力電纜試驗》課件
- JJF 2122-2024 機動車測速儀現場測速標準裝置校準規(guī)范
- 充電樁四方協議書范本
- 2024年南京鐵道職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
- 2023年信息處理技術員教程
- 稽核管理培訓
- 電梯曳引機生銹處理方案
評論
0/150
提交評論