APP下载

基于SOPC计算机系统结构应用型教学探索

2011-12-31朱仕浪

计算机教育 2011年10期

  摘要:分析计算机系统结构课程的现状,研究目前流行的面向应用的SOPC嵌入式系统与本课程的关系,指出本课程的重要性。提出将SOPC嵌入式系统与计算机系统结构课程相结合的教学思路,并设计了教学的硬件平台和应用型实践教学的项目。
  关键词:SOPC;FPGA;应用型教学;软核处理器
  
  计算机系统结构是计算机科学与技术本科专业的一门专业基础课,该课程介绍计算机系统中硬件和软件的功能结构及相互转换关系,分析了现代计算机的体系结构,讨论了计算机系统结构的理论和相关技术。从原理、结构和实现技术等方面,侧重对RISC结构、流水线结构、阵列处理机、多处理机系统、智能计算机结构等现代计算机的系统结构进行了较深入的分析和探讨,使计算机专业的学生具有计算机系统结构的基础理论知识和培养学生具有一定的体系结构技术应用能力。为今后从事计算机系统及其应用的研究、开发、工程实现有重要的指导意义。
  但这样的一门课程,学生的学习积极性不高,与学生交流时,多数同学认为理论性太强,难度大,更主要的原因是在学生的思想认识上,认为学了没用。于是在课堂上不认真听讲,看一些自己认为有用的书,甚至出现逃课现象。也许是处于各种原因,在一些高校计算机系统结构这门课已经从教学计划中抹掉了,或者把它与计算机组成原理结合,可能只占很少的份额。在2010年5月9日,由教育部高等学校计算机科学与技术专业教学指导分委员会和高等教育出版社组织召开福建省高校计算机专业课程建设研讨会上,其他高校也同样存在学生对这门课的学习积极性不高,对应的实践教学难以开展的问题。
  如何寻找这门课程的出路,提高教学质量、教学效果,激发学生的学习兴趣呢?其实计算机系统结构的理论和相关技术与SOPC(可编程的片上系统)有着紧密的联系。SOPC是一个面向应用、崭新的、富有生机的嵌入式系统。在计算机系统结构教学中,将课
  本的理论知识结合到SOPC的应用开发,加强理论与实践相结合,增加应用型实践教学,必将能激发学生的学习兴趣。
  1SOPC的系统概述
  随着IC设计和工艺水平不断提高,在一个半导体芯片上完成系统级的集成已成为可能,数字技术进入片上系统SoC(System on Chip)时代。SOPC是Altera公司提出来的一种灵活、高效的SoC解决方案,它将CPU、存储器、I/O接口、DSP模块、低电压差分技术(LVDS)、时钟数据恢复技术(CDR)以及琐相环(PLL)等系统设计所必须的模块集成到一片FPGA上,构成一个可编程片上系统。SOPC是PLD和ASIC技术的融合的结果。它具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能,是半导体产业未来发展的方向[1]。
  实现SOPC的一种解决方案是应用FPGA生产厂商Altera公司推出的NiosⅡ嵌入式处理器。NiosⅡ是一种面向用户的可以灵活定制的通用RISC(精简指令集架构)的嵌入式CPU,NiosⅡ以软核的方式提供给用户,并专为在Altera的FPGA上实现优化,用于SOPC集成并在FPGA上实现。用户根据设计要求,利用QuartusⅡ和SOPC Builder对NiosⅡ及其外围系统进行构建,使嵌入式系统在硬件结构、功能特点、资源占用等全方面满足用户系统设计要求。另外在基于NiosⅡ软核嵌入式的SOPC系统设计中可以通过定制指令的方式,为嵌入式处理器配置专有硬件加速器,以便能更有效地处理含有算法模型的程序,从而可以利用FPGA的可重配置的特性向FPGA配置相应的嵌入式系统,从而使SOPC系统高效高速工作。
  SOPC在应用和理论知识构成上达到了一种有机融合,由于同时涉及底层的硬件系统和相应的软件设计,SOPC技术使开发者能够在软硬件系统的综合与构建两个方面发挥自己的创造力和想象力,从而多角度、多因素和多结构层面对自己的设计进行优化。SOPC从设计层次上讲分为硬件设计和软件设计;从设计流程上讲是典型的自顶向下的流程;从设计手段上讲,它更广泛和深入地利用计算机这一科研开发的主流技术,在这一平台上设计者可以最大限度地优化系统的性能。SOPC系统的开发流程如图1所示[2]。
  图1SOPC系统开发流程
  2应用型硬件平台搭建
  实验室原有的设备只能用实验箱进行验证性的实验,各种实验集中在一个实验箱上,线路繁杂,出错率高,且设备陈旧,实验的成功率很低,不能达到预期的目的和效果。在这种条件下,要让学生完成某种模型机的设计难度较大,没有多大的实用价值,不能激发学生的兴趣。搭建一个基于FPGA的SOPC嵌入式系统硬件平台,在这样一个具有设计灵活,可裁减、可扩充、可升级并具备软硬件系统可编程的功能系统上,学生可以更自由发挥。利用现有的IP核进行裁剪,设计自己需要的CPU,根据需要增设特殊的功能指令,实用性强,难度不大,有利于激发学生的兴趣。
  硬件平台以满足实验最基本需要为主,提供一个简单、清晰和接线方便的FPGA最小系统,降低硬件系统的复杂性,最小系统实验平台如图2所示。系统的核心芯片采用Altera公司的FPGA芯片Cyclone EP