版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)組織與結(jié)構(gòu)實(shí)驗(yàn)報(bào)告指導(dǎo)老師:李晨學(xué)院:軟件學(xué)院班級(jí):軟件94學(xué)號(hào):09161072姓名:牛添識(shí)聯(lián)系方式:上機(jī)實(shí)驗(yàn)部分:實(shí)驗(yàn)一實(shí)驗(yàn)內(nèi)容算術(shù)邏輯運(yùn)算單元ALU設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)原理算術(shù)邏輯單元ALU的數(shù)據(jù)通路如下所示。其中ALU181根據(jù)74LS181的功能用VHDL硬件描述語(yǔ)言編輯而成,構(gòu)成8位字長(zhǎng)的ALU。參加運(yùn)算的兩個(gè)八位數(shù)據(jù)分別為A7.0和B7.0。運(yùn)算模式由S3.0的16種組合決定,而S3.0的值由4位二進(jìn)制計(jì)數(shù)器LPM_COUNTER產(chǎn)生,計(jì)數(shù)時(shí)鐘是Sclk;此外,設(shè)M=0,選擇算術(shù)運(yùn)算,M=1位邏輯運(yùn)算,CN為低位的進(jìn)位位;F7.0為輸出結(jié)果;C0為運(yùn)算后的輸出進(jìn)位位。兩個(gè)8位數(shù)據(jù)由
2、總線IN7.0分別通過(guò)兩個(gè)電平鎖存器74373鎖入。選擇端高電平作用數(shù)據(jù)S3 S2 S1 S0M=HM=L 算術(shù)操作邏輯功能Cn=H(無(wú)進(jìn)位)Cn=L(有進(jìn)位)0 0 0 00 0 0 1加10 0 1 00 0 1 1減1(2的補(bǔ)碼)0 1 0 0加10 1 0 1加0 1 1 00 1 1 11 0 0 0加11 0 0 1加11 0 1 0加11 0 1 11 1 0 0*1 1 0 1加11 1 1 0加11 1 1 1ALU算術(shù)邏輯功能實(shí)驗(yàn)任務(wù)(1)按原理圖所示,在此驗(yàn)證性示例中用A0_B1(鍵3)產(chǎn)生鎖存信號(hào),將IN7.0的8位數(shù)據(jù)進(jìn)入對(duì)應(yīng)的8位數(shù)據(jù)鎖存器中;即首先使A0_B1(鍵
3、3)0,用鍵2、鍵1分別向A7.0置數(shù)01010101(55H),這時(shí)在數(shù)碼管2/1上顯示輸入的數(shù)據(jù)(55H);然后用鍵3輸入高電平1,再用鍵2、鍵1分別向B7.0置數(shù)(AAH),這時(shí)在數(shù)碼管4/3上顯示輸入的數(shù)據(jù)(AAH);這時(shí)表示在圖中的兩個(gè)8位數(shù)據(jù)鎖存器lpm_dff鎖存器中分別被鎖入了加數(shù)55H和被加數(shù)AAH。(2)設(shè)定鍵8為低電平,即M=0(允許算術(shù)操作),鍵6控制時(shí)鐘SCLK,可設(shè)置表4-1的S3.0=0 F?,F(xiàn)連續(xù)按動(dòng)鍵6,設(shè)置操作方式選擇S3.0=9(加法操作),使數(shù)碼管8顯示9,以驗(yàn)證ALU的算術(shù)運(yùn)算功能:當(dāng)鍵7設(shè)置cn=0(最低位無(wú)進(jìn)位)時(shí),數(shù)碼管7/6/5=0FF(55H
4、+AAH=0FFH);當(dāng)鍵7設(shè)置cn=1(最低位有進(jìn)位)時(shí),數(shù)碼管7/6/5=100(55H+AAH+1=100H);(3)若設(shè)定鍵8為高電平,即M=1,鍵KEY6控制時(shí)鐘SCLK,設(shè)置S3.0=0F,KEY7設(shè)置cn=0或cn=1,驗(yàn)證ALU的邏輯運(yùn)算功能,并記錄實(shí)驗(yàn)數(shù)據(jù)。(4) 驗(yàn)證ALU181的算術(shù)運(yùn)算和邏輯運(yùn)算功能,下表給定了寄存器DRl=A7.0和DR2=B7.0的數(shù)據(jù)(十六進(jìn)制),要求根據(jù)此數(shù)據(jù)對(duì)照邏輯功能表所得的理論值(要求課前完成)與實(shí)驗(yàn)結(jié)果值進(jìn)行比較(均采用正邏輯0)。實(shí)驗(yàn)過(guò)程 1、設(shè)計(jì)ALU元件。在Quartus II 環(huán)境下,用文本輸入編輯器Text Editor輸入AL
5、U181.VHD算術(shù)邏輯單元文件,編譯VHDL文件,并將ALU181.VHD文件(例4-1)制作成一個(gè)可調(diào)用的原理圖元件。2、以原理圖方式建立頂層文件工程。選擇圖形方式。根據(jù)圖4-50輸入實(shí)驗(yàn)電路圖,從Quartus II的基本元件庫(kù)中將各元件調(diào)入圖形編輯窗口、連線,添加輸入輸出引腳。將所設(shè)計(jì)的原理圖圖形文件ALU.bdf保存到原先建立的文件夾中,將當(dāng)前文件設(shè)置成工程文件,以后的操作就都是對(duì)當(dāng)前工程文件進(jìn)行的。3、器件選擇。選擇Cyclone系列,在Devices中選擇器件EP1C6QC240C8。編譯,引腳鎖定,再編譯。引腳鎖定后需要再次進(jìn)行編譯,才能將鎖定信息確定下來(lái),同時(shí)生成芯片編程/配
6、置所需要的各種文件。4、芯片編程Programming(也可以直接選擇光盤中的示例)。打開編程窗口。將配置文件ALU.sof下載進(jìn)GW48系列現(xiàn)代計(jì)算機(jī)組成原理系統(tǒng)中的FPGA中。5、選擇實(shí)驗(yàn)系統(tǒng)的電路模式是NO.0,驗(yàn)證ALU的運(yùn)算器的算術(shù)運(yùn)算和邏輯運(yùn)算功能。根據(jù)表4-1,用按鍵輸入數(shù)據(jù)A7.0和B7.0,并設(shè)置S3.0、M、CN,驗(yàn)證ALU運(yùn)算器的算術(shù)運(yùn)算和邏輯運(yùn)算功能,記錄實(shí)驗(yàn)數(shù)據(jù)。仿真波形圖及分析 1、對(duì)輸入進(jìn)行仿真,如下圖所示,分別對(duì)IN7.0進(jìn)行賦值,同時(shí)設(shè)定計(jì)數(shù)器的值。2、對(duì)輸出結(jié)果進(jìn)行仿真,0500ns時(shí)CN設(shè)為0,可看出的值為0FFH,5001000ns時(shí)CN的值設(shè)為1,可看
7、出F的值為100H。 實(shí)驗(yàn)結(jié)果1、按照實(shí)驗(yàn)任務(wù)(1)、(2)的要求,驗(yàn)證了ALU的算術(shù)運(yùn)算功能 2、ALU實(shí)驗(yàn)數(shù)據(jù)表S3 S2 S1 S0A7.0B7.0算術(shù)運(yùn)算 M=0邏輯運(yùn)算(M=1)cn=0(無(wú)進(jìn)位)cn=1(有進(jìn)位)0000AA55F=(AA ; 55) F=(AB ; 55) F=(AA ; 1AA) 0001AA55F=(FF ; FF) F=(100; 100) F=(00 ; 00) 0010AA55F=(154; 155) F=(155; 156) F=(55 ; AA) 0011AA55F=(1FF; 00) F=(0 ; 1FF) F=(0 ; 00) 0100FF01F
8、=(1FD; 1FD) F=(1FE; 1FE) F=(FE ; 1FE) 0101FF01F=(1FE; 1FD) F=(1FF; 1FE) F=(FE ; 1FE) 0110FF01F=(FE ; FD) F=(FD ; FE) F=(FE ; FE) 0111FF01F=(1FD; 1FF) F=(1FC; FD) F=(FE ; FE) 1000FF01F=(100; 100) F=(101; 101) F=(01 ; 00) 1001FF01F=(100; 100) F=(101; 101) F=(01 ; 101) 1010FF01F=(1FE; 00) F=(1FF; 00) F
9、=(01 ; 101) 1011FF01F=(01 ; 01) F=(00 ; 00) F=(01 ; 01) 11005501F=(FF ; 1FE) F=(AB ; 1FF) F=(1 ; 01) 11015501F=(AB ; AA) F=(AC ; AB) F=(FE ; 1FF) 11105501F=(1A8; 54) F=(1A9; 55) F=(56 ; 55) 11115501F=(55 ; 55) F=(54 ; 54) F=(55 ; 55) 表2、5種常用的算術(shù)與邏輯運(yùn)算操作S3 S2 S1 S0MCNDR1DR2運(yùn)算關(guān)系及結(jié)果顯示CN4邏輯乘1011166FFDR1 D
10、R2 DR2 (66)0傳送101016666DR1 DR2 (66)0按位加011016666DR1 DR2 DR2 (100)0取反000016600 DR2 (99)1加10000016699DR2 + 1 DR2 (67)0實(shí)驗(yàn)二實(shí)驗(yàn)內(nèi)容LPM_ROM以及LPM_RAM實(shí)驗(yàn)實(shí)驗(yàn)原理LPM_ROMALTERA的FPGA中有許多可調(diào)用的LPM (Library Parameterized Modules)參數(shù)化的模塊庫(kù),可構(gòu)成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存儲(chǔ)器結(jié)構(gòu)。CPU中的重要部件,如RAM、ROM可直接調(diào)用他們構(gòu)成,因此在FPGA中利
11、用嵌入式陣列塊EAB可以構(gòu)成各種結(jié)構(gòu)的存儲(chǔ)器,lpm_ROM是其中的一種。lpm_ROM有5組信號(hào):地址信號(hào)address 、數(shù)據(jù)信號(hào)q 、時(shí)鐘信號(hào)inclock、outclock、允許信號(hào)memenable,其參數(shù)都是可以設(shè)定的。由于ROM是只讀存儲(chǔ)器,所以它的數(shù)據(jù)口是單向的輸出端口,ROM中的數(shù)據(jù)是在對(duì)FPGA現(xiàn)場(chǎng)配置時(shí),通過(guò)配置文件一起寫入存儲(chǔ)單元的。圖3-1-1中的lpm_ROM有3組信號(hào):inclk輸入時(shí)鐘脈沖;q23.0lpm_ROM的24位數(shù)據(jù)輸出端;a5.0lpm_ROM的6位讀出地址。如下圖所示。實(shí)驗(yàn)中主要應(yīng)掌握以下三方面的內(nèi)容: lpm_ROM的參數(shù)設(shè)置; lpm_ROM中
12、數(shù)據(jù)的寫入,即LPM_FILE初始化文件的編寫; lpm_ROM的實(shí)際應(yīng)用,在GW48_CP+實(shí)驗(yàn)臺(tái)上的調(diào)試方法。LPM_RAM在FPGA中利用嵌入式陣列塊EAB可以構(gòu)成存儲(chǔ)器,lpm_ram_dp的結(jié)構(gòu)如下圖所示。R/W讀/寫控制端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作;CLK讀/寫時(shí)鐘脈沖;DATA7.0RAM-dp的8位數(shù)據(jù)輸入端;A7.0RAM的讀出和寫入地址;Q7.0RAM-dp的8位數(shù)據(jù)輸出端。實(shí)驗(yàn)過(guò)程1、 LPM_ROM1)在MAX_PLUS II 環(huán)境下,用圖形編輯Graphic Editer,進(jìn)入max2libmega_lpm元件庫(kù),調(diào)用lpm_rom元件,設(shè)置地址總線寬度
13、address和數(shù)據(jù)總線寬度q,并添加輸入、輸出引腳。(2)在設(shè)置lpm_rom數(shù)據(jù)參數(shù)選擇項(xiàng)lpm_file的對(duì)應(yīng)窗口中,用鍵盤輸入lpm_ROM配置文件的路徑。(3)用初始化存儲(chǔ)器編輯窗口編輯lpm_ROM配置文件(文件名.mif)。原理圖輸入完成后,打開仿真器窗口Simulator,選擇Initialize菜單中的Initialize Memory 選項(xiàng),并在此編輯窗口中完成ROM數(shù)據(jù)的編輯,然后按Export File鍵,將文件以mif后綴存盤。2、 LPM_RAM(1)在MAX PLUS II環(huán)境下,按原理圖輸入電路圖。并進(jìn)行編譯、引腳鎖定、FPGA配置。(2)通過(guò)K1、K2輸入RA
14、M數(shù)據(jù),K3、K4輸入存儲(chǔ)器的地址。K5(R/W)讀/寫控制端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作;K6(CLK)產(chǎn)生讀/寫時(shí)鐘脈沖。向存儲(chǔ)器中1號(hào)地址,2號(hào)地址中分別寫入2個(gè)不同的數(shù)據(jù),然后讀出這2個(gè)數(shù)據(jù),觀察是否與寫入的數(shù)據(jù)相同。(3)在simulator窗口下,用Initialize Memory 功能對(duì)lpm_ram_dp數(shù)據(jù)初始化設(shè)置,并完成第(2)項(xiàng)功能。仿真波形圖及分析1、LPM_ROM的波形圖,輸入地址后輸出數(shù)據(jù)。2、LPM_RAM的波形圖,當(dāng)r/w位為1時(shí),向RAM中寫入數(shù)據(jù),當(dāng)r/w位為0時(shí),從RAM中讀出數(shù)據(jù)。問(wèn)題分析(1)如何建立lpm_ram_dq的數(shù)據(jù)初始化,如
15、何導(dǎo)入和存儲(chǔ)lpm_ram_dq參數(shù)文件?生成一個(gè)mif文件,并導(dǎo)入以上的RAM中答:在設(shè)置 lpm_ram_dq 數(shù)據(jù)參數(shù)選擇項(xiàng) mem_init 的對(duì)應(yīng)窗口中,輸入lpm_RAM 配置文件的路徑(ram.mif),然后設(shè)置在系統(tǒng) ROM/RAM 讀寫允許,以便能對(duì) FPGA 中的 RAM 在系統(tǒng)讀寫。用初始化存儲(chǔ)器編輯窗口編輯 lpm_RAM 配置文件(文件名.mif)。File-New-(Other File)Memory Initialization File:ram.mif(2)使用VHDL文件作為頂層文件,學(xué)習(xí)lpm_ram_dq的VHDL語(yǔ)言的文本設(shè)計(jì)方法。實(shí)驗(yàn)三實(shí)驗(yàn)內(nèi)容微控制器
16、實(shí)驗(yàn)1:節(jié)拍脈沖發(fā)生器時(shí)序電路實(shí)驗(yàn)實(shí)驗(yàn)原理計(jì)算機(jī)之所以能夠按照人們事先規(guī)定的順序進(jìn)行一系列的操作或運(yùn)算,就是因?yàn)樗目刂撇糠帜軌虬匆欢ǖ南群箜樞蛘_地發(fā)出一系列相應(yīng)的控制信號(hào)。這就要求計(jì)算機(jī)必須有時(shí)序電路??刂菩盘?hào)就是根據(jù)時(shí)序信號(hào)產(chǎn)生的。時(shí)序電路由4個(gè)D觸發(fā)器組成,可產(chǎn)生4個(gè)等間隔的時(shí)序信號(hào)T1T4,其中CLK為時(shí)鐘信號(hào),由實(shí)驗(yàn)臺(tái)右邊的方波信號(hào)源CLOCK0提供,可產(chǎn)生1Hz12MHz的方波信號(hào)頻率。學(xué)生可根據(jù)實(shí)驗(yàn)自行選擇信號(hào)頻率。當(dāng)RST1為低電平時(shí),T1輸出為“1”,而T2、T3、T4輸出為“0”;當(dāng)RST1輸入為一個(gè)負(fù)脈沖,T1T4將在CLK1的輸入脈沖作用下,周期性地輪流輸出正脈沖,機(jī)
17、器進(jìn)入連續(xù)運(yùn)行狀態(tài)(EXEC)。各電路的實(shí)驗(yàn)原理圖如下:圖1、連續(xù)節(jié)拍發(fā)生電路設(shè)計(jì)圖2、單步節(jié)拍發(fā)生電路設(shè)計(jì)圖3、單步/連續(xù)節(jié)拍發(fā)生電路設(shè)計(jì)實(shí)驗(yàn)任務(wù)連續(xù)節(jié)拍發(fā)生電路 Clock0-4Hz 發(fā)光管分別顯示T1、T2、T3、T4的輸出電平單步節(jié)拍發(fā)生電路CLK1時(shí)鐘輸入信號(hào),可以選擇實(shí)驗(yàn)臺(tái)上clock0為1Hz2MHz。RST1復(fù)位控制信號(hào),低電平有效。在單步方式下,每當(dāng)RST由低電平轉(zhuǎn)為高電平時(shí),輸出一組T1、T2、T3、T4節(jié)拍信號(hào)。單步/連續(xù)節(jié)拍發(fā)生電路 S021MUX的2選1控制端。當(dāng)S0=0時(shí),Y=A,單步方式;當(dāng)S0=1時(shí),Y=B,連續(xù)方式。CLK1時(shí)鐘輸入信號(hào),可以選擇實(shí)驗(yàn)臺(tái)上clo
18、ck0為1Hz2MHz。RST復(fù)位控制信號(hào),低電平有效。在單步方式下,每當(dāng)RST由低電平轉(zhuǎn)為高電平時(shí),輸出一組T1、T2、T3、T4節(jié)拍信號(hào)。在連續(xù)方式下,當(dāng)RST由低電平轉(zhuǎn)為高電平時(shí),連續(xù)輸出周期性T1、T2、T3、T4節(jié)拍信號(hào)。實(shí)驗(yàn)過(guò)程(1)將實(shí)驗(yàn)電路與輸入開關(guān)組和LED輸出顯示電路連接(2)按KEY8鍵,產(chǎn)生CLK信號(hào)。(3)觀察在不同的CLK信號(hào)下所產(chǎn)生的節(jié)拍,顯示LED的亮滅。(4)重復(fù)步驟2,3,產(chǎn)生不同的節(jié)拍脈沖,觀察顯示燈LED的亮滅。(5)繪出相應(yīng)的時(shí)序波形圖。仿真波形圖及分析1、連續(xù)節(jié)拍發(fā)生電路波形圖如下,當(dāng)RST為1時(shí),輸出連續(xù)的波形 2、單步節(jié)拍發(fā)生電路波形圖如下,當(dāng)R
19、ST為1時(shí),輸出一次波形 3、單步/連續(xù)節(jié)拍發(fā)生電路波形圖如下,SO可調(diào)節(jié)當(dāng)前狀態(tài)問(wèn)題分析(1)單步運(yùn)行與連續(xù)運(yùn)行有何區(qū)別,它們各自的使用環(huán)境怎樣?答:?jiǎn)尾竭\(yùn)行只運(yùn)行固定時(shí)鐘周期的信號(hào);而連續(xù)運(yùn)行會(huì)一直發(fā)生信號(hào)。 (2)如何實(shí)現(xiàn)單步/連續(xù)運(yùn)行工作方式的切換? S021MUX的2選1控制端。當(dāng)S0=0時(shí),Y=A,單步方式;當(dāng)S0=1時(shí),Y=B,連續(xù)方式。實(shí)驗(yàn)四實(shí)驗(yàn)內(nèi)容微控制器實(shí)驗(yàn)2:程序計(jì)數(shù)器PC與地址寄存器AR實(shí)驗(yàn)實(shí)驗(yàn)原理采用總線多路開關(guān)連接方式地址單元主要由三部分組成:、地址寄存器和多路開關(guān)。程序計(jì)數(shù)器PC用以指出下條指令在主存中的存放地址,CPU正是根據(jù)PC的內(nèi)容去主存取得指令的,因程序中
20、指令是順序執(zhí)行的,所以PC有自增功能。程序計(jì)數(shù)器提供下一條程序指令的地址,在T4時(shí)鐘脈沖的作用下具有自動(dòng)加1的功能;在LDPC信號(hào)的作用下可以預(yù)置計(jì)數(shù)器的初值,當(dāng)LDPC為高電平時(shí),計(jì)數(shù)器裝入data 端輸入的數(shù)據(jù)。aclr是計(jì)數(shù)器的清0端,高電平有效,使計(jì)數(shù)器清零;aclr為低電平時(shí),允許計(jì)數(shù)器正常計(jì)數(shù)。地址寄存器AR(74273)鎖存訪問(wèn)內(nèi)存SRAM的地址,地址來(lái)自兩個(gè)渠道。一是程序計(jì)數(shù)器PC的輸出,通常是下一條指令的地址;二是來(lái)自于內(nèi)部數(shù)據(jù)總線的數(shù)據(jù),通常是被訪問(wèn)操作數(shù)的地址。為了實(shí)現(xiàn)對(duì)兩路輸入數(shù)據(jù)的切換,在FPGA的內(nèi)部通過(guò)總線多路開關(guān)BUSMUX進(jìn)行選擇。LDAR與選擇控制端sel相
21、連接,當(dāng)LDAR為低電平,即選擇控制端sel為“0”時(shí),選擇程序計(jì)數(shù)器的輸出;當(dāng)LDAR為高電平時(shí),即選擇控制端sel為“1”時(shí),選擇內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)。原理圖如下所示:2、采用PC、AR通過(guò)三態(tài)門lpm_bustri與BUS聯(lián)接程序計(jì)數(shù)器PC與地址寄存器AR結(jié)合,產(chǎn)生對(duì)存儲(chǔ)器RAM進(jìn)行讀寫的地址。地址單元主要有三部分組成:程序計(jì)數(shù)器PC、地址寄存器AR和三態(tài)門lpm_bustri,電路圖如下所示。程序計(jì)數(shù)器PC用于指出下一條指令在內(nèi)存中的地址,CPU正是根據(jù)PC的內(nèi)容去存取指令的。程序計(jì)數(shù)器提供下一條指令的地址,在時(shí)鐘脈沖的作用下具有自動(dòng)加一的功能;在LOAD_PC的作用下可以預(yù)置計(jì)數(shù)器的初
22、值。當(dāng)LOAD_PC為高電平時(shí),計(jì)數(shù)器裝入data的輸入數(shù)據(jù)。RST時(shí)計(jì)數(shù)器的清零端,高電平有效;RST為低電平時(shí),允許計(jì)數(shù)器正常計(jì)數(shù)。實(shí)驗(yàn)任務(wù)與過(guò)程采用總線多路開關(guān)連接方式(1)按照 圖3-2-1程序計(jì)數(shù)器原理圖編輯、輸入電路,實(shí)驗(yàn)臺(tái)選擇NO.1工作模式。對(duì)輸入原理圖進(jìn)行編譯、引腳鎖定、并下載到實(shí)驗(yàn)臺(tái)。(2)通過(guò)B7.0設(shè)置程序計(jì)數(shù)器的預(yù)加載數(shù)據(jù)。當(dāng)LDPC=0時(shí),觀察程序計(jì)數(shù)器自動(dòng)加1的功能;當(dāng)LDPC=1時(shí),觀察程序計(jì)數(shù)器加載輸出情況。(3)分別觀察當(dāng)LDAR=0時(shí)和LDAR=1時(shí),地址寄存器AR的輸入和輸出情況。2、采用PC、AR通過(guò)三態(tài)門lpm_bustri與BUS聯(lián)接 按照原理圖的
23、編輯輸入電路,采用LPM庫(kù)中的元件lpm_latch鎖存器、lpm_counter計(jì)數(shù)器計(jì)數(shù)器和lpm_bustri總線三態(tài)輸出緩沖器進(jìn)行設(shè)計(jì),采用NO。0工作模式,按照以上方式完成實(shí)驗(yàn)。仿真波形圖及分析1、采用總線多路開關(guān)連接方式的實(shí)驗(yàn)波形圖如下所示:2、采用PC、AR通過(guò)三態(tài)門lpm_bustri與BUS聯(lián)接的實(shí)驗(yàn)波形圖如下所示:?jiǎn)栴}分析1說(shuō)明順序執(zhí)行程序時(shí),將PC值送AR,從AR所指向的RAM地址單元取出指令的操作步驟;答:PCAR;ARAdress Bus;Adress BusRAM;PC+1。2執(zhí)行分支轉(zhuǎn)移程序與執(zhí)行順序程序是,對(duì)地址單元的操作有何區(qū)別?答:對(duì)三態(tài)門的控制不同。分支轉(zhuǎn)
24、移時(shí)打開數(shù)據(jù)總線與AR間的三態(tài)門,關(guān)閉PC與AR間的三態(tài)門;順序執(zhí)行打開PC與AR間的三態(tài)門,關(guān)閉數(shù)據(jù)總線與AR間的三態(tài)門。3請(qǐng)說(shuō)明實(shí)現(xiàn)PC值自動(dòng)加1,指向下一個(gè)地址單元的操作過(guò)程,給出控制信號(hào)的時(shí)序波形答:如下圖所示4請(qǐng)說(shuō)明在圖4-66電路中,在實(shí)行程序轉(zhuǎn)移時(shí),從DATA7.0輸入轉(zhuǎn)移地址送PC和AR,AR輸出新的轉(zhuǎn)移地址的操作過(guò)程;答:LOAD_PC輸入高電平,INPUT_B輸入高電平,PC_B輸入低電平,PC_CLK輸入一個(gè)時(shí)鐘脈沖,DATA中的數(shù)據(jù)讀入PC和AR中,同時(shí)AR輸出新的地址。5要實(shí)現(xiàn)程序的分支轉(zhuǎn)移,需對(duì)圖4-64中的程序計(jì)數(shù)器PC和地址寄存器AR做怎樣的操作?應(yīng)改變那些控制
25、信號(hào)?請(qǐng)給出控制信號(hào)的時(shí)序波形,并在實(shí)驗(yàn)臺(tái)上實(shí)現(xiàn)程序分支和程序轉(zhuǎn)移功能答:LDPC和LDAR均輸入為高電平,從T4輸入時(shí)鐘脈沖,則PC和AR均讀入總線上的數(shù)據(jù)時(shí)序波形如下:6從存儲(chǔ)器讀取運(yùn)算數(shù)據(jù)和執(zhí)行取指令操作時(shí),地址控制單元完成的操作有何不同?請(qǐng)給出對(duì)存儲(chǔ)器進(jìn)行讀寫操作時(shí)控制信號(hào)的時(shí)序波形,并在實(shí)驗(yàn)臺(tái)上完成對(duì)地址單元的相應(yīng)操作答:存取運(yùn)算數(shù)據(jù)時(shí),PC計(jì)數(shù)器加一,AR從PC中讀取數(shù)據(jù);取指令操作時(shí),PC和AR均從總線中讀取數(shù)據(jù)。讀取運(yùn)算數(shù)據(jù)的波形圖:讀取指令的波形圖:實(shí)驗(yàn)五實(shí)驗(yàn)內(nèi)容微控制器實(shí)驗(yàn)3:微控制器組成實(shí)驗(yàn)實(shí)驗(yàn)原理微程序控制器的組成下圖所示。其中控制存儲(chǔ)器由FPGA中的LPM_ROM構(gòu)成
26、,輸出24位控制信號(hào)。在24位控制信號(hào)中,微命令信號(hào)18位,微地址信號(hào)6位。在不判別測(cè)試的情況下,T2時(shí)刻打入微地址寄存器uA的內(nèi)容即為下一條微指令地址。當(dāng)T4時(shí)刻進(jìn)行測(cè)試判別時(shí),轉(zhuǎn)移邏輯滿足條件后輸出的負(fù)脈沖通過(guò)強(qiáng)制端將某一觸發(fā)器置為“1”狀態(tài),完成地址修改。微程序控制器中的微控制代碼可以通過(guò)對(duì)FPGA中LPM_ROM的配置進(jìn)行輸入,通過(guò)編輯LPM_ROM.mif文件修改微控制代碼。詳細(xì)情況可參考實(shí)驗(yàn)二中FPGA中LPM_ROM的配置方法。微程序控制電路實(shí)驗(yàn)任務(wù)1、微指令控制電路輸入下圖所示的微指令控制電路,并按照?qǐng)D中說(shuō)明鎖定引腳,編譯、下載到實(shí)驗(yàn)系統(tǒng)中,選擇實(shí)驗(yàn)臺(tái)工作模式No.0。記錄當(dāng)F
27、C、FZ變化時(shí),微指令的變化,對(duì)輸出微地址控制型號(hào)的影響觀察、記錄當(dāng)微指令的變化時(shí),SE6.1的變化觀察記錄分值控制信號(hào)有效時(shí),微指令的變化對(duì)輸出微地址控制信號(hào)的影響觀察記錄SWA、SWB對(duì)輸出微地址信號(hào)的影響2、微地址寄存器控制電路輸入下圖所示微地址寄存器電路,并按照?qǐng)D中說(shuō)明鎖定引腳,編譯、下載到實(shí)驗(yàn)系統(tǒng)中,選擇實(shí)驗(yàn)臺(tái)工作模式No.0。觀察記錄微地址寄存器在正常工作情況下,由d6.1輸入、q6.1輸出的微地址實(shí)驗(yàn)數(shù)據(jù),以及在發(fā)生控制/轉(zhuǎn)移情況下,當(dāng)s6.s1信號(hào)有效時(shí),q6.1 輸出的微地址發(fā)生變化的情況3、數(shù)據(jù)寄存器譯碼控制實(shí)驗(yàn)按下圖所示輸入電路圖,編譯、下載到實(shí)驗(yàn)系統(tǒng)中,選擇工作模式NO
28、.5觀察、記錄微指令信號(hào)中的變化、控制信號(hào)LDRI、RD_B、RJ_B的變化,對(duì)輸出選通信號(hào)LDR0LDR2、R0_BR2_Bde 影響。 仿真波形圖及分析1、微指令控制電路的實(shí)驗(yàn)波形圖如下 2、微地址寄存器控制電路實(shí)驗(yàn)波形圖如下:3、數(shù)據(jù)寄存器譯碼控制實(shí)驗(yàn)波形圖如下:?jiǎn)栴}分析在微指令控制電路中,當(dāng)FC或FZ有效時(shí),對(duì)其輸出S6.1有何影響?對(duì)微地址寄存器的輸出會(huì)有何影響?如何實(shí)現(xiàn)對(duì)程序的控制/轉(zhuǎn)移功能?答:只有當(dāng)FC或FZ有效時(shí),S5才會(huì)受收T4和P3的控制;而S5有效為1時(shí),觸發(fā)器才會(huì)工作,微地址寄存器的輸出Q5才可能為1.控制轉(zhuǎn)移靠P4.1來(lái)控制。(2)說(shuō)明P4.1信號(hào)分別有效時(shí),對(duì)微指
29、令控制電路中輸出S6.1有何影響?答:P1有效時(shí),S3和S4為1;P1、P2、P4都為1時(shí),S1與S2為1;P3有效時(shí),S5為1;(3)當(dāng)控制信號(hào)SWA、SWB取不同的值時(shí),對(duì)微指令控制電路中輸出S6.1有何影響?答:當(dāng)兩項(xiàng)取00時(shí),S1、S2不受P4的影響;當(dāng)兩項(xiàng)取01時(shí),S1不受P4的影響;當(dāng)兩項(xiàng)取10時(shí),S2不受P4的影響;當(dāng)兩項(xiàng)取11時(shí),對(duì)S1、S2不影響;實(shí)驗(yàn)總結(jié) 通過(guò)這五次實(shí)驗(yàn)我初步了解了計(jì)算機(jī)各部件的工作原理對(duì)Quartes軟件的使用也更加熟練,實(shí)驗(yàn)過(guò)程中出現(xiàn)的問(wèn)題通過(guò)與同組者的交流和老師的幫助得到了妥善解決,最終圓滿的完成了全部試驗(yàn)。感謝老師的悉心指導(dǎo)與殷切關(guān)懷。MMX指令實(shí)驗(yàn)
30、部分:一 實(shí)驗(yàn)題目使用MMX指令,完成圖片的淡入淡出效果,并與不使用MMX的普通淡入淡出進(jìn)行比較二 實(shí)驗(yàn)分析圖片是由一個(gè)個(gè)像素組成,對(duì)照片的每個(gè)像素逐一處理,就可達(dá)到漸變效果,常用的漸變公式為:Pixel_C= (Pixel_A- Pixel_B)*fade+Pixel_B等價(jià)的公式為Pixel_C=Pixel_A*fade+Pixel_B*(1-fade);其中fade為漸變因子,當(dāng)fade從1到0逐漸改變時(shí),就可產(chǎn)生漸變效果。MMX指令是為高速處理多媒體數(shù)據(jù)而設(shè)計(jì)的一組匯編指令,它提供了8個(gè)64位寄存器像素的格式為BGR,分別為藍(lán)色,綠色和紅色。其值域?yàn)?到255.三 實(shí)驗(yàn)代碼本實(shí)驗(yàn)中在
31、visual C+ 6.0 平臺(tái)上編寫MFC應(yīng)用程序,通過(guò)比較采用C+內(nèi)聯(lián)匯編方式調(diào)用的MMX指令和調(diào)用API對(duì)圖片像素逐個(gè)處理方法的處理效率,學(xué)習(xí)體會(huì)提高數(shù)據(jù)處理速度的方法。主要代碼如下:(1) 未使用MMX 技術(shù)的代碼如下,本程序采用的是像素描點(diǎn)的方法,一共225針,分十次掃描完畢實(shí)現(xiàn)的淡入淡出效果:/ MMX1View.cpp : implementation of the CMMX1View class/CMMX1View:CMMX1View()/ TODO: add construction code hereHBITMAP hBitmap=(HBITMAP)LoadImage(NU
32、LL,_T(1.bmp),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);this-m_Bitmap.Attach(hBitmap);BITMAP BM;this-m_Bitmap.GetBitmap(&BM);/目標(biāo)圖像 HBITMAP tarhBitmap=(HBITMAP)LoadImage(NULL,_T(4.bmp),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE); this-m_tarBitmap.Att
33、ach(tarhBitmap);BITMAP BM2;this-m_tarBitmap.GetBitmap(&BM2);/this-m_newptr=new BYTEBM.bmWidth*BM.bmHeight*3;this-m_newptr2=new BYTEBM.bmWidth*BM.bmHeight*3;/BYTE* temp=(BYTE*)BM.bmBits;BYTE* temp2=(BYTE*)BM2.bmBits;/if(this-m_newptr=NULL)return ;BYTE *pSrc=NULL;BYTE *pDes=NULL;BYTE *pSrc2=NULL;BYTE
34、*pDes2=NULL; for(int h=0;hBM.bmHeight;h+) for(int w=0;wm_newptr+w*3+h*BM.bmWidthBytes;/按位復(fù)制memcpy(pDes,pSrc,3);pSrc2=temp2+w*3+h*BM.bmWidthBytes;pDes2=this-m_newptr2+w*3+h*BM.bmWidthBytes;/按位復(fù)制memcpy(pDes2,pSrc2,3); this-m_BM.bmBitsPixel=BM.bmBitsPixel;this-m_BM.bmHeight=BM.bmHeight;this-m_BM.bmPlan
35、es=BM.bmPlanes;this-m_BM.bmType=BM.bmType;this-m_BM.bmWidth=BM.bmWidth;this-m_BM.bmWidthBytes=BM.bmWidthBytes; / CMMX1View drawingvoid CMMX1View:OnDraw(CDC* pDC)CMMX1Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data hereBITMAP BM;this-m_Bitmap.GetBitmap(&BM);BITMAP B
36、M2;this-m_tarBitmap.GetBitmap(&BM2); CDC MemDC;MemDC.CreateCompatibleDC(NULL);/BYTE *pSrc=NULL;BYTE *pDes=NULL;BYTE *pSrc2=NULL;BYTE *pDes2=NULL;CString count;for(int fade=0;fade=250;fade+=10)for(int h=0;hBM.bmHeight;h+)/Ax+(1-x)B=(A-B)x+B for(int w=0;w1 w/3 pSrc=(BYTE*)BM.bmBits+w*3+h*BM.bmWidthByt
37、es;pSrc2=(BYTE*)BM2.bmBits+w*3+h*BM2.bmWidthBytes;int blue=(int)*pSrc;int green=(int)*(pSrc+1);int red=(int)*(pSrc+2);int tarblue=(int)*pSrc2;int targreen=(int)*(pSrc2+1);int tarred=(int)*(pSrc2+2);int realblue=(blue-tarblue)*(float)fade/255.0)+tarblue;int realred=(red-tarred)*(float)fade/255.0)+tar
38、red;int realgreen=(green-targreen)*(float)fade/255.0)+targreen; pDC-SetPixel(w,BM.bmHeight-h,RGB(realred,realgreen,realblue); count.Format(%d,fade);pDC-TextOut(800,100,count);/ CMMX1View printing#ifdef _DEBUG/(2)使用MMX技術(shù)的代碼如下/ CMMX3ViewCMMX3View:CMMX3View()/ TODO: add construction code hereHBITMAP hB
39、itmap=(HBITMAP)LoadImage(NULL,_T(1.bmp),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);this-m_bitmap.Attach(hBitmap);/HBITMAP tarhBitmap=(HBITMAP)LoadImage(NULL,_T(4.bmp),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE); this-m_tarbitmap.Attach(tarhBitmap);/
40、BITMAP BM;this-m_bitmap.GetBitmap(&BM);BITMAP BM2;this-m_tarbitmap.GetBitmap(&BM2);/this-m_newptr=new BYTEBM.bmWidth*BM.bmHeight*3;this-m_newptr2=new BYTEBM.bmWidth*BM.bmHeight*3;/ BYTE* temp=(BYTE*)BM.bmBits;BYTE* temp2=(BYTE*)BM2.bmBits;/if(this-m_newptr=NULL)return ;BYTE *pSrc=NULL;BYTE *pDes=NUL
41、L;BYTE *pSrc2=NULL;BYTE *pDes2=NULL; for(int h=0;hBM.bmHeight;h+) for(int w=0;wm_newptr+w*3+h*BM.bmWidthBytes;/按位復(fù)制memcpy(pDes,pSrc,3);pSrc2=temp2+w*3+h*BM.bmWidthBytes;pDes2=this-m_newptr2+w*3+h*BM.bmWidthBytes;/按位復(fù)制memcpy(pDes2,pSrc2,3); this-m_tarptr=new BYTEBM.bmWidth*BM.bmHeight*3;void CMMX3Vie
42、w:OnDraw(CDC* pDC)CMMX3Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data here/BITMAP BM;this-m_bitmap.GetBitmap(&BM);/BYTE temp4=0,0,0,0; /寫圖像BYTE* pSrc=this-m_tarptr;CString count;/120出問(wèn)題for(int i=0;im_newptr,this-m_newptr2,(int)BM.bmWidth,(int)BM.bmHeight,i);for(in
43、t h=0;hBM.bmHeight;h+) for(int w=0;w1 w/3 /pSrc=(BYTE*)this-m_tarptr+w*3+h*BM.bmWidthBytes; pSrc=(BYTE*)this-m_tarptr+w*3+h*BM.bmWidthBytes; / int blue=(int)*pSrc;/int green=(int)*(pSrc+1);/int red=(int)*(pSrc+2); pDC-SetPixel(w,BM.bmHeight-h,RGB(*(pSrc+2),*(pSrc+1),*pSrc); count.Format(%d,i);pDC-Te
44、xtOut(800,100,count);/ CMMX3View message handlersBYTE CMMX3View:HANDLE(BYTE *pSrc, BYTE *pSrc2, int w, int h,int i) /* BYTE *target=this-m_tarptr;w=w*3*h/4;_int16 fade4=i*256,i*256,i*256,i*256;_int16 temp;/ecx 計(jì)數(shù)器 esi 源地址 edi 目的圖像地址 ebx 新生成地址_asmmov ebx,target/目的地址mov ecx,w /像素總數(shù)mov esi,pSrc/第一幅圖像地址
45、mov edi,pSrc2/第二幅圖像地址pxor mm7,mm7/清空MM7浮點(diǎn)寄存器,為位擴(kuò)展準(zhǔn)備操作數(shù) movq mm3,fade/mm3調(diào)整像素比例 back:/ movd mm0,esi/源操作數(shù) / movq temp,mm0/調(diào)試斷點(diǎn) movd mm1,edi/目的操作數(shù) /movq temp,mm1/調(diào)試斷點(diǎn) punpcklbw mm0,mm7/源拓展 punpcklbw mm1,mm7/目的拓展 psubw mm0,mm1/原操作減去目的操作 pmulhw mm0,mm3/乘以比例 paddw mm0,mm1/加上目的操作數(shù) packuswb mm0,mm7/壓縮包 /movd temp,mm0/調(diào)試斷點(diǎn) movd ebx,mm0/圖像送回 add esi,4/ add edi,4/ add ebx,4/loop back / emms/ return 1;*/ BYTE *target=this-m_tarptr;w=w*3*h/4;_int16 fade4=i,i,i,i;/_int1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 知識(shí)產(chǎn)權(quán)新員工培訓(xùn)課件
- 春風(fēng)十里才子歸來(lái)
- 主播直播培訓(xùn)
- 二零二五年度建筑垃圾清運(yùn)合同示范3篇
- 珠寶瓷器知識(shí)培訓(xùn)課件
- “雙減”政策下語(yǔ)文作業(yè)的設(shè)計(jì)趨勢(shì)
- 臨床C1q 腎病病因、發(fā)病機(jī)制、關(guān)鍵診斷特征、病理三鏡、鑒別診斷及病理圖譜
- 兒科超聲對(duì)小兒急腹癥診斷要點(diǎn)和注意事項(xiàng)
- 四川省瀘州市江陽(yáng)區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期1月期末考試英語(yǔ)試題(含答案)
- 湖南省長(zhǎng)沙市2025年新高考適應(yīng)性考試地理試題(含答案)
- 住宅設(shè)計(jì)效果圖協(xié)議書
- 新版中國(guó)食物成分表
- 浙江省溫州市溫州中學(xué)2025屆數(shù)學(xué)高二上期末綜合測(cè)試試題含解析
- 2024河南鄭州市金水區(qū)事業(yè)單位招聘45人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 食物損失和浪費(fèi)控制程序
- TCI 373-2024 中老年人免散瞳眼底疾病篩查規(guī)范
- 2024四川太陽(yáng)能輻射量數(shù)據(jù)
- 石油鉆采專用設(shè)備制造考核試卷
- 法人變更股權(quán)轉(zhuǎn)讓協(xié)議書(2024版)
- 研究生中期考核匯報(bào)模板幻燈片
- 培訓(xùn)機(jī)構(gòu)與學(xué)校合作協(xié)議書范本
評(píng)論
0/150
提交評(píng)論