高小鹏-20131130-计算机人才系统能力培养教学实践-V2_第1页
高小鹏-20131130-计算机人才系统能力培养教学实践-V2_第2页
高小鹏-20131130-计算机人才系统能力培养教学实践-V2_第3页
高小鹏-20131130-计算机人才系统能力培养教学实践-V2_第4页
高小鹏-20131130-计算机人才系统能力培养教学实践-V2_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高小鹏高小鹏北京航空航天大学计算机学院北京航空航天大学计算机学院20201313年年1212月月1 1日日1第2届高等学校计算机类专业人才培养高峰论坛浙江,杭州计算机人才系统能力培养教学实践北京航空航天大学计算机学院北京航空航天大学计算机学院 基本思路 课程群体系 系统能力分级 工程化方法汇报提纲2北京航空航天大学计算机学院北京航空航天大学计算机学院系统能力培养的基本思路20062007200820092010201120122013系统能力 2006:首次工程教育认证后,引发了对毕业生核心能力的思考 结论:系统能力 系统能力培养的特点:综合性与形成性q综合性:综合运用多种知识解决系统级问题q

2、形成性:能力不是一蹴而就,需逐步形成 基本思路q开发“CPU、OS、编译器”计算机系统q多门课程联动,逐步达成CPU编译器编译器OS北京航空航天大学计算机学院北京航空航天大学计算机学院 计算机系统的3个基石:CPU、OS、编译器qCPU:指令集、流水线、调度、存储层次、总线。qOS:中断、任务切换、存储管理、I/O。q编译器:循环优化、指令调度。q三者密切配合、相互影响、互相渗透 本科生开发一个功能型计算机系统qL1:理解硬件系统的运行原理qL2:掌握硬件系统及系统软件构造方法qL3:领悟软/硬件相互作用关系为什么选计算机系统作为目标?4CPU编译器编译器OS北京航空航天大学计算机学院北京航空

3、航天大学计算机学院 现象:2006,能力较弱 原因:教学以让学生了解知识为目标,不是以学生设计系统为目标q过于强调知识的全面性,课时总容量不足,学生难以深入学习q虽也重视了课程体系建设,但课程衔接不足当时存在问题分析5对象对象开发能力开发能力CPU自定义指令集;指令规模10+条OS分析代码;系统调用级编程编译器自定义文法;生成虚拟机指令;优化弱北京航空航天大学计算机学院北京航空航天大学计算机学院精简课程群6 2006:计算机系统相关课程(5门)q模拟电路、数字逻辑、计算机组成原理、操作系统、编译技术q均为必修课:课程总周期过长q课程体系衔接:有脱节、有重叠 建设:计算机系统课程群(4门)q数字

4、逻辑、计算机组成原理、操作系统、编译技术q数字逻辑:作为起步课程;从数字电路层面切入q模拟电路:选修课(体系结构方向必修课)北京航空航天大学计算机学院北京航空航天大学计算机学院课程群改革规划(2006) 教学目标:CPU,OS,编译器 技术路线q课程体系整合重构q实验体系物理综合北京航空航天大学计算机学院北京航空航天大学计算机学院 基本思路 课程群体系 系统能力分级 工程化方法汇报提纲8北京航空航天大学计算机学院北京航空航天大学计算机学院 数字逻辑q结合数理逻辑知识,讲授组合逻辑与时序逻辑原理q基于MIPS指令集,设计寄存器、加法器、移位器、控制器、多路选择器、计数器、比较器q引入HDL语言、

5、EDA工具 计算机组成q讲授计算机硬件工作原理q在部件设计基础上,实现MIPS指令集的功能型计算机系统q深化HDL语言、EDA工具应用 操作系统q讲授OS的各组成及其机理q实现MIPS的功能型OS 编译技术q讲授编译器的构造技术q实现MIPS的C编译器计算机系统课程群体系9北京航空航天大学计算机学院北京航空航天大学计算机学院计算机组成数字逻辑课程体系 数字逻辑q讲授组合逻辑与时序逻辑原理q设计寄存器、加法器、移位器、控制器、多路选择器等基础部件 计算机组成q讲授计算机硬件工作原理q在基础部件之上开发计算机硬件系统q实现MIPS ISA、中断、存储器、I/O等硬件抽象基础部件硬件抽象MIPS指令

6、集 中断控制器 存储器I/O北京航空航天大学计算机学院北京航空航天大学计算机学院编译技术操作系统课程体系中断 切换 虚实进程管理内存管理设备管理文件系统硬件抽象MIPS指令集中断控制器存储器I/O词法分析语法分析中间代码代码生成代码优化 操作系统q理解中断、现场切换等核心机制及软硬件依赖关系q实现基于MIPS程序的进程管理、内存管理、文件系统、设备管理等 编译技术qC0生成MIPS汇编q强化代码优化11北京航空航天大学计算机学院北京航空航天大学计算机学院基础部件电路原理实验体系数字逻辑 目标:掌握数字电路设计方法,开发MIPS处理器的基础部件 实验体系q第1层次:电路原理u组合逻辑、时序逻辑u

7、触发器/寄存器、电路特性q第2层次:计算与控制u加/减、乘/除、有限状态机q第3层次:基础部件u译码器、ALU、数据选择器、计数器、乘法单元、存储器计算&控制12北京航空航天大学计算机学院北京航空航天大学计算机学院实验体系计算机组成 目标:实现MIPS计算机 实验体系qMIPS各型指令数据通路实验qMIPS多周期数据通路实验qMIPS多周期控制单元实验13北京航空航天大学计算机学院北京航空航天大学计算机学院实验体系操作系统 目标:实现小型MIPS操作系统 实验体系q围绕MIPS,采用层次化设计原则q6个综合型实验,构造一个相对完整的操作系统u内核制作与bootu存储管理u进程与中断u系

8、统调用u文件系统ushell14北京航空航天大学计算机学院北京航空航天大学计算机学院综合实验体系编译技术 目标:为MIPS开发C编译器 实验体系q面向MIPS,生成中间代码 q实现基本代码优化q完成具有现代编译器主要特征的小型编译器 q提供不同难度的选择u从PL/0生成P-CODEu从C0生成P-CODEu从C0生成MIPS汇编15北京航空航天大学计算机学院北京航空航天大学计算机学院统一的硬件实验平台MIPS CPU存储器存储器 数字逻辑、计算机组成、操作系统、编译技术16北京航空航天大学计算机学院北京航空航天大学计算机学院6年改革历程组建课程群团队顶层设计分布实施先遣小队首次完成MIPS处理

9、器开发数字逻辑首轮实验编译技术首先调整数字逻辑全面调整编译技术全面调整自主开发统一硬件实验平台数字逻辑全面实施编译技术全面实施全面重构硬件代码(特别是MIPS代码)OS调整模拟器OS全面实施模拟器/硬件计组引入HDL计组全面实施20062007200820092010201120122013系统能力 2006:启动;2007:规划、小组实施 5个轮次迭代;2012年市教学成果一等奖17北京航空航天大学计算机学院北京航空航天大学计算机学院CPU设计能力83%42%21%17%58%56%23%0%20%40%60%80%100%2009年2010年2011年示意型一般型完整型比较比较内容内容北航

10、北航(教改前教改前)北航北航(教改后教改后)BerkeleyMIT指令集自定义MIPS自定义自定义指令规模10+502232处理能力8位32位16位32完整CPUOS支持 工业标准的处理器q工业标准指令集uMIPS应用广泛q较完整的CPU设计u几乎覆盖定点指令u中断/异常u支持简单OS运行u有力支持后续课程北京航空航天大学计算机学院北京航空航天大学计算机学院OS设计能力 相对完整的OSq学生已可以完成较完整的操作系统设计与开发q操作系统与MIPS计算机硬件完整集成q与前序课程有序衔接,掌握完整软硬件开发比较比较内容内容北航北航(教改前教改前)北航北航(教改后教改后)Berkeley Harva

11、rd MITOS选型Linux/WindowsLinux/小OSNACHOS NACHOS 小OS能力层次分析/系统编程分析/设计分析/设计分析/设计分析/设计硬件PCMIPS模拟器/MIPS硬件MIPS模拟器MIPS模拟器PC小OS31430Linux745047Windows2336232010201120120%20%40%60%80%100%北京航空航天大学计算机学院北京航空航天大学计算机学院编译器设计能力 突出编译优化q参照国际一流大学课程建设趋势,加大优化部分比重q连续5年实施新实验体系q选择高难度实验的学生比例稳定在50%以上u其中90%以上学生可以完成高难度实验选择低难度实验1

12、1165958990未完成高难度实验30101067完成高难度实验61110859578200720082009201020110%20%40%60%80%100%北航北航(教改前教改前)北航北航(教改后教改后)BerkeleyCMUPrinston优化实验比重5%35%39%61%58%优化算法重点讲述469109北京航空航天大学计算机学院北京航空航天大学计算机学院 基本思路 课程群体系 系统能力分级 工程化方法汇报提纲21北京航空航天大学计算机学院北京航空航天大学计算机学院如何评价系统能力培养的达成度?22北京航空航天大学计算机学院北京航空航天大学计算机学院 DO-178B:5级安全q机载

13、软件安全等级 CMM:5级成熟度q软件开发能力 分级:标准和尺子q有利于量化评估q不断提升要求 各课独立设置借鉴软件开发23CMM:软件能力成熟度模型系统开发安全等级严重性说明接受频率(发生的风险)Level A灾难Extremely improbable( X 10-9)Level B危险Extremely remote(10-9 X 10-7)Level C重要remote(10-7 X 10-5)Level E无AllDO-178B:机载软件安全级模型北京航空航天大学计算机学院北京航空航天大学计算机学院CPU开发能力计算机组成原理24CPU开发能力等级指令集规模CPU特点155较完整定点

14、类指令;支持GCC;支持中断/异常/系统调用24550较完整定点类指令;支持GCC33040+常用的运算/存储/分支/置位/函数调用指令;手工汇编;可运行小型程序41020+基本的运算/存储/分支/函数调用指令;手工汇编;可运行简单程序5010简单的运算/存储/分支指令;手工汇编;示意型设计北京航空航天大学计算机学院北京航空航天大学计算机学院 基本思路 课程群体系 系统能力分级 工程化方法汇报提纲25北京航空航天大学计算机学院北京航空航天大学计算机学院 课程群关键节点:传统的重课/难课q承上启下,直接决定整体目标能否高质量达成qCPU实验体系具有较大规模和难度 实验教学目标:功能型CPU的设计

15、q指令集规模:50+条指令q可以运行由GCC编译产生的定点类程序q支持中断/异常计算机组成原理实验概述26北京航空航天大学计算机学院北京航空航天大学计算机学院 目的:让多数普通学生达成目标! 规模达到一定程度(如30+),须强调方法,否则:q少数优秀学生:靠天份能悟出来q多数普通学生:盲动失败挫折感 工程方法:可能不是最优的,但应该是简单与有效q具有普适性 简单有效:按照方法可以一步步的开发出复杂系统q要让学生拥有巅峰体验:原来我也能达到这个目标!为什么强调工程方法?27北京航空航天大学计算机学院北京航空航天大学计算机学院过去的教学方法:图解式案例教学 讲解典型指令的数据通路的构造过程 建立对

16、指令在数据通路中流动的直观认识 建立对数据通路基本组成的基本认识指令存储器AddrDataPC寄存器堆Read Reg1Read Reg2WriteRegWriteDataRead Data1Read Data2ADDUSUBUORILWSWBEQJALUZeroOvALU结果16扩展3201数据存储器AddrReadDataWriteDataPC计算PCIMMNPCPC+401226IM25:21IM20:161F012M1IM15:0M228北京航空航天大学计算机学院北京航空航天大学计算机学院 效率低下:新增指令导致对图的大量修改 复杂度高:指令集规模,图的复杂度q图的布局对于开发影响极大

17、 错误传递:一条指令的错误会长期存在并产生影响q修改错误,往往会导致对图的大量变更 难以追朔:大量设计过程难以复现q50+指令:会保留50+图吗? 跨度过大:从图到HDL,跨度大,缺乏中间层次图解式案例教学方法的不足29北京航空航天大学计算机学院北京航空航天大学计算机学院 效率低下:新增指令导致对图的大量修改 复杂度高:指令集规模,图的复杂度q图的布局对于开发影响极大 错误传递:一条指令的错误会长期存在并产生影响q修改错误,往往会导致对图的大量变更 难以追朔:大量设计过程难以复现q50+指令:会保留50+图吗? 跨度过大:从图到HDL,跨度大,缺乏中间层次图解式案例教学方法的不足30成效:学生

18、可以理解小规模指令集CPU的设计方法困难:学生尚难以将其推广至一般,难以开发更大规模指令集的CPU北京航空航天大学计算机学院北京航空航天大学计算机学院 目标:普通学生也能开发50+规模CPU 工程化方法:3类方法q单周期CPU设计工程方法(完成)q多周期CPU设计工程方法(完成)q流水线CPU设计工程方法(进行中)2012年秋季新探索:工程化方法31北京航空航天大学计算机学院北京航空航天大学计算机学院回顾:单周期数据通路PC、NPC计算单元指令存储器、数据存储器寄存器文件运算单元、扩展单元MUX指令存储器AddrDataPC寄存器堆Read Reg1Read Reg2WriteRegWrite

19、DataRead Data1Read Data2ADDUSUBUORILWSWBEQJALALUZeroOvALU结果16扩展3201数据存储器AddrReadDataWriteDataPC计算PCIMMNPCPC+401226IM25:21IM20:161F012M1IM15:0M232北京航空航天大学计算机学院北京航空航天大学计算机学院通过案例教学,教师总结出几个必备部件 数据通路表格:建立部件间的连接关系q记录了部件输入端的输入来源q忽略控制类信号q只保留数据类信号指令NPCPCIMRFALUDMWDataRDAB33北京航空航天大学计算机学院北京航空航天大学计算机学院单指令数据通路构造

20、的一般性方法 S1:阅读每条指令改写RTLq发现所有的新增需求 S2:对每个新增需求(2种处理方法)q合并至已有部件u修改已有部件设计描述:F,I,Oq需要新增部件u建立新增部件设计描述: F,I,O S3:对每个部件设置输入来源原则:u来源相同/相近u目的相同/相近34北京航空航天大学计算机学院北京航空航天大学计算机学院示例:ADDU指令NPCPCIMRFALUDMWDataRDABADDURTLRrdRrs+Rrt PCPC+4S1:阅读指令,翻译成RTL表述S2:根据RTL,确定部件间连接关系NPCPCALUIM15:11 RF.RD1 RF.RD235北京航空航天大学计算机学院北京航空

21、航天大学计算机学院36增加指令:ADDIU指令NPCPCIMRFS_EXTALUDMWDataRDABADDUNPCPCALUIM15:11RF.RD1 RF.RD2ADDIURTLRrtRrs+sign_ext(imm16) PCPC+4北京航空航天大学计算机学院北京航空航天大学计算机学院37增加指令:ADDIU指令NPCPCIMRFS_EXTALUDMWDataRDABADDUNPCPCALUIM15:11RF.RD1 RF.RD2ADDIUNPCPCALUIM20:16 IM15:0 RF.RD1S_EXTRTLRrtRrs+sign_ext(imm16); PCPC+4北京航空航天大学

22、计算机学院北京航空航天大学计算机学院多指令数据通路合并指令NPCPCIMRFS_EXTALUDMWDataRDABADDUNPC.NPCPCALUIM15:11RF.RD1 RF.RD2ADDIUNPC.NPCPCALUIM20:16 IM15:0 RF.RD1S_EXTLWNPC.NPCPCDMIM20:16 IM15:0 RF.RD1S_EXTSWNPC.NPCPCIM15:0 RF.RD1S_EXTRF.RD2。合并IM25:0 NPC.NPCPCALU|DM |NPC.PC4IM15:11|IM20:16|0 x1FIM15:0 RF.RD1RF.RD2|S_EXTRF.RD2 合并:

23、垂直方向归并,去除相同项 MUX自动综合:输入源多余1个的需设置MUXqMUX控制信号由控制器产生38北京航空航天大学计算机学院北京航空航天大学计算机学院数据通路设计的工程化方法for each 指令for each 新增需求case 可以合并至已有部件:修改部件设计描述、HDL建模:F,I,Ocase 需要新增部件:建立新部件设计描述、HDL建模:F,I,O增加新部件for each 部件设置输入来源按垂直方向合并数据通路,并去除相同项for each 输入来源多余1个的输入端部署1个MUX(MUX的输入规模为输入来源数)MUX设计定义、HDL建模单指令数据通路构造HDL建模:连接所有的部件

24、及所有的MUX多数据通路综合系统实现北京航空航天大学计算机学院北京航空航天大学计算机学院数据通路设计的工程化方法for each 指令for each 新增需求case 可以合并至已有部件:修改部件设计描述、HDL建模:F,I,Ocase 需要新增部件:建立新部件设计描述、HDL建模:F,I,O增加新部件for each 部件设置输入来源按垂直方向合并数据通路,并去除相同项for each 输入来源多余1个的输入端部署1个MUX(MUX的输入规模为输入来源数)MUX设计定义、HDL建模固定复杂度(单指令,对每条指令理解正确)HDL建模:连接所有的部件及所有的MUX极低复杂度较低复杂度北京航空航

25、天大学计算机学院北京航空航天大学计算机学院组建课程群团队顶层设计分布实施先遣小队首次完成MIPS处理器开发数字逻辑首轮实验编译技术首先调整数字逻辑全面调整编译技术全面调整自主开发统一硬件实验平台数字逻辑全面实施编译技术全面实施全面重构硬件代码(特别是MIPS代码)OS调整模拟器OS全面实施模拟器/硬件计组引入HDL计组全面实施新计组(数字逻辑工程方法)20062007200820092010201120122013系统能力新计组(2012秋季):1个行政班试验41北京航空航天大学计算机学院北京航空航天大学计算机学院新计组(2012秋季):工程化方法实践效果 2012年秋季,1个行政班成建制完成

26、CPU开发q均完成50+指令的CPU设计q支持简单OS运行q有力支持后续课程 学生有“巅峰体验”,有成就感42北京航空航天大学计算机学院北京航空航天大学计算机学院新计组(2013年秋季):全大班试验组建课程群团队顶层设计分布实施先遣小队首次完成MIPS处理器开发数字逻辑首轮实验编译技术首先调整数字逻辑全面调整编译技术全面调整自主开发统一硬件实验平台数字逻辑全面实施编译技术全面实施全面重构硬件代码(特别是MIPS代码)OS调整模拟器OS全面实施模拟器/硬件计组引入HDL计组全面实施新计组(数字逻辑工程方法)20062007200820092010201120122013新计组系统能力43北京航空

27、航天大学计算机学院北京航空航天大学计算机学院总结 系统能力培养:需通过系列课程连续实施q课程群知识体系、实验体系应紧密衔接 系统能力分级:是标尺,有利于量化评估 工程化方法:是普通学生达成较高目标关键所在q让学生有巅峰体验,激发学习热情44谢谢大家!敬请批评指正!北京航空航天大学计算机学院北京航空航天大学计算机学院 2013秋季实验体系(Project部分)注重形成性培养46序号描述检查时间描述检查方式1报纸售卖机9周阅读和运行Verilog设计代码和testbench。 现场问答2串行发送11周阅读设计要求和Verilog代码,补全代码,完成报告。笔试3单周期设计logisim12周用log

28、isim完成单周期CPU设计。注:支持MIPS-Lite指令集1) 现场增加指令2) 通过测试用例4单周期设计Verilog13周用Verilog完成单周期CPU设计。注:支持MIPS-Lite指令集1) 现场增加指令2) 通过测试用例5多周期数据通路14周用Verilog完成多周期数据通路设计。注:支持MIPS-C指令集,中断除外笔试6多周期CPU15周用Verilog完成多周期CPU设计。注:支持MIPS-C指令集,中断除外1) 提供模板,补全设计2) 通过测试用例7设备集成16周开发定时器模块,集成串口控制器模块。注:支持MIPS-C指令集注:提供串行通信控制器模块8系统验证下学期第2周

29、增加中断支持。在FPGA实验系统上成果运行。注:支持MIPS-C指令集 不能只依赖一个大作业! 2013秋季:每周1个projectq阅读实验指导书q完成project开发q撰写实验报告北京航空航天大学计算机学院北京航空航天大学计算机学院2013秋季Project3测试成绩 Project3:Logisim开发7条指令的单周期CPUqaddu,subu,ori,lw,sw,beq,lui北京航空航天大学计算机学院北京航空航天大学计算机学院2013秋季Project3测试成绩 Project3测试:实验课加1条指令,记录完成时间q标准测试汇编qMARS:运行标准测试汇编,观察程序运行结果qLogisim:修改设计,增加新指令;并对比调试 要求必须个人独立完成q采用监考方式48北京航空航天大学计算机学院北京航空航天大学计算机学院492013秋季Project3测试成绩 2个行政班,参加实验测试为47人q50人:有3人因故未参加测试 89%(42人):2.5小时内完成新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论