COP-FLY-I組成原理實(shí)驗(yàn)指導(dǎo)書_第1頁
COP-FLY-I組成原理實(shí)驗(yàn)指導(dǎo)書_第2頁
COP-FLY-I組成原理實(shí)驗(yàn)指導(dǎo)書_第3頁
COP-FLY-I組成原理實(shí)驗(yàn)指導(dǎo)書_第4頁
COP-FLY-I組成原理實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1目目 錄錄1 1 COP-FLY-ICOP-FLY-I 硬件結(jié)構(gòu)硬件結(jié)構(gòu).2 22 2 脫機(jī)運(yùn)算器實(shí)驗(yàn)脫機(jī)運(yùn)算器實(shí)驗(yàn).7 73 3 存儲(chǔ)器實(shí)驗(yàn)存儲(chǔ)器實(shí)驗(yàn) .13134 4 微程序控制器實(shí)驗(yàn)微程序控制器實(shí)驗(yàn) .17175 5 模型計(jì)算機(jī)的實(shí)現(xiàn)模型計(jì)算機(jī)的實(shí)現(xiàn) .25252 1 1. . COP-FLY-ICOP-FLY-I 硬件硬件結(jié)構(gòu)結(jié)構(gòu)1.11.1 COP-FLY-ICOP-FLY-I 實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)系統(tǒng)COP-FLY-I 實(shí)驗(yàn)系統(tǒng)主要由以下部件構(gòu)成:運(yùn)算器電路、控制器電路、存儲(chǔ)器電路、地址/時(shí)序電路、操作臺(tái)、顯示電路、邏輯筆電路以及軟硬件通訊電路。串串口口時(shí)時(shí)序序、地地址址小小板板邏邏輯輯

2、筆筆電電路路組組合合邏邏輯輯控控制制器器小小板板微微程程序序控控制制器器電電路路液液晶晶擴(kuò)擴(kuò)展展模模塊塊雙雙端端口口存存儲(chǔ)儲(chǔ)器器運(yùn)運(yùn)算算器器小小板板信信號(hào)號(hào)采采集集板板單單片片機(jī)機(jī)下下載載/采采集集電電路路控控制制信信號(hào)號(hào)二二選選一一電電路路LED擴(kuò)擴(kuò)展展模模塊塊模模式式開開關(guān)關(guān)8位位數(shù)數(shù)據(jù)據(jù)開開關(guān)關(guān)操操作作臺(tái)臺(tái)16位位擴(kuò)擴(kuò)展展開開關(guān)關(guān) 圖 1.1 COP-FLY-I 實(shí)驗(yàn)系統(tǒng)整體結(jié)構(gòu)框圖1.21.2 COP-FLY-ICOP-FLY-I 實(shí)驗(yàn)系統(tǒng)的電氣結(jié)構(gòu)實(shí)驗(yàn)系統(tǒng)的電氣結(jié)構(gòu)1 1、 模型計(jì)算機(jī)時(shí)序信號(hào)模型計(jì)算機(jī)時(shí)序信號(hào)COP-FLY-I 模型計(jì)算機(jī)主時(shí)鐘 MF 的頻率為 1MHz,執(zhí)行一條微

3、指令需要 3 個(gè)節(jié)拍脈沖 T1、T2、T3。COP-FLY-I 模型計(jì)算機(jī)時(shí)序采用不定長(zhǎng)機(jī)器周期,絕大多數(shù)指令采用 2 個(gè)機(jī)器周期 W1、W2,少數(shù)指令采用一個(gè)機(jī)器周期 W1 或者 3 個(gè)機(jī)器周期W1、W2、W3。2 2、 模型計(jì)算機(jī)組成模型計(jì)算機(jī)組成I I 時(shí)序發(fā)生器時(shí)序發(fā)生器時(shí)序發(fā)生器集成在時(shí)序控制電路小板上,產(chǎn)生節(jié)拍脈沖 T1、T2、T3,節(jié)拍電位W1、W2、W3,以及中斷請(qǐng)求信號(hào) ITNQ。主時(shí)鐘 MF 采用石英晶體振蕩器產(chǎn)生的 1MHz時(shí)鐘信號(hào)。T1、T2、T3 的脈寬為 1 微妙。一個(gè)機(jī)器周期包含一組 T1、T2、T3。IIII 運(yùn)算器運(yùn)算器3運(yùn)算器集成在一片 EPM1270 的芯

4、片內(nèi),主要由 ALU 加寄存器堆兩部分構(gòu)成。寄存器堆包含 2-4 譯碼器、4 個(gè) 8 位寄存器 R0、R1、R2、R3,4 選 1 選擇器 A,4 選 1選擇器 B。2-4 譯碼器產(chǎn)生信號(hào) LR0、LR1、LR2 和 LR3,選擇數(shù)據(jù)線上的數(shù)據(jù)被保存到 R0R3 的哪個(gè)寄存器,再由 4 選 1 選擇器選擇將 R0R3 中的哪個(gè)數(shù)據(jù)送到 ALU的 A/B 端口。運(yùn)算器對(duì) A 端口和 B 端口的 8 位數(shù)進(jìn)行加、減、與、或和數(shù)據(jù)傳送 5 種運(yùn)算,產(chǎn)生8 位數(shù)據(jù)結(jié)果、進(jìn)位標(biāo)志 C 和結(jié)果為 0 標(biāo)志 Z。當(dāng)信號(hào) ALUBUS 為 1 時(shí),將運(yùn)算的數(shù)據(jù)結(jié)果送數(shù)據(jù)總線 DBUS。IIIIII 數(shù)據(jù)數(shù)據(jù)/

5、 /地址開關(guān)地址開關(guān) AD9AD9AD0AD010 位數(shù)據(jù)/地址開關(guān) AD9AD0 是雙位開關(guān),撥到上邊表示“1” ,撥到下邊表示“0” 。IVIV 雙端口雙端口 RAMRAM雙端口 RAM 由 1 片 IDT7132 及少許附加電路組成,存放程序和數(shù)據(jù)。雙端口RAM 是一種 2 個(gè)端口可同時(shí)進(jìn)行讀、寫的存儲(chǔ)器,2 個(gè)端口各有獨(dú)立的存儲(chǔ)器地址、數(shù)據(jù)總線和讀、寫控制信號(hào)。在 COP-FLY-I 中,雙端口存儲(chǔ)器的左端口是個(gè)真正的讀、寫端口,用于將數(shù)據(jù)總線 DBUS 上的數(shù)寫入存儲(chǔ)器;右端口設(shè)置成只讀方式,從右端口讀出的為指令,被送往指令寄存器 IR。 V V 指令寄存器指令寄存器 IRIR指令寄

6、存器是 1 片 74273,用于保存從雙端口 RAM 中讀出的指令。它的輸出IR7IR4 送往組合邏輯控制器、微程序控制器,IR3IR0 送往 2 選 1 選擇器。VIVI 程序計(jì)數(shù)器程序計(jì)數(shù)器 PCPC、地址寄存器、地址寄存器 ARAR 和中斷地址寄存器和中斷地址寄存器 IARIAR程序計(jì)數(shù)器 PC、地址寄存器 AR、中斷地址寄存器 IAR 跟時(shí)序發(fā)生器都集成在時(shí)序小板上的 CPLD 內(nèi)。程序計(jì)數(shù)器 PC 向雙端口 RAM 的右端口提供存儲(chǔ)器地址PC7PC0,可將存儲(chǔ)器內(nèi)的指令讀出,具有 PC 復(fù)位、自動(dòng)加 1、PC 和轉(zhuǎn)移偏量相加的功能。地址寄存器 AR 向雙端口 RAM 的左端口提供存儲(chǔ)

7、器地址 AR7AR0,可將 DBUS 上的數(shù)據(jù)寫入存儲(chǔ)器,具有具有 PC 復(fù)位、自動(dòng)加 1 功能。中斷地址寄存器保存中斷時(shí)的程序地址 PC。VIIVII 微程序控制器微程序控制器微程序控制器產(chǎn)生 COP-FLY-I 模型計(jì)算機(jī)所需的各種控制信號(hào)。它由 5 片 HN58C65組成,存放微程序代碼。微地址的產(chǎn)生和譯碼電路也集成在時(shí)序小板上的 CPLD 內(nèi)。VIIIVIII 組合邏輯控制器組合邏輯控制器組合邏輯控制器由 1 片大型可編程器件 EPM1270 組成,產(chǎn)生 COP-FLY-I 模型計(jì)算機(jī)所需的各種控制信號(hào)。該小板也可以由 PC 的 USB 口單獨(dú)供電,獨(dú)立工作??蓪?shí)現(xiàn)部分?jǐn)?shù)4字電路和 E

8、DA 課程的實(shí)驗(yàn)。IXIX 程序下載電路程序下載電路為了對(duì) ROM 和 RAM 芯片實(shí)現(xiàn)在線編程,我們?cè)诖蟀迳戏胖昧艘黄瑔纹瑱C(jī),通過 PC 上的專用軟件,即可實(shí)現(xiàn):下載新的微程序到 ROM,無需編程器;下載新的測(cè)試程序代碼到RAM,免去手動(dòng)輸入測(cè)試程序代碼的繁瑣。1.31.3 模型計(jì)算機(jī)指令系統(tǒng)模型計(jì)算機(jī)指令系統(tǒng)COP-FLY-I 模型計(jì)算機(jī)是個(gè) 8 位機(jī),字長(zhǎng)是 8 位。多數(shù)指令是單字指令,少數(shù)指令是雙字指令。指令使用 4 位操作碼,最多容納 16 條指令。已實(shí)現(xiàn)加法、減法、邏輯與、加 1、存數(shù)、取數(shù)、Z 條件轉(zhuǎn)移、C 條件轉(zhuǎn)移、無條件轉(zhuǎn)移、輸出、中斷返回、開中斷、關(guān)中斷和停機(jī) 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取數(shù)LD Rd, RsRd Rs0101RdRs存數(shù)ST Rs, RdRs Rd0110RdRsC 條件轉(zhuǎn)移JC addr如果 C=1,則PC + offset0111offsetZ 條件轉(zhuǎn)移JZ addr如果 Z=1,則PC + offset1000offset無條件

10、轉(zhuǎn)移JMPRdPC Rd1001RdXX輸出OUT RsDBUS Rs1010XXRs中斷返回IRET返回?cái)帱c(diǎn)1011XXXX關(guān)中斷DI禁止中斷1100XXXX開中斷EI允許中斷1101XXXX停機(jī)STP暫停運(yùn)行1110XXXX表 1.1 COP-FLY-I 模型計(jì)算機(jī)指令系統(tǒng)表 1.1 中,XX 代表隨意值。Rs 代表源寄存器號(hào),Rd 代表目的寄存器號(hào)。在條件轉(zhuǎn)移指令中,代表當(dāng)前 PC 的值,offset 是一個(gè) 4 位的有符號(hào)數(shù),第 3 位是符號(hào)位,0 代表正數(shù),1 代表負(fù)數(shù)。注意:注意: 不是當(dāng)前指令的不是當(dāng)前指令的 PCPC 值,是當(dāng)前指令的值,是當(dāng)前指令的 PCPC 值加值加 1 1

11、。51.41.4 輸入與輸出輸入與輸出A A輸入設(shè)備輸入設(shè)備按鈕按鈕1 1、 啟動(dòng)按鈕啟動(dòng)按鈕 STST按一次啟動(dòng)按鈕 ST,則產(chǎn)生 2 個(gè)脈沖 ST 和 ST#。ST 為正脈沖,ST#為負(fù)脈沖,脈沖的寬度與按下 ST 按鈕的時(shí)間相同。正脈沖 ST 啟動(dòng)節(jié)拍脈沖信號(hào) T1、T2 和 T3。2 2、 復(fù)位按鈕復(fù)位按鈕 RSTRST按一次復(fù)位按鈕 RST,則產(chǎn)生 2 個(gè)脈沖 RST 和 RST#。RST 為正脈沖,RST#為負(fù)脈沖,脈沖的寬度與按下 RST 按鈕的時(shí)間相同。負(fù)脈沖 RST#使模型計(jì)算機(jī)復(fù)位,處于初始狀態(tài)。3 3、中斷按鈕、中斷按鈕按一次中斷按鈕,則產(chǎn)生 2 個(gè)脈沖 PULSE 和

12、PULSE#。PULSE 為正脈沖,PULSE#為負(fù)脈沖,脈沖的寬度與按下 PULSE 按鈕的時(shí)間相同。正脈沖 PULSE 向 COP-FLY-I 模型計(jì)算機(jī)發(fā)出中斷請(qǐng)求。B B輸入設(shè)備輸入設(shè)備開關(guān)開關(guān)1 1、數(shù)據(jù)、數(shù)據(jù)/ /地址開關(guān)地址開關(guān) AD9AD9AD0AD0 這 10 個(gè)雙位開關(guān)的高兩位 AD9、AD8 用于地址譯碼,產(chǎn)生內(nèi)存芯片的片選信號(hào)。低8 位用于向寄存器中寫入數(shù)據(jù)、向存儲(chǔ)器中寫入程序或者用于設(shè)置存儲(chǔ)器初始地址。當(dāng)開關(guān)撥到朝上位置時(shí)為 1,撥到向下位置時(shí)為 0。2 2、電平開關(guān)、電平開關(guān) S15S15S0S0這 16 個(gè)雙位開關(guān)用于在實(shí)驗(yàn)時(shí)設(shè)置信號(hào)的電平。每個(gè)開關(guān)上方都有對(duì)應(yīng)的

13、接插孔,供接線使用。開關(guān)撥到上位置為 1,撥到下位置為 0。3 3、單微指令開關(guān)、單微指令開關(guān) STEPSTEP單微指令開關(guān)控制節(jié)拍脈沖信號(hào) T1、T2、T3 的數(shù)目。當(dāng)單微指令開關(guān) STEP 撥到上位時(shí),實(shí)驗(yàn)系統(tǒng)處于單微指令運(yùn)行方式,每按一次 ST 按鈕,只產(chǎn)生一組 T1、T2、T3;當(dāng)單微指令開關(guān) STEP 撥到下位時(shí),處于連續(xù)運(yùn)行方式,每按一次 ST 按鈕,開始連續(xù)產(chǎn)生T1、T2、T3,直到按一次 RST 按鈕或者控制器產(chǎn)生 STOP 信號(hào)為止。4 4、控制器轉(zhuǎn)換開關(guān)、控制器轉(zhuǎn)換開關(guān)當(dāng)控制器轉(zhuǎn)換開關(guān)撥到上位時(shí),使用組合邏輯控制器;當(dāng)控制器轉(zhuǎn)換開關(guān)撥到下位時(shí),使用微程序控制器。5 5、編程

14、開關(guān)、編程開關(guān)當(dāng)編程開關(guān)撥到下位時(shí),COP-FLY-I 模型計(jì)算機(jī)處于正常工作狀態(tài);當(dāng)編程開關(guān)撥到上位時(shí),處于在線編程狀態(tài)。在編程狀態(tài)下,可修改 ROM 內(nèi)的微程序代碼或者可修改 RAM內(nèi)的測(cè)試程序代碼。6 6、操作模式開關(guān)、操作模式開關(guān) OP4OP4、OP3OP3、OP2OP2、OP1OP1、OP0OP06操作模式開關(guān) OP4、OP3、OP2、OP1、OP0 的狀態(tài)決定 COP-FLY-I 模型計(jì)算機(jī)的工作模式,其對(duì)應(yīng)關(guān)系如下如下:模式開關(guān)OP4OP3OP2OP1OP0實(shí)驗(yàn)箱運(yùn)行模式00000啟動(dòng)程序運(yùn)行00001寫存儲(chǔ)器00010讀存儲(chǔ)器00011讀寄存器00100寫寄存器00101聯(lián)機(jī)運(yùn)

15、算器實(shí)驗(yàn)00110雙端口存儲(chǔ)器實(shí)驗(yàn)00111數(shù)據(jù)通路實(shí)驗(yàn)01000脫機(jī)運(yùn)算器/存儲(chǔ)器擴(kuò)展/系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)10000自檢表 1.2 模式開關(guān)設(shè)置表C C輸出設(shè)備輸出設(shè)備指示燈:指示燈:為了在實(shí)驗(yàn)過程中觀察各種數(shù)據(jù),COP-FLY-I 實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)了大量的指示燈。1 1、與運(yùn)算器有關(guān)的指示燈、與運(yùn)算器有關(guān)的指示燈數(shù)據(jù)總線指示燈 D7D0。運(yùn)算器 A 端口指示燈 A7A0。運(yùn)算器 B 端口指示燈 B7B0。進(jìn)位信號(hào)指示燈 C。結(jié)果為 0 信號(hào)指示燈 Z。2 2、與存儲(chǔ)器有關(guān)的指示燈、與存儲(chǔ)器有關(guān)的指示燈程序計(jì)數(shù)器指示燈 PC7PC0地址指示燈 AR7AR0 擴(kuò)展存儲(chǔ)器地址指示燈 EAR7EAR0指令寄

16、存器指示燈 IR7IR0雙端口存儲(chǔ)器右端口數(shù)據(jù)指示燈 INS7INS03 3、與微程序控制器有關(guān)的信號(hào)指示燈、與微程序控制器有關(guān)的信號(hào)指示燈在使用微程序控制器時(shí),控制信號(hào)指示燈指示微程序控制器產(chǎn)生的控制信號(hào)以及后繼微地址 NA7NA0 和判別位 R4R0,微地址指示燈指示當(dāng)前的微地址 A7A0;在使用組合邏輯控制器時(shí),微地址指示燈 A7A0、后繼微地址 NA7NA0 和判別位指示燈 R4R0 沒有實(shí)際意義。74 4、其它指示燈、其它指示燈手動(dòng)模式指示燈:當(dāng)它亮?xí)r,表示數(shù)據(jù)和控制信號(hào)的送入是人為手動(dòng)干預(yù);當(dāng)它不亮?xí)r,表明自動(dòng)運(yùn)行程序。組合邏輯控制器指示燈:亮?xí)r使用組合邏輯控制器;不亮?xí)r使用微程序

17、控制器。8 2.脫機(jī)運(yùn)算器實(shí)驗(yàn)脫機(jī)運(yùn)算器實(shí)驗(yàn)顧名思義就是把運(yùn)算器從整機(jī)中脫離出來,單獨(dú)對(duì)運(yùn)算器進(jìn)行控制的實(shí)驗(yàn)。實(shí)驗(yàn)時(shí),組合邏輯和微程序的控制器都不提供控制信號(hào),運(yùn)算器運(yùn)行所需要的控制信號(hào)由大板右下方的 16 個(gè)開關(guān)提供;大板下方的數(shù)據(jù)地址開關(guān)提供運(yùn)算的數(shù)據(jù)。一、一、實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)?zāi)康? 熟悉運(yùn)算器的數(shù)據(jù)傳送通路;2 驗(yàn)證運(yùn)算器的加 1、加、減、與、直通等功能;(3)按給定的數(shù)據(jù),完成幾種指定的算術(shù)、邏輯運(yùn)算。二、二、實(shí)驗(yàn)原理實(shí)驗(yàn)原理計(jì)算機(jī)系統(tǒng)由五大部分構(gòu)成:輸入設(shè)備、輸出設(shè)備、運(yùn)算器、存儲(chǔ)器、控制器。運(yùn)算器承擔(dān)執(zhí)行算術(shù)、邏輯運(yùn)算的功能。通常由執(zhí)行算術(shù)邏輯運(yùn)算功能的 ALU 線路、暫存參加 ALU

18、 運(yùn)算的數(shù)據(jù)和中間運(yùn)算結(jié)果的通用寄存器組、支持乘除法運(yùn)算的專用寄存器三部分組成。三個(gè)部分之間通過多路選擇器線路實(shí)現(xiàn)連接,從而構(gòu)成一個(gè)完整的運(yùn)算器部件。9ALUA端口B端口CZR0R1R2R3DBUSS0S1S2S3MSWBUS#A7A0B7B0T3RS0RD=“00”T3T3T3RD=“01”RD=“10”RD=“11”CINDBUSDRWDRWDRWDRW4選1選擇目的寄存器4選1選擇源寄存器數(shù)據(jù)開關(guān)SW7SW0RS1RD0RD1LZLCF:ALU運(yùn)算結(jié)果ALUBUS#數(shù)據(jù)總線D7D0數(shù)據(jù)總線D7D0圖 2.1 運(yùn)算器邏輯框圖COP-FLY-I 計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)的運(yùn)算器部件由一片 CP

19、LD 器件構(gòu)成,算術(shù)邏輯運(yùn)算單元是參照 74LS181 設(shè)計(jì)的,運(yùn)算器部件的組成線路和信息連接關(guān)系如圖21 所示。主體部分由 ALU 部件和寄存器堆構(gòu)成;寄存器可以接收來自數(shù)據(jù)總線的8 位數(shù)據(jù),并作為 A/B 口的輸入送到 ALU 算術(shù)邏輯運(yùn)算單元,ALU 部件根據(jù)讀到的控制信號(hào),完成相應(yīng)的算術(shù)和邏輯運(yùn)算。數(shù)據(jù)開關(guān) AD7AD0 是 8 個(gè)雙位開關(guān)。撥動(dòng)這些開關(guān),能夠生成需要的 AD7AD0的值。數(shù)據(jù)開關(guān)的值通過一片 74LS244(SWD)控制是否送到數(shù)據(jù)總線上。在信號(hào) SWBUS#為 0 時(shí),AD7AD0 通過 SWD 送往數(shù)據(jù)總線 DBUS。在本實(shí)驗(yàn)中,使用數(shù)據(jù)開關(guān) AD7AD0設(shè)置送往

20、寄存器 R0、R1、R2 和 R3 的值。寄存器堆包含 4 個(gè) 8 位的寄存器 R0、R1、R2、R3,4 選 1 選擇器 A,4 選 1 選擇器B。運(yùn)算器部件根據(jù)接收到的信號(hào) RD1、RD0 進(jìn)行譯碼,指示出被寫的寄存器。當(dāng) DRW信號(hào)為 1 時(shí),在 T3 的上升沿,將數(shù)據(jù)總線 DBUS 上的數(shù)寫入譯碼指定的寄存器中。再10根據(jù)信號(hào) RD1、RD0 的值,4 選 1 選擇器 A 從 4 個(gè)寄存器中選擇 1 個(gè)寄存器送往 ALU 的A 端口。根據(jù)信號(hào) RS1、RS0 的值,4 選 1 選擇器 B 從 4 個(gè)寄存器中選擇 1 個(gè)寄存器送往 ALU 的 B 端口。ALU 是參照 74LS181 設(shè)

21、計(jì)來完成算術(shù)邏輯運(yùn)算的。ALU 對(duì)來自 A7A0 和 B7B0 上的 2 個(gè) 8 位數(shù)據(jù)按照讀到的控制信號(hào) M、CIN、S3、S2、S1、S0 來進(jìn)行算術(shù)邏輯運(yùn)算,運(yùn)算后的數(shù)據(jù)結(jié)果在信號(hào) ALUBUS#為 0 時(shí)送數(shù)據(jù)總線 DBUS(D7D0) ,運(yùn)算后產(chǎn)生狀態(tài)標(biāo)志 C 和 Z,如果 LC、LZ 信號(hào)為 1,則在 T3 的上升沿保存進(jìn)位標(biāo)志位 C 和結(jié)果為 0 標(biāo)志位 Z。加法和減法同時(shí)影響 C 標(biāo)志和 Z 標(biāo)志,與操作和或操作只影響 Z 標(biāo)志。需注意:數(shù)據(jù)總線需注意:數(shù)據(jù)總線 DBUSDBUS 有有 4 4 個(gè)信號(hào)來源:運(yùn)算器、存儲(chǔ)器、數(shù)據(jù)開關(guān)和中斷地址個(gè)信號(hào)來源:運(yùn)算器、存儲(chǔ)器、數(shù)據(jù)開關(guān)和

22、中斷地址寄存器,在每一時(shí)刻只允許其中一個(gè)信號(hào)源送數(shù)據(jù)總線,否則會(huì)引起數(shù)據(jù)沖突,影響寄存器,在每一時(shí)刻只允許其中一個(gè)信號(hào)源送數(shù)據(jù)總線,否則會(huì)引起數(shù)據(jù)沖突,影響實(shí)驗(yàn)結(jié)果,嚴(yán)重的會(huì)燒毀器件。學(xué)生在做脫機(jī)運(yùn)算器實(shí)驗(yàn)時(shí),需要特別注意實(shí)驗(yàn)結(jié)果,嚴(yán)重的會(huì)燒毀器件。學(xué)生在做脫機(jī)運(yùn)算器實(shí)驗(yàn)時(shí),需要特別注意 SWBUS#SWBUS#和和 ALUBUS#ALUBUS#這兩個(gè)信號(hào)不能同時(shí)有效。這兩個(gè)信號(hào)不能同時(shí)有效。為了便于理解和實(shí)驗(yàn)參考,把 ALU 實(shí)驗(yàn)中用到的控制信號(hào)整理如下: 信號(hào)功能說明M 狀態(tài)控制端M=1 邏輯運(yùn)算;M=0 算術(shù)運(yùn)算S3-S0 運(yùn)算選擇控制S3 S2 S1 S0 決定電路執(zhí)行哪一種算術(shù)Cin

23、 低位進(jìn)位輸入CIN=0 有進(jìn)位,無借位;CIN=1 無進(jìn)位,有借位C進(jìn)位標(biāo)志C=1 運(yùn)算結(jié)果有進(jìn)位或借位;反之為 0LC保存進(jìn)位標(biāo)志LC=1,在 T3 上升沿將運(yùn)算的進(jìn)位結(jié)果保存到 C 標(biāo)志寄存器;LC=0,進(jìn)位結(jié)果保持不變Z結(jié)果為 0 標(biāo)志Z=1 運(yùn)算結(jié)果為 0;Z=0 運(yùn)算結(jié)果不為 0LZ保存運(yùn)算Z 標(biāo)志LZ=1,在 T3 上升沿將運(yùn)算的狀態(tài)標(biāo)志 Z 保存到 Z 標(biāo)志寄存器;LZ=0,進(jìn)位結(jié)果保持不變SL3 SL2選擇 A 口寄存器相當(dāng)于 RD1、RD0,2 位譯碼決定 R0-R3SL1 SL0選擇 B 口寄存器相當(dāng)于 RS1、RS0,2 位譯碼決定 R0-R3DRW寫寄存器DRW=1,

24、在 T3 上升沿對(duì) RD1、RD0 選中的寄存器進(jìn)行寫操作,將數(shù)據(jù)總線上的數(shù) D7D0 寫入選定的寄存器SWBUS#數(shù)據(jù)開關(guān)送總線SWBUS#=0,將數(shù)據(jù)開關(guān)的值送到數(shù)據(jù)總線上,反之不送ALUBUS#運(yùn)算結(jié)果送總線ALUBUS#=0,將運(yùn)算結(jié)果送到數(shù)據(jù)總線上,反之不送A7A0A 端口數(shù)據(jù)送往 ALU 的 A 端口的運(yùn)算數(shù) 1 B7B0B 端口數(shù)據(jù)送往 ALU 的 B 端口的運(yùn)算數(shù) 2D7D0數(shù)據(jù)總線數(shù)據(jù)總線 DBUS 上的 8 位數(shù)11表 2.1 ALU 控制信號(hào)說明表ALU 運(yùn)算功能如表 2.2 所示:方式M=1M=0 算術(shù)運(yùn)算S3 S2 S1 S0邏輯運(yùn)算CN=1(無進(jìn)位,有借位)CN=0

25、(有進(jìn)位,無借位)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=負(fù) 1(補(bǔ)碼形式)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 運(yùn)算功能表(表中的“/”表示求反)應(yīng)當(dāng)指出,應(yīng)當(dāng)指出,ALUALU 對(duì)減法運(yùn)算采用的是補(bǔ)碼運(yùn)算方式,即先求得對(duì)減法運(yùn)算采用的是補(bǔ)碼運(yùn)算方式,即先求得-減數(shù)減數(shù) 的補(bǔ)碼,的補(bǔ)碼

27、,然后和被減數(shù)的補(bǔ)碼相加的方式完成。因此一個(gè)較大的數(shù)減去一個(gè)較小的數(shù),或者然后和被減數(shù)的補(bǔ)碼相加的方式完成。因此一個(gè)較大的數(shù)減去一個(gè)較小的數(shù),或者2 2 個(gè)相等的數(shù)相減時(shí)產(chǎn)生進(jìn)位。個(gè)相等的數(shù)相減時(shí)產(chǎn)生進(jìn)位。從上表中可以看出控制信號(hào) SL3、SL2 (即 RD1、RD0)和 SL1、SL0(即RS1、RS0)的狀態(tài)決定當(dāng)前應(yīng)用的是哪個(gè)寄存器。他們的對(duì)應(yīng)關(guān)系如表 2.3 所示:RD1 RD0SL3 SL2對(duì)應(yīng)目的寄存器RS1 RS0SL1 SL0對(duì)應(yīng)源寄存器0000R00000R00101R10101R11010R21010R21111R31111R312表 2.3 譯碼信號(hào)與寄存器對(duì)應(yīng)關(guān)系表注:

28、注:SL3SL3、SL2SL2、SL1SL1、SL0SL0 是控制器產(chǎn)生的控制信號(hào),開關(guān)給出的控制信號(hào)直接命名為是控制器產(chǎn)生的控制信號(hào),開關(guān)給出的控制信號(hào)直接命名為RD1RD1、RD0RD0、RS1RS1、RS0RS0,它們的功能是完全一樣的,實(shí)驗(yàn)中都是通過排線連接到運(yùn)算器部,它們的功能是完全一樣的,實(shí)驗(yàn)中都是通過排線連接到運(yùn)算器部件。件。三、三、實(shí)驗(yàn)任務(wù)實(shí)驗(yàn)任務(wù)對(duì)下述 5 組數(shù)據(jù)進(jìn)行加 1,加、減、與、直通運(yùn)算。(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四、四、實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備

29、注意:設(shè)備上的模式開關(guān)和數(shù)據(jù)地址開關(guān)均為撥到上方為注意:設(shè)備上的模式開關(guān)和數(shù)據(jù)地址開關(guān)均為撥到上方為11。1、 置模式開關(guān) OP4-OP0=01000;2、 置單步開關(guān) STEP=1;3、 置“正常運(yùn)行/下載”開關(guān) S19 為“正常”狀態(tài);4、 置“微程序/組合邏輯控制器”選擇開關(guān) S18 為“微程序”狀態(tài);5、 將大板右下方獨(dú)立微動(dòng)開關(guān)處標(biāo)有 J21、J22 的雙排座與 ALU 小板上標(biāo)有 J8、J9的雙排座分別用 8 芯彩排線連接起來;6、 將標(biāo)有“SWBUS#”的獨(dú)立微動(dòng)開關(guān)的孔 S7 與數(shù)據(jù)地址開關(guān)的標(biāo)有“SWBUS#-I”的孔 P17 用自鎖緊導(dǎo)線連接起來。五、五、實(shí)驗(yàn)步驟實(shí)驗(yàn)步驟按

30、按 ST 之前之前按按 ST 之后之后操作操作SWBUS#ALUBUS#RdRSDrwLcLzCinMS運(yùn)算結(jié)運(yùn)算結(jié)果果CZ運(yùn)算結(jié)運(yùn)算結(jié)果果CZR0-A010000100000000R1-B010100100000000A+1100001011000000A+B100001011101001A-B100001011000110A 與 B10000101111011直通 A10000101111111表 2.4 脫機(jī)運(yùn)算器的步驟列表注意:注意:1.1. 數(shù)據(jù)總線數(shù)據(jù)總線 DBUSDBUS 有有 2 2 個(gè)信號(hào)來源:數(shù)據(jù)開關(guān)的值和運(yùn)算器運(yùn)算結(jié)果,實(shí)個(gè)信號(hào)來源:數(shù)據(jù)開關(guān)的值和運(yùn)算器運(yùn)算結(jié)果,實(shí)驗(yàn)中一

31、定要保證驗(yàn)中一定要保證 SWBUS#SWBUS#和和 ALUBUS#ALUBUS#這兩個(gè)信號(hào)不能同時(shí)有效,即不能同時(shí)為這兩個(gè)信號(hào)不能同時(shí)有效,即不能同時(shí)為00 。2.2. 在該實(shí)驗(yàn)中,可以通過改變?cè)谠搶?shí)驗(yàn)中,可以通過改變 RDRD 的值選擇寫入的寄存器。幾組實(shí)驗(yàn)數(shù)據(jù)可以選的值選擇寫入的寄存器。幾組實(shí)驗(yàn)數(shù)據(jù)可以選擇不同的寄存器來完成。寄存器的選擇可參考表擇不同的寄存器來完成。寄存器的選擇可參考表 2.32.3。1. 設(shè)置數(shù) A 到寄存器 R013數(shù)據(jù)開關(guān)上設(shè)置 A 數(shù) F0H(1111 0000) ,獨(dú)立撥動(dòng)開關(guān)上設(shè)置有效控制信號(hào): SWBUS#=0SWBUS#=0、ALUBUS#=1ALUBU

32、S#=1、DRW=1 、RD=00,其他用不到的控制信號(hào)默認(rèn)為0 ;按 ST,將數(shù) F0 寫入寄存器 R0; 2. 設(shè)置數(shù) B 到寄存器 R1數(shù)據(jù)開關(guān)上設(shè)置 B 數(shù) 10H(0001 0000) ,獨(dú)立撥動(dòng)開關(guān)上設(shè)置控制信號(hào): SWBUS#=0SWBUS#=0、ALUBUS#=1ALUBUS#=1、DRW=1、RD=01; 按 ST,將數(shù) 10 寫入寄存器 R1 ;3. A+1 運(yùn)算獨(dú)立撥動(dòng)開關(guān)上設(shè)置加 1 的控制信號(hào): 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、的運(yùn)算結(jié)果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 C、Z。4. A+B 運(yùn)算獨(dú)立撥動(dòng)開關(guān)上設(shè)置 A+B 的控制信號(hào): SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=1、M=0、S=1001,A+B 的運(yùn)算結(jié)果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 C、Z。5. A-B 運(yùn)算獨(dú)立撥動(dòng)開關(guān)上設(shè)置 A-B 的控制信號(hào): 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、的運(yùn)算結(jié)果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 C、Z。6. A 與 B 運(yùn)算獨(dú)立撥動(dòng)開關(guān)上設(shè)置 A 與 B 的控制信號(hào): SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、RD=00、RS=01、DRW=0、Cin=0、M=1、S=1011,A 與 B 的運(yùn)算結(jié)果立即顯示在 DBUS 上。按 ST,觀察狀態(tài)指示燈 Z。7. 直通運(yùn)算獨(dú)立撥動(dòng)開關(guān)上設(shè)置直通 A 的控制信號(hào): SWBUS#=1SWBUS#=1、ALUBUS#=0ALUBUS#=0、LZ=1、LC=1、DRW=0、RD=00、RS=01、Cin=0、M=1、S=1111,直通

35、 A 的結(jié)果立即顯示在 DBUS 上。14 六、實(shí)驗(yàn)結(jié)果六、實(shí)驗(yàn)結(jié)果根據(jù)實(shí)驗(yàn)結(jié)果填寫下表:運(yùn)算操作加 1加法減法與A 直通數(shù) A數(shù) BFCZFCZFCZFZFF0H10HFFH00H55HAAH03H05H80H80H表 2.5 脫機(jī)運(yùn)算器實(shí)驗(yàn)表除表中給出的運(yùn)算之外,同學(xué)們可以自行設(shè)計(jì)或運(yùn)算,B 直通運(yùn)算的控制信號(hào)列表,進(jìn)行運(yùn)算并給出運(yùn)算結(jié)果。153 3. .存儲(chǔ)器存儲(chǔ)器實(shí)驗(yàn)實(shí)驗(yàn)存儲(chǔ)器是計(jì)算機(jī)中存放正在運(yùn)行中的程序和相關(guān)數(shù)據(jù)的部件。在教學(xué)計(jì)算機(jī)存儲(chǔ)器部件設(shè)計(jì)中,我們選用靜態(tài)存儲(chǔ)器芯片作為實(shí)現(xiàn)內(nèi)存儲(chǔ)器的存儲(chǔ)體,包括雙端口存儲(chǔ)區(qū)(IDT7132)和擴(kuò)展的 RAM 存儲(chǔ)區(qū)(HM6116)兩部分. 這

36、里用到 1 個(gè)譯碼器電路, 74LS138 譯碼器芯片接收來自地址開關(guān)最高 2 位的地址信息,當(dāng)需要內(nèi)存工作時(shí),由這片譯碼器產(chǎn)生內(nèi)存芯片的 4 個(gè)片選信號(hào),雙端口默認(rèn)工作地址從 000-0ff,擴(kuò)展 ram 通過連接線連接片選來確定可以進(jìn)行讀寫的內(nèi)存空間。開關(guān) AD9 AD8片選存儲(chǔ)器芯片00000h-0ffh雙端口存儲(chǔ)器01100h-1ffh擴(kuò)展存儲(chǔ)器10200h-2ffh擴(kuò)展存儲(chǔ)器11300h-3ffh擴(kuò)展存儲(chǔ)器表 3.1 地址空間譯碼表IRAR雙端口存儲(chǔ)器DBUSRAMWRAMBUSA7LA0LD7LD0LRSTLIRSWBUSPC7PC0AR7AR0T3T3T2A7RA0RD7RD0R

37、LOADARARINCIR3IR0DBUSIR7IR0INS7INS0數(shù)據(jù)開關(guān)SD7SD0數(shù)據(jù)總線D7D0LOADPCPCINCRSTT3PCADDPC圖 3.1 雙端口存儲(chǔ)器電路圖擴(kuò)展存儲(chǔ)器我們選用的是 1 片長(zhǎng)度 8 位、容量 2KB 的 HM6116 芯片實(shí)現(xiàn),該芯16片是靜態(tài)存儲(chǔ)器芯片,芯片的內(nèi)容斷電以后就會(huì)丟失。AR地址寄存器靜態(tài)存儲(chǔ)器RAMWRAMBUS#A7A0D7D0SWBUS#AR7AR0LAR數(shù)據(jù)開關(guān)SD7SD0數(shù)據(jù)總線D7D0 DBUSRMOE#圖 3.2 擴(kuò)展存儲(chǔ)器結(jié)構(gòu)框圖 一、實(shí)驗(yàn)?zāi)康囊?、?shí)驗(yàn)?zāi)康牧私忪o態(tài)存儲(chǔ)器 HM6116 的工作特性及其使用方法;了解靜態(tài)存儲(chǔ)器怎樣

38、完全手動(dòng)控制讀寫;二、實(shí)驗(yàn)任務(wù)二、實(shí)驗(yàn)任務(wù)1通過獨(dú)立撥動(dòng)開關(guān)提供控制信號(hào),給三個(gè)存儲(chǔ)器地址寫入不同的數(shù)值;地址 210:數(shù)據(jù) 88;地址 220:數(shù)據(jù) 66;地址 230:數(shù)據(jù) 22。2讀出寫入的三個(gè)存儲(chǔ)器地址的內(nèi)容,送到數(shù)據(jù)總線上顯示出來,觀察寫入是否正確。三、三、實(shí)驗(yàn)接線實(shí)驗(yàn)接線1. 置模式開關(guān) OP4-OP0=01000;2. 置單步開關(guān) STEP=1;3. 置“正常運(yùn)行/下載”開關(guān) S19“正?!睜顟B(tài);4. 置“微程序/組合邏輯控制器”選擇開關(guān) S18 為“微程序”狀態(tài);5. 將大板上雙端口存儲(chǔ)器右上方標(biāo)有 J24、J25 的雙排座分別與 ALU 小板上的標(biāo)有J8、J9 的雙排座用 8

39、 芯排線連接;6. 將存儲(chǔ)器擴(kuò)展芯片 6116 右邊的標(biāo)有 J19 的雙排座與下方的標(biāo)有 J29 的雙排座用 8芯排線連接;7. 將 6116 芯片下方的標(biāo)有“ECS#”的孔與數(shù)據(jù)地址開關(guān)上方的譯碼出來的片選的孔P30 通過自鎖緊導(dǎo)線相連,即擴(kuò)展 6116 的存儲(chǔ)空間為 200-2FFH; 178. 將數(shù)據(jù)地址開關(guān)上方的標(biāo)有“SWBUS#-I”孔 P17 與獨(dú)立撥動(dòng)開關(guān)下邊一排左數(shù)第一個(gè)標(biāo)有“SWBUS#”的開關(guān)上方的孔用自鎖緊導(dǎo)線連接;9. 將 6116 芯片下方的標(biāo)有“RMOE#” 、 “LAR” 、 “WRE”的孔分別與獨(dú)立撥動(dòng)開關(guān)下邊一排的標(biāo)有“RMOE#” “LAR” 、 “WRE”

40、的開關(guān)上方的孔用自鎖緊導(dǎo)線連接;四實(shí)驗(yàn)步驟四實(shí)驗(yàn)步驟按 ST 之前按 ST 之后操作數(shù)據(jù)地址SWBUS#RMOE#LARWREDBUSEARDBUSEAR設(shè)置寫入地址 1210H011010001010寫數(shù)據(jù) 188H0101881088E0設(shè)置寫入地址 2220H011020102020寫數(shù)據(jù) 266H010166208820設(shè)置寫入地址 3230H011030203030寫數(shù)據(jù) 322H010122302230設(shè)置讀出地址 1210H011010001010讀出數(shù)據(jù) 110008810設(shè)置讀出地址 2220H011020102020讀出數(shù)據(jù) 210006620設(shè)置讀出地址 3230H011

41、030203030讀出數(shù)據(jù) 310002230表 3.2 寫 6116 控制信號(hào)列表a) 設(shè)置第一個(gè)寫入地址 210H 將 10 位數(shù)據(jù)地址開關(guān)的高兩位設(shè)置成 10,代表的是擴(kuò)展存儲(chǔ)器芯片 6116 的片選地址是 200-2FF;整個(gè)實(shí)驗(yàn)過程中高兩位開關(guān)保持不變,下邊不再描述;低 8位設(shè)置成 0001 0000 代表 16 進(jìn)制的 10H;(下同)(下同)獨(dú)立撥動(dòng)開關(guān)上設(shè)置控制信號(hào): SWBUS#=0SWBUS#=0、RMOE#=1RMOE#=1、LAR=1、WRE=0;按 ST按鍵,地址 10 送到地址寄存器,在擴(kuò)展地址指示燈上觀察;b) 寫入數(shù)據(jù) 88H 8 位數(shù)據(jù)地址開關(guān)設(shè)置成 1000

42、 1000 代表 16 進(jìn)制的 88H;(下同)(下同)獨(dú)立撥動(dòng)開關(guān)上設(shè)置控制信號(hào): SWBUS#=0SWBUS#=0、RMOE#=1RMOE#=1、LAR=0、WRE=1;按 ST按鍵,將數(shù)據(jù) 88H 寫入到地址 10H 中;c) 重復(fù)上面的步驟寫入第二個(gè)數(shù)和第三個(gè)數(shù)18d) 設(shè)置第一個(gè)讀出地址 210H 8 位地址數(shù)據(jù)開關(guān)設(shè)置成 10H;獨(dú)立撥動(dòng)開關(guān)上設(shè)置控制信號(hào): SWBUS#=0SWBUS#=0、RMOE#=1RMOE#=1、LAR=1、WRE=0;按 ST按鍵,地址 10 送到地址寄存器,在擴(kuò)展地址指示燈上觀察;e) 讀出數(shù)據(jù) 88H獨(dú)立撥動(dòng)開關(guān)上設(shè)置控制信號(hào): SWBUS#=1SW

43、BUS#=1、RMOE#=0RMOE#=0、LAR=0、WRE=0;觀察數(shù)據(jù)總線指示燈,可以看到數(shù)據(jù) 88H;f) 重復(fù) d、e 步同樣讀出第二個(gè)數(shù)和第三個(gè)數(shù) 實(shí)驗(yàn)中注意實(shí)驗(yàn)中注意 SWBUS#SWBUS#和和 RMOE#RMOE#信號(hào)不要同時(shí)為信號(hào)不要同時(shí)為 0 0,以免數(shù)據(jù)總線上出現(xiàn)數(shù)據(jù)沖突。,以免數(shù)據(jù)總線上出現(xiàn)數(shù)據(jù)沖突。194 4. . 微程序控制器微程序控制器實(shí)驗(yàn)實(shí)驗(yàn)微指令字長(zhǎng) 40 位,順序字段 11 位(判別字段 R4R0,后繼微地址 NA5NA0) ,控制字段 29 位,微命令直接控制。01234567891011121314151617181920212223242526272

44、8NA0NA1NA2NA3NA4R0R1R2R3R4后繼微地址判別字段LOADARLOADPCARINCPCINCLIRSWBUSALUBUSDRWS0S2S3S1MRAMWSTOPLZLCNA5CINREG-SWSL3SL2SL1SL0RAMBUS293031323334IABUS35 INTDIINTEN3637LIAR38PCADR39圖 4.1 微指令格式介紹過的微命令不再重述,這里介紹后繼微地址、判別字段和其它的微命令。本實(shí)驗(yàn)中用到的信號(hào)歸納如下表 4.1 所示:表 4.1 微程序控制器控制信號(hào)功能表COP-FLY-I 模型計(jì)算機(jī)微程序控制器電路主要包括兩大部分,一部分是用 VHDL

45、語言描述生成的放到 CPLD 器件內(nèi)部的微地址生成部件,功能結(jié)構(gòu)框圖是下邊框中所示部分;另外一部分是控制信號(hào)存儲(chǔ)部件,用 5 片 COM 器件實(shí)現(xiàn)。整體結(jié)構(gòu)框圖如圖 4.2 所示。信號(hào)功能說明NA5NA0 下地址在微指令順序執(zhí)行的情況下,下一條微指令的地址A5A0微地址當(dāng)前執(zhí)行微指令的地址R4條件判斷轉(zhuǎn)移根據(jù)下地址和中斷信號(hào) INT 確定下一條微指令的地址R3條件判斷轉(zhuǎn)移根據(jù)下地址和結(jié)果為 0 標(biāo)志 Z 確定下一條微指令的地址R2條件判斷轉(zhuǎn)移根據(jù)下地址和進(jìn)位 C 確定下一條微指令的地址。R1條件判斷轉(zhuǎn)移根據(jù)下地址和指令操作碼高四位確定下一條微指令的地址R0條件判斷轉(zhuǎn)移根據(jù)下地址和模式開關(guān)低三位

46、確定下一條微指令的地址LIAD中斷地址為 1 時(shí),在 T3 的上升沿,將 PC 寫入中斷地址寄存器PCADR跳轉(zhuǎn)地址為 1 時(shí),將當(dāng)前的 PC 值加上相對(duì)轉(zhuǎn)移量,生成新的 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 微程序控制器電路圖控制存儲(chǔ)器由 5 片 58C65 組成, CM0CM4。其中 CM0 存儲(chǔ)微指令最低的 8 位微代碼,CM5 存儲(chǔ)微指令最高的 8 位微代碼。在正常工作方式下,5 片 E2PROM 處于只讀狀態(tài);在修改控制存儲(chǔ)器內(nèi)容時(shí),5 片 E2PROM 處于讀、寫狀態(tài)。微地址寄存器和條件轉(zhuǎn)移邏輯部件是用 VHDL 硬件描述語言實(shí)現(xiàn)的,放在了一片 CPLD 器件中。其實(shí)現(xiàn)的主要功能為:按下復(fù)位按鈕 RST 時(shí),產(chǎn)生信號(hào) RST#(負(fù)脈沖)使微地

49、址寄存器復(fù)位,A5A0 為 00H,供讀出第一條微指令使用;在一條微指令結(jié)束時(shí),用 T3 的下降沿將微地址轉(zhuǎn)移邏輯產(chǎn)生的下地址 NA5、NA4-TNA0-T寫入微地址寄存器。微地址轉(zhuǎn)移邏輯的主要功能是根據(jù)實(shí)驗(yàn)箱模式功能開關(guān)的狀態(tài)、判別位 R、指令操作碼的高四位 IRH7IRH4、狀態(tài)標(biāo)志位 C、Z 和后繼微地址 NA5NA0 來實(shí)現(xiàn)微程序分枝,產(chǎn)生出新的微地址 NA5-TNA0-T 的。新產(chǎn)生的微地址 NA5-TNA0-T 在 T3 的下降沿寫入微地址寄存器 AR。21地址時(shí)序小板上所需要的指令操作碼的高四位 IRH7IRH4 和狀態(tài)標(biāo)志位 C、Z信號(hào)通過雙排線跟大板上產(chǎn)生的的相應(yīng)的信號(hào)連接起

50、來。一、一、實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)?zāi)康模?)掌握微程序控制器的原理(2)理解條件轉(zhuǎn)移對(duì)計(jì)算機(jī)的重要性。二、二、實(shí)驗(yàn)任務(wù)實(shí)驗(yàn)任務(wù)正確設(shè)置指令操作碼 IR7IR4,用單微指令方式跟蹤除停機(jī)指令 STP 之外的所有指令的執(zhí)行過程。記錄下每一步的微地址 A5A0、判別位 R4R0 和有關(guān)控制信號(hào)的值。對(duì)于 JZ 指令,跟蹤 Z=1、Z=0 兩種情況;對(duì)于 JZ 指令,跟蹤 C=1、C=0 兩種情況。通過大板右下方獨(dú)立撥動(dòng)開關(guān)設(shè)置操作碼 IR7IR4,按 ST 按鈕,跟蹤指令的執(zhí)行。按復(fù)位 RST 按鈕,能夠結(jié)束本次跟蹤操作。改變開關(guān)的值,就可以看到不同指令的執(zhí)行是否正確。三、三、實(shí)驗(yàn)接線實(shí)驗(yàn)接線1 置模式開關(guān)

51、OP4-OP0=00000;2 置單步開關(guān) STEP=1;3 置“正常運(yùn)行/下載”開關(guān) S19“正?!睜顟B(tài);4 置“微程序/組合邏輯控制器”選擇開關(guān) S18 為“微程序”狀態(tài);5 將大板上雙端口存儲(chǔ)器右上方標(biāo)有 J24、J25 的雙排座分別與 ALU 小板上的標(biāo)有 J8、J9 的雙排座用 8 芯排線連接;6 將”微程序/組合邏輯控制器”選擇開關(guān)右上方的標(biāo)有“SWBUS#”的孔與數(shù)據(jù)/地址開關(guān)上方的標(biāo)有“SWBUS#-I”的孔 P17 用自鎖緊導(dǎo)線連接。7 將時(shí)序電路小板上標(biāo)有 J1(小板上方左邊第一個(gè))的雙排座與大板右下方標(biāo)有 J21 的雙排座用 8 芯排線連接;四、四、 實(shí)驗(yàn)步驟實(shí)驗(yàn)步驟22

52、SWBUSLOADARSWBUS LOADARSTOPARINCSWBUS RAMWARINC0001ADD讀存儲(chǔ)器寫存儲(chǔ)器讀寄存器C=00010SUB0011AND0101LD0100INC1100DI0111JC1000JZ2122232425STOP取指RAMBUSSL1 = 1STOPS = 1001DRWS = 0110DRWS = 1011M DRWLIRPCINCALUBUSR3C=1Z=0Z=1IR7-IR4SL0 = 1R1R1根據(jù)IR7-IR4分支ALUBUSLOADARS = 0000ALUBUSDRWR4ALUBUSALUBUSLZLZLZLCLCSTOPSTOP26復(fù)

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í)行過程將大板右下方標(biāo)有 IR7IR4 的獨(dú)立撥動(dòng)開關(guān)設(shè)置成 0001(ADD 指令的指令編碼) ;按 RST 按鍵,微地址指示燈 A7A0 顯示 0000 0000;條件判別位 R0 為 1,即根據(jù)模式開關(guān)的設(shè)置進(jìn)行分支跳轉(zhuǎn),這里判斷模式開關(guān)的低三位 OP3OP0,都為 0,轉(zhuǎn)到指令執(zhí)行分支來執(zhí)行;23按 ST 按鍵,微地址指示燈 A7A0 顯示 0000 0001;條件判別位 R1

56、為 1,即根據(jù)指令編碼的值進(jìn)行分支跳轉(zhuǎn),不同的指令跳轉(zhuǎn)到不同的微地址來執(zhí)行;觀察控制信號(hào)指示燈,控制信號(hào)為:LIR=1,PCINC=1。注:以上為公共微指令,即任何一條指令執(zhí)行都需要這幾步。注:以上為公共微指令,即任何一條指令執(zhí)行都需要這幾步。按 ST 按鍵;微地址指示燈 A7A0 顯示 0010 0001 (本條微指令執(zhí)行 ADD 指令;觀察控制信號(hào)指示燈,控制信號(hào)為:S=1001、CIN=1、LC=1、LZ=1、DRW=1,ALUBUS=1。可以看到, ADD、SUB、AND、INC、JMP、OUT 的執(zhí)行除公共微指令外,只需一條微指令就能完成。2. 觀察 LD 指令執(zhí)行過程 將大板右下方

57、標(biāo)有 IR7IR4 的獨(dú)立撥動(dòng)開關(guān)設(shè)置成 0101(LD 指令的指令編碼) ; 按 RST 按鍵,微地址指示燈 A7A0 顯示 0000 0000;條件判別位 R0 為 1,即根據(jù)模式開關(guān)的設(shè)置進(jìn)行分支跳轉(zhuǎn),這里判斷模式開關(guān)的低三位 OP3OP0,都為 0,轉(zhuǎn)到指令執(zhí)行分支來執(zhí)行; 按 ST 按鍵,微地址指示燈 A7A0 顯示 0000 0001;條件判別位 R1 為 1,即根據(jù)指令編碼的值進(jìn)行分支跳轉(zhuǎn),不同的指令跳轉(zhuǎn)到不同的微地址來執(zhí)行;觀察控制信號(hào)指示燈,控制信號(hào)為:LIR=1,PCINC=1。 按 ST 按鍵;微地址指示燈 A7A0 顯示 0010 0101 (本條微指令執(zhí)行 LD 指令

58、;觀察控制信號(hào)指示燈,控制信號(hào)為:S=1010、M=1、LOADAR=1、ALUBUS=1。 按 ST 按鍵;微地址指示燈 A7A0 顯示 0000 1110 (本條微指令執(zhí)行 LD 指令;觀察控制信號(hào)指示燈,控制信號(hào)為: DRW=1、RAMBUS=1。可以看到, LD、ST 的執(zhí)行除公共微指令外,還需兩條微指令才能完成。3. 觀察 JC 指令執(zhí)行過程 將大板右下方標(biāo)有 IR7IR4 的獨(dú)立撥動(dòng)開關(guān)設(shè)置成 0111(JC 指令的指令編碼) ; 按 RST 按鍵,微地址指示燈 A7A0 顯示 0000 0000;條件判別位 R0 為 1,即根據(jù)模式開關(guān)的設(shè)置進(jìn)行分支跳轉(zhuǎn),這里判斷模式開關(guān)的低三位

59、 OP3OP0,都為 0,轉(zhuǎn)到指令執(zhí)行分支來執(zhí)行; 按 ST 按鍵,微地址指示燈 A7A0 顯示 0000 0001;條件判別位 R1 為 1,即根據(jù)指令編碼的值進(jìn)行分支跳轉(zhuǎn),不同的指令跳轉(zhuǎn)到不同的微地址來執(zhí)行;觀察控制信號(hào)指示燈,控制信號(hào)為:LIR=1,PCINC=1。 按 ST 按鍵;微地址指示燈 A7A0 顯示 0010 0111 (本條微指令執(zhí)行 JC 指令;條件判斷位 R2 為 1,進(jìn)行條件判斷。條件判斷指令的執(zhí)行跟其他指令不同,需要判斷運(yùn)算的結(jié)果標(biāo)志位,JC 指令要判斷進(jìn)位標(biāo)志 C 的值,根據(jù) C 為 0 還是為 1,轉(zhuǎn)去執(zhí)行24不同的分支;如果 C 為 0,順序執(zhí)行下一條語句;如

60、果 C 為 1,轉(zhuǎn)去執(zhí)行指定的語句;C C 的值由大板右下方的獨(dú)立撥動(dòng)開關(guān)的值由大板右下方的獨(dú)立撥動(dòng)開關(guān) S8S8 提供。提供。 按 ST 按鍵;如果 C 為 0,微地址指示燈 A7A0 顯示 0001 0010; 判斷有沒有中斷請(qǐng)求,指令執(zhí)行完畢;如果 C 為 1,微地址指示燈 A7A0 顯示 0001 0011;觀察控制信號(hào)指示燈,控制信號(hào)為:PCADD=1。 可以看到,JC、JZ 的執(zhí)行除公共微指令外,需判斷轉(zhuǎn)移條件 C、Z 的值,根據(jù)不同的值,跳轉(zhuǎn)到不同的分支。25微址OP指令編碼操作功能下址R4-R0SL3-SL0DRW-RAMWPCINC-LPCARINC-LARLIR-LIARRSW-STLC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論