04-11
2016
龙芯教学实验平台:面向系统能力培养的计算机教学改革利器
众所周知,cpu和操作系统是计算机系统的核心,也是我国信息技术中的薄弱部分。与此相关的《数字逻辑》、《计算机组成原理》、《计算机体系结构》、《操作系统》等课程是计算机、软件工程等专业的重要基础课程。虽然中国计算机专业课程体系完善、课程内容成熟,但在高素质计算机专业人才的培养方面还存在一些普遍性问题,并直接导致我国计算机领域的教育更多的还是教学生如何“用”计算机而不是“造”计算机。而龙芯教学实验平台,则对培养学生对计算机的追求,培养学生的系统能力,教学生如何“造”计算机有着非同寻常的意义。
中国计算机专业人才培养存在的问题
一是中国计算机专业各课程大多独立设计和实施,各门课程独立规划、知识冗余及衔接脱节。计算机专业课程具有很强的系统性,难以分隔,若要真正掌握知识,就必须把所有知识点融汇贯通。而在现今的教学体系中,虽然每门课程是一个独立的知识体,强调完整性,相关知识比较全面。但是前后课程知识不能有效整合与衔接,课程间知识的重复比较严重。这些因素一方面使得学生难以系统地理解课程知识体系;另一方面也未能提供给学生完成复杂系统开发所需要的充足时间。
二是突出原理性、分析式教学方法,缺乏工程性、综合式教学方法。课程教学往往突出原理性知识的传授,注重是什么,有什么,教学方式趋于死记硬背,计算机体系结构的诸多概念,对于学生教学而言仍然停留在概念阶段,由于计算机系统设计相当复杂,涉及底层的软硬件基础架构,加上往往没有讲授一套有效的工程性构建方法,学生虽然知道基本概念,却通常无法进行实践,基本不具备动手能力。
三是学习简单实验方法,缺乏开发具有工程规模系统的实践。传统实验教学中通常不会涉及较大的工程工作量,而是若干规模相对较小的简单实验,比如做一些简单的cpu指令设计,但却没有能力和配套充足的实验平台去进行一个全系统的学习实践。在缺乏足够的工程工作量的情况下,使得复杂系统中存在的较为深刻的问题难以暴露,并导致学生虽然经过了训练,但却因训练强度不足,不能对系统有较为深刻的认识,无法接触到现代计算机系统结构中的很多经典概念,也就无法完成具有工程规模的系统级开发。
龙芯教学实验平台
产学研是一个整体,不可割裂,要想真正培养出高素质的计算机人才,就离不开产业界的支持。基于上述背景,龙芯中科技术有限公司联合国内相关计算机科研与教育实力单位,以“教育部高等学校计算类专业教学指导委员会”提出的“在高校计算机类专业中推动系统能力培养”的重大课题为目标,开发了面向系统能力培养的系列化教学实验平台,弥补我国在系统能力教学培养方面缺乏实验平台与参考案例的不足,推动高校开展计算机专业课程改革。 ls-cpu-exb-001 体系结构与cpu设计教学实验系统 是针对《数字逻辑》、《计算机组成原理》、《计算机体系结构》、《操作系统》等计算机基础软硬件课程的实验教学需要而开发的新一代计算机实验系统。该实验平台由定制开发的教学实验主板和配套软件、代码及教材组成。其中教学实验板基于xilinx系列大容量fpga,面向实验教学环境进行硬件定制,提供包括内存控制器,串口、lcd显示屏,以太网接口,以及数码管、指示灯、拨码开关等各类丰富的输入输出控制接口,以满足不同的教学实验安排与硬件接口需求。
实验平台提供丰富完善的实验指导案例,案例设计从易到难,化繁为简,针对《数字逻辑》、《组成原理与体系结构》、《操作系统》提供详实的实验操作说明。为了降低教师上手操作难度,上述实验指导书为教师提供全套的实验案例源代码与操作说明文档。特别的,实验平台还专门为使用者设计了调试界面,通过硬件调试屏的帮助,能够大大降低把实验代码从仿真平台到实际fpga硬件上运行调试的难度。
该实验平台作为一个全系统的计算机运行环境,可使得使用者从真正意义上操作一个功能完备的工程化cpu设计。借助龙芯提供的cpu设计代码,实验系统可在 cpu平台基础上进行全系统的软件层设计,包括从启动bios到加载linux内核,该系统可提供完整的软件运行环境代码参考,使得学生不但能够了解处理器本身的工作原理,也能深入地了解驱动、内核、操作系统等底层软件的工作原理,展示一个真实完整的计算机运行过程。
ls-os-exb-001多功能操作系统教学实验系统是针对《计算机操作系统》、《linux操作系统》等课程实验教学所专门设计的教学实验系统。本实验系统基于龙芯mips多核cpu平台,并对基于bios/bootloader、标准linux内核以及定制教学内核进行源码开放,适用于多种教学层次的需求;并基于该cpu平台可运行标准linux操作系统,形成一台功能完整的全国产平台计算机,使学生能通过该平台 进行扩展实验,达到系统化、工程化实验能力的培养。
该实验平台由定制开发的龙芯3a/3b cpu主板、jtag调试器和配套软件、代码及教材组成。实验平台提供包括运行于cpu之上的bios及内核,所有io接口的驱动,配套编译器等软件和教学实验的软件代码,使学生能从底层进行实验调试,通过教学实验更好的理解操作系统的原理。
另外,该实验系统平台还可以支持多种标准的linux操作系统版本,可在实验平台上安装centos、fedora、debian等开源linux操作系统,以及中标麒麟、中科红旗、普华linux、深度(deepin)等国产品牌linux操作系统,以及android、vxworks操作系统。该实验系统平台作为一个功能完备的全国产计算机,在操作系统之上还支各类编程工具及软件,可在全国产计算机上进行计算机系统、编译器、编程语言设计、多媒体、数据库、计算机网络与应用等多门课程的实验教学。
此外,龙芯公司还针对并行计算和物联网领域开发了高性能-并行计算教学实验系统和嵌入式-物联网综合实验系统两款教学实验系统。 ls-para-exb-001高性能-并行计算教学实验系统针对高等院校计算机、软件工程等本科及研究生专业开设的《并行计算》、《并行算法实践》、《并行程序设计》、《计算机体系结构》(含并行)和《计算机操作系统》(含并行)等课程的实验教学需要而开发,该实验平台由多路处理器模块和文件系统模块组成。处理器板的设计可满足多种并行层次应用上的需求。因此,利用该处理板可以构建实验平台,进行计算机体系结构教学在多种并行层次上的教学实验。 ls-iot-syx-005嵌入式-物联网综合实验系统是针对各级各类高校以及科研机构研发的新一代物联网实验箱,是目前市场上唯一一款可以支持在线编程(无需jtag烧写器和专门的编程软件)的物联网实验箱,也是市场上唯一一款使用龙芯cpu的物联网实验箱。ls-iot-syx-005型综合实验箱中包含6 个支持zigbee 通信的传感节点、4 个传感器子板(包括:温湿度传感器、光强传感器、超声测距传感器、姿态传感器、陀螺仪、伺服电机、直流电机、语音识别模块)、1 个高频rfid 读头(另配高频卡),1 个龙芯2h高性能嵌入式节点组成。可以支持物联网、rfid、单片机、嵌入式、无线网络、以太网各种技术内容,并具有自主开放的特点。
结语
龙芯除了开发一系列教学硬件平台之外,也积极构建龙芯开源社区,通过“源码开放、免费下载”的方式。社区鼓励和支持国内外机构和开源爱好者共同参与龙芯基础软件生态建设。 目前,龙芯开源社区已有开源项目有:
底层系统软件:kernel、pmon
基础设施:c库、数学库、基础图形库、ffmpeg媒体库
工具链:gcc、perf、oprofile、llvm
api与平台软件:java、qt图形、browser浏览器、自动化测试工具
操作系统平台:loongnix操作系统、vxworks
龙芯下一步将进一步开放,除软件开源外还将对龙芯硬件部分进行开源,通过系列学习,使高校学生不仅仅可以使用计算机,还可以设计制造计算机,甚至设计属于自己的cpu。
中国计算机专业人才培养存在的问题
一是中国计算机专业各课程大多独立设计和实施,各门课程独立规划、知识冗余及衔接脱节。计算机专业课程具有很强的系统性,难以分隔,若要真正掌握知识,就必须把所有知识点融汇贯通。而在现今的教学体系中,虽然每门课程是一个独立的知识体,强调完整性,相关知识比较全面。但是前后课程知识不能有效整合与衔接,课程间知识的重复比较严重。这些因素一方面使得学生难以系统地理解课程知识体系;另一方面也未能提供给学生完成复杂系统开发所需要的充足时间。
二是突出原理性、分析式教学方法,缺乏工程性、综合式教学方法。课程教学往往突出原理性知识的传授,注重是什么,有什么,教学方式趋于死记硬背,计算机体系结构的诸多概念,对于学生教学而言仍然停留在概念阶段,由于计算机系统设计相当复杂,涉及底层的软硬件基础架构,加上往往没有讲授一套有效的工程性构建方法,学生虽然知道基本概念,却通常无法进行实践,基本不具备动手能力。
三是学习简单实验方法,缺乏开发具有工程规模系统的实践。传统实验教学中通常不会涉及较大的工程工作量,而是若干规模相对较小的简单实验,比如做一些简单的cpu指令设计,但却没有能力和配套充足的实验平台去进行一个全系统的学习实践。在缺乏足够的工程工作量的情况下,使得复杂系统中存在的较为深刻的问题难以暴露,并导致学生虽然经过了训练,但却因训练强度不足,不能对系统有较为深刻的认识,无法接触到现代计算机系统结构中的很多经典概念,也就无法完成具有工程规模的系统级开发。
龙芯教学实验平台
产学研是一个整体,不可割裂,要想真正培养出高素质的计算机人才,就离不开产业界的支持。基于上述背景,龙芯中科技术有限公司联合国内相关计算机科研与教育实力单位,以“教育部高等学校计算类专业教学指导委员会”提出的“在高校计算机类专业中推动系统能力培养”的重大课题为目标,开发了面向系统能力培养的系列化教学实验平台,弥补我国在系统能力教学培养方面缺乏实验平台与参考案例的不足,推动高校开展计算机专业课程改革。 ls-cpu-exb-001 体系结构与cpu设计教学实验系统 是针对《数字逻辑》、《计算机组成原理》、《计算机体系结构》、《操作系统》等计算机基础软硬件课程的实验教学需要而开发的新一代计算机实验系统。该实验平台由定制开发的教学实验主板和配套软件、代码及教材组成。其中教学实验板基于xilinx系列大容量fpga,面向实验教学环境进行硬件定制,提供包括内存控制器,串口、lcd显示屏,以太网接口,以及数码管、指示灯、拨码开关等各类丰富的输入输出控制接口,以满足不同的教学实验安排与硬件接口需求。
实验平台提供丰富完善的实验指导案例,案例设计从易到难,化繁为简,针对《数字逻辑》、《组成原理与体系结构》、《操作系统》提供详实的实验操作说明。为了降低教师上手操作难度,上述实验指导书为教师提供全套的实验案例源代码与操作说明文档。特别的,实验平台还专门为使用者设计了调试界面,通过硬件调试屏的帮助,能够大大降低把实验代码从仿真平台到实际fpga硬件上运行调试的难度。
该实验平台作为一个全系统的计算机运行环境,可使得使用者从真正意义上操作一个功能完备的工程化cpu设计。借助龙芯提供的cpu设计代码,实验系统可在 cpu平台基础上进行全系统的软件层设计,包括从启动bios到加载linux内核,该系统可提供完整的软件运行环境代码参考,使得学生不但能够了解处理器本身的工作原理,也能深入地了解驱动、内核、操作系统等底层软件的工作原理,展示一个真实完整的计算机运行过程。
ls-os-exb-001多功能操作系统教学实验系统是针对《计算机操作系统》、《linux操作系统》等课程实验教学所专门设计的教学实验系统。本实验系统基于龙芯mips多核cpu平台,并对基于bios/bootloader、标准linux内核以及定制教学内核进行源码开放,适用于多种教学层次的需求;并基于该cpu平台可运行标准linux操作系统,形成一台功能完整的全国产平台计算机,使学生能通过该平台 进行扩展实验,达到系统化、工程化实验能力的培养。
该实验平台由定制开发的龙芯3a/3b cpu主板、jtag调试器和配套软件、代码及教材组成。实验平台提供包括运行于cpu之上的bios及内核,所有io接口的驱动,配套编译器等软件和教学实验的软件代码,使学生能从底层进行实验调试,通过教学实验更好的理解操作系统的原理。
另外,该实验系统平台还可以支持多种标准的linux操作系统版本,可在实验平台上安装centos、fedora、debian等开源linux操作系统,以及中标麒麟、中科红旗、普华linux、深度(deepin)等国产品牌linux操作系统,以及android、vxworks操作系统。该实验系统平台作为一个功能完备的全国产计算机,在操作系统之上还支各类编程工具及软件,可在全国产计算机上进行计算机系统、编译器、编程语言设计、多媒体、数据库、计算机网络与应用等多门课程的实验教学。
此外,龙芯公司还针对并行计算和物联网领域开发了高性能-并行计算教学实验系统和嵌入式-物联网综合实验系统两款教学实验系统。 ls-para-exb-001高性能-并行计算教学实验系统针对高等院校计算机、软件工程等本科及研究生专业开设的《并行计算》、《并行算法实践》、《并行程序设计》、《计算机体系结构》(含并行)和《计算机操作系统》(含并行)等课程的实验教学需要而开发,该实验平台由多路处理器模块和文件系统模块组成。处理器板的设计可满足多种并行层次应用上的需求。因此,利用该处理板可以构建实验平台,进行计算机体系结构教学在多种并行层次上的教学实验。 ls-iot-syx-005嵌入式-物联网综合实验系统是针对各级各类高校以及科研机构研发的新一代物联网实验箱,是目前市场上唯一一款可以支持在线编程(无需jtag烧写器和专门的编程软件)的物联网实验箱,也是市场上唯一一款使用龙芯cpu的物联网实验箱。ls-iot-syx-005型综合实验箱中包含6 个支持zigbee 通信的传感节点、4 个传感器子板(包括:温湿度传感器、光强传感器、超声测距传感器、姿态传感器、陀螺仪、伺服电机、直流电机、语音识别模块)、1 个高频rfid 读头(另配高频卡),1 个龙芯2h高性能嵌入式节点组成。可以支持物联网、rfid、单片机、嵌入式、无线网络、以太网各种技术内容,并具有自主开放的特点。
结语
龙芯除了开发一系列教学硬件平台之外,也积极构建龙芯开源社区,通过“源码开放、免费下载”的方式。社区鼓励和支持国内外机构和开源爱好者共同参与龙芯基础软件生态建设。 目前,龙芯开源社区已有开源项目有:
底层系统软件:kernel、pmon
基础设施:c库、数学库、基础图形库、ffmpeg媒体库
工具链:gcc、perf、oprofile、llvm
api与平台软件:java、qt图形、browser浏览器、自动化测试工具
操作系统平台:loongnix操作系统、vxworks
龙芯下一步将进一步开放,除软件开源外还将对龙芯硬件部分进行开源,通过系列学习,使高校学生不仅仅可以使用计算机,还可以设计制造计算机,甚至设计属于自己的cpu。