版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机类专业人才系统能力培养2013-111系统能力培养研究清华大学北京大学国防科技大学南京大学浙江大学北京航空航天大学东南大学西安交通大学电子科技大学西安电子科技大学教育部计算机类教学指导委员会系统能力培养研究组凝练成果,突出示范分类试点,合作推广2系统能力培养的探究学生能够建立计算机系统观、具备计算机系统设计能力是计算机专业高素质创新人才培养关键标志。数字逻辑、计算机组成、操作系统和编译技术是最核心的计算机专业课程。研究数理逻辑、数字逻辑、计算机组成、操作系统和编译技术课程关系,通过教学和实验两个方面进行整体探讨和设计。以MIPS指令集为基础,使得学生能够设计一台功能计算机、一套操作系统和一套编译系统。3计算机专业系统能力系统功能:输入、输出及其关系结构:元素及其关系系统分析能力系统综合能力系统验证能力系统创新能力4计算机专业系统能力系统功能:输入、输出及其关系结构:元素及其关系系统分析能力给定结构和输入,分析输出系统综合能力
给定输入和输出,综合结构系统验证能力给定结构,确定与功能符合系统创新能力
设计新的功能与结构5系统能力准则工业标准MIPS指令集,标准C语言工程规模57条MIPS指令,支持标准C语言关键子集工程方法探索一般性方法6系统能力培养目标实现57条MIP指令确定数字逻辑部件实现标准C语言到MIPS编译,及支持GCC实现支持MIPS指令集的操作系统7研究与实践(2007~2013)2006200720082009201020112012组建团队规划研究,顶层设计精选本科生首次完成MIPS处理器开发数字电路首轮实验编译技术首先调整数字电路全面调整编译技术全面调整自主开发统一硬件实验平台数字电路全面实施编译技术全面实施全面重构硬件代码(特别是MIPS代码)OS调整,模拟器运行OS全面实施,模拟器/硬件双平台同时实施计组引入HDL和EDA计组全面实施新计组(融合数电)系统观点与工程能力计算机专业工程认证8实践体会定位不同,选择不同不需要学习CPU设计目标不同,选择不同学生能力不行,选择简单传统设计CPU方法难度大CPU数据通路,图方法十几条,行为模型持续探索工程方法,让学生有巅峰体验工程方法存在吗?9π的启示:图直观性与表达式精确性刘徽(约公元225年—295年)提出了-“割圆术”,计算到圆内接96边形,求得π=3.14。祖冲之(公元429年—公元500年)求出π在3.1415926与3.1415927之间。计算到圆内接16384边形。莱布尼茨(1646—1716)提出π的表达式当取项,π/4=0.7853981634的前八位保持一致。10方法论系统论观点贝塔朗菲提出“一般系统论”系统作为研究对象,以及功能与结构关系。系统方法分析方法:给出系统输入和结构,求取系统输出综合方法:给出系统功能,构建系统结构。结构主义观点皮亚杰提出结构主义结构<S,R,F,C>整体性、转换、自身调整性三个语言环境观点李未提出对象语言、模型语言和元语言11集合及逻辑作为CPU模型描述用形式逻辑的方法可以容易看出,存在某种[指令集]在理论上足以控制和执行任意顺序的操作……从当前的观点出发,选择一个[指令集]时考虑的更多更实际的问题是:[指令集]要求的设备简单性,在实际重要的问题中有明确应用和解决该类问题的速度。——Burks,Goldstine&vonNeumann,1947以CPU指令集对象语言,以命题逻辑和集合以及数字逻辑部件为模型语言。用集合关系概念显示地描述数字逻辑部件之间的关系。用命题公式显示地描述控制信号。12CPU结构模型用结构模型方法构建MIPS指令集的CPU模型CPU结构模型<S,F,R,C>S:数字逻辑部件、多路选择器及控制部件F:数字逻辑部件功能及控制信号逻辑公式R:数据通路C:{P0,P1,P2,P3,P4,P5,P6,P7,P8}在存储器中
存储指令13构思综合与工程综合方法(SI&SE)SynthesisofIdea&synthesisofEngineering构思指令数据通路根据一条指令的含义,构造数字逻辑部件关系表工程综合方法(一般性方法)
小综合(指令数据通路)给出一条指令的选择器(1输入1输出)表给出一条指令的选择器控制逻辑公式表和部件控制逻辑公式表
大综合指令集数据通路)求CPU部件控制逻辑公式求CPU数据通路集合求CPU数据通路控制逻辑公式14数字逻辑部件数字逻辑部件组合逻辑设计,包括编码器、译码器、比较器、数据选择器、数据分配器、奇偶校验器、算术逻辑单元、乘法器、数据扩展器等。时序逻辑设计,包括计数器、寄存器、移位器等数字逻辑的理论基础—布尔代数?组合逻辑给出功能描述(真值表)命题逻辑方法求出(、、)逻辑范式构建逻辑部件(非门、与门、或门)Verilog等软件实现时序逻辑方法相似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相同数据通路指令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无符号小于指令含义简单清楚如何用数据逻辑部件实现?17构思指令简单数据通路(表1.1)addrd,rs,rt的含义rd=rs+rt指令执行用数字逻辑部件序列表示确定数字逻辑部件确定逻辑部件之间关系根据寄存器上跳沿触发安排关系对的次序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选择器关系—简单数据通路(表1.2)一般方法构建数字逻辑部件之间关系查选择器对应表,确定关系偶对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]));根据指令码和功能码变换为逻辑表达式形成指令码控制信号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]根据数据通路(表1.2)以及指令码控制信号CtrlOP[1]给出寄存器控制信号和选择器控制信号。21Verilog实现信号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实现简单数据通路(表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实现简单数据通路(表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实现简单数据通路(表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实现简单数据通路(表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数据通路addirt,rs,immrt=rs+imm0x08rsrtImm立即数加法溢addiurt,rs,immrt=rs+imm0x09rsrtImm加法sltirt,rs,immrt=rs<imm0x0arsrtImm立即数小于sltiurt,rs,immrt=rs<imm0x0brsrtImm立即数小于andirt,rs,immrd=rsrt0x0crsrtImm立即数与orirt,rs,immrd=rsrt0x0drsrtImm立即数逻辑或xorird,rt,immrd=(rtimm)0x0ersrtImm立即数异或27构思指令简单数据通路(表2.1)addirt,rs,imm的含义rt=rs+imm指令执行用数字逻辑部件序列表示确定数字逻辑部件确定逻辑部件之间关系根据寄存器上跳沿触发安排关系对的次序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选择器关系—简单数据通路(表2.2)一般方法构建数字逻辑部件之间关系查选择器对应表,确定关系偶对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]));根据指令码和功能码变换为逻辑表达式形成指令码控制信号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]根据数据通路(表2.2)以及指令码控制信号CtrlOP[2]给出寄存器控制信号和选择器控制信号。31工程综合方法—指令集数据通路大综合求CPU部件控制逻辑公式求CPU数据通路集合求CPU数据通路控制逻辑公式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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何高效报送网络舆情 2024(方法+流程)
- 机房搬迁方案
- 微积分 第3版 课件 2.5 函数的连续性
- 坪山区七年级上学期语文期末考试试卷
- 讲述京东课件教学课件
- 股东合同范本(2篇)
- 南京航空航天大学《多元统计分析》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《数字图形设计》2022-2023学年第一学期期末试卷
- 独坐敬亭山说课稿
- 南京工业大学浦江学院《领导科学》2023-2024学年第一学期期末试卷
- 餐饮行业报告:中餐出海
- 2024年江苏钟吾大数据发展集团有限公司招聘笔试参考题库含答案解析
- 青少年数独智力运动会U12组数独赛前集训题
- 医院健康教育培训课件
- GH/T 1419-2023野生食用菌保育促繁技术规程灰肉红菇
- 鼻咽癌的放射治疗课件
- 明孝端皇后九龙九凤冠
- 注塑车间规划方案
- 营养不良五阶梯治疗
- 标本运送培训课件
- 护士与医生的合作与沟通
评论
0/150
提交评论