【MOOC】計算機組成與CPU設計實驗-江蘇大學 中國大學慕課MOOC答案_第1頁
【MOOC】計算機組成與CPU設計實驗-江蘇大學 中國大學慕課MOOC答案_第2頁
【MOOC】計算機組成與CPU設計實驗-江蘇大學 中國大學慕課MOOC答案_第3頁
【MOOC】計算機組成與CPU設計實驗-江蘇大學 中國大學慕課MOOC答案_第4頁
【MOOC】計算機組成與CPU設計實驗-江蘇大學 中國大學慕課MOOC答案_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

【MOOC】計算機組成與CPU設計實驗-江蘇大學中國大學慕課MOOC答案單元測驗011、【單選題】RISC-V開源的是本題答案:【指令集架構】2、【單選題】FPGA設計流程的順序是____。I.設計輸入,II.邏輯綜合,III.適配,IV.生成配置文件本題答案:【I.II.III.IV.】3、【單選題】本課程實驗使用的芯片類型屬于本題答案:【FPGA】4、【多選題】將綜合工具生成的電路文件加載到可編程芯片的過程稱為本題答案:【編程#下載#配置】5、【多選題】Verilog模塊的端口類型有本題答案:【input#output#inout】6、【多選題】錯誤的模塊定義語句是本題答案:【modulemodule_name(inputa,b,outputc)#modulemodule_name(a,b,c)】7、【判斷題】VHDL是VerilogHDL的簡寫。本題答案:【錯誤】8、【判斷題】多個assign持續賦值語句是按照書寫的順序執行的。本題答案:【錯誤】9、【判斷題】SystemVerilog包含了Verilog。本題答案:【正確】10、【判斷題】綜合是指將HDL描述轉變成門級邏輯電路。本題答案:【正確】11、【判斷題】VerilogHDL編譯生成的目標代碼最終被一個計算機執行。本題答案:【錯誤】12、【判斷題】實驗指導中的代碼assignSD0=S[7:0];也可以寫成assignSD0[7:0]=S[7:0];本題答案:【正確】13、【填空題】常數5'he表示的二進制數是本題答案:【01110】14、【填空題】常數6'B110011表示的二進制數是本題答案:【110011】15、【填空題】用VerilogHDL實現S11~S8控制L11~L8亮滅的assign賦值語句是(注:不要有多余的空格)本題答案:【assignL[11:8]=S[11:8];】單元測驗021、【單選題】遠程實驗平臺推薦使用的瀏覽器為本題答案:【谷歌瀏覽器】2、【單選題】開關S0控制的數碼管段的編號是H、段h(小數點)本題答案:【段a】3、【單選題】開關S1控制的數碼管段的編號是H、段h(小數點)本題答案:【段b】4、【單選題】開關S2控制的數碼管段的編號是H、段h(小數點)本題答案:【段c】5、【單選題】開關S3控制的數碼管段的編號是H、段h(小數點)本題答案:【段d】6、【單選題】開關S4控制的數碼管段的編號是H、段h(小數點)本題答案:【段e】7、【單選題】開關S5控制的數碼管段的編號是H、段h(小數點)本題答案:【段f】8、【單選題】開關S6控制的數碼管段的編號是H、段h(小數點)本題答案:【段g】9、【單選題】開關S7控制的數碼管段的編號是H、段h(小數點)本題答案:【段h(小數點)】10、【判斷題】實驗平臺的虛擬面板和LabBoard_TOP模塊對應的。本題答案:【錯誤】11、【判斷題】虛擬面板的虛擬元件是根據添加順序和HDL代碼對應的。本題答案:【錯誤】12、【判斷題】虛擬實驗是以真實的硬件實驗板為基礎,通過軟件界面進行實驗操作。本題答案:【正確】13、【填空題】根據點亮電平的高低,你判斷遠程實驗板的數碼管是共陰極的還是共陽極的?本題答案:【共陽極】14、【填空題】數碼管的段是高電平點亮還是低電平點亮?本題答案:【低電平】15、【填空題】LED指示燈點亮時的驅動電平是高電平還是低電平?本題答案:【高電平】單元測驗031、【單選題】以下代碼描述的分別是?assignc=~(ab);assignd=(a^b)本題答案:【與非門,異或門】2、【單選題】VerilogHDL中在always語句塊中被賦值的信號,應該聲明為______。本題答案:【reg】3、【單選題】普通邏輯門的輸出______連接在一起;三態門的輸出______連接在一起;三態門的輸出有______種狀態,通過使能端控制,可以用于輸出到總線。本題答案:【不可以,可以,3】4、【單選題】使用持續賦值語句可以描述三態門如下:inputEn,Din;outputDout;assignDout=En?Din:1bz;當En為1時,Dout=______,當En為0時,Dout=______.本題答案:【Din,高阻態】5、【單選題】多路器的功能是從多個輸入中選擇________輸出,使用持續賦值語句assignY=S?A:B;可以描述一個________選________的多路器。本題答案:【?一個,2,1】6、【單選題】在VerilogHDL中,判斷a等于b的表達式應該寫為“a______b”。本題答案:【==】7、【多選題】語法格式{repetition_number{expr1,expr2,...,exprN}}表示復制操作,找出與{2{a,b}}結果相同的表達式本題答案:【?{{a,b},{a,b}}#{a,b,a,b}】8、【多選題】從下面選出4選1多路器的描述本題答案:【modulelabx(inputIn0,In1,In2,IN3,input[1:0]Sel,outputlogicOut);always_combcase(Sel)2'b00:Out=In0;2'b01:Out=In1;2'b10:Out=In2;2'b11:Out=In3;default:Out=1'bx;endcaseendmodule#modulelabx(input[3:0]In,input[1:0]Sel,outputOut);assignOut=In[Sel];endmodule】9、【多選題】假設a和b是位寬為4的向量,a的值為“1010”,b的值為“0101”,那么值為“1111”的表達式是()本題答案:【a|b#a^b】10、【多選題】在過程賦值語句always語句塊里賦值,稱為過程賦值,always@后面的括號里是敏感列表,如下用持續賦值語句描述了一個異或門電路,與它等價的過程賦值語句是()inputwirea,b;outputwirec;assignc=a^b;本題答案:【inputwirea,b;outputregc;always@(a,b)assignc=a^b;#inputwirea,b;outputregc;always@*assignc=a^b;#inputwirea,b;outputlogicc;always_combassignc=a^b;】11、【多選題】?總線遵循分時共享原則,選出正確的描述。本題答案:【為了實現總線的分時使用,三態緩沖器是實現總線分時使用必不可少的邏輯元件。同一時刻可以有一個部件向總線輸出數據。#三態緩沖器輸出高阻態時,不影響總線的狀態。】12、【多選題】使用遠程實驗平臺虛擬面板驗證三態門電路的功能準備好數據開關,令DATA0=001,DATA1=010,DATA2=100,選出正確的描述。本題答案:【當OE0=0;OE1=0;OE2=0;輸出使能無效,數據開關的值無法傳輸到總線,總線的值顯示為111;#當OE0=1;OE1=0;OE2=0;數據開關DATA0的值傳輸到總線,總線的值顯示為001。#當OE0=0;OE1=1;OE2=0;數據開關DATA1的值傳輸到總線,總線的值顯示為010。#當OE0=0;OE1=0;OE2=1;數據開關DATA2的值傳輸到總線,總線的值顯示為100】13、【多選題】使用遠程實驗平臺虛擬面板驗證三態門電路的功能準備好數據開關,令DATA0=001;DATA1=010;DATA2=100;驗證多個部件同時向總線輸出,選出錯誤的描述。本題答案:【當OE0=1;OE1=1;OE2=0;總線沖突,總線的值顯示為011。#當OE0=1;OE1=0;OE2=1;總線沖突,總線的值顯示為101#當OE0=0;OE1=1;OE2=1;總線沖突,總線的值顯示為110】14、【多選題】使用遠程實驗平臺虛擬面板驗證2選1多路器電路的功能準備好數據開關,令DATA0=001;DATA1=010;DATA2=011;本題答案:【當選擇信號sel1=0,sel0=0時,電路輸出端out輸出來自DATA0的數據,OUT值顯示為001;#當選擇信號sel1=0,sel0=1時,電路輸出端out輸出來自DATA1,OUT值顯示為010;#當選擇信號sel1=1,sel0=0時,電路輸出端out輸出來自DATA2的數據,OUT值顯示為011;#當選擇信號sel1=1,sel0=1時,電路輸出端out輸出來自DATA2的數據,OUT值顯示為011。】15、【多選題】使用遠程實驗平臺虛擬面板驗證與或門構成的選擇器電路功能準備好數據開關,令DATA0=001;DATA1=010;DATA2=100;本題答案:【當OE0=1;OE1=1;OE2=0;Out的值顯示為011;#當OE0=1;OE1=0;OE2=1;Out的值顯示為101;#當OE0=0;OE1=1;OE2=1;Out的值顯示為110;】16、【判斷題】數字邏輯電路有兩大種類型,組合邏輯電路和時序邏輯電路,組合邏輯電路“沒有記憶”,輸出由輸入決定,時序邏輯電路“有記憶”,輸出不僅和當前輸入有關,還跟以前的狀態有關。本題答案:【正確】17、【判斷題】assign引導的持續賦值語句,可以描述組合邏輯電路和時序邏輯電路本題答案:【錯誤】18、【判斷題】硬件描述語言多條語句之間沒有順序,是由CPU并行執行的。本題答案:【錯誤】19、【判斷題】{}是拼接運算符,用于將若干個信號的某些位拼接起來,例如:wire[3:0]s;wire[4:0]d;d={1,s};本題答案:【錯誤】20、【判斷題】if-else語句和case語句,只能寫在always語句塊里本題答案:【正確】21、【判斷題】if-else和case語句都可以實現分支結構,if-else語句有優先級,生成串行結構,延遲相等case語句描述并行結構,電路延遲大。本題答案:【錯誤】單元測驗041、【單選題】2-4譯碼器有____位輸入,____位輸出,在輸出的所有位中,只有其中1位有效,通常在計算機里用作____,有一些譯碼器設有一個和多個使能控制輸入端,又稱為片選端,用來控制允許譯碼或禁止譯碼。本題答案:【2,4,地址譯碼器】2、【單選題】4-2編碼器有____位輸入,____位輸出,例如在計算機里用于響應中斷請求的____,可以用if-else,____等語句描述。本題答案:【4,2,優先級編碼器,casez】3、【判斷題】描述組合邏輯的if語句應該有else分支。本題答案:【正確】4、【判斷題】描述組合邏輯的case語句,可以不寫default分支。本題答案:【錯誤】5、【填空題】具有“翻譯”功能的任意編碼轉換器有時候也稱為譯碼器,這種電路能將輸入二進制代碼的各種狀態,翻譯成對應的輸出信號。七段譯碼器是一種將輸入編碼轉換為七段數碼顯示碼輸出的編碼轉換器,寫出顯示數字2,8,P,L的段碼,例如,0的七段顯示碼為0111111,從左到右分別表示七段數碼管的g,f,e,d,c,b,a。2的七段顯示碼為______;本題答案:【1011011】6、【填空題】例如,0的七段顯示碼為0111111,從左到右分別表示七段數碼管的g,f,e,d,c,b,a,8的七段顯示碼為______.本題答案:【1111111】7、【填空題】例如,0的七段顯示碼為0111111,從左到右分別表示七段數碼管的g,f,e,d,c,b,a,P的七段顯示碼為______.本題答案:【1110011】8、【填空題】例如,0的七段顯示碼為0111111,從左到右分別表示七段數碼管的g,f,e,d,c,b,a,L的七段顯示碼為______。本題答案:【0111000】9、【填空題】用VerilogHDL參數化設計的方法描述一個SIZE位的三態緩沖器moduleBuffer#(parameterSIZE=4)(output[SIZE-1:0]Dout,input[SIZE-1:0]Din,inputEn);assignDout=En?Din:________;endmodule本題答案:【{SIZE{1'bz}}##%_YZPRLFH_%##{SIZE{1'bZ}}】10、【填空題】使用名稱映射方式,將上題中的三態緩沖器Buffer在TOP模塊中進行實例化moduleTOP(output[7:0]out,input[7:0]F,inputen);Buffer#(.SIZE(____))buf(.En(____),.Din(____),.Dout(____));endmodule注意,答案之間用#隔開,例如1#en#out#F本題答案:【8#en#F#out】單元測驗051、【多選題】選出正確的鎖存器描述本題答案:【moduleLatch(inputD,E,outputregQ);always_latchif(E)Q=D;endmodule#moduleLatch(inputD,E,outputregQ);always@(EorD)if(E==1)Q=D;elseQ=Q;endmodule#moduleLatch(inputD,E,outputregQ);always@(EorD)if(E==1)Q=D;endmodule】2、【多選題】選出正確的觸發器描述本題答案:【moduleD_FF(inputD,Clock,outputregQ);always@(posedgeClock)Q=D;endmodule#moduleD_FF(inputD,Clock,outputregQ);always@(negedgeClock)Q=D;endmodule#moduleD_FF(inputD,Clock,outputregQ);always_ff@(posedgeClock)Q=D;endmodule】3、【多選題】選出正確的帶復位控制的觸發器本題答案:【moduleD_FF(inputD,Clock,reset,outputregQ);always@(posedgeClockorposedgereset)if(reset==1)Q=0;elseQ=D;endmodule#moduleD_FF(inputD,Clock,reset,outputregQ);always@(posedgeClock)if(reset==0)Q=0;elseQ=D;endmodule#moduleD_FF(inputD,Clock,reset,outputregQ);always@(posedgeClock)if(reset==1)Q=0;elseQ=D;endmodule】4、【多選題】選出具有使能控制的觸發器或寄存器的正確描述。本題答案:【moduleD_ff(inputD,CLK,En,outputregQ);always@(posedgeCLK)beginif(En)Q=D;endendmodule#moduleD_ff(inputCLK,load,input[3:0]D,outputreg[3:0]Q);always@(posedegCLK)beginif(load)Q=D;endendmodule】5、【多選題】下面兩段代碼中信號in,q1,q2和q3的初值分別為0,1,2和3,那么經過1個時鐘周期后,always塊1中q3的值變成_________,always塊2中q3的值變成________。程序塊1always@(clk)beginq1=in;q2=q1;q3=q2;end程序塊2always@(posedgeclk)beginq1=in;q2=q1;q3=q2;end本題答案:【always塊1中q3的值變成0#always塊2中q3的值變成2】6、【判斷題】同步復位和異步復位的區別是是否需要等待時鐘只要復位信號有效,觸發器立即清零,無需等待時鐘觸發邊沿到來的是同步復位;復位信號有效,并且時鐘的有效邊沿到來時,才能清零的是異步復位。本題答案:【錯誤】7、【判斷題】復位通常是清零,有時候也會置1,主要是使觸發器處于一個確定的初始狀態。本題答案:【正確】8、【判斷題】一個語句塊內可以同時使用阻塞賦值和非阻塞賦值。本題答案:【錯誤】9、【判斷題】以下描述語句得到的結果一定是a=1,b=1,c=1begina=1;b=a;c=b;end本題答案:【錯誤】10、【判斷題】寄存器就是觸發器,或者説是由觸發器構成的。本題答案:【正確】11、【判斷題】鎖存器對脈沖電平敏感,在特定輸入脈沖電平(高電平或低電平)作用下隨輸入改變狀態;觸發器對脈沖邊沿敏感,在時間脈沖的上升沿或下降沿變化瞬間改變狀態。(考察鎖存器和觸發器的區別)本題答案:【正確】12、【判斷題】阻塞賦值一般用于描述電平敏感的電路,例如組合邏輯電路和鎖存器;非阻塞賦值一般用于描述邊沿敏感的電路,例如觸發器。本題答案:【正確】13、【填空題】使用遠程實驗平臺虛擬面板驗證單端口寄存器堆的功能寄存器能夠裝入數據的條件是時鐘使能信號Load為________(0/1)并且________(有/沒有)時鐘上升沿。如果Load=0,有時鐘上升沿,寄存器的內容將________(更新/保持不變)。注意,三個填空的答案之間用#隔開,例如:0#有#更新本題答案:【1#有#保持不變】14、【填空題】使用遠程實驗平臺虛擬面板驗證單端口寄存器堆的功能執行下面的寫操作操作,給寄存器堆內各個寄存器寫入相應的值,完成后,寄存器R2的值應為__________(5/6/7/8)。DINDEXLoadCLK0101001產生一個0110011產生一個0111101產生一個1000111產生一個本題答案:【7】15、【填空題】使用遠程實驗平臺虛擬面板驗證單端口寄存器堆的功能讀出各個寄存器的值,比較與寫操作中保存在寄存器中的值是否一致。單端口寄存器讀操作_________(需要/不需要)等待時鐘到來。單端口寄存器_________(可以/不可以)同時寫入和讀出不同寄存器的值,因為它讀操作和寫操作地址端口index是________(獨立的/共用的)。注意,三個填空的答案之間用#隔開。本題答案:【不需要#不可以#共用的】16、【填空題】使用遠程實驗平臺虛擬面板驗證三端口寄存器堆的功能執行下面的寫操作操作,給寄存器堆內各個寄存器寫入相應的值,完成后,讀出各個寄存器的值,比較與寫操作中保存在寄存器中的值是否一致,寄存器R3的值應為__________(5/6/7/8)。DWAWECLK0101001產生一個0110011產生一個0111101產生一個1000111產生一個本題答案:【8】17、【填空題】使用遠程實驗平臺虛擬面板驗證三端口寄存器堆的功能三端口寄存器讀操作的地址端口是________(WA/RA),寫操作的地址端口是________(WA/RA),即讀操作的和寫操作的地址端口WE是_________(獨立的/共用的)。注意,三個填空的答案之間用#隔開,例如:0#有#更新本題答案:【RA#WA#獨立的】18、【填空題】使用遠程實驗平臺虛擬面板驗證三端口寄存器堆的功能該三端口寄存器_________(可以/不可以)在寫入_________(1/2)個寄存器的同時讀出__________(1/2)個寄存器的值。本題答案:【可以#1#2】單元測驗061、【多選題】選出右移移位寄存器本題答案:【moduleShifter(inputDsi,inputCLK,outputreg[3:0]Q);always@(posedegclk)beginQ[3]=Dsi;Q[2]=Q[3];Q[1]=Q[2];Q[0]=Q[1];endendmodule#moduleShifter(inputDsi,inputCLK,outputreg[0:3]Q);always@(posedegclk)beginQ[0]=Dsi;Q[1]=Q[0];Q[2]=Q[1];Q[3]=Q[2];endendmodule#moduleShifter(inputDsi,inputCLK,outputreg[0:3]Q);always@(posedegclk)Q[0:3]={Dsi,Q[0:2]};endmodule#moduleShifter(inputDsi,input[3:0]In,inputCLK,outputreg[3:0]Q);always@(posedegclk)if(Load)Q=In;elseQ={Dsi,Q[3:1]};endmodule】2、【填空題】使用遠程實驗平臺虛擬面板驗證流水燈根據設計要求,并行裝載是將輸入端數據裝入到移位寄存器,并行裝載的時鐘使能信號是________(iLoad/iEnable)。右移的時鐘使能信號是________(iLoad/iEnable)。注意,多個填空的答案之間用#隔開,例如:三個空,答案填寫為:0#有#更新本題答案:【iLoad#iEnable】3、【填空題】使用遠程實驗平臺虛擬面板驗證流水燈本實驗設計的流水燈移位寄存器是將移位寄存器________(內部保存的數據Q/輸入端數據iD)移位。本題答案:【內部保存的數據Q】4、【填空題】使用遠程實驗平臺虛擬面板驗證流水燈在時鐘上升沿到來時,如果并行裝載和右移的控制信號同時有效,該流水燈的功能是________(并行載入/右移)。本題答案:【并行載入】5、【填空題】如果想實現邏輯右移,需要將________(0/1/Q[7]/Q[0])連接到iLeftIn。本題答案:【0】6、【填空題】如果想實現算術右移,需要將________(0/1/Q[7]/Q[0])連接到iLeftIn。本題答案:【Q[7]】7、【填空題】如果想實現循環右移,需要將________(0/1/Q[7]/Q[0])連接到iLeftIn。本題答案:【Q[0]】8、【填空題】根據編譯結果,范例1的邏輯資源占用比范例2____(多/少)。本題答案:【少】9、【填空題】使用遠程實驗平臺虛擬面板驗證跳躍流水燈發現,循環左移7位相當于循環右移___位。本題答案:【1】10、【填空題】Verilog的運算符“”是____(左移/右移)運算符。本題答案:【右移】11、【填空題】Verilog的算術右移運算符是“____”。本題答案:【>>>】單元測驗071、【多選題】模2計數器的輸出狀態包括本題答案:【0#1】2、【多選題】以下代碼描述的是________.modulecounter(inputClock,Reset,outputreg[3:0]Q);always@(posedgeClock,posedgeReset)if(Reset==1)Q=0;elseQ=Q+1;endmodule本題答案:【模16計數器#二進制計數器#加法計數器#異步復位計數器】3、【多選題】選出16分頻計數器本題答案:【modulecounter(inputClock,Reset,outputclkout);reg[7:0]Q;always@(posedgeClock,posedgeReset)if(Reset==1)Q=0;elseQ=Q+1;assignclkout=Q[3];endmodule#modulecounter(inputClock,Reset,outputregclkout);reg[7:0]Q;always@(posedgeClock,posedgeReset)if(Reset==1)beginQ=0;clkout=0;endelseif(Q==7)beginclkout=~clkout;Q=0;endelseQ=Q+1;endmodule】4、【判斷題】計數器對輸入時鐘脈沖進行計數,也用于分頻、定時、產生節拍脈沖本題答案:【正確】5、【判斷題】按時鐘輸入方式,可以分為同步和異步計數器;按進位體制,可以分開二進制、十進制、任意進制計數器;按計數方向,可以分為加法,減法,可逆計數器。本題答案:【正確】6、【判斷題】可逆計數器既可加1計數又可減1計數。本題答案:【正確】7、【判斷題】計數器具有分頻特性,8位計數器可以實現256分頻本題答案:【正確】8、【判斷題】假設一個二進制計數器的輸出為Q[7:0],如果希望將10MHz時鐘分頻得到1.25MHz的時鐘,可以采用計數器的Q[1]位作為分頻后的時鐘。本題答案:【錯誤】9、【填空題】使用遠程實驗平臺虛擬面板驗證自動移動的流水燈,系統提供給VisuralBoard的時鐘頻率是____MHz,周期是____us,直接用它作移動寄存器的時候,肉眼無法分辨出流水燈的移動,因為一般情況下高于40Hz人眼就無法靈敏地感知光源閃爍了,所以需要設計分頻器。注意,多個填空的答案之間用#隔開,例如:三個空,答案填寫為:0#有#更新本題答案:【10#0.1】10、【填空題】使用遠程實驗平臺虛擬面板驗證參考范例的流水燈,設置平臺的自動刷新頻率為____ms(忽略小數部分),使刷新的時間等于流水燈移動的間隔時間,就可以看到流水燈勻速的運動。本題答案:【838##%_YZPRLFH_%##839】單元測驗081、【單選題】設計一個需要16個狀態的控制器電路,使用哪種編碼方式需要的觸發器最多?盡管使用的觸發器最多,但是這種編碼方式使得在狀態比較時僅僅需要比較一個位,可能節省譯碼邏輯需要的片上資源。本題答案:【獨熱編碼one-hot】2、【單選題】下面哪一種是one-hot編碼本題答案:【0:00011:00102:01003:1000】3、【多選題】有限狀態機的應用包括本題答案:【硬件電路控制器#網絡協議#軟件應用#編譯器】4、【多選題】狀態機的編碼方式可以是()本題答案:【二進制編碼Sequential#格雷碼Gray#約翰遜碼Johnson#獨熱編碼one-hot】5、【多選題】哪種編碼方式在相鄰狀態轉換時只有一個狀態位發生翻轉本題答案:【格雷碼Gray#約翰遜碼Johnson】6、【多選題】選出摩爾型狀態機本題答案:【modulefsm(inputclk,acc,brake,reset,output[1:0]speed);reg[1:0]state;reg[1:0]next_state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;//狀態轉換always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;//次態計算always@(*)case(state)STOP:if(acc!brake)next_state=LOW;elsenext_state=STOP;LOW:if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcase//輸出邏輯assignspeed=state;endmodule#modulefsm(inputclk,acc,brake,reset,output[1:0]speed);enumbit[3:0]{STOP=4b0001,LOW=4b0010,MEDIUM=4b0100,HIGH=4b1000,}state,next_state;always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;always@(*)case(state)STOP:speed=2b00;if(acc!brake)next_state=LOW;elsenext_state=STOP;LOW:speed=2b01;if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:speed=2b10;if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:speed=2b110;if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcaseendmodule#modulefsm(inputclk,acc,brake,reset,output[1:0]speed);reg[1:0]state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;assignspeed=state;always@(posedgeclk)case(state)STOP:if(acc!brake)state=LOW;LOW:if(brake)state=STOP;elseif(acc)state=MEDIUM;MEDIUM:if(brake)state=LOW;elseif(acc)state=HIGH;HIGH:if(brake)state=MEDIUM;elsestate=HIGH;endcaseendmodule】7、【多選題】設計FSM應該注意()本題答案:【建議先畫狀態圖再寫代碼#建議采用三段式結構#建議使用參數定義狀態編碼,狀態名稱盡量反映其含義#復位后狀態機應該有一個確定的狀態】8、【判斷題】有限狀態機FiniteStateMachine是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型,狀態機應用范圍很廣,例如硬件電路系統設計。本題答案:【正確】9、【判斷題】在數字電路中,可以使用邏輯邏輯門和觸發器構建狀態機。更具體地說,狀態機是組合邏輯和時序邏輯的特殊組合,硬件實現上需要一個用來存儲狀態的寄存器(時序邏輯塊),一個決定狀態轉換的組合邏輯塊,以及一個決定狀態機輸出的組合邏輯塊。本題答案:【正確】10、【判斷題】摩爾Moore型狀態機的輸出僅取決于當前狀態,即當輸入信號有變化時,輸出在整個狀態期間保持不變本題答案:【正確】11、【判斷題】米利Mealy型狀態機的輸出除了受當前狀態影響,還直接受輸入影響,因此輸出變化可能出現在任何時刻本題答案:【正確】12、【判斷題】以下是一個米利型狀機modulefsm(inputclk,acc,brake,reset,output[1:0]speed);reg[1:0]state;reg[1:0]next_state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;//狀態轉換always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;//次態計算always@(*)case(state)STOP:if(accamp;amp;!brake)next_state=LOW;elsenext_state=STOP;LOW:if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcase//輸出邏輯assignspeed=state;endmodule本題答案:【錯誤】13、【判斷題】SystemVerilog里可以使用枚舉類型定義狀態編碼,關鍵字enum.本題答案:【正確】14、【判斷題】參數化設計方法中,parameter和localparam定義的參數,在頂層模塊中實例化時都可以傳遞到底層模塊。本題答案:【錯誤】15、【判斷題】以下是一個摩爾型狀態機modulefsm(inputclk,acc,brake,reset,inputeasy,output[1:0]speed);reg[1:0]state;reg[1:0]next_state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;//狀態轉換always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;//次態計算always@(*)case(state)STOP:if(accamp;amp;!brake)next_state=LOW;elsenext_state=STOP;LOW:if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcase//輸出邏輯assignspeed=easy?2b01:state;endmodule本題答案:【錯誤】單元測驗091、【多選題】選出正確的負數的4位補碼與真值的對應關系H、補碼:1001真值:-7本題答案:【補碼:1101真值:-3#補碼:1011真值:-5#補碼:1000真值:-8#補碼:1111真值:-1#補碼:1100真值:-4#補碼:1110真值:-2#補碼:1010真值:-6#補碼:1001真值:-7】2、【多選題】加減運算電路參考設計中,如果操作數{y3,y2,y1,y0}=4'b0101,選出下列描述正確的選項本題答案:【當M=0時,C0=0,{b3,b2,b1,b0}的值為0101#當M=1時,C0=1,{b3,b2,b1,b0}的值為1010】3、【多選題】加減運算電路參考設計中,ADDER模塊將操作數A,B,C0的值相加,在提供的參考代碼里可以看到:assignresult=A+B+C0;理解通過增加門電路邏輯使得加法器實現補碼加減運算的原理。本題答案:【使運算電路的輸出F=X+Y,要使M=0#使運算電路的輸出F=X-Y,要使M=1】4、【多選題】對照標志位和真值,選出正確的描述。本題答案:【溢出標志OF是按照補碼的運算結果設置的;進位標志CF是按照無符號數運算的結果設置的。#如果運算數是無符號數,運算結果是否溢出是C反映的;如果運算數是有符號補碼數,運算結果是否溢出是由O反映的。】5、【多選題】4位二進數制能表示數值的范圍是_____。本題答案:【4位補碼能表示數值范圍是-8~+7#4位無符號數能表示數值的范圍是0-15】6、【多選題】減法運算是轉換為加法計算的,設置M=1,F=X-Y,此時:本題答案:【A=X#B=Y的反#C0=1】7、【多選題】實驗任務加減電路,使用與或門構成數據選擇器,通過M2M1M0三個控制可以實現多種運算功能,選出對應關系正確的描述:本題答案:【M2=0,M1=0,M0=0傳送X(MOV),實現F=X#M2=0,M1=0,M0=1加法(ADD),實現F=X+Y#M2=1,M1=1,M0=0減法(SUB),實現F=X-Y#M2=1,M1=0,M0=0加1(INC),實現F=X+1】8、【多選題】驗證加減運算電路,令運算電路做做加法運算F=X+Y,將運算數和運算結果視為無符號數,分析運算數和運算結果的真值?H、運算操作數:1100+0101,對應的運算數和結果真值:12+5=1,進位標志為1I、運算操作數:0011+1011,對應的運算數和結果真值:3+11=14J、運算操作數:1000+1000,對應的運算數和結果真值:8+8=0,零標志為1,進位標志為1本題答案:【運算操作數:1000+0001,對應的運算數和結果真值:8+1=9#運算操作數:1101+1100,對應的運算數和結果真值:13+12=9,進位標志為1#運算操作數:0100+0010,對應的運算數和結果真值:4+2=6#運算操作數:0000+0000,對應的運算數和結果真值:0+0=0,零標志為1#運算操作數:1111+0001,對應的運算數和結果真值:15+1=0,進位標志為1,零標志為1#運算操作數:0011+0101,對應的運算數和結果真值:3+5=8#運算操作數:1100+1011,對應的運算數和結果真值:12+11=7,進位標志為1#運算操作數:1100+0101,對應的運算數和結果真值:12+5=1,進位標志為1#運算操作數:0011+1011,對應的運算數和結果真值:3+11=14#運算操作數:1000+1000,對應的運算數和結果真值:8+8=0,零標志為1,進位標志為1】9、【多選題】驗證加減運算電路,令運算電路做做加法運算F=X+Y,將運算數和運算結果視為補碼,分析運算數和運算結果的真值。H、運算操作數:1100+0101對應的運算數和結果真值:(-4)+5=1I、運算操作數:0011+1011對應的運算數和結果真值:3+(-5)=-2,負標志為1J、運算操作數:1000+1000對應的運算數和結果真值:(-8)+(-8)=0,零標志為1,溢出標志為1本題答案:【運算操作數:1000+0001對應的運算數和結果真值:-8+1=-7,負標志為1#運算操作數:1101+1100對應的運算數和結果真值:(-3)+(-4)=-7,負標志為1#運算操作數:0100+0010對應的運算數和結果真值:4+2=6#運算操作數:0000+0000對應的運算數和結果真值:0+0=0,零標志為1#運算操作數:1111+0001對應的運算數和結果真值:(-1)+1=0,零標志為1#運算操作數:1100+1011對應的運算數和結果真值:(-4)+(-5)=+7,溢出標志為1#運算操作數:1100+0101對應的運算數和結果真值:(-4)+5=1#運算操作數:0011+1011對應的運算數和結果真值:3+(-5)=-2,負標志為1#運算操作數:1000+1000對應的運算數和結果真值:(-8)+(-8)=0,零標志為1,溢出標志為1】10、【填空題】驗證加減運算電路,使運算電路的輸出F=X+Y,根據加法運算的結果分析標志位生成:標志Z(ZeroFlag)的生成和_____(F/C/F及C)有關本題答案:【F】11、【填空題】驗證加減運算電路,使運算電路的輸出F=X+Y,根據加法運算的結果分析標志位生成:溢出標志O(OverFlag)和進位標志C_____(有/沒有)直接的聯系。本題答案:【沒有】12、【填空題】運算器電路是否知道運算數是有符號數還是無符號數?_____(是/否)本題答案:【否】13、【填空題】驗證加減運算電路,使運算電路的輸出F=X+Y,根據加法運算的結果分析標志位生成:負標志S(SignFlag)就是運算結果的_____(最高位/最低位)。本題答案:【最高位】14、【填空題】驗證加減運算電路,使運算電路的輸出F=X+Y,根據加法運算的結果分析標志位生成:進位標志C(Carryout)為1時表示,加法運算_____(有/沒有)進位。本題答案:【有】15、【填空題】驗證加減運算電路,使運算電路的輸出F=X-Y,根據減法運算的結果分析標志位生成:進位標志C(Carryout)為1時表示,減法運算_____(有/沒有)借位。本題答案:【有】單元測驗101、【多選題】參考設計中的ALU可以實現哪些運算?本題答案:【傳送F=X#加法F=X+Y#減法F=X-Y#與F=X&Y#或F=X|Y#異或F=X^Y#取反F=~X】2、【多選題】異或門常用于可控取反電路,選出正確的描述。本題答案:【任意二進制位x,與1異或,結果是它相反數。#任意二進制位x,與0異或,結果是它本身。】3、【判斷題】運算器是CPU的重要組成部分,各種計算機的運算器結構可能有這樣或那樣的不同,但是它們的最基本結構中必須有算術/邏輯運算單元ALU,運算器的設計,主要圍繞著ALU和寄存器同數據總線之間如何傳送操作數和運算結果而進行。本題答案:【正確】4、【填空題】補碼表示中,對于任意整數x,計算表達式-x和計算x取反+1得到的結果,____(完全一樣/不完全一樣)。本題答案:【完全一樣】5、【填空題】字長4位的補碼加法,運算數的范圍在-8~7之間。通過實驗可以發現:當x+y-8時,補碼加法會負溢出,導致和增加了______(填寫10進制值);當-8=x+y=8時,加法產生正確的結果;當x+y=8,加法就會正溢出,使得和減少了______(數值同上一空)。當x0,y0,加法結果=0,可判斷產生了正溢出;當x0,y0,加法結果=0,可判斷產生了負溢出。本題答案:【16】6、【填空題】計算機中的機器字長往往是固定的,當機器數右移n位時,必然會使其n位高位出現空位,空出的空位應該添補0還是1,與機器數采用帶符號數還是無符號數有關,對帶符號數的移位稱為______(算術/邏輯移位)。本題答案:【算術】7、【填空題】實驗任務設計的ALU在實驗系統上驗證,設{x3,x2,x1,x0}=1010,{y3,y2,y1,y0}=0010,ALUop=0111;此時觀察到的{f3,f2,f1,f0}=____。本題答案:【1000】8、【填空題】實驗任務設計的ALU在實驗系統上驗證,設{x3,x2,x1,x0}=1010,{y3,y2,y1,y0}=0010,ALUop=1000;此時觀察到的{f3,f2,f1,f0}=____。本題答案:【0010】9、【填空題】實驗任務設計的ALU在實驗系統上驗證,設{x3,x2,x1,x0}=1010,{y3,y2,y1,y0}=0010,ALUop=0110;此時觀察到的{f3,f2,f1,f0}=____。本題答案:【1110】10、【填空題】實驗任務設計的ALU在實驗系統上驗證,設{x3,x2,x1,x0}=0101,{y3,y2,y1,y0}=0110,ALUop=0011;此時觀察到的{f3,f2,f1,f0}=____。本題答案:【0100】11、【填空題】實驗任務設計的ALU在實驗系統上驗證,設{x3,x2,x1,x0}=0101,{y3,y2,y1,y0}=0010,ALUop=0100;此時觀察到的{f3,f2,f1,f0}=____。本題答案:【0111】12、【填空題】實驗任務設計的ALU在實驗系統上驗證,設{x3,x2,x1,x0}=0101,{y3,y2,y1,y0}=0010,ALUop=0101;此時觀察到的{f3,f2,f1,f0}=____。本題答案:【0011】單元測驗111、【多選題】在單周期數據通路的設計任務中,將數據1001存入R1寄存器,在按下時鐘clk之前,需要的操作包括()H、ALUop=0001本題答案:【開關數據撥為1001#操作MUX多路器的控制信號,選擇1號通道的值輸出#RA1=00#WA=01#WE=1#ALUop=0001】2、【多選題】在單周期數據通路中,完成R1R2-R3,在按下時鐘clk前,需要的操作包括()H、ALUop=0011I、ALUop=0001本題答案:【操作MUX多路器的控制信號,選擇0號通道的值輸出#RA1=01#RA2=10#WA=11#WE=1#ALUop=0011】3、【多選題】對于systemverilog語法中包的描述正確的包括:本題答案:【包通常寫在一個獨立文件中,當需要引用包中的聲明時,可以使用include包含進來;#包使用package開頭,endpackage結尾;#多個模塊可以共用包中的聲明;】4、【多選題】對于參考設計中給出的包聲明,引用包可以使用作用域運算符::,能夠正確導入枚舉元素ADD的選項是?packagealu_defs;typedefstructpacked{logicsign;logiczero;logicoverflow;logiccarryout;}t_flag;enumlogic[3:0]{ADD=4'b0001,SUB=4'b0010,AND=4'b0011,OR=4'b0100,XOR=4'b0101,SAR=4'b0110,SHL=4'b0111,SHR=4'b1000}aluop;endpackage本題答案:【importalu_defs::ADD#importalu_defs::*】5、【多選題】在單周期數據通路的設計任務中,完成R1+(1100)-R3,在按下時鐘clk前,需要的操作包括()H、ALUop=0001I、ALUop=0011本題答案:【操作MUX多路器的控制信號,選擇1號通道的值輸出#開關數據撥為1100#RA1=01#WA=11#ALUop=0001】6、【多選題】假設當前R1=1100,R2=0010,如果要使R3=1111,在按下時鐘clk之前,需要的操作包括()H、WA=11I、WE=1本題答案:【操作MUX多路器的控制信號,選擇0號通道的值輸出#RA1=01#RA2=10#ALUop=0110#WA=11#WE=1】7、【多選題】在單周期數據通路的設計任務中,將R1寄存器的內容邏輯左移2位,在按下時鐘clk之前,需要的操作包括()H、操作MUX多路器的控制信號,選擇1號通道的值輸出I、RA1=00J、WA=11K、ALUop=0001本題答案:【操作MUX多路器的控制信號,選擇0號通道的值輸出#RA1=01#DATA=0010#WA=01#WE=1#ALUop=0111】8、【填空題】在單周期數據通路中,因為寄存器堆設計____(R0/R1/R2/R3)寄存器的值恒為0,因此可以通過ALU,令DATA加上該寄存器的值,將DATA傳送到寄存器堆的寫端口。本題答案:【R0】9、【填空題】systemverilog在模塊實例化時,如果模塊中的信號名與子模塊中的端口名完全一致,可以使用隱式端口連接____來簡化表達。本題答案:【.*】10、【填空題】結構體數據類型如果使用______修飾符,那該結構體的成員即可以以成員名引用,也可以以向量的方式引用。本題答案:【packed】單元測驗121、【單選題】常數可以用簡單的十進制數格式書寫,也可以按基數格式書寫[size]basevaluesize是位寬,base是基數,value是基于base的值的數字序列:o或O表示八進制b或B表示二進制d或D表示十進制h或H表示十六進制下面不正確的描述是()本題答案:【5O28】2、【單選題】存儲器可以由reg變量組成的數組描述,例如:reg[0:3]MEM[0:63];表示MEM是一個由64個4位reg變量組成的數組。下面賦值中錯誤的是()。本題答案:【reghold_gnt[1:5];hold_gnt=5'b11011;】3、【單選題】是()運算符,表達式16的結果是()。本題答案:【左移,32'b100000】4、【單選題】**是()運算符,表達式2**8的值是()?本題答案:【求冪,256】5、【單選題】下面對局部參數的說明錯誤的是()本題答案:【實例引用該模塊時,可以通過參數傳遞對局部參數進行修改】6、【單選題】實驗任務1要求設計一個16*8的ROM實現七段譯碼器,用存儲器的____位地址作為七段譯碼器的____,相應存儲單元的____位數據作為七段譯碼器的____,每個存儲單元中初始化為字符的____.本題答案:【4,數據輸入,8,譯碼輸出,數碼管段碼】7、【單選題】實驗任務2用32*32的RAM實現寄存器堆,選出合適的存儲器描述本題答案:【localparamMEMDEPTH=15logic[31:0]mem[MEMDEPTH-1]】8、【多選題】小結使用FPGA片內存儲資源設計存儲器,有哪些特點H、讀出需要時鐘本題答案:【不占用邏輯資源#可生成的容量較大#較好保證存儲器性能#讀出需要時鐘】9、【判斷題】使用IntelFPGA設計邏輯電路時,存儲器的不同描述方法對FPGA資源的利用不同,可以在綜合報告中查看資源的使用情況,FPGA內部有專門的存儲資源,設計時建議使用FPGA存儲資源。本題答案:【正確】10、【判斷題】下面的兩種存儲器的描述方法:方法1moduleRAM#(parameterADDRWIDTH=6,parameterDATAWIDTH=32)(inputwireiclk,iWR,inputwire[5:0]iAddress,inputiWriteData,outputoReadData);localparamMEMDEPTH=1ADDRWIDTH;logic[DATAWIDTH-1:0]mem[0:MEMDEPTH-1];always_ff@(posedgeiclk)beginif(iWR)mem[iAddress]=iWriteData;endassignoReadData=mem[iAddress];endmodule方法2moduleRAM#(parameterADDRWIDTH=6,parameterDATAWIDTH=32)(inputwireiclk,iWR,inputwire[5:0]iAddress,inputiWriteData,outputoReadData);localparamMEMDEPTH=1ADDRWIDTH;logic[DATAWIDTH-1:0]mem[0:MEMDEPTH-1];logic[DATAWIDTH-1:0]read_addr;always_ff@(posedgeiclk)beginread_addr=iAddress;if(iWR)mem[iAddress]=iWriteData;endassignoReadData=mem[read_addr];endmodule第一種描述方法會消耗較多FPGA邏輯資源;第二種描述方法會使用FPGA內部存儲資源。本題答案:【正確】11、【判斷題】initial語句可用于給存儲器設置初值本題答案:【正確】12、【判斷題】logic[DATAWIDTH-1:0]mem[0:MEMDEPTH-1];下面的initial語句塊中,使用系統函數從把文件內容讀出,填入mem數值,這個文件的值是使用2進制表示的。initialbegin$readmemh(init_mem.txt,mem);end本題答案:【錯誤】單元測驗131、【判斷題】實驗電路中,指令存儲器是只讀存儲器,字長是14位,有16個存儲單元,可以存放16條指令。本題答案:【正確】2、【判斷題】實驗指令系統,指令格式編碼分為5個字段,opcode字段:instruction[15:0]第一個源操作數寄存器:instruction[9:8]第二個源操作數寄存器:instruction[7:6]目的操作數寄存器:instruction[5:4]立即數字段:instruction[3:0]本題答案:【錯誤】3、【判斷題】實驗電路中,指令的執行包括取指令、取操作數、執行、保存結果。R型指令的執行過程:(1)取指令:指令地址寄存器PC提供指令地址,指令存儲器中讀出指令,取到指令后,控制器需要根據指令編碼,譯碼產生指令執行過程中需要的控制信號,保證指令執行;(2)取操作數:寄存器堆根據指令提供的源操作數寄存器號,讀出源操作數rs1和rs2;(3)執行:多路器根據控制器產生的選擇控制信號,把源操作數rs2送到ALU,ALU根據控制器產生的運算控制信號,確定功能,對rs1和rs2執行操作;(4)保存結果:寄存器堆根據控制器產生的寫控制信號,保存ALU的結果到rd,PC自增。本題答案:【正確】4、【判斷題】實驗電路中,指令的執行包括取指令、取操作數、執行、保存結果。I型指令的執行過程(1)取指令:指令地址寄存器PC提供指令地址,指令存儲器中讀出指令,取到指令后,控制器需要根據指令編碼,產生指令執行過程中需要的控制信號,保證指令執行;(2)取操作數:寄存器堆根據指令提供的源操作數寄存器號,讀出源操作數rs1和rs2;(3)執行:多路器根據控制器產生的選擇控制信號,把源操作數rs2送到ALU,ALU根據控制器產生的運算控制信號,對rs1和imm執行操作;(4)保存結果:寄存器堆根據控制器產生的寫控制信號,保存ALU的結果到rd,PC自增。本題答案:【錯誤】5、【判斷題】實驗電路中,指令的執行包括取指令、取操作數、執行、保存結果。B型指令的執行過程(1)取指令:指令地址寄存器PC提供指令地址,指令存儲器中讀出指令,取到指令后,控制器需要根據指令編碼,產生指令執行過程中需要的控制信號,保證指令執行;(2)取操作數:寄存器堆根據指令提供的源操作數寄存器號,讀出源操作數rs1和rs2;(3)執行:多路器根據控制器產生的選擇控制信號,把源操作數rs2送到ALU,ALU根據控制器產生的運算控制信號,確定功能,對rs1和rs2執行操作;(4)保存結果:寄存器堆根據控制器產生的寫控制信號,保存ALU的結果到rd,兩個源操作數的比較結果,決定PC是裝載imm表示的轉移地址,還是PC自增。本題答案:【錯誤】6、【填空題】根據實驗指令系統,將匯編語言程序翻譯為機器指令程序。addir1,r0,#1對應的二進制機器指令為:________.(答案格式:二進制表示,無效字段填0,不要包含空格、下劃線等其它符號)本題答案:【01100000010001】7、【填空題】根據實驗指令系統,將匯編語言程序翻譯為機器指令程序addir3,r0,#1對應的二進制機器指令為:________.(答案格式:二進制表示,無效字段填0,不要包含空格、下劃線等其它符號)本題答案:【01100000110001】8、【填空題】根據實驗指令系統,將匯編語言程序翻譯為機器指令程序orir2,r0,#5對應的二進制機器指令為:________.(答案格式:二進制表示,無效字段填0,不要包含空格、下劃線等其它符號)本題答案:【10000000100101】9、【填空題】根據實驗指令系統,將匯編語言程序翻譯為機器指令程序bger1,r2,#6對應的二進制機器指令為:________.(答案格式:二進制表示,無效字段填0,不要包含空格、下劃線等其它符號)本題答案:【11010110000110】10、【填空題】根據實驗指令系統,將匯編語言程序翻譯為機器指令程序subr2,r2,r3對應的二進制機器指令為:________.(答案格式:二進制表示,無效字段填0,不要包含空格、下劃線等其它符號)本題答案:【00101011100000】11、【填空題】根據實驗指令系統,將匯編語言程序翻譯為機器指令程序beqx0,x0,#3對應的二進制機器指令為:________.(答案格式:二進制表示,無效字段填0,不要包含空格、下劃線等其它符號)本題答案:【10100000000011】12、【填空題】根據實驗指令系統,將匯編語言程序翻譯為機器指令程序beqx0,x0,#6對應的二進制機器指令為:________.(答案格式:二進制表示,無效字段填0,不要包含空格、下劃線等其它符號)本題答案:【10100000000110】單元作業13單元測驗131、【多選題】指令集是CPU中用來計算和控制計算機系統的一套指令的集合,例如:本題答案:【X86#MIPS#RISC-V#LoongArch#Alpha#ARM】2、【多選題】RISC(ReducedInstructionSetComputing,精簡指令集)通過減少指令種類、規范指令格式和簡化尋址方式,保持指令集的小而簡單,使它更容易建立快速的硬件,復雜的操作由軟件組合簡單的操作來完成,RISC指令集例如:本題答案:【MIPS#RISC-V#LoongArch#Alpha#ARM】3、【多選題】了解RISC-V,選中描述正確的選項。本題答案:【RISC-V,2010年初由加州大學伯克利分校開發。#寄存器是硬件設計的基本元素,是計算機構建的磚塊,當前RISC-V寄存器數為32個,以及一個程序計數器PC。#RISC-V簡化指令系統體系結構,將x0寄存器硬連線到常數0。#RV32I的指令格式包括R,I,S,U,B,J六種類型。】4、【多選題】RISC-V指令系統劃分為命名為I的基本體系結構(basearchitecture),以及幾個擴展(extension)體系結構,例如:本題答案:【M,整數乘法/除法#A,原子操作#F,單精度浮點#D,雙精度浮點#C,壓縮指令】5、【多選題】熟悉開源軟件Ripes的編輯器和匯編器的使用本題答案:【點擊Editor標簽,可以在sourcecode欄編寫匯編語言程序,語法正確的匯編指令,會在右邊的executablecode欄顯示對應匯編語言的機器指令。#如果輸入語法錯誤的匯編指令,該指令下方會有紅色波浪標記線提示,且該指令不會出現在executablecode欄】6、【多選題】熟悉開源軟件Ripes的RISC-V模擬器的使用本題答案:【通過工具欄”selectprocessor“圖標,打開的窗口中可以進行RISC-V處理器選擇。#圖示中與指令運行相關的工具按鈕從左到右的順序依次分別表示:復位撤消一個時鐘產生一個時鐘以設定的時間間隔自動產生時鐘快速運行#點擊processor標簽,打開的數據通路中,綠色點表示有效的信號或者選擇的通路,紅色點表示無效】7、【判斷題】使用Ripe模擬器調試指令addix18,x0,0x555以下是對該條指令執行的描述:1.復位后,PC的值是0;2.從指令存儲器InstrMemory的輸出Instr觀察到數據0x55500913H;3.Registers的WrEn信號有效,該信號的標記顯示為綠色;4.Registers的R1idx=0x00H,因此Reg1讀出寄存器x0的值,參與ALU運算;5.Registers的WridxA=0x12H,即十進制的18,表示有數據要寫入x18寄存器中;6.立即數生成模塊Imm給ALU提供運算數0x00000555H;7.不生產轉移控制信號Branchtaken,該信號的標記顯示為紅色;8.不產生數據存儲器Datamemory寫控制信號WrEn,該信號的標記顯示為紅色;9.ALU的運算結果0x00000555H寫入x18寄存器中;10.NextPC=PC+4。本題答案:【正確】8、【判斷題】使用Ripe模擬器調試指令swx18,8(x3)調試指令swx18,8(x3)以下是對該條指令執行的描述:1.從指令存儲器InstrMemory的輸出Instr觀察到數據0x0121a423H;2.Registers的WrEn信號無效,該信號的標記顯示為紅色;3.Registers的R1idx=0x03H,因此Reg1讀出寄存器x3的值,參與ALU運算;4.Registers的R2idx=0x12H,因此Reg2讀出寄存器x12的值,參與ALU運算;5.立即數生成模塊Imm給ALU提供運算數0x00000008H;6.不生產轉移控制信號Branchtaken,該信號的標記顯示為紅色;7.產生數據存儲器Datamemory寫控制信號WrEn,該信號的標記顯示為綠色;8.數據存儲器Datain端口的數據將被保存到Addr地址端口指示的單元中;9.ALU的運算結果0x10000008H用來給數據存儲器提供地址;10.NextPC=PC+4。本題答案:【錯誤】9、【判斷題】使用Ripe模擬器調試指令lwx19,8(x3)以下是對該條指令執行的描述:1.從指令存儲器InstrMemory的輸出Instr觀察到數據0x0081a983H;2.Registers的WrEn信號有效,該信號的標記顯示為綠色;3.Registers的R1idx=0x03H,因此Reg1讀出寄存器x3的值0x10000000H,參與ALU運算;4.Registers的WridxA=0x13H,即十進制的19,表示有數據要寫入x19寄存器中;5.立即數生成模塊Imm給ALU提供運算數0x00000008H;6.不生產轉移控制信號Branchtaken,該信號的標記顯示為紅色;7.不產生數據存儲器Datamemory寫控制信號WrEn,該信號的標記顯示為紅色;8.ALU的運算結果0x100000008H用來給數據存儲器Datamemory提供地址;9.數據存儲器Datamemory的地址為0x100000008H的單元中的數據,寫入x19寄存器中;10.NextPC=PC+4。本題答案:【正確】10、【判斷題】使用Ripe模擬器調試指令orx20,x18,x19以下是對該條指令執行的描述:1.從指令存儲器InstrMemory的輸出Instr觀察到數據0x01396a33H;2.Registers的WrEn信號有效,該信號的標記顯示為綠色;3.Registers的R1idx=0x12H,因此Reg1讀出寄存器x18的值,參與ALU運算;4.Registers的R2idx=0x13H,因此R

溫馨提示

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

評論

0/150

提交評論