馬殿富-XXXX-11計算機類專業(yè)人才系統(tǒng)能力培養(yǎng)_第1頁
馬殿富-XXXX-11計算機類專業(yè)人才系統(tǒng)能力培養(yǎng)_第2頁
馬殿富-XXXX-11計算機類專業(yè)人才系統(tǒng)能力培養(yǎng)_第3頁
馬殿富-XXXX-11計算機類專業(yè)人才系統(tǒng)能力培養(yǎng)_第4頁
馬殿富-XXXX-11計算機類專業(yè)人才系統(tǒng)能力培養(yǎng)_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機類專業(yè)人才系統(tǒng)能力培養(yǎng)2013-111系統(tǒng)能力培養(yǎng)研究清華大學北京大學國防科技大學南京大學浙江大學北京航空航天大學東南大學西安交通大學電子科技大學西安電子科技大學教育部計算機類教學指導委員會系統(tǒng)能力培養(yǎng)研究組凝練成果,突出示范分類試點,合作推廣2系統(tǒng)能力培養(yǎng)的探究學生能夠建立計算機系統(tǒng)觀、具備計算機系統(tǒng)設計能力是計算機專業(yè)高素質(zhì)創(chuàng)新人才培養(yǎng)關鍵標志。數(shù)字邏輯、計算機組成、操作系統(tǒng)和編譯技術是最核心的計算機專業(yè)課程。研究數(shù)理邏輯、數(shù)字邏輯、計算機組成、操作系統(tǒng)和編譯技術課程關系,通過教學和實驗兩個方面進行整體探討和設計。以MIPS指令集為基礎,使得學生能夠設計一臺功能計算機、一套操作系統(tǒng)和一套編譯系統(tǒng)。3計算機專業(yè)系統(tǒng)能力系統(tǒng)功能:輸入、輸出及其關系結構:元素及其關系系統(tǒng)分析能力系統(tǒng)綜合能力系統(tǒng)驗證能力系統(tǒng)創(chuàng)新能力4計算機專業(yè)系統(tǒng)能力系統(tǒng)功能:輸入、輸出及其關系結構:元素及其關系系統(tǒng)分析能力給定結構和輸入,分析輸出系統(tǒng)綜合能力

給定輸入和輸出,綜合結構系統(tǒng)驗證能力給定結構,確定與功能符合系統(tǒng)創(chuàng)新能力

設計新的功能與結構5系統(tǒng)能力準則工業(yè)標準MIPS指令集,標準C語言工程規(guī)模57條MIPS指令,支持標準C語言關鍵子集工程方法探索一般性方法6系統(tǒng)能力培養(yǎng)目標實現(xiàn)57條MIP指令確定數(shù)字邏輯部件實現(xiàn)標準C語言到MIPS編譯,及支持GCC實現(xiàn)支持MIPS指令集的操作系統(tǒng)7研究與實踐(2007~2013)2006200720082009201020112012組建團隊規(guī)劃研究,頂層設計精選本科生首次完成MIPS處理器開發(fā)數(shù)字電路首輪實驗編譯技術首先調(diào)整數(shù)字電路全面調(diào)整編譯技術全面調(diào)整自主開發(fā)統(tǒng)一硬件實驗平臺數(shù)字電路全面實施編譯技術全面實施全面重構硬件代碼(特別是MIPS代碼)OS調(diào)整,模擬器運行OS全面實施,模擬器/硬件雙平臺同時實施計組引入HDL和EDA計組全面實施新計組(融合數(shù)電)系統(tǒng)觀點與工程能力計算機專業(yè)工程認證8實踐體會定位不同,選擇不同不需要學習CPU設計目標不同,選擇不同學生能力不行,選擇簡單傳統(tǒng)設計CPU方法難度大CPU數(shù)據(jù)通路,圖方法十幾條,行為模型持續(xù)探索工程方法,讓學生有巔峰體驗工程方法存在嗎?9π的啟示:圖直觀性與表達式精確性劉徽(約公元225年—295年)提出了-“割圓術”,計算到圓內(nèi)接96邊形,求得π=3.14。祖沖之(公元429年—公元500年)求出π在3.1415926與3.1415927之間。計算到圓內(nèi)接16384邊形。萊布尼茨(1646—1716)提出π的表達式當取項,π/4=0.7853981634的前八位保持一致。10方法論系統(tǒng)論觀點貝塔朗菲提出“一般系統(tǒng)論”系統(tǒng)作為研究對象,以及功能與結構關系。系統(tǒng)方法分析方法:給出系統(tǒng)輸入和結構,求取系統(tǒng)輸出綜合方法:給出系統(tǒng)功能,構建系統(tǒng)結構。結構主義觀點皮亞杰提出結構主義結構<S,R,F,C>整體性、轉(zhuǎn)換、自身調(diào)整性三個語言環(huán)境觀點李未提出對象語言、模型語言和元語言11集合及邏輯作為CPU模型描述用形式邏輯的方法可以容易看出,存在某種[指令集]在理論上足以控制和執(zhí)行任意順序的操作……從當前的觀點出發(fā),選擇一個[指令集]時考慮的更多更實際的問題是:[指令集]要求的設備簡單性,在實際重要的問題中有明確應用和解決該類問題的速度。——Burks,Goldstine&vonNeumann,1947以CPU指令集對象語言,以命題邏輯和集合以及數(shù)字邏輯部件為模型語言。用集合關系概念顯示地描述數(shù)字邏輯部件之間的關系。用命題公式顯示地描述控制信號。12CPU結構模型用結構模型方法構建MIPS指令集的CPU模型CPU結構模型<S,F,R,C>S:數(shù)字邏輯部件、多路選擇器及控制部件F:數(shù)字邏輯部件功能及控制信號邏輯公式R:數(shù)據(jù)通路C:{P0,P1,P2,P3,P4,P5,P6,P7,P8}在存儲器中

存儲指令13構思綜合與工程綜合方法(SI&SE)SynthesisofIdea&synthesisofEngineering構思指令數(shù)據(jù)通路根據(jù)一條指令的含義,構造數(shù)字邏輯部件關系表工程綜合方法(一般性方法)

小綜合(指令數(shù)據(jù)通路)給出一條指令的選擇器(1輸入1輸出)表給出一條指令的選擇器控制邏輯公式表和部件控制邏輯公式表

大綜合指令集數(shù)據(jù)通路)求CPU部件控制邏輯公式求CPU數(shù)據(jù)通路集合求CPU數(shù)據(jù)通路控制邏輯公式14數(shù)字邏輯部件數(shù)字邏輯部件組合邏輯設計,包括編碼器、譯碼器、比較器、數(shù)據(jù)選擇器、數(shù)據(jù)分配器、奇偶校驗器、算術邏輯單元、乘法器、數(shù)據(jù)擴展器等。時序邏輯設計,包括計數(shù)器、寄存器、移位器等數(shù)字邏輯的理論基礎—布爾代數(shù)?組合邏輯給出功能描述(真值表)命題邏輯方法求出(、、)邏輯范式構建邏輯部件(非門、與門、或門)Verilog等軟件實現(xiàn)時序邏輯方法相似15寄存器、選擇器及控制信號選擇器表Mux1PCMux2Mem.addressMux3Mem.writeDataMux4IRMux5Regs.Rreg1Mux6Regs.Rreg2Mux7Regs.WregMux8Regs.WdataMux9AMux10BMux11ALU.AMux12ALU.BMux13ALU.funcMux14ALUOutMux15MDU.AMux16MDU.BMux17MDU.funcMux18LS~2Mux19SU.shamtMux20SU.dataMux21SU.funcMux22S16~32Mux23S18~32選擇器控制信號CtrlMux1_1CtrlMux2_1CtrlMux3_1CtrlMux4_1CtrlMux5_1CtrlMux6_1CtrlMux7_1CtrlMux8_1CtrlMux9_1CtrlMux10_1CtrlMux11_1CtrlMux12_1CtrlMux13_1CtrlMux14_1CtrlMux15_1CtrlMux16_1CtrlMux17_1CtrlMux18_1CtrlMux19_1CtrlMux20_1CtrlMux21_1CtrlMux22_1CtrlMux23_1寄存器控制信號CtrlPCCtrlMemReadCtrlMemWriteCtrlIRCtrlRegsReadCtrlRegsWriteCtrlACtrlBCtrlALUOutCtrlHiCtrlLoCtrlSUCtrlS16~32CtrlS18~32CtrlLS~2CtrlSBWCtrlscReg寄存器PCMemReadMemWriteIRRegsReadRegsWriteABALUOutHiLoSUS16~32S18~32LS~2SBWscReg16相同數(shù)據(jù)通路指令addrd,rs,rtrd=rs+rt0x00rsrtrd0x000x20加法溢addurd,rs,rtrd=rs+rt0x00rsrtrd0x000x21加法subrd,rt,rsrd=rt-rs0x00rsrtrd0x000x22減法溢suburd,rt,rsrd=rt-rs0x00rsrtrd0x000x23減法andrd,rs,rtrd=rsrt0x00rsrtrd0x000x24邏輯與orrd,rs,rtrd=rsrt0x00rsrtrd0x000x25邏輯或xorrd,rt,rsrd=(rtrs)0x00rsrtrd0x000x26或非norrd,rs,rtrd=(rsrt)0x00rsrtrd0x000x27與非sltrd,rt,rsrd=rs<rt0x00rsrtrd0x000x2a小于slturd,rt,rsrd=rs<rt0x00rsrtrd0x000x2b無符號小于指令含義簡單清楚如何用數(shù)據(jù)邏輯部件實現(xiàn)?17構思指令簡單數(shù)據(jù)通路(表1.1)addrd,rs,rt的含義rd=rs+rt指令執(zhí)行用數(shù)字邏輯部件序列表示確定數(shù)字邏輯部件確定邏輯部件之間關系根據(jù)寄存器上跳沿觸發(fā)安排關系對的次序P0PCMem.addressPCALU.A+4ALU.B0x20ALU.fincP1ALUALUOutMemIRP2ALUOutPCIR[31:26]CU.IR31~26IR[25:21]Regs.RReg1IR[20:16]Regs.RReg2IR[15:11]Regs.WregIR[5:0]CU.IR5~0P3Regs.Rdata1ARegs.Rdata2BP4AALU.ABALU.BCU.funcALU.funcP5ALUALUOutP6ALUOutRegs.Wdata18選擇器關系—簡單數(shù)據(jù)通路(表1.2)一般方法構建數(shù)字邏輯部件之間關系查選擇器對應表,確定關系偶對19指令碼控制信號指令:0x00&(0x20|0x21|0x22||0x23|0x24|0x25|0x26|0x27|0x2a|0x2b)CtrlOP[1]=(~op[5]&~op[4]&~op[3]&~op[2]&~op[1]&~op[0])&((op[5]&~op[4]&~op[3]&~op[2]&~op[1]&~op[0])||(op[5]&~op[4]&~op[3]&~op[2]&~op[1]&op[0])||(op[5]&~op[4]&~op[3]&~op[2]&op[1]&~op[0])||(op[5]&~op[4]&~op[3]&~op[2]&op[1]&op[0])||(op[5]&~op[4]&~op[3]&op[2]&~op[1]&~op[0])||(op[5]&~op[4]&~op[3]&op[2]&~op[1]&op[0])||(op[5]&~op[4]&~op[3]&op[2]&op[1]&~op[0])||(op[5]&~op[4]&~op[3]&op[2]&op[1]&op[0])||(op[5]&~op[4]&op[3]&~op[2]&~op[1]&~op[0])||(op[5]&~op[4]&op[3]&~op[2]&~op[1]&op[0]));根據(jù)指令碼和功能碼變換為邏輯表達式形成指令碼控制信號20寄存器及選擇器控制信號CtrlPCP[2]CtrlMemReadP[0]CtrlIRP[1]CtrlRegsRead1P[2]&CtrlOP[1]CtrlRegsRead2P[2]&CtrlOP[1]CtrlRegsWriteP[6]&CtrlOP[1]CtrlAP[3]&CtrlOP[1]CtrlBP[3]&CtrlOP[1]CtrlALUOutP[1]||P[5]&CtrlOP[1]CtrlMux1_0P[2]CtrlMux2_0P[0]CtrlMux4_0P[1]CtrlMux11_0P[0]CtrlMux12_0P[0]CtrlMux13_0P[0]CtrlMux14_0P[1]CtrlMux5_1P[2]&CtrlOP[1]CtrlMux6_1P[2]&CtrlOP[1]CtrlMux7_1P[2]&CtrlOP[1]CtrlMux8_1P[6]&CtrlOP[1]CtrlMux9_1P[3]&CtrlOP[1]CtrlMux10_1P[3]&CtrlOP[1]CtrlMux11_1P[4]&CtrlOP[1]CtrlMux12_1P[4]&CtrlOP[1]CtrlMux13_1P[4]&CtrlOP[1]CtrlMux14_1P[5]&CtrlOP[1]根據(jù)數(shù)據(jù)通路(表1.2)以及指令碼控制信號CtrlOP[1]給出寄存器控制信號和選擇器控制信號。21Verilog實現(xiàn)信號Initial_moduleinit(.clk(clk),.start(start),.CtrlPC(CtrlPC),.CtrlMemRead(CtrlMemRead),.CtrlIR(CtrlIR),.CtrlRegsRead1(CtrlRegsRead1),.CtrlRegsRead2(CtrlRegsRead2),.CtrlRegsWrite(CtrlRegsWrite),.CtrlA(CtrlA),.CtrlB(CtrlB),.CtrlALUOut(CtrlALUOut),.CtrlMux1_0(CtrlMux1_0),.CtrlMux2_0(CtrlMux2_0),.CtrlMux4_0(CtrlMux4_0),.CtrlMux5_1(CtrlMux5_1),.CtrlMux6_1(CtrlMux6_1),.CtrlMux7_1(CtrlMux7_1),.CtrlMux8_1(CtrlMux8_1),.CtrlMux9_1(CtrlMux9_1),.CtrlM10_1(CtrlM10_1),.CtrlMux11_0(CtrlMux11_0),.CtrlMux11_1(CtrlMux11_1),.CtrlMux12_0(CtrlMux12_0),.CtrlMux12_1(CtrlMux12_1),.CtrlMux13_0(CtrlMux13_0),.CtrlMux13_1(CtrlMux13_1),.CtrlMux14_0(CtrlMux14_0),.CtrlMux14_1(CtrlMux14_1));22實現(xiàn)簡單數(shù)據(jù)通路(表1.2)P0Register_modulePC(.write(CtrlPC),.data_in(Mux1_data),.data_out(PCdata));data_mux_1Mux2(.sel(CtrlMux2_0),dataIn(PCdata),.dataOut(Mux2_out));MemoryMem(.clock(clk),.address(Mux2_out[14:0]),.read(CtrlMemRead),.q(Mem_out));data_mux_2Mux11(.sel(CtrlMux11_0),.sel(CtrlMux11_1),dataIn0(PCdata),dataIn1(aout),.dataOut(Mux11_out));data_mux_2Mux12(.sel(CtrlMux12_0),.sel(CtrlMux12_1),dataIn0(32'0x0004),dataIn1(bout),.dataOut(Mux12_out));data_mux_2Mux13(.sel(CtrlMux13_0),.sel(CtrlMux13_1),dataIn0(6'0x20),dataIn1(CU_func),.dataOut(Mux13_out));ALU_moduleALU(.ALU_a(Mux11_out),.ALU_b(Mux12_out),.func(Mux13_out),.ALUresult(ALUresult));23實現(xiàn)簡單數(shù)據(jù)通路(表1.2)P1data_mux_1Mux14(.sel(CtrlMux14_0),dataIn(ALUresult),.dataOut(Mux14_out));Register_moduleALUout(.write(CtrlALUOut),.data_in(Mux14_out),.data_out(AluOut));data_mux_1Mux4(.sel(CtrlMux4_0),dataIn(Mem_out),.dataOut(Mux4_out));24實現(xiàn)簡單數(shù)據(jù)通路(表1.2)P2IR_moduleIR(.write(CtrlIR),.data_in(Mux4_out),.ir31_26(op),.ir25_21(rs),.ir20_16(rt),

.ir15_11(rd),.ir10_6(shamt),.ir5_0(func));data_mux_1Mux1(.sel(CtrlMux1_0),dataIn(AluOut),.dataOut(M1_data));Control_UnitCU(.ir31_26(ir31_26),.ir5_0(ir5_0),.op(CU_func));data_mux_1Mux5(.sel(CtrlM5_1),dataIn(rs),.dataOut(Mux5_out));data_mux_1Mux6(.sel(CtrlM6_1),dataIn(rt),.dataOut(Mux6_out));data_mux_1Mux7(.sel(CtrlM7_1),dataIn(rd),.dataOut(Mux7_out));25實現(xiàn)簡單數(shù)據(jù)通路(表1.2)P3,P4,P5,P6Regs_moduleRegs(.write(CtrlRegsWrite),.data_in(Mux8_out),.writeaddress(Mux7_out),.CtrlRegsRead1(CtrlRegsRead1),.address1(Mux5_out),.read_out1(memReadout1),.CtrlRegsRead2(CtrlRegsRead2),.address2(Mux6_out),.read_out2(memReadout2));data_mux_1Mux9(.sel(CtrlMux9_1),dataIn(memReadout1),.dataOut(Mux9_out));Register_moduleA(.write(CtrlA),.data_in(Mux9_out),.data_out(aout));data_mux_1Mux10(.sel(CtrlMux10_1),dataIn(memReadout2),.dataOut(Mux10_out));Register_moduleB(.write(CtrlB),.data_in(Mux10_out),.data_out(bout));data_mux_1M8(.sel(CtrlM8_1),dataIn(AluOut),.dataOut(Mux8_out));endmodule26Addi數(shù)據(jù)通路addirt,rs,immrt=rs+imm0x08rsrtImm立即數(shù)加法溢addiurt,rs,immrt=rs+imm0x09rsrtImm加法sltirt,rs,immrt=rs<imm0x0arsrtImm立即數(shù)小于sltiurt,rs,immrt=rs<imm0x0brsrtImm立即數(shù)小于andirt,rs,immrd=rsrt0x0crsrtImm立即數(shù)與orirt,rs,immrd=rsrt0x0drsrtImm立即數(shù)邏輯或xorird,rt,immrd=(rtimm)0x0ersrtImm立即數(shù)異或27構思指令簡單數(shù)據(jù)通路(表2.1)addirt,rs,imm的含義rt=rs+imm指令執(zhí)行用數(shù)字邏輯部件序列表示確定數(shù)字邏輯部件確定邏輯部件之間關系根據(jù)寄存器上跳沿觸發(fā)安排關系對的次序P0PCMem.addressPCALU.A+4ALU.B0x20ALU.fincP1ALUALUOutMemIRP2ALUOutPCIR[31:26]CU.IR31~26IR[25:21]Regs.RReg1IR[20:16]Regs.WregIR[15:0]S16~32P3Regs.Rdata1AS16~32BP4AALU.ABALU.BCU.funcALU.funcP5ALUALUOutP6ALUOutRegs.Wdata28選擇器關系—簡單數(shù)據(jù)通路(表2.2)一般方法構建數(shù)字邏輯部件之間關系查選擇器對應表,確定關系偶對29指令碼控制信號指令:0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0eCtrlOP[2]=(~op[5]&~op[4]&op[3]&~op[2]&~op[1]&~op[0])||(~op[5]&~op[4]&op[3]&~op[2]&~op[1]&op[0])||(~op[5]&~op[4]&op[3]&~op[2]&op[1]&~op[0])||(~op[5]&~op[4]&op[3]&~op[2]&op[1]&op[0])||(~op[5]&~op[4]&op[3]&op[2]&~op[1]&~op[0])||(~op[5]&~op[4]&op[3]&op[2]&~op[1]&op[0])||(~op[5]&~op[4]&op[3]&op[2]&op[1]&~op[0]));根據(jù)指令碼和功能碼變換為邏輯表達式形成指令碼控制信號30寄存器及選擇器控制信號CtrlPCP[2]CtrlMemReadP[0]CtrlIRP[1]CtrlRegsRead1P[2]&CtrlOP[2]CtrlRegsWriteP[6]&CtrlOP[2]CtrlAP[3]&CtrlOP[2]CtrlBP[3]&CtrlOP[2]CtrlALUOutP[1]||P[5]&CtrlOP[2]CtrlS16~32P[2]&CtrlOP[2]CtrlMux1_0P[2]CtrlMux2_0P[0]CtrlMux4_0P[1]CtrlMux11_0P[0]CtrlMux12_0P[0]CtrlMux13_0P[0]CtrlMux14_0P[1]CtrlMux5_2P[2]&CtrlOP[2]CtrlMux7_2P[2]&CtrlOP[2]CtrlMux8_2P[6]&CtrlOP[2]CtrlMux9_2P[3]&CtrlOP[2]CtrlMux10_2P[3]&CtrlOP[2]CtrlMux11_2P[4]&CtrlOP[2]CtrlMux12_2P[4]&CtrlOP[2]CtrlMux13_2P[4]&CtrlOP[2]CtrlMux14_2P[5]&CtrlOP[2]CtrlMux22_2P[2]&CtrlOP[2]根據(jù)數(shù)據(jù)通路(表2.2)以及指令碼控制信號CtrlOP[2]給出寄存器控制信號和選擇器控制信號。31工程綜合方法—指令集數(shù)據(jù)通路大綜合求CPU部件控制邏輯公式求CPU數(shù)據(jù)通路集合求CPU數(shù)據(jù)通路控制邏輯公式32綜合寄存器控制信號CtrlS16~32P[2]&CtrlOP[2]

CtrlAP[3]&CtrlOP[1]

||P[3]&CtrlOP[2]

CtrlALUOutP[1]||P[5]&CtrlOP[1]

||P[5]&CtrlOP[2]

CtrlBP[3]&CtrlOP[1]

||P[3]&CtrlOP[2]

CtrlIRP[1]CtrlMemReadP[0]CtrlPCP[2]CtrlRegsRead1P[2]&CtrlOP[1]

||P[2]&CtrlOP[2]

CtrlRegsRead2P[2]&CtrlOP[1]

CtrlRegsWriteP[6]&CtrlOP[1]

||P[6]&CtrlOP[2]

合并指令的寄存器控制信號表排序合并相同指令控制信號合并的指令控制信號表達式邏輯并運算33綜合多路選擇器Mux1Mux1_0ALUOutPCMux2Mux2_0PCMem.addressMux4Mux4_0MemIRMux5Mux5_1Mux5_2IR[25:21]Regs.RReg1IR[25:21]Regs.RReg1Mux6Mux6_1IR[20:16]Regs.RReg2Mux7

Mux7_1IR[15:11]Regs.WregMux7_2IR[20:16]Regs.WregMux8Mux8_1Mux8_2ALUOutRegs.WdataALUOutRegs.WdataMux9Mux9_1Mux9_2Regs.Rdata1ARegs.Rdata1AMux10Mux10_1Regs.Rdata2BMux10_2S16~32BMux11

溫馨提示

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

評論

0/150

提交評論