




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二届高等学校计算机类专业人才培养高峰论坛第二届高等学校计算机类专业人才培养高峰论坛计算机类专业人才系统能力培养计算机类专业人才系统能力培养马殿富马殿富北航计算机学院北航计算机学院杭州杭州202013-1113-11计算机学院2计算机学院2系统能力培养研究系统能力培养研究 清华大学清华大学 北京大学北京大学 国防科技大学国防科技大学 南京大学南京大学 浙江大学浙江大学 北京航空航天大学北京航空航天大学 东南大学东南大学 西安交通大学西安交通大学 电子科技大学电子科技大学 西安电子科技大学西安电子科技大学 教育部计算机类教学指导委员会教育部计算机类教学指导委员会 系统能力培养研究组系统能力培养研
2、究组 凝练成果,突出示范凝练成果,突出示范 分类试点,合作推广分类试点,合作推广计算机学院3计算机学院3系统能力培养的探究系统能力培养的探究 学生能够建立计算机系统观、具备计算机系统设计学生能够建立计算机系统观、具备计算机系统设计能力是计算机专业高素质创新人才培养关键标志能力是计算机专业高素质创新人才培养关键标志。 数字逻辑、计算机组成、操作系统和编译技术是最数字逻辑、计算机组成、操作系统和编译技术是最核心的计算机专业课程。核心的计算机专业课程。 研究数理逻辑、数字逻辑、计算机组成、操作系统研究数理逻辑、数字逻辑、计算机组成、操作系统和编译技术课程关系,通过教学和实验两个方面进和编译技术课程关
3、系,通过教学和实验两个方面进行整体探讨和设计。行整体探讨和设计。 以以MIPSMIPS指令集为基础,使得学生能够设计一台功能指令集为基础,使得学生能够设计一台功能计算机、一套操作系统和一套编译系统。计算机、一套操作系统和一套编译系统。计算机学院4计算机学院4 计算机专业系统能力计算机专业系统能力 系统系统 功能:输入、输出及其关系功能:输入、输出及其关系 结构:元素及其关系结构:元素及其关系 系统分析能力系统分析能力 系统综合能力系统综合能力 系统验证能力系统验证能力 系统创新能力系统创新能力计算机学院5计算机学院5 计算机专业系统能力计算机专业系统能力 系统系统 功能:输入、输出及其关系功能
4、:输入、输出及其关系 结构:元素及其关系结构:元素及其关系 系统分析能力系统分析能力 给定结构和输入给定结构和输入 ,分析输出,分析输出 系统综合能力系统综合能力 给定输入给定输入 和输出,综合结构和输出,综合结构 系统验证能力系统验证能力 给定结构,确定与功能符合给定结构,确定与功能符合 系统创新能力系统创新能力 设计新的功能设计新的功能 与结构与结构计算机学院6计算机学院6系统能力准则系统能力准则 工业标准工业标准 MIPSMIPS指令集,标准指令集,标准C C语言语言 工程规模工程规模 57 57条条MIPSMIPS指令,支持标准指令,支持标准C C语言关键子集语言关键子集 工程方法工程
5、方法 探索一般性方法探索一般性方法计算机学院7计算机学院7系统能力培养目标系统能力培养目标 实现实现5757条条MIPMIP指令指令 确定数字逻辑部件确定数字逻辑部件 实现标准实现标准C C语言到语言到MIPSMIPS编译,及支持编译,及支持GCCGCC 实现支持实现支持MIPSMIPS指令集的操作系统指令集的操作系统计算机学院8计算机学院8研究与实践(研究与实践(2007200720132013)2006200720082009201020112012组建团队规划研究,顶层设计精选本科生首次完成MIPS处理器开发数字电路首轮实验编译技术首先调整数字电路全面调整编译技术全面调整自主开发统一硬件
6、实验平台数字电路全面实施编译技术全面实施全面重构硬件代码(特别是MIPS代码)OS调整,模拟器运行OS全面实施,模拟器/硬件双平台同时实施计组引入HDL和EDA计组全面实施新计组(融合数电)系统观点与工程能力计算机专业工程认证计算机学院9计算机学院9实践体会实践体会 定位不同,选择不同定位不同,选择不同 不需要学习不需要学习CPUCPU设计设计 目标不同,选择不同目标不同,选择不同 学生能力不行,选择简单学生能力不行,选择简单 传统设计传统设计CPUCPU方法难度大方法难度大 CPUCPU数据通路,图方法数据通路,图方法 十几条,行为模型十几条,行为模型 持续探索工程方法,让学生有巅峰体验持续
7、探索工程方法,让学生有巅峰体验 工程方法存在吗?工程方法存在吗?计算机学院10计算机学院10 的启示:图直观性与表达式精确性的启示:图直观性与表达式精确性 刘徽(约公元刘徽(约公元225225年年295295年)提出年)提出了了-“-“割圆术割圆术”,计算到圆内接,计算到圆内接9696边形,求得边形,求得=3.14=3.14。 祖冲之(祖冲之( 公元公元429429年年公元公元500500年)年)求出求出 在在3.14159263.1415926与与3.14159273.1415927之间之间。计算到圆内接。计算到圆内接1638416384边形。边形。.9171513114 莱布尼茨莱布尼茨(
8、16461716)(16461716)提出提出 的表达式的表达式 当取当取1000000010000000项,项,/4=0.7853981634/4=0.7853981634的前八位保持一致。的前八位保持一致。计算机学院11计算机学院11方法论方法论 系统论观点系统论观点 贝塔朗菲提出贝塔朗菲提出“一般系统论一般系统论”系统作为研究系统作为研究对象对象,以及功能与结构关系。,以及功能与结构关系。 系统方法系统方法分析方法:给出系统输入和结构,求取系统输出分析方法:给出系统输入和结构,求取系统输出综合方法:给出系统功能,构建系统结构。综合方法:给出系统功能,构建系统结构。 结构主义观点结构主义观
9、点 皮亚杰提出结构主义皮亚杰提出结构主义 结构结构 整体性、转换、自身调整性整体性、转换、自身调整性 三个语言环境观点三个语言环境观点 李未提出对象语言、模型语言和元语言李未提出对象语言、模型语言和元语言计算机学院12计算机学院12集合及逻辑作为集合及逻辑作为CPUCPU模型描述模型描述 用形式逻辑的方法可以容易看出,用形式逻辑的方法可以容易看出,存在某种存在某种 指令集指令集 在理论上足以控在理论上足以控制和执行任意顺序的操作制和执行任意顺序的操作从当从当前的观点出发,选择一个前的观点出发,选择一个 指令集指令集 时考虑的更多更实际的问题是:时考虑的更多更实际的问题是: 指令集指令集 要求的
10、设备简单性,在实要求的设备简单性,在实际重要的问题中有明确应用和解决际重要的问题中有明确应用和解决该类问题的速度。该类问题的速度。 Burks,Goldstine &von Neumann, Burks,Goldstine &von Neumann, 19471947 以以CPUCPU指令集指令集对象语言对象语言,以命题逻辑和集合以及数字逻辑部,以命题逻辑和集合以及数字逻辑部件为件为模型语言模型语言。 用用集合关系概念集合关系概念显示地描述数字逻辑部件之间的关系。显示地描述数字逻辑部件之间的关系。 用用命题公式命题公式显示地描述控制信号。显示地描述控制信号。计算机学院13计算机
11、学院13CPUCPU结构模型结构模型 用结构模型方法构建用结构模型方法构建MIPSMIPS指令集的指令集的CPUCPU模型模型 CPUCPU结构模型结构模型 S S:数字逻辑部件、:数字逻辑部件、多路选择器及控制部件多路选择器及控制部件 F F:数字逻辑部件功能及:数字逻辑部件功能及控制信号逻辑公式控制信号逻辑公式 R R:数据通路数据通路 C C:P0,P1,P2,P3,P4, P5,P6,P7,P8P0,P1,P2,P3,P4, P5,P6,P7,P8 在存储器中在存储器中 存储指令存储指令计算机学院14计算机学院14构思综合与工程综合方法(构思综合与工程综合方法(SI&SESI&
12、amp;SE) Synthesis of Synthesis of Idea&synthesisIdea&synthesis of Engineering of Engineering 构思指令数据通路构思指令数据通路根据根据一条指令一条指令的含义,构造数字逻辑部件关系表的含义,构造数字逻辑部件关系表 工程综合方法(一般性方法)工程综合方法(一般性方法) 小综合(指令数据通路)小综合(指令数据通路)给出给出一条指令一条指令的选择器(的选择器(1 1输入输入1 1输出)表输出)表给出给出一条指令一条指令的的选择器控制逻辑公式表选择器控制逻辑公式表和和部件控制逻辑公式表部件控制逻辑
13、公式表 大综合指令集数据通路)大综合指令集数据通路)求求CPUCPU部件控制逻辑公式部件控制逻辑公式求求CPUCPU数据通路集合数据通路集合求求CPUCPU数据通路控制逻辑公式数据通路控制逻辑公式计算机学院15计算机学院15数字逻辑部件数字逻辑部件 数字逻辑部件数字逻辑部件 组合逻辑设计,包括编码器、译码器、比较器、数据选择组合逻辑设计,包括编码器、译码器、比较器、数据选择器、数据分配器、奇偶校验器、算术逻辑单元、乘法器、器、数据分配器、奇偶校验器、算术逻辑单元、乘法器、数据扩展器等。数据扩展器等。 时序逻辑设计,包括计数器、寄存器、移位器等时序逻辑设计,包括计数器、寄存器、移位器等 数字逻辑
14、的理论基础数字逻辑的理论基础布尔代数?布尔代数? 组合逻辑组合逻辑 给出功能描述(真值表)给出功能描述(真值表) 命题逻辑方法求出(命题逻辑方法求出( 、 、 )逻辑范式)逻辑范式 构建逻辑部件(非门、与门、或门)构建逻辑部件(非门、与门、或门) VerilogVerilog等等软件实现软件实现 时序逻辑方法相似时序逻辑方法相似计算机学院16计算机学院16寄存器、选择器及控制信号寄存器、选择器及控制信号选择器表Mux1PCMux2Mem.addressMux3Mem.writeDataMux4IRMux5Regs. Rreg1Mux6Regs. Rreg2Mux7Regs. WregMux8R
15、egs. WdataMux9AMux10BMux11ALU.AMux12ALU.BMux13ALU. funcMux14ALUOutMux15MDU.AMux16MDU.BMux17MDU.funcMux18LS2Mux19SU.shamtMux20SU.dataMux21SU.funcMux22S1632Mux23S1832选择器控制信号选择器控制信号CtrlMux1_1CtrlMux2_1CtrlMux3_1CtrlMux4_1CtrlMux5_1CtrlMux6_1CtrlMux7_1CtrlMux8_1CtrlMux9_1CtrlMux10_1CtrlMux11_1CtrlMux12_
16、1CtrlMux13_1CtrlMux14_1CtrlMux15_1CtrlMux16_1CtrlMux17_1CtrlMux18_1CtrlMux19_1CtrlMux20_1CtrlMux21_1CtrlMux22_1CtrlMux23_1寄存器控制信号寄存器控制信号CtrlPCCtrlMemReadCtrlMemWriteCtrlIRCtrlRegsReadCtrlRegsWriteCtrlACtrlBCtrlALUOutCtrlHiCtrlLoCtrlSUCtrl S1632Ctrl S1832 Ctrl LS2CtrlSBWCtrlscReg寄存器PCMemReadMemWriteI
17、RRegsReadRegsWriteABALUOutHiLoSUS1632S1832 LS2SBWscReg计算机学院17计算机学院17相同数据通路指令相同数据通路指令add rd, rs, rtrd=rs+rt0 x00rsrtrd0 x000 x20加法溢addu rd, rs, rt rd=rs+rt0 x00rsrtrd0 x000 x21加法sub rd, rt, rsrd=rt-rs0 x00rsrtrd0 x000 x22减法溢subu rd, rt, rsrd=rt-rs0 x00rsrtrd0 x000 x23减法and rd, rs, rtrd=rsrt0 x00rsrtr
18、d0 x000 x24逻辑与or rd, rs, rtrd=rsrt0 x00rsrtrd0 x000 x25逻辑或xor rd, rt, rsrd=(rtrs)0 x00rsrtrd0 x000 x26或非nor rd, rs, rtrd=(rsrt)0 x00rsrtrd0 x000 x27与非slt rd, rt, rsrd=rsrt0 x00rsrtrd0 x00 0 x2a小于sltu rd, rt, rsrd=rsrt0 x00rsrtrd0 x00 0 x2b无符号小于 指令含义简单清楚指令含义简单清楚 如何用数据逻辑部件实现?如何用数据逻辑部件实现?计算机学院18计算机学院18
19、构思指令简单数据通路构思指令简单数据通路( (表表1.1)1.1) add rd, add rd, rs rs, , rt rt的含义的含义 rd=rs+rt 指令执行用数字逻辑部件序列指令执行用数字逻辑部件序列表示表示 确定数字逻辑部件确定数字逻辑部件 确定逻辑部件之间关系确定逻辑部件之间关系 根据寄存器上跳沿触发安排根据寄存器上跳沿触发安排关系对的次序关系对的次序P0PCMem.addressPCALU.A+4ALU.B0 x20ALU.fincP1ALUALUOutMemIRP2ALUOutPCIR31:26CU.IR3126IR25:21Regs.RReg1IR20:16Regs.RR
20、eg2IR15:11Regs.WregIR5:0CU.IR50P3Regs.Rdata1ARegs.Rdata2BP4AALU.ABALU.BCU.funcALU.funcP5ALUALUOutP6ALUOut Regs.Wdata 计算机学院19计算机学院19选择器关系选择器关系简单数据通路简单数据通路( (表表1.2)1.2) 一般方法一般方法 构建数字逻辑部构建数字逻辑部件之间关系件之间关系 查选择器对应表,查选择器对应表,确定关系偶对确定关系偶对P0PCMux2_0Mux2Mem.addressPCMux11_0Mux11ALU.A+4Mux12_0Mux12ALU.B0 x20Mux
21、13_0Mux13ALU.fincP1ALUMux14_0Mux14ALUOutMemMux4_0Mux4IRP2ALUOutMux1_0Mux1PCIR31:26CU.IR3126IR25:21Mux5_1Mux5Regs.RReg1IR20:16Mux6_1Mux6Regs.RReg2IR15:11Mux7_1Mux7Regs.WregIR5:0CU.IR50P3Regs.Rdata1Mux9_1Mux9ARegs.Rdata2Mux10_1Mux10BP4AMux11_1Mux11ALU.ABMux12_1Mux12ALU.BCU.funcMux13_1Mux13ALU.funcP5AL
22、UMux14_1Mux14 ALUOutP6ALUOut Mux8_1 Mux8 Regs.Wdata 计算机学院20计算机学院20指令码控制信号指令码控制信号指令:指令: 0 x00&(0 x20|0 x21|0 x22|0 x23|0 x24|0 x25|0 x26|0 x27|0 x2a|0 x2b) 0 x00&(0 x20|0 x21|0 x22|0 x23|0 x24|0 x25|0 x26|0 x27|0 x2a|0 x2b) CtrlOP1=CtrlOP1=(op5&op4&op3&op2&op1&op0)(op5&
23、;op4&op3&op2&op1&op0)&(op5&op4&op3&op2&op1&op0)|&(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&am
24、p;op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(
25、op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&
26、op2&op1&op0);(op5&op4&op3&op2&op1&op0); 根据指令码根据指令码和功能码变和功能码变换为逻辑表换为逻辑表达式达式 形成指令码形成指令码控制信号控制信号计算机学院21计算机学院21寄存器及选择器控制信号寄存器及选择器控制信号CtrlPC P2CtrlMemRead P0CtrlIR P1CtrlRegsRead1 P2&CtrlOP1CtrlRegsRead2 P2&CtrlOP1CtrlRegsWrite P6&CtrlOP1CtrlA P3&CtrlOP1CtrlB P
27、3&CtrlOP1CtrlALUOutP1|P5&CtrlOP1CtrlMux1_0P2CtrlMux2_0P0CtrlMux4_0P1CtrlMux11_0P0CtrlMux12_0P0CtrlMux13_0P0CtrlMux14_0P1CtrlMux5_1P2&CtrlOP1CtrlMux6_1P2&CtrlOP1CtrlMux7_1P2&CtrlOP1CtrlMux8_1P6&CtrlOP1CtrlMux9_1P3&CtrlOP1CtrlMux10_1P3&CtrlOP1CtrlMux11_1P4&CtrlOP1Ct
28、rlMux12_1P4&CtrlOP1CtrlMux13_1P4&CtrlOP1CtrlMux14_1P5&CtrlOP1 根据数据通路根据数据通路( (表表1.2)1.2)以及以及指令码控制信号指令码控制信号CtrlOPCtrlOP11给出寄存器控制信号和选给出寄存器控制信号和选择器控制信号。择器控制信号。计算机学院22计算机学院22VerilogVerilog实现信号实现信号Initial_module init(.clk(clk),.start(start),Initial_module init(.clk(clk),.start(start),.CtrlPC(C
29、trlPC),.CtrlMemRead(CtrlMemRead),.CtrlIR(CtrlIR),.CtrlRegsRead1(Ct.CtrlPC(CtrlPC),.CtrlMemRead(CtrlMemRead),.CtrlIR(CtrlIR),.CtrlRegsRead1(CtrlRegsRead1),.CtrlRegsRead2(CtrlRegsRead2),rlRegsRead1),.CtrlRegsRead2(CtrlRegsRead2),.CtrlRegsWrite(CtrlRegsWrite),.CtrlA(CtrlA),.CtrlB(CtrlB),.CtrlALUOut(Ctr
30、lAL.CtrlRegsWrite(CtrlRegsWrite),.CtrlA(CtrlA),.CtrlB(CtrlB),.CtrlALUOut(CtrlALUOut),. CtrlMux1_0 (CtrlMux1_0),. CtrlMux2_0(CtrlMux2_0),UOut),. CtrlMux1_0 (CtrlMux1_0),. CtrlMux2_0(CtrlMux2_0),.CtrlMux4_0(CtrlMux4_0),.CtrlMux5_1(CtrlMux5_1),.CtrlMux6_1(CtrlMux6_1),. .CtrlMux4_0(CtrlMux4_0),.CtrlMux5
31、_1(CtrlMux5_1),.CtrlMux6_1(CtrlMux6_1),. CtrlMux7_1(CtrlMux7_1),. CtrlMux8_1(CtrlMux8_1),. CtrlMux7_1(CtrlMux7_1),. CtrlMux8_1(CtrlMux8_1),. CtrlMux9_1(CtrlMux9_1),. CtrlM10_1(CtrlM10_1),CtrlMux9_1(CtrlMux9_1),. CtrlM10_1(CtrlM10_1),.CtrlMux11_0(CtrlMux11_0), .CtrlMux11_0(CtrlMux11_0), .CtrlMux11_1(
32、CtrlMux11_1),.CtrlMux12_0(CtrlMux12_0), . .CtrlMux11_1(CtrlMux11_1),.CtrlMux12_0(CtrlMux12_0), . CtrlMux12_1(CtrlMux12_1),.CtrlMux13_0(CtrlMux13_0), CtrlMux12_1(CtrlMux12_1),.CtrlMux13_0(CtrlMux13_0), .CtrlMux13_1(CtrlMux13_1),. CtrlMux14_0(CtrlMux14_0), . .CtrlMux13_1(CtrlMux13_1),. CtrlMux14_0(Ctr
33、lMux14_0), . CtrlMux14_1(CtrlMux14_1);CtrlMux14_1(CtrlMux14_1);计算机学院23计算机学院23实现简单数据通路实现简单数据通路( (表表1.2) P01.2) P0Register_module PC(.write(CtrlPC),.data_in(Mux1_data),.data_out(PCdata);Register_module PC(.write(CtrlPC),.data_in(Mux1_data),.data_out(PCdata);data_mux_1 Mux2(.sel(CtrlMux2_0),dataIn(PCda
34、ta),.dataOut(Mux2_out);data_mux_1 Mux2(.sel(CtrlMux2_0),dataIn(PCdata),.dataOut(Mux2_out);Memory Memory Mem(.clock(clk),.address(Mux2_out14:0),.read(CtrlMemRead),.q(Mem_out);Mem(.clock(clk),.address(Mux2_out14:0),.read(CtrlMemRead),.q(Mem_out);data_mux_2 Mux11(.sel(CtrlMux11_0), data_mux_2 Mux11(.se
35、l(CtrlMux11_0), .sel(CtrlMux11_1),dataIn0(PCdata),dataIn1(aout),.dataOut(Mux11_out);.sel(CtrlMux11_1),dataIn0(PCdata),dataIn1(aout),.dataOut(Mux11_out);data_mux_2 Mux12(.sel(CtrlMux12_0), data_mux_2 Mux12(.sel(CtrlMux12_0), .sel(CtrlMux12_1),dataIn0(320 x0004),dataIn1(bout),.dataOut(Mux12_out);.sel(
36、CtrlMux12_1),dataIn0(320 x0004),dataIn1(bout),.dataOut(Mux12_out);data_mux_2 Mux13(.sel(CtrlMux13_0), data_mux_2 Mux13(.sel(CtrlMux13_0), .sel(CtrlMux13_1),dataIn0(60 x20),dataIn1(CU_func),.dataOut(Mux13_out);.sel(CtrlMux13_1),dataIn0(60 x20),dataIn1(CU_func),.dataOut(Mux13_out);ALU_module ALU_modul
37、e ALU(.ALU_a(Mux11_out),.ALU_b(Mux12_out),.func(Mux13_out),.ALUresult(ALU(.ALU_a(Mux11_out),.ALU_b(Mux12_out),.func(Mux13_out),.ALUresult(ALUresult);ALUresult);计算机学院24计算机学院24实现简单数据通路实现简单数据通路( (表表1.2) P11.2) P1data_mux_1 data_mux_1 Mux14(.sel(CtrlMux14_0),dataIn(ALUresult),.dataOut(Mux14_out);Mux14(.
38、sel(CtrlMux14_0),dataIn(ALUresult),.dataOut(Mux14_out);Register_module Register_module ALUout(.write(CtrlALUOut),.data_in(Mux14_out),.data_out(AluOut);ALUout(.write(CtrlALUOut),.data_in(Mux14_out),.data_out(AluOut);data_mux_1 Mux4(.sel(CtrlMux4_0),dataIn(Mem_out),.dataOut(Mux4_out);data_mux_1 Mux4(.
39、sel(CtrlMux4_0),dataIn(Mem_out),.dataOut(Mux4_out);计算机学院25计算机学院25实现简单数据通路实现简单数据通路( (表表1.2) P21.2) P2IR_module IR_module IR(.write(CtrlIR),.data_in(Mux4_out),.ir31_26(op),.ir25_21(rs),.ir20_16(rt),IR(.write(CtrlIR),.data_in(Mux4_out),.ir31_26(op),.ir25_21(rs),.ir20_16(rt), .ir15_11(rd),.ir10_6(shamt)
40、,.ir5_0(func);.ir15_11(rd),.ir10_6(shamt),.ir5_0(func);data_mux_1 Mux1(.sel(CtrlMux1_0),dataIn(AluOut),.dataOut(M1_data);data_mux_1 Mux1(.sel(CtrlMux1_0),dataIn(AluOut),.dataOut(M1_data);Control_Unit CU(.ir31_26(ir31_26), .ir5_0(ir5_0),.op(CU_func);Control_Unit CU(.ir31_26(ir31_26), .ir5_0(ir5_0),.o
41、p(CU_func);data_mux_1 Mux5(.sel(CtrlM5_1),dataIn(rs),.dataOut(Mux5_out);data_mux_1 Mux5(.sel(CtrlM5_1),dataIn(rs),.dataOut(Mux5_out);data_mux_1 Mux6(.sel(CtrlM6_1),dataIn(rt),.dataOut(Mux6_out);data_mux_1 Mux6(.sel(CtrlM6_1),dataIn(rt),.dataOut(Mux6_out);data_mux_1 Mux7(.sel(CtrlM7_1),dataIn(rd),.da
42、taOut(Mux7_out);data_mux_1 Mux7(.sel(CtrlM7_1),dataIn(rd),.dataOut(Mux7_out);计算机学院26计算机学院26实现简单数据通路实现简单数据通路( (表表1.2) P3,P4,P5,P61.2) P3,P4,P5,P6Regs_module Regs_module Regs(.write(CtrlRegsWrite),.data_in(Mux8_out),.writeaddress(Mux7_out),Regs(.write(CtrlRegsWrite),.data_in(Mux8_out),.writeaddress(Mu
43、x7_out),.CtrlRegsRead1(CtrlRegsRead1),.address1(Mux5_out),.read_out1(memReadout1),.CtrlRegsRead1(CtrlRegsRead1),.address1(Mux5_out),.read_out1(memReadout1),.CtrlRegsRead2(CtrlRegsRead2),.address2(Mux6_out),.read_out2(memReadout2);.CtrlRegsRead2(CtrlRegsRead2),.address2(Mux6_out),.read_out2(memReadou
44、t2);data_mux_1 Mux9(.sel(CtrlMux9_1),dataIn(memReadout1),.dataOut(Mux9_out);data_mux_1 Mux9(.sel(CtrlMux9_1),dataIn(memReadout1),.dataOut(Mux9_out);Register_module A(.write(CtrlA),.data_in(Mux9_out),.data_out(aout);Register_module A(.write(CtrlA),.data_in(Mux9_out),.data_out(aout);data_mux_1 data_mu
45、x_1 Mux10(.sel(CtrlMux10_1),dataIn(memReadout2),.dataOut(Mux10_out);Mux10(.sel(CtrlMux10_1),dataIn(memReadout2),.dataOut(Mux10_out);Register_module B(.write(CtrlB),.data_in(Mux10_out),.data_out(bout);Register_module B(.write(CtrlB),.data_in(Mux10_out),.data_out(bout);data_mux_1 M8(.sel(CtrlM8_1),dat
46、aIn(AluOut),.dataOut(Mux8_out);data_mux_1 M8(.sel(CtrlM8_1),dataIn(AluOut),.dataOut(Mux8_out);endmoduleendmodule计算机学院27计算机学院27AddiAddi数据通路数据通路addi rt, rs, immrt=rs+imm0 x08 rsrtImm立即数加法溢addiu rt, rs, immrt=rs+imm0 x09 rsrtImm加法slti rt, rs, immrt=rs imm0 x0a rsrtImm立即数小于sltiu rt, rs, immrt=rs imm0 x0
47、b rsrtImm立即数小于andi rt, rs, immrd=rsrt0 x0c rsrtImm立即数与ori rt, rs, immrd=rsrt0 x0d rsrtImm立即数逻辑或xori rd, rt, immrd=(rtimm) 0 x0e rsrtImm立即数异或计算机学院28计算机学院28构思指令简单数据通路构思指令简单数据通路( (表表2.1)2.1) addiaddi rt rt, , rs rs, , immimm的含义的含义 rt=rs+imm 指令执行用数字逻辑部件序列指令执行用数字逻辑部件序列表示表示 确定数字逻辑部件确定数字逻辑部件 确定逻辑部件之间关系确定逻辑
48、部件之间关系 根据寄存器上跳沿触发安排根据寄存器上跳沿触发安排关系对的次序关系对的次序P0PCMem.addressPCALU.A+4ALU.B0 x20ALU.fincP1ALUALUOutMemIRP2ALUOutPCIR31:26CU. IR3126IR25:21Regs.RReg1IR20:16Regs.WregIR15:0S1632P3Regs.Rdata1AS1632BP4AALU.ABALU.BCU. funcALU.funcP5ALUALUOutP6ALUOutRegs.Wdata计算机学院29计算机学院29选择器关系选择器关系简单数据通路简单数据通路( (表表2.2)2.2)
49、 一般方法一般方法 构建数字逻构建数字逻辑部件之间辑部件之间关系关系 查选择器对应查选择器对应表,确定关系表,确定关系偶对偶对P0PCMux2_0Mux2Mem.addressPCMux11_0Mux11ALU.A+4Mux12_0Mux12ALU.B0 x20Mux13_0Mux13ALU.fincP1ALUMux14_0Mux14ALUOutMemMux4_0Mux4IRP2ALUOutMux1_0Mux1PCIR31:26CU. IR3126IR25:21Mux5_2Mux5Regs.RReg1IR20:16Mux7_2Mux7Regs.WregIR15:0Mux22_2Mux22S16
50、32P3Regs.Rdata1Mux9_2Mux9AS1632Mux10_2Mux10BP4AMux11_2Mux11ALU.ABMux12_2Mux12ALU.BCU. funcMux13_2Mux13ALU.funcP5ALUMux14_2Mux14ALUOutP6ALUOutMux8_2Mux8Regs.Wdata计算机学院30计算机学院30指令码控制信号指令码控制信号指令:指令: 0 x08|0 x09|0 x0a|0 x0b|0 x0c|0 x0d|0 x0e 0 x08|0 x09|0 x0a|0 x0b|0 x0c|0 x0d|0 x0eCtrlOPCtrlOP2=2=(op5&
51、amp;op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&
52、amp;op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0)|(op5&op4&op3&op2&op1&op0);(op5&am
53、p;op4&op3&op2&op1&op0); 根据指令码根据指令码和功能码变和功能码变换为逻辑表换为逻辑表达式达式 形成指令码形成指令码控制信号控制信号计算机学院31计算机学院31寄存器及选择器控制信号寄存器及选择器控制信号CtrlPC P2CtrlMemRead P0CtrlIR P1CtrlRegsRead1 P2&CtrlOP2CtrlRegsWrite P6&CtrlOP2CtrlA P3&CtrlOP2CtrlB P3&CtrlOP2CtrlALUOut P1 | P5&CtrlOP2Ctrl S1632 P2
54、&CtrlOP2CtrlMux1_0 P2CtrlMux2_0 P0CtrlMux4_0 P1CtrlMux11_0 P0CtrlMux12_0 P0CtrlMux13_0 P0CtrlMux14_0 P1CtrlMux5_2P2&CtrlOP2CtrlMux7_2P2&CtrlOP2CtrlMux8_2P6&CtrlOP2CtrlMux9_2P3&CtrlOP2CtrlMux10_2P3&CtrlOP2CtrlMux11_2P4&CtrlOP2CtrlMux12_2P4&CtrlOP2CtrlMux13_2P4&Ctrl
55、OP2CtrlMux14_2P5&CtrlOP2CtrlMux22_2P2&CtrlOP2 根据数据通路根据数据通路( (表表2.2)2.2)以及以及指令码控制信号指令码控制信号CtrlOPCtrlOP22给出寄存器控制信号和选给出寄存器控制信号和选择器控制信号。择器控制信号。计算机学院32计算机学院32工程综合方法工程综合方法指令集数据通路指令集数据通路大综合大综合 求求CPUCPU部件控制逻辑公式部件控制逻辑公式 求求CPUCPU数据通路集合数据通路集合 求求CPUCPU数据通路控制逻辑公式数据通路控制逻辑公式计算机学院33计算机学院33综合寄存器控制信号综合寄存器控制信号
56、Ctrl S1632 P2&CtrlOP2 CtrlA P3&CtrlOP1 |P3&CtrlOP2 CtrlALUOut P1|P5&CtrlOP1 | P5&CtrlOP2 CtrlB P3&CtrlOP1 |P3&CtrlOP2 CtrlIR P1 CtrlMemRead P0 CtrlPC P2 CtrlRegsRead1 P2&CtrlOP1 |P2&CtrlOP2 CtrlRegsRead2 P2&CtrlOP1 CtrlRegsWrite P6&CtrlOP1 |P6&CtrlOP2 合并指令的寄存器合并指令的寄存器控制信号表控制信号表 排序排序 合并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 平面设计创业项目设计
- 培训学习分享
- 房屋买卖预定金协议
- 家具制作工艺标准协议
- 总体规划管理与区域发展研讨会协议
- 开会心理小课件
- 口腔护理新手培训课件
- 低压干式变压器操作
- 企业策划保证金合同
- 工程造价预算与审核协议
- 草地植物多样性沿海拔梯度分布特征及其驱动因素
- 偏瘫患者更换衣物护理
- 探索肠道菌群对免疫系统影响机制
- 2025年农业农村部科技发展中心面向社会公开招聘2人管理单位笔试遴选500模拟题附带答案详解
- 口腔三基三严试题及答案
- 矿山开工报告范本
- AS3000-2007电气安装布线规范(中英文)
- 血管导管相关感染预防与控制指南课件
- 基于YOLOv5深度学习模型的车牌识别系统设计
- 四年级下册英语(人教PEP)高频考点每日一练
- 《中国传统民居建筑》课件
评论
0/150
提交评论