基于OpenRISC的计算机系统能力综合实验平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
143
计算机教育
Computer Education
第 3 期2018 年 3 月 10 日
中图分类号:G642
文章编号:1672-5913(2018)03-0143-04基于OpenRISC 的计算机系统能力
综合实验平台
王换招,张克旺
(西安交通大学 电子与信息工程学院,陕西 西安 710049)
摘 要:针对现有本科计算机专业教学中存在的教学内容陈旧、课程间内容缺乏有机衔接等问题,提出一种基于OpenRISC 的计算机系统能力综合实验平台,指出该平台能够为计算机系统能力培养所涉及的数字电路、计算机组成、操作系统、编译原理、嵌入式与接口等课程提供统一的贯通式平台,可有效提高各门课程的实验教学效率,说明其特点及在教学过程中的应用效果。
关键词:系统能力培养;
OpenRISC;综合实验平台0 引 言
计算机课程体系中设置了大量的计算机系统
相关课程,如数字逻辑电路、计算机组成原理、计算机系统结构、编译原理、操作系统、微型计算机接口技术、汇编语言程序设计、嵌入式系统等。
这些课程覆盖计算机软硬件系统的绝大部分知识,是计算机专业的主干课程,但学生在完成这些课程后,往往很难将知识有机组织在一起,形成对计算机系统的完整认知,具备相应的计算机系统分析、设计和验证能力。
目前,计算机教学体系以知识传授为主,忽略学生分析问题和解决问题能力的培养;各门课程讲授内容陈旧,无法满足计算机发展需求;各门课程教学内容缺乏统一目标,没有完善的内容过渡与衔接,导致学生所掌握的仅仅是一些分散的知识点,无法对计算机软硬件系统进行整体的理解,难以满足计算机系统能力培养的要求。
基于OpenRISC 开源处理器的系统能力培养实验平台,不仅能够为计算机系统相关的课程提供贯通式的实验平台,而且能够为计算机系统相关课程内容的改革提供“自上而下”的参考。
由于OpenRISC 平台采用业界广泛使用的流水RISC 架构处理器、gcc 编译器以及Linux 操作系统,因此相关课程以此平台为参考改革相关教学
与实验内容,能够实现课程间教学与实验内容的紧密连接和过渡,使各门课程教学实验内容有机组织在一起,为进一步培养学生的分析、设计与验证等系统能力奠定基础;同时,相关教学与实验内容同业界发展保持一致,可以有效满足社会对计算机专业的需求。
1 计算机专业教学普遍存在的问题
计算机系统能力是指能自觉运用系统观,理解计算机系统的整体性、关联性、层次性、动态性和开放性,并用系统化方法,掌握计算机硬软件协同工作及相互作用机制的能力,包括系统分析能力、系统设计能力和系统验证能力3个方面[1]。
传统计算机教学与实验以知识传授为主,对能力的培养没有足够的重视,最终导致学生能力普遍不强,难以满足社会需求。
结合实际教学实验过程,我们认为目前计算机各门课程以及相应实验存在以下问题。
首先,在课程内容方面,存在教学内容陈旧,无法满足社会应用需求的问题[2]。
例如,目前国内绝大多数学校的汇编语言课程仍然以8086为目标机器,但随着桌面应用的成熟,对桌面应用进行优化从而使用汇编的需求不多,真正需要进行汇编级别优化的往往是基于ARM 、MIPS 等
基金项目:西安交通大学项目“面向系统能力培养的计算机专业课程建设”
(1601Y)。
第一作者简介:王换招,女,副教授,研究方向为软件定义网络SDN,
zhangkw@。
2018
144
计算机教育
Computer Education
RISC 处理器的嵌入式应用;同样,计算机接口技术绝大多数以8086接口扩展为主,但目前发展迅速的嵌入式系统中极少采用Intel 架构处理器。
其次,在教学内容衔接上,各门课程独立规划,造成知识点冗余或者衔接关系脱节[3]。
例如,中断技术在计算机组成原理、汇编语言程序设计、计算机接口技术和嵌入式系统中都会讲解,但由于各门课程在内容上缺乏良好的衔接,学生在学习中断技术过程时,无法区分计算机组成原理中讲解的通用中断原理与汇编语言程序设计中8086中断系统这一特例,往往会在理解上有困难。
第三,在教学方法上,各课程采取分析式方法的较多,突出系统原理的讲解,而限于条件的限制,缺乏实际系统的结合,造成学生虽然掌握基本概念,但是难以转化对现有系统的认识。
例如,在介绍系统总线过程中,一般会讲解ISA 等简单总线的通信过程,但ISA 总线在当前计算机中极为罕见。
最后,在实验手段上,基本侧重于孤立的原理验证实验,而缺乏对复杂系统的综合设计实践。
虽然小规模实验可以达到让学生基本理解掌握系统运行原理和初步具备系统开发能力的目的,但是由于缺乏贯穿绝大多数课程内容的综合性实验,学生仍然不能贯通整个计算机系统的课程内容,掌握的仅仅是一些知识点[4]。
2 基于OpenRISIC的计算机系统能力培养教学改革
开展计算机系统能力培养工作,首先需要在课程体系、课程内容、实验内容等方面进行全面改革,结合计算机发展趋势,贯通各门课程教学内容,增加课程实验环节,逐步提高学生的计算机系统能力。
在课程体系方面,需要对教学大纲中与计算机系统能力相关的课程进行调整,调整的思路一般为“压缩授课学时、提高实验实践环节”。
例如,对数字电子技术、计算机组成原理、编译原理、操作系统原理、计算机接口技术与嵌入式系统课程学时进行压缩,为其中的数字电子技术、计算机组成原理、编译原理、操作系统原理设置专题实验,让学生有较充分的时间动手实践。
部分学校专门设置独立的“计算机系统综合”等专题实验,在上述实验基础上,进行有方向性的计算机系统设计,提高学生的计算机系统能力。
在课程内容方面,需要对各门课程中的重复内容进行压缩与合并,对一些比较陈旧的教学内容进行更新。
在课程体系改革过程中,相关课程教师承担教材编写、课件制作以及课程实验重新调整等众多任务,工作量大,此外,由于计算机技术的高速发展,教师需要深入了解一些新的技术或者方法相关细节,同样需要大量时间和精力的投入,因而各门课程教师对计算机能力培养具体实现的方式存在差异,如何协调各门课程教师建立统一的课程改革目标具有较大的难度。
如果采用“先制订目标、各门课程分别实现”这种“自下而上”的教学内容改革方法,在实践过程中存在较大的难度。
为此,我们基于OpenRISC 平台进行“自上而下”的教学内容改革,即相关课程以业界广泛使用的OpenRISC 平台(流水RISC 处理器、gcc 编译器、Linux 操作系统)为基础。
3 OpenRISC综合实验平台
国家计算机系统能力培养工作小组提出的
“一个CPU 、一个编译器、一个操作系统”
方案能够很好地体现计算机能力培养的具体方法。
设计一个什么样的CPU ,编写一个什么样的编译器,实现一个什么样的操作系统是很重要的问题。
选择CPU 、编译器、操作系统的一个重要因素就是社会需求因素,也就是设计的CPU 、编译器和操作系统本身或者设计方法能够在学生后续的就业中得到应用。
目前,CPU 设计的主流是RISC 处理器,使用最广泛的编译器是gcc ,普及率最高的操作系统是Linux 操作系统。
如果学生在相关基本知识的基础上,已经能够设计简单的RISC 处理器,掌握gcc 编译器的核心机制以及移植方法,比较熟悉Linux 操作系统的管理机制和驱动,就不仅能够培养学生的计算机系统能力,而且可以为学生将来所从事的专业奠定良好的基础。
建议选择Open Source 的RISC 处理器OpenRISC 作为课程体系改革的目标。
OpenRISC 处理器在GPL 协议下开放源代码,具有完全的开源工具链,其中包含gcc 编译器;Linux 操作系统已经在该处理器上完成移植,并且开放源代码。
3.1 OpenRisc 的主要特点
采用免费开放的32/64bit RISC 架构。
用V erilog
第 3 期
145
实验与实训
HDL (硬件描述语言)实现基于该RISC 架构的RTL (寄存器传输级)描述。
具有完整的工具链,包括开源的软件开发工具、C 语言实现的CPU 仿真模型、操作系统以及软件应用所需的函数库。
为配合基于OpenRISC 处理器的实验,我们设计了基于Zynq ZC7020的实验平台,该平台以Xilinx ZC7020处理器为核心,片上资源包括85K 逻辑单元/53.2K 查找表和3.8M 片内RAM 。
板上
存储资源包含32MByte 32位宽
SRAM 、64MByte 32位宽SDRAM
和16MByte NorFlash 。
板上IO 资源包括1个UART 收发器、1个10M/100M 以太网物理层、1个
TFT LCD 、若干组LED 和拨码开关等。
该实验平台包含的丰富资源可以满足数字逻辑课程、计算机组成
原理课程、操作系统课程、编译原理课程等核心课程,以及为计算机接口技术、嵌入式技术等专业课程提供统一的实验平台。
目前可以在此平台进行的数字逻辑实验包括:①组合逻辑实验:译码器实验、七段码显示管控制器设计、多路选择器设计与实现、全加器设计与实现;②时序逻辑实验:锁存器与触发器设计实验、同步时序电路实验;③自动机实验;④计数器实验;⑤寄存器堆设计实验;⑥移位寄存器实验;⑦计数器/定时器设计。
在此平台上进行的计算机组成实验包括随机访问存储器RAM 实验、RISC CPU 的指令扩展、RISC CPU 的中断实验、单周期RISC CPU 设计、多周期RISC CPU 设计、流水RISC CPU 设计和简单SOC 系统综合实验。
3.2 基于OpenRISC 的实验平台软硬件系统架构
硬件实验方面,数字逻辑实验的译码器、多路选择器、寄存器堆、移位寄存器等实验内容与计算机组成实验紧密衔接。
编译原理实验主要针对OpenRISC 处理器gcc 编译器展开;操作系统原理实验主要针对运行于OpenRISC 处理器的Linux 操作系统的板级支持包(BSP )以及串行口、以太网等设备的驱动展开。
这两部分内容相对独
立,但都是围绕前期设计的OpenRISC 处理器展开,学生对处理器的指令集等内容都已经非常熟悉,方便将精力集中在编译器和操作系统自身。
OpenRISC 架构如图1所示。
图1 OpenRISC 架构
Power
Management
Debug Unit
Tick Time
Programmable
Interrupt Controller
CPU
Instruc ƟŽŶ
MMU Instruc ƟŽŶ Cache Data Cache Data MMU
Wishbone
႟Ԧ༪
UART Controller
MII Controller
Libc/ucLib gcc Linux/uClinux
༪Ԧ
႓ႰԦ
4 采用基于OpenRISC的综合实验平台的优点
(1)贯通式教育。
各门课程实验内容围绕OpenRISC 这样一个计算机系统展开,教学工作目标明确,针对性强。
目标明确的贯通式教学实验能够调动学生的学习积极性。
(2)明确的教学与实验目标。
传统从下向上的课程设计方法是各门课程相关教师通过讨论得到一个最终的目标,但受传统思维定势等方面因素的影响,各门课程对最终所要实现的目标往往不明确。
OpenRISC 是一个比较成熟的开源系统,有成熟的编译工具链和操作系统支持。
在现有平台基础上,各门课程只需要对相关的教学与实验内容进行设计,我们称这种方式为“自上而下”的课程设计方法。
这种设计方法的好处是可以有效减少课程之间的协调工作,而这部分工作在涉及多门课程调整时工作量巨大。
(3)面向社会需求。
在处理器领域,RISC 处理器占绝大多数,甚至国内外微电子企业推出基于OpenRISC 的处理器产品。
基于OpenRISC 处理器的学习和实验,能够为学生打下坚实的处理器设计基础,提高其在该领域的就业竞争力;在操作系统领域,Linux 操作系统已经占据了移动
2018
146
计算机教育
Computer Education
终端的绝大多数市场,针对Linux 的操作系统移植、驱动开发等能够直接接轨企业需求;在编译器工具链方面,gcc 是目前Linux 等操作系统广泛支持的编译环境,针对gcc 以及工具链的移植优化人才是目前国内外企业急需的紧缺人才。
5 结 语
基于OpenRISC 的综合实验平台不仅能够为
计算机系统相关的各门课程提供贯通式的实验平台,而且能够为面向计算机系统能力培养的教学改革提供参考依据。
“自上而下”的方法能够有效协调各门课程的教学内容改革,为进一步提高计算机系统能力培养奠定基础。
在此基础上,我们将详细设计和规划各门课程的教学与实验内容,顺利完成计算机系统能力培养的课程改革任务。
参考文献:
[1]
刘卫东, 张悠慧, 向勇, 等. 面向系统能力培养的计算机专业课程体系建设实践[J]. 中国大学教学, 2014(8): 106-107.[2] 何静媛, 朱征宇. 高校计算机专业实践教学改革研究[J]. 计算机教育, 2010(2): 25-27.
[3] 赵若阳, 李宁, 库少平. 计算机硬件课程体系及内容改革的思考[J]. 计算机教育, 2006(3): 47-49.[4]
崔永利, 李妍. 计算机硬件实验教学改革与实践[J]. 实验室研究与探索, 2006, 25(3): 361-362.
(编辑:宋文婷)
参考文献:
[1] 段小焕, 严玮, 张士辉.以校企合作为平台建立工学结合的专业人才培养方案[J]. 实验技术与管理, 2014(4): 134-138.[2] 张静, 鲁团花. 应用型成人教育校企合作模式的构建分析[J]. 继续教育研究, 2017(8): 46-48.[3] 邢迎春.基于应用型人才培养的校企合作模式探究[J]. 西部素质教育, 2017(9): 109.
[4] 卜天然, 吕立新, 唐云龙. 新形势下高职计算机类专业校企合作模式的研究[J]. 电脑知识与技术, 2017(15): 132-133.[5] 张士辉, 朱冬光, 王国英. 计算机网络相关专业校企合作创新人才培养模式研究[J]. 实验技术与管理, 2017(2): 189-193.[6] 许戈平. 专业与企业岗位对接的专业人才培养方案研究[J]. 中国电力教育, 2012(3): 62-63.[7] 王晓波, 曾明星, 周清平. 校企合作共容利益机制研究[J]. 实验技术与管理, 2014(2): 146-150.[8]
孔苏. 地方本科高校转型发展背景下应用型人才培养模式研究[D]. 南宁: 广西师范学院, 2015.
(编辑:孙怡铭)
考试、毕业测评、就业率、企业对教学评估的反馈信息,调整教学内容和方法;根据考核,对教师进行奖惩;根据教学评估,发现大纲和课件问题,修改大纲[8]。
6 结 语
学校和企业,共同制订人才培养计划,及
时调整人才培养计划,坚持从岗位工作需求出发,确保人才培养计划动态更新,依托中兴通信ICT 、甲骨文OAEC 、北京智联友道科技有限公司、思科网络等企业平台,建立产教深度融合、协同育人的人才培养模式,实现专业链条和产业链、课程内容和职业标准、教学过程和生产过程对接,按照“八个共同”要求,提高了应用型人才培养质量。
(上接第142页)。