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

时间:2022-07-06 09:56:13

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

摘要:分析计算机系统结构课程的现状,研究目前流行的面向应用的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 EP1C6,它具有9 800个逻辑单元,用户I/O有185个,使用最新型的AS配置方式,配置芯片EPCS4。一个JTAG接口和一个AS接口用于系统的调试和下载,Flash闪存用于存储嵌入式操作系统uCLINUX和用户数据程序。该实验平台,学生可以创建一款不管在外设、存储器接口、性能特性等方面,以及在成本上都较为完美的处理器;可在一片FPGA内部实现多个处理器内核的设计;流水线的应用设计;uCLINUX嵌入式操作系统的移植等应用型操作。

图2最小SOPC系统实验平台

若需要有RS232、以太网、VGA、音频接口和USB2.0接口等,可以扩展一块副板,主板与副板间通过扩展I/O连接。

3应用型课程实践项目

从原理、结构和实现技术等方面,将RISC结构、流水线结构、多处理机系统和存储器的理论知识和相关技术结合到一个面向应用、崭新的、富有生机的SOPC嵌入式系统上,可从以下几个方面将课本的理论知识与SOPC系统结合。

1)Nios II处理器设计。

NiosⅡ嵌入式处理器是一种面向用户的可以灵活定制的通用RISC(精简指令集架构)的嵌入式CPU,Nios II以软核的方式提供给用户,并专为在Altera的FPGA上实现优化,用于SOPC集成并在FPGA上实现。学生通过使用Altera的QuartusII软件、SOPC Builder工具及NiosⅡ集成开发环境(IDE),将Nios II处理器嵌入到SOPC系统中。从系统的性能要求、从软硬件取舍的基本原则、从计算机系统的定量设计原理等方面的计算机系统结构的理论知识,来确定是否要为嵌入式处理器配置专有硬件加速器;如为嵌入式处理器配置专有硬件乘法加速器,以便能更有效地处理含有算法模型的程序,从而使SOPC系统高效高速工作。另外,根据需要为Nios II系统添加片内存储器、PIO、UART和片外存储器接口等。通过这个实验可以让学生加深对所学的理论知识的理解和应用,同时也加深了对计算机系统的理解。

2)μClinux操作系统的移植。

此项实验主要用嵌入式操作系统来验证自己定制的NiosⅡ嵌入式处理器是否可行,操作系统的移植是SOPC的一个组成部分。时也可与ARM等硬核嵌入式处理器做个比较。

3)流水线的应用设计。

利用流水处理机的工作原理,加快单位时间串行的任务数。这是也开发并行性的途径之一时间重叠,时间重叠(Time Interleaving)是在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,加快硬件周转来赢得速度。在这个应用设计中,可以让学生完成流水线加法器的设计、流水线乘法器的设计、流水线技术的FIR滤波器等应用型实验[3]。从而提高学生对流水处理机相关知识的理解。流水线加法器和流水线乘法器属于流水线分类中的部件级流水,流水线分类的概念在这也得以体现。

4) 多核系统的设计。

所谓多核是指在一个处理器中集成两个或多个完整的计算引擎(内核从而提高运行速率和降低能

耗,实现横向扩展提高性能)多核架构能够使目前的软件更出色地运行。并创建一个促进未来软件编写更趋完善的架构[4]。SOPC Builder允许用户轻松添加多个处理器到系统中。因此建立多处理器系统的难点已不再是硬件的排列和连接。而在于多个处理器的软件设计,使它们正常操作,相互之间不产生冲突。

在课程中讲授多处理机的知识。多处理机是指有两台以上的处理机,共享I/O子系统,机间经共享主存或高速通信络通信,在操作系统控制下,协同求解大而复杂问题的计算机系统。使用多处理机有两个目的,一个目的是想通过多台处理机对多个作业、任务进行并行执行来提高求解大而复杂问题的速度,从而提高系统的整体性能。另一个目的则是使用冗余的多个处理机,通过重新组织来提高系统的可靠性、适应性和可用性。多核和多处理机系统有很多相同的地方,可让学生应用多处理机的知识解决多核协调处理的问题。

4结语

计算机系统结构课程的理论和相关技术应用于SOPC系统远不止这些。随着SOPC系统的应用发展,计算机系统结构课程教学将会被更多人所重视。开展应用型实践教学,适当减少理论教学,或通过实践教学使学生自觉学习理论知识,而不是被动学习。学生能够学以致用,对激发其学习兴趣,提高毕业设计水平、工作就业质量等,都将起到积极的作用。

参考文献:

[1] 华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].北京:人民邮电出版社,2008:269-273.

[2] 任爱锋,初秀琴,常存,等.基于FPGA的嵌入式系统设计[M]. 西安:西安电子科技大学出版社,2004:197-198.

[3] 崔秀敏.基于FPGA的流水线技术设计与实现[J].科技信息,2010(7):76-77.

[4] 李欢,王莉莎,董丽丽.基于FPGA的多核嵌入式系统研究[J].现代计算机,2010(4):33-36.

Based on SOPC the Computer Architecture Application Teaching Discussion

ZHU Shilang

(College of Computer and Information, Fujian Agriculture and Forestry University, Fuzhou 350002, China)

Abstract: Analyzed the present situation of the Computer Architecture course, studied the present popular face application SOPC the embedded system and the curriculum relation, points out this curriculum importance. Proposed the teaching approach of integrated the SOPC embedded system and the Computer Architecture curriculum. Designed the teaching hardware platform and the project of application practice teaching.

Key words: System On Programmable Chip; FPGA; application teaching; soft nuclear processor

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:高职计算机基础课程双语教学改革 下一篇:计算机科学与技术特色专业建设