計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第1頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第2頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第3頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第4頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)

肖鐵軍

年月

72

說明

本實(shí)驗(yàn)指導(dǎo)資料與清華大學(xué)出版社出版的《計(jì)算機(jī)組成原理:微課視頻版》第3版(ISBN:

978-7-302-58329-5)配套。如果從指令集架構(gòu)的角度,第3版教材包含了兩條線索,一條線

是改進(jìn)第二版的CISC,第二條線是新增加的RISC。本實(shí)驗(yàn)指導(dǎo)資料主要是針對CISC這條

線,

RISC條線的實(shí)瞼,作者在中國大學(xué)MOOC平臺上開設(shè)了“計(jì)算機(jī)組成與CPU設(shè)計(jì)實(shí)

驗(yàn)”這門課,以RISC-V為目標(biāo),用VerilogHDL進(jìn)行從邏輯電路到CPU的硬件設(shè)計(jì)。希望

了解該條線的讀者,可從慕課中了解從邏輯電路到CPU設(shè)計(jì)的完整實(shí)驗(yàn)方案。

CISC條線的實(shí)驗(yàn),以JUC-3教學(xué)模型機(jī)為實(shí)例,課程實(shí)驗(yàn)部分以計(jì)算機(jī)部件的原理驗(yàn)

證為主,課程設(shè)計(jì)部分以微程序設(shè)計(jì)為主。本文檔只是實(shí)驗(yàn)部分,課程設(shè)計(jì)指導(dǎo)有另外的文

檔。本文檔說明了實(shí)驗(yàn)設(shè)計(jì)的思路,提供給教師作為參考素材,同時(shí)配有完整的

Verilog/SystemVerilog源代碼以及部分教學(xué)視頻。

第1章實(shí)驗(yàn)工具和環(huán)境

1.1概述

支持Intel(原Altera)和Xilinx兩大主流FPGA。目前已經(jīng)適配的實(shí)驗(yàn)板和FPGA:

實(shí)驗(yàn)板FPGA芯片

WeLab遠(yuǎn)程實(shí)驗(yàn)板AkeraCycloneIVE

口袋實(shí)驗(yàn)板AlteraCycloneIVE

TerasicDE2-U5AlleraCycloneII

DigilentNexys4DDRXilinxArtix-7

三種實(shí)驗(yàn)軟件可用:

?WeLab遠(yuǎn)程FPGA虛擬實(shí)驗(yàn)平臺

?JULAB虛擬實(shí)驗(yàn)軟件

?WeLab本地實(shí)驗(yàn)軟件(測試版)

1.2虛擬實(shí)驗(yàn)

以真實(shí)的FPGA電路板為基礎(chǔ),通過軟件虛擬出豐富的實(shí)驗(yàn)界面,用戶通過虛擬面板操

作真實(shí)的實(shí)驗(yàn)板。

目前虛擬面板支持的常規(guī)虛擬元件有36個撥動開關(guān)、2()個按鍵、36個LED指示燈以

及8個七段數(shù)碼管;還支持可自定義數(shù)量的數(shù)據(jù)框和信號框,用于較復(fù)雜的CPU實(shí)驗(yàn)。

1.3FPGA設(shè)計(jì)工具

簡單介紹基本設(shè)計(jì)流程。本實(shí)驗(yàn)指導(dǎo)以驗(yàn)證性實(shí)驗(yàn)為主,設(shè)計(jì)環(huán)節(jié)了解大致流程即可。

除了QuartusPrime和Vivado軟件,可以介紹僅用于加載電路文件到FPGA的編程器軟

件,QuartusProgrammerVivadoLabEdition,另外Digilent有一個軟件Adept,體積小、使

用簡單,可以介紹。

1.4實(shí)驗(yàn)軟件

JULAB實(shí)驗(yàn)軟件是最初的本地實(shí)驗(yàn)軟件;WeLab遠(yuǎn)程FPGA實(shí)驗(yàn)平臺是最新開發(fā)的實(shí)

驗(yàn)平臺;WeLab本地實(shí)驗(yàn)軟件目前還是測試版。

文件互用兼容性:

實(shí)驗(yàn)類型擴(kuò)展文件名用途W(wǎng)eLab遠(yuǎn)程JULABWeLab本地備注

邏輯電路實(shí)驗(yàn).jvp虛擬面板J

邏輯電路實(shí)驗(yàn).vp;.vpl虛擬面板V

CPU實(shí)驗(yàn).jvp虛擬面板

CPU實(shí)驗(yàn).cpu虛擬面板V

CPU實(shí)驗(yàn)Jem;.jmm;Jai數(shù)據(jù)文件JV

CPU實(shí)驗(yàn).cmc;.mine;.ai數(shù)據(jù)文件V

簡單歸納下,字母j開頭的是遠(yuǎn)程實(shí)驗(yàn)平臺的最新文件格式,JULAB軟件已經(jīng)在數(shù)據(jù)文

件上兼容新格式,但是虛擬面板尚未兼容。WeLabUSB本地實(shí)驗(yàn)軟件僅支持邏輯電路實(shí)驗(yàn),

74

可以彌補(bǔ)JULAB不兼容性jvp的問題。

分別介紹三種實(shí)驗(yàn)系統(tǒng)的基本操作。不要寫成手冊,從實(shí)驗(yàn)流程的角度編寫。

第2章實(shí)驗(yàn)項(xiàng)目

(每個實(shí)驗(yàn)做什么基本已定,原理部分文字還需補(bǔ)充,實(shí)驗(yàn)任務(wù)還需推敲)

2.1基本組合邏輯電路

2.1.1實(shí)驗(yàn)?zāi)康?/p>

熟悉虛擬實(shí)驗(yàn)軟件及其基本操作;熟悉FPGA設(shè)計(jì)軟件的使用方法;

理解總線的三態(tài)傳輸特性。

2.1.2實(shí)驗(yàn)原理

本項(xiàng)目包含3個基本的組合邏輯實(shí)驗(yàn)。

1.三態(tài)門

實(shí)驗(yàn)原理圖如圖2.1,

/

圖2.1三態(tài)門實(shí)驗(yàn)原理圖

76

2.多路選擇器

OSEL1

OSELO

ARRDATAO

888DATA1

8BBDATA2

圖2.2多路選擇器實(shí)驗(yàn)原理圖

3.七段譯碼器

圖2.3七段譯碼器實(shí)驗(yàn)原理圖

2.1.3實(shí)驗(yàn)任務(wù)

1.理解三態(tài)門的特性和正確用法。

特別地,考慮以下問題。

(1)如果有2個或2個以上的三態(tài)門同時(shí)打開,會有什么問題?

(2)三態(tài)門全都關(guān)閉時(shí),輸出LED顯示是什么?和你的設(shè)想是否一樣?

2.理解多路選擇器的用法

分析與三態(tài)門的結(jié)果有什么不同。

在實(shí)際應(yīng)用中哪些情況可以用多路器的方案代替三態(tài)門。

3.七段譯碼器

2.2基本時(shí)序邏輯電路

2.2.1實(shí)驗(yàn)?zāi)康?/p>

理解數(shù)據(jù)寄存器、移位寄存器和計(jì)數(shù)器的工作特性:

2.2.2實(shí)驗(yàn)原理

L11LIOL9L8L7L6L5L4L3L2L1L0

BS858488

SI2BBSSS2sl

S10S9S8S7

圖2.4

2.2.3實(shí)驗(yàn)任務(wù)

1.數(shù)據(jù)寄存器的特性

2.移位寄存器的特性

3.計(jì)數(shù)器的特性

2.3加減運(yùn)算及特征標(biāo)志

2.3.1實(shí)驗(yàn)?zāi)康?/p>

掌握加減運(yùn)算電路的基本結(jié)構(gòu),理解無符號數(shù)和補(bǔ)碼加減運(yùn)算;

理解標(biāo)志位的含義,掌握溢出等標(biāo)志位的實(shí)現(xiàn)方法。

78

2.3.2實(shí)驗(yàn)原理

本實(shí)驗(yàn)設(shè)計(jì)的加減運(yùn)算器以加法器為核心配合輔助邏輯實(shí)現(xiàn)加減運(yùn)算,基本結(jié)構(gòu)如圖

2.5所示。

2.3.3預(yù)習(xí)要求

根據(jù)實(shí)驗(yàn)原理分析各種運(yùn)算對應(yīng)的控制信號,填入下表。

運(yùn)算控制信號

運(yùn)算指令運(yùn)算功能

M2MlMO

傳送X(MOV)F=X

加法(ADD)F=X+Y

減法(SUB)F=X-Y

加1(INC)F=X+1

減1(DEC)F=X-1

2.3.4實(shí)驗(yàn)任務(wù)

驗(yàn)證圖2.5加減運(yùn)算電路的各項(xiàng)功能(包括特征標(biāo)忘),記錄實(shí)驗(yàn)數(shù)據(jù),并進(jìn)行分析得

出結(jié)論。【提示】先根據(jù)理論知識設(shè)定驗(yàn)證目標(biāo),再設(shè)計(jì)驗(yàn)證方案??梢则?yàn)證以下兒個方面:

(1)加法運(yùn)算結(jié)果的特征標(biāo)志位。

著重觀察無符號數(shù)加法運(yùn)算結(jié)果是否溢出是由CF反映還是由OF反映,帶符號數(shù)(補(bǔ)

碼)加法運(yùn)算是否溢出是由CF反映還是由OF反映。

(2)減法

注意觀察減法運(yùn)算是否應(yīng)該產(chǎn)生借位和實(shí)際CF值的關(guān)系。查閱資料分析產(chǎn)生這種結(jié)果

的原因。

(3)傳送

傳送功能的控制信號有什么特點(diǎn)。

(4)加1和減1

加1和減1功能可以不需要Y提供運(yùn)算數(shù)“1”,而是通過控制信號M0?M2就可以實(shí)

現(xiàn),加1的“1”是如何產(chǎn)生的?“-1”的二進(jìn)制編碼有什么特點(diǎn),減1的”是如何產(chǎn)生?

2.4算術(shù)邏輯單元

2.4.1實(shí)驗(yàn)?zāi)康?/p>

理解算術(shù)邏輯單元(ALU)的組成結(jié)構(gòu);

理解移位的實(shí)現(xiàn)方法。

2.4.2實(shí)驗(yàn)原理

ALU是在上一個實(shí)驗(yàn)加減運(yùn)算電路的基礎(chǔ)上,擴(kuò)充了移位運(yùn)算和邏輯運(yùn)算。實(shí)驗(yàn)電路

結(jié)構(gòu)如圖。

圖2.6ALU原理圖

其中移位運(yùn)算可以實(shí)現(xiàn)算術(shù)右移(SR)、邏輯左移(SL)和不移位(SV),電路結(jié)構(gòu)

如組2.7。移位電路擴(kuò)充在加法器的A輸入端,通過控制MO、Ml、M2均為0,使加法器的

B和C0端均為0,從而將移位電路輸出到加法器A端的數(shù)據(jù)傳送到加法器的輸出。

8()

a2aia。

圖2.7移位運(yùn)算電路

邏輯運(yùn)算由與門、或門和異或門實(shí)現(xiàn),并通過一個四選一多路器選擇運(yùn)算的功能。邏輯

運(yùn)算的一個運(yùn)算數(shù)來自X,而另一個運(yùn)算數(shù)并不是直接來自Y而是來自B,這是為了利用

M0和Ml均為1時(shí)B端為(1111)2的特性,從而可以用異或門實(shí)現(xiàn)對X的取反。

2.4.3預(yù)習(xí)要求

根據(jù)圖2.6ALU原理圖自己總結(jié)控制信號與運(yùn)算功能的對應(yīng)關(guān)系填寫表2.1,其中ASR、

SHL、INC、DEC和NOT要求均為單操作數(shù)運(yùn)算,即Y的取值不會影響運(yùn)算結(jié)果。。

表2.1ALU運(yùn)算功能與控制信號

運(yùn)算功能描述SRSVSLM2MlM0SISO

F=X傳送X(MOV)

F=X+Y加法(ADD)

F=X-Y減法(SUB)

F=XAY邏輯與(AND)

F=XVY邏輯或(OR)

F=X?Y邏輯異或(XOR)

F=X/2算術(shù)右移(ASR)

F=2X左移(SHL)

F=X邏輯非(NOT)

F=X+1加l(INC)

F=X-1減KDEC)

2.4.4實(shí)驗(yàn)任務(wù)

2.5通用寄存器組

2.5.1實(shí)驗(yàn)?zāi)康?/p>

理解單端口寄存器組的電路結(jié)構(gòu)。

2.5.2實(shí)驗(yàn)原理

CPU內(nèi)部通常包含若干個通用寄存器(GenralRegister),以暫存參加運(yùn)算的數(shù)據(jù)和中

間結(jié)果。這些寄存器的集合就稱為寄存器組(RegisterSet)。為方便訪問其中的寄存器,對

寄存器堆中的寄存器進(jìn)行統(tǒng)一編碼,稱為寄存器號(Index)或者寄存器地址。圖2.8給出了

一個通用寄存器組(GRS)的電路結(jié)構(gòu)。

Clk----------------------------------------------1

D

Load

一Q

圖2.8

它包含4個寄存器(RO~R1),每個寄存器存儲4位二進(jìn)制信息。寄存器組具有一個讀

數(shù)據(jù)端口Q和一個寫數(shù)據(jù)端口D,但是地址端口Index是讀寫共用的,所以仍然屬于單端口

寄存器組。Load是地址譯碼器的使能信號,Load為1時(shí),地址譯碼器根據(jù)Index選擇某一個

寄存器,使其在時(shí)鐘到來時(shí)裝入D端口的數(shù)據(jù);當(dāng)Load為。時(shí),地址譯碼器的輸出均為0,

所有寄存器的內(nèi)容均不會改變。

2.5.3實(shí)驗(yàn)任務(wù)

82

2.6運(yùn)算器數(shù)據(jù)通路

2.6.1實(shí)驗(yàn)?zāi)康?/p>

理解運(yùn)算器數(shù)據(jù)通路的組成結(jié)構(gòu);

掌握運(yùn)算器的工作原理和信息傳遞的控制過程。

2.6.2實(shí)驗(yàn)原理

運(yùn)算器數(shù)據(jù)通路實(shí)驗(yàn)原理如圖2.9所示。

“BUS

圖2.9運(yùn)算器數(shù)據(jù)通路

本實(shí)驗(yàn)的ALU在前面實(shí)驗(yàn)的基礎(chǔ)上,增加了控制信號的譯碼電路,將10種算術(shù)邏輯

運(yùn)算編碼為4位的ALUop,表2.2給出了編碼與運(yùn)算功能的對應(yīng)關(guān)系。

表2.2ALU控制信號編碼與運(yùn)算功能

ALUopALU運(yùn)算

0000傳送X(MOV)

0001加法(ADD)

()010減法(SUB)

0011邏輯與(AND)

0100邏輯或(OR)

0101邏輯異或(XOR)

0110算術(shù)右移(ASR)

0111左移(SHL)

1(X)0邏輯非(NOT)

1001加l(INC)

1010減KDEC)

通用寄存器組GRS(GeneralRegisterSet)包含4個4位的通用寄存器R0~R3,用來存

放參加運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。

PSW存放ALU運(yùn)算結(jié)果的特征標(biāo)志。RX和RF是暫存器。圖2.9中沒有標(biāo)出RX、RF

和PSW的RESET信號。

2.6.3預(yù)習(xí)要求

2.6.4實(shí)驗(yàn)任務(wù)

多周期數(shù)據(jù)通路的重點(diǎn)是理解運(yùn)算的實(shí)現(xiàn)過程。完成以下驗(yàn)證操作以完全理解數(shù)據(jù)通路

的信息傳遞、信息加工過程。在實(shí)驗(yàn)報(bào)告中列表寫出每一步操作需要設(shè)置的開關(guān)及數(shù)據(jù)通路

上各部件的狀態(tài)。

1.將2個數(shù)據(jù)存入RI、R2寄存器

2.完成雙操作數(shù)運(yùn)算

3.寄存器傳送

4.移位運(yùn)算

5.單操作數(shù)運(yùn)算

2.7主存儲器組織

2.7.1實(shí)驗(yàn)?zāi)康?/p>

掌握存儲器的結(jié)構(gòu)和存儲器的字位擴(kuò)展方式。

2.7.2實(shí)驗(yàn)原理

假設(shè)CPU的主存空間為2KX8,實(shí)驗(yàn)中的基本存儲芯片為256X4位,采用字位擴(kuò)展方

式構(gòu)成1KX8的存儲器,位于整個2K主存空間的較低1K空間,原理圖如圖2.10所示,8

個256X4位的存儲芯片采用字位擴(kuò)展方式構(gòu)成1KX8的存儲器。ADDR為地址輸入端,高

兩位地址通過譯碼產(chǎn)生片選信號,低8位地址與存儲芯片的地址端相連,DATA為數(shù)據(jù)輸入

端,存儲芯片的數(shù)據(jù)輸出端與總線DB相連。

84

圖2.10主存儲器組織實(shí)驗(yàn)原理圖

2.7.3預(yù)習(xí)要求

分析圖2.10+2?4憚碼器輸出的4個片選信號所對應(yīng)的地址范圍,以16進(jìn)制形式填入

下表。

2.7.4實(shí)驗(yàn)任務(wù)

1.片選信號的產(chǎn)生

2.存儲器的寫操作和讀操作過程

2.8指令和尋址方式

2.8.1實(shí)驗(yàn)?zāi)康?/p>

熟悉實(shí)驗(yàn)調(diào)試軟件;理解各種尋址方式;理解指令功能。

2.8.2實(shí)驗(yàn)原理

實(shí)驗(yàn)CPU的指令系統(tǒng)包括各類傳送類指令、算術(shù)邏輯運(yùn)算類指令、移位類指令、轉(zhuǎn)移

類指令、子程序調(diào)用返回指令、輸入輸出類指令等。在尋址方式上采用最典型的尋址方式,

分別是立即尋址、直接尋址、間接尋址、寄存器尋址、寄存器間接尋址、寄存器自增間接尋

址、寄存器變址尋址、相對尋址8種。

2.8.3實(shí)驗(yàn)任務(wù)

1.基本尋址方式

將下面的指令通過調(diào)試軟件輸入到模型機(jī)的主存,輸入時(shí)注意根據(jù)指令的字長確定每條

指令所在的主存地址。在開始運(yùn)行之前向以下主存單元輸入已知數(shù)據(jù),使(()()80H)=()088H,

(0088H)=0081H,輸入完成后以“指令單步”方式運(yùn)行,并對運(yùn)行結(jié)果進(jìn)行分析。

MOV0080H,0081E

MOV#0080H,RO

MOV(0080H),RI

MOV8(RO),0082E

MOV(RI),R2

2.移位、條件轉(zhuǎn)移指令和相對尋址

將下面匯編語言程序手工翻譯成機(jī)器指令,填寫在橫線上,并輸入到模型機(jī)的主存,以

“指令單步”方式運(yùn)行。

ORG0030H

0030:;MOV#0505,RI

0032:;AND#0001,RI

0034:;JNZ1(PC)

0036:______;HALT

0037:______;ROLRI

0038:;JMP0032H

記錄指令執(zhí)行后的相關(guān)數(shù)據(jù)(如相關(guān)寄存器和PSW的變化),分析執(zhí)行結(jié)果的意義(如

程序是否轉(zhuǎn)移,轉(zhuǎn)移的目的地址是多少),直到運(yùn)行到HALT指令。

3.入棧和出棧指令

將下面匯編語言程序輸入到模型機(jī)的主存,以“指令單步”方式運(yùn)行。觀察堆棧指針

SP、堆棧存儲單元以及相關(guān)寄存器和內(nèi)存單元的變化,理解堆棧的用法。

MOV#0041H,RO

PUSHRO

PUSH0040H

POP(RO)

POPRI

86

4.子程序調(diào)用和返回

下面的程序?qū)?038H單元的內(nèi)容讀入寄存器R1,調(diào)用子程序完成乘2,返回主程序后

將結(jié)果保存到0039H單元。程序運(yùn)行前需要先設(shè)置OO38H單元的值,。

ORG0030H

0030:MOV0038H,R1

0031:

0032:CALL0040H

0033:

0034:MOVRI,0039H

0035:

0036:HALT

ORG0040H

0040:ADDRI,RI

0041:RET

將上面的程序輸入到模型機(jī),將機(jī)器碼填入橫線上,單步運(yùn)行,觀察子程序調(diào)用和返回

前后的堆棧變化。

2.9微程序設(shè)計(jì)

2.9.1實(shí)驗(yàn)?zāi)康?/p>

掌握微程序設(shè)計(jì)。

熟悉實(shí)驗(yàn)調(diào)試軟件的使用。

2.9.2實(shí)驗(yàn)原理

模型計(jì)算機(jī)硬件系統(tǒng)的數(shù)據(jù)通路見理論課教材。CPU的字長為16位,內(nèi)部采用16位寬

的單總線結(jié)構(gòu),包括運(yùn)算器和控制器兩個部件。系統(tǒng)總線采用單總線結(jié)構(gòu),包括16位的數(shù)

據(jù)總線DB、16位的地址總線AB和控制總線CBOCPU內(nèi)部總線IB與系統(tǒng)總線之間通過

DR、AR相聯(lián)。主存儲器的字長也是16位,并且按字編址,不支持字節(jié)訪問。

微指令的編碼方式采用字段直接編碼方式,微指令格式見理論課教材。本實(shí)驗(yàn)只使用固

定轉(zhuǎn)移,即BM字段值固定為0。下面以一條指令為例,說明微程序的設(shè)計(jì)。假設(shè)要實(shí)現(xiàn)的

指令如下:

MOV#5AA5H,R1

該指令的功能為將立即數(shù)#5AA5H傳送給寄存器RI。

一條指令的完成需要經(jīng)過幾個階段,包括取指階段、取操作數(shù)階段、執(zhí)行階段。為簡化

設(shè)計(jì),這里只考慮完成這一條指令,源操作數(shù)尋址方式只考慮立即尋址,沒有取目的操作數(shù)

的過程,在執(zhí)行階段直接將源操作數(shù)送入目的寄存器RI。微程序見表2.3。

表2.3示例微程序

微地微指令字段(H)

微指令(H)微命令

址(H)F0FlF2F3F4F5F6F7F8F9

取00020010001100001000001PCoe,ARce

(()

令0010002900200)00211002RD.DRces,PCinc

002480(X)003220000000003DRoe,IRee

取0030004PCoe,ARce

數(shù)0040005RD,DRces,PCinc

0050006DRoc,RYcc

存0060000RYoe,GRSce

2.9.3預(yù)習(xí)要求

1)認(rèn)真閱讀、理解實(shí)驗(yàn)原理。

2)編寫“INC0040H”的微程序,填入實(shí)驗(yàn)操作和記錄部分的相應(yīng)表格中」查指令編

碼表翻譯出指令的機(jī)器碼。

2.9.4實(shí)驗(yàn)任務(wù)

1.運(yùn)行示例微程序

(1)輸入微程序

將表2.3的微程序通過調(diào)試軟件輸入到實(shí)驗(yàn)板的控存。

(2)輸入主程序

首先將指令MOV#5AA5,R1翻譯成機(jī)瘠碼。查教材指令編碼表,MOV指令編碼的高4

位是0001B,低12位是兩個操作數(shù)的尋址方式,源操作數(shù)在前,目的操作數(shù)在后,各占6

位,查教材尋址方式編碼表,立即尋址的編碼是011000B,R1寄存器尋址的編碼是。00001B,

因此指令第一個字的二進(jìn)制編碼是0001-0110-0000-0001B,轉(zhuǎn)換為16進(jìn)制是1601H;指令

的第二個字是立即數(shù)5AA5Ho因此可以翻譯出指令的機(jī)制碼如下:

16015AA5;MOV#5AA5,RI

將16015AA5通過調(diào)試軟件輸入到實(shí)驗(yàn)?zāi)P蜋C(jī)從0030H地址開始的主存單元。

(3)運(yùn)行微程序

將有變化的數(shù)據(jù)記錄在下表中(沒有變化的留為空白)。分析運(yùn)行結(jié)果是否正確。

微地址微指令I(lǐng)BPCARIRDRTRRn

000

001

002

003

004

005

006

2.編寫INC0040H指令的微程序并運(yùn)行

設(shè)計(jì)指令“INC0040H”的微程序,填入下表。

微地微指令字段(H)

微指令(H)微命令

(H)FOFlF2F3F4F5F6F7F8F9

取00020010001100001000001PCoe,ARce

指00100029002000002110002RD.DRces.PCinc

88

令0024800(X)03220000000()03DRoe,IRce

0030004

0040005

作0050006

數(shù)

0060007

0070008

0080009

執(zhí)

行009000A

00A0000

查指令編碼表翻譯出指令的機(jī)器碼:

;INC0040H

從主存的0030H單元開始,存放指令的機(jī)器碼。在0040H單元預(yù)先寫入操作數(shù),如

FFFFHo運(yùn)行微程序,將數(shù)據(jù)記錄在下表中。微程序運(yùn)行結(jié)束后,刷新主存顯示,查看0040H

單元的內(nèi)容為O分析運(yùn)行結(jié)果是否正確。

微地址

000

001

002

003

004

005

006

007

008

009

00A

3.編寫包含微轉(zhuǎn)移分支的微指令

2.10高速緩沖存儲器

2.10.1實(shí)驗(yàn)?zāi)康?/p>

理解高速緩存的結(jié)構(gòu)和原理;掌握直接映像方式的地址變換過程;熟悉訪問和置換過程。

2.10.2實(shí)驗(yàn)原理

實(shí)驗(yàn)設(shè)計(jì)的存儲器字長是4位。CACHE共32個字,采用直接映像,分8個塊(BLOCK),

也稱作行(LINE),每塊4個字(WORD);主存地址空間是256個字,按CACHE大小分

區(qū),即每區(qū)32字,共分8個區(qū)。實(shí)驗(yàn)原理如圖2.11。直接映像將地址分為三個部分:區(qū)號、

塊號、塊內(nèi)地址(也稱字地址),用塊號作為TAG和Cache行的地址。TAG存儲器存放每

個CACHE行對應(yīng)的主存塊的區(qū)號,VALID存儲器字長為1,復(fù)位時(shí)清0,主存塊裝入CACHE

某一塊時(shí)該塊的VALID置1。

32.11直接相聯(lián)映像方式CACHE結(jié)構(gòu)

當(dāng)訪問主存某一單元時(shí),以A7?A0中的塊號為地址找到TAG存儲器中的相應(yīng)單元,并

將該TAG單元內(nèi)容與A7~A0中的區(qū)號比較一致并且VALID為1,表示Cache命中,此時(shí)用

A7?A0中的塊號選擇Cache行,用字地址通過多路器MUX從一行的4個字中選擇一個輸出。

如果TAG與A7?A0中的區(qū)號比較結(jié)果不一致或者VALID為0,說明不命中,即該單元不在

Cache中,需要將主存該單元所在的塊裝入CacheoCacheController的WR信號有效時(shí),在

時(shí)鐘CLK的作用下依次產(chǎn)生4個Cache字的寫信號WR0-WR3,將讀出的主存單元內(nèi)容寫

入Cacheo

90

2.10.3實(shí)驗(yàn)任務(wù)

1.初始狀態(tài)

2.不命中情況下CACHE內(nèi)容的裝入

3.命中情況下CACHE的讀出

4.抖動現(xiàn)象

2.11中斷電路

2.11.1實(shí)驗(yàn)?zāi)康?/p>

理解中斷的基本概念;了解中斷控制器的結(jié)構(gòu);

掌握中斷請求、中斷響應(yīng)、中斷處理的過程;

掌握中斷屏蔽在中斷過程中的作用。

2.11.2實(shí)驗(yàn)原理

中斷實(shí)驗(yàn)電路設(shè)計(jì)劃分成CPU、中斷控制器部分、10接口三部分,實(shí)驗(yàn)電路結(jié)構(gòu)如圖

2.12o圖中沒有畫出RESET信號,當(dāng)RESET有效時(shí),中斷允許觸發(fā)器、屏蔽寄存器和設(shè)備

請求觸發(fā)器清零。

10接II

REQQ

------------------DATA1

<J=數(shù)據(jù)寄存外『

____________RDYI

-R設(shè)備請求〈一1-----

班QLQ幀發(fā)器

REQ2

地RIX)

Al址

RD1

AOE譯

n碼

IORDRD2

圖2.12中斷控制器結(jié)構(gòu)圖

(1)IO接口

設(shè)

溫馨提示

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

評論

0/150

提交評論