首页 > 范文大全 > 正文

计算机系统结构课程中多核实验的设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇计算机系统结构课程中多核实验的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文在现有最新文献的基础上,设计了计算机系统结构课程中的多核实验,体现在多核技术知识点在课程中的设计安排和多核实验的构建,并探讨了多核实验的设计目标。

关键词:计算机系统结构;多核;FPGA

随着计算需求的不断增长,由于复杂的芯片工艺与功耗成本限制,处理器的性能提升从原有的主频提高转为多内核发展。很快,一些大型机制造厂商,如IBM、Sun开始利用并行计算设计出了多核处理器(例如:IBM推出的CELL异构多核处理器,Sun公司推出的OpenSparc T1开源多核处理器[1]),这些处理器在一块芯片上集成多个计算内核,成倍地提高了计算速度。2006年,以Intel与AMD为代表的处理器制造商在年初和年底相继推出双核、四核处理器,紧接着,在2007年1月,Intel展示了配置两个四核处理器的八核计算机,这标志多核处理器开始全面进入市场,宣告计算机真正进入多核时代。

所谓“多核(Multi-core)”,即指一块芯片上集成多个处理核,各自拥有独立的控制和计算部件,无需共享关键资源。多核技术的发展给大学计算机教育带来新的课题,即在多处理器环境下,计算机系统结构、计算机操作系统、编译原理和应用软件的编程模型等都发生了很大的变化,促使大学计算机的教学需要做出针对性的变化。

计算机系统结构(Computer Architecture),作为研究计算机系统结构演化以及影响计算机硬件与软件系统设计的一门重要课程,在介绍计算机系统结构原理、分析设计方法、性能评价、发展趋势和新的实现技术上,需要增加多核技术这个重要的新知识点。在过去相当长的一段时间里,由于不具备开设计算机系统结构和多核技术相关实验的硬件平台和软件环境,

国内很多高校开设计算机系统结构课程时均未开设该课程的实验,特别是多核技术方面的实验,以至于学生没有实验教学和体验式实践而很难掌握该课程的知识。

为了更好地应对新的“多核”时代,电子科技大学的计算机科学与工程学院、信息与软件工程学院(原示范性软件学院)从2007年开始在计算机系统结构课程教学中引入多核技术。一是在理论教学上增加处理器体系结构、系统架构和程序设计内容,从三个方面给学生展现了一个比较完整的多核技术概览图景;二是在实验平台建设上设计多核实验,从实践环节上来锻炼学生的动手能力和提升其创新能力。

1实验教学的现状

在计算机系统结构课程中设计多核实验,须从计算机系统结构与多核知识的课堂教学成果入手,把握多核技术的理论教学动态。然后重点调查国内高校在多核实验教学方面的研究现状,为计算机系统结构中的多核技术实验设计提供必要的技术支持和可行性研究。

事实上,计算机系统结构课程重在培养计算机专业本科生的抽象思维能力、自顶向下系统分析和创新能力。全国重点和普通高校中几乎都开设了这门课程,出现了大量的课程教学与教研成果[2-12]。虽然课程教学成果多,但是实验教研成果小,而且还缺乏多核知识点的引入或多核体系更新不足。

作者简介:于永斌,男,副教授,研究方向为计算机系统结构、大规模集成电路设计与应用。

关于多核技术,清华大学的王小鸽[13]提供了理解多核技术、并行计算与未来计算机发展的视角。薛巍[14]从并行计算基础、高性能计算前沿技术研讨课、多线程/多核CPU逻辑设计短期课程等方面介绍了清华大学多核课程建设成果。吴继雁[15]简要地分析与总结了多核技术及发展趋势。北京交通大学计算机学院的刘近光和梁满贵[16]介绍了基于MIPS体系结构的多核处理器特点。浙江大学的陈天洲等[17-21]介绍了多核程序设计课程和进行了多核精品课程建设探索与实践,并主持了教育部骨干教师多核技术培训,对多核技术的教学科研做出了很大的贡献。武汉大学电子信息学院的杨剑锋等[22]介绍了“多核架构及编程技术”这一教育部-Intel精品课程建设成果。北京工业大学计算机学院的方娟[23]探讨了多核教学内容和教学模式。与这些多核技术的教学成果相比较,由于多核硬件实验平台与软件环境的难构造,使得多核技术方面的实验研究成果特别少。根据作者的可查文献,中山大学教学实验中心的程小雄和伍丽华[24]进行了基于FPGA的多核技术课创新实验探索,介绍了在现场可编程门阵列(FPGA,Field Programmable Gate Array)芯片和SoPC(片上可编程系统)、NOIS-II等工具软件所组成的软硬件平台下,开展多核技术课程创新实验的研究;并在新组成的多核系统中,移植和扩展了µC/OS-II操作系统,还设置了相关的实验环境和若干实验项目,对提高学生的综合实验能力具有积极的作用。

通过对计算机系统结构和多核技术课堂教研与实验教学动态的充分调研,我们不难得到多核技术在国内课堂与实验教学中的实施状况,虽有新增多核课程或修改原有课程(如:计算机系统结构、高级计算机体系结构或高等计算机系统结构)的教学内容,但较少涉及多核技术方面的实验教学。基于这样的背景,在计算机系统结构中设计多核实验,这对学生的实验能力和综合素质提高具有特别重要的作用。

2多核实验的设计

在计算机系统结构课程中设计多核实验,需要把握多核本质和其技术要点。多核的本质是为了解决高性能计算和并行计算问题,它在硬件和软件两个方面改变了传统的计算机系统结构。由此,多核技术的发展使得计算机系统结构的教学发生了变化,这种变化主要来自于多核技术所带来的新知识点。多核技术所涉及的知识点可归纳为硬件和软件两个方面,具体如下:

1) 多核硬件方面的知识点。

(1) 多核下的硬件设计技术,包括Cache与存储一致性、网络互联、IO管理;

(2)多核芯片与传统单核微处理器的区别,多核SoC(System on a Chip)芯片技术;

(3) 嵌入式多核芯片技术以及典型多核芯片:Cell、OpenSparc、Intel双核芯片、AMD双核芯片等;

(4) 并行体系与多核体系结构、多核平台结构与芯片组支持技术。

2) 多核软件方面的知识点。

(1) 多核操作系统、多核系统软件对并行编程的支持、多核API优化函数库,多核平台上编译工具;

(2) 多线程编程对多核的支持,Windows/Linux多核多线程编程技术;

(3) OpenMP多线程编程及性能优化,MPI (Message Passing Interface)编程及性能优化;

(4) 多核多线程程序的性能评测方法与工具。

基于上述的多核知识点,联系计算机系统结构原有实验,可在硬件平台和多核软件工具上设计多核实验。

多核实验,包括两个方面的实验内容。一是在FPGA芯片上设计多个同构或异构处理器内核,并进行操作系统的移植,最终做出一个可实际运行的多内核计算机系统;通过该实验,可增长学生对实验的兴趣,更深刻理解多核技术的知识点。二是Windows/Linux多核多线程编程实验,利用多核软件工具进行编程;在Windows平台下,利用Win32API、MFC或.Net Framework提供的接口来实现;若在Linux平台下,利用IEEE POSIX标准定义的API进行多线程编程。对于综合设计,可设计为学生课外的有关多核技术设计、实验或发展趋势调研的课程设计、创新设计或毕业设计,训练学生面对实际应用问题的综合分析、方案设计、多种程序设计结构的综合使用和实际工程问题的综合解决能力。

在计算机系统结构中设计多核实验,希望达到如下目标。

1) 设计多核实验,发展计算机系统结构课程教学与实验实践内容,按照Intel多核技术大学合作计划[25],实现高校与Intel的合作;

2) 理解普适的多核思想和硬件设计理念[26, 27],普及并行计算技术,使广大的本科生能在以后的程序设计与开发中可以发挥多核计算优势;

3) 通过多核实验,强化计算机专业本科生和未来的科研人员的实验动手能力,激发兴趣爱好

和创造潜能,帮助他们更有效地开展进一步的科研工作。

3结语

计算机系统结构中多核实验的尝试性设计,旨在教学实践中不断完善和创新,充分体现多核技术的革命。应用FPGA技术设计多核实验,是一种培养学生创新能力的尝试,一种引导学生从感性上理解多核技术内涵的实验创新,有利于促进计算机系统结构课程在多核时代的发展。

参考文献:

[1] David L. Weaver. OpenSPARCTM Internals[Z]. Sun Microsystems Inc,2008(10):1-36.

[2] 张晨曦,刘依. 探索新的教学模式和方法,建设计算机系统结构精品课程[J]. 计算机教育,2007(12):103-106.

[3] 张晨曦,王志英,刘依,等. 计算机系统结构课程内容体系的研究[J]. 计算机教育,2009(20):57-60.

[4] 吴晓华,徐洁,王雁东,等. 计算机系统结构课程教学探讨[J]. 实验科学与技术,2006(6):67-70.

[5] 王华,徐洁,王雁东,等. 计算机系统结构课程改革与探索[J]. 计算机教育,2009(10):15-17.

[6] 徐洁,王华,吴晓华, 等. 浅析SPEC基准测试程序集及评价指标[J]. 实验科学与技术,2010(6):21-24.

[7] 王志英,李宗伯,钱程东,等. “计算机体系结构”国家精品课程的特色与建设经验[J]. 计算机教育,2007(4):27-28.

[8] 姜晶菲,肖侬,王志英,等. “计算机体系结构”课程建设及改革思考[J]. 计算机教育,2009(18):3-5.

[9] 王志晓,夏战国,王凯. “计算机组织与体系结构”教学改革与探索[J]. 福建电脑,2009(2):213-214.

[10] 曲大鹏,薛建生,范铁生. 启发式教学法在计算机系统结构教学中的应用[J]. 辽宁大学学报,2010(3):218-220.

[11] 童小念,何秉娇,舒万能. 计算机系统结构实践教学环节的研究与实施[J]. 计算机教育,2008(3):66-68.

[12] 舒万能,童小念,何秉娇. 计算机系统结构实践教学体系研究[J]. 科技信息,2009(5):5-6.

[13] 王小鸽. 关于多核技术的几点思考[J]. 程序员,2006(9):56-58.

[14] 薛巍. 多核课程建设[J]. 计算机教育,2007(6):40-43.

[15] 吴继雁. 多核技术及发展趋势[J]. 哈尔滨轴承,2007(28):57-58.

[16] 刘近光,梁满贵. 多核多线程处理器的发展及其软件系统架构[J]. 微处理机,2007(1):1-3.

[17] 陈天洲,曹捷, 王靖淇. “多核程序设计”概述[J]. 计算机教育,2007(7):39-41.

[18] 陈天洲,刘苏明. 教育部骨干教师培训课程设计:多核技术[J]. 计算机教育, 2007(10):65-67.

[19] 陈天洲. 多核课程建设探索与实践[J]. 计算机教育,2007(2):51-55.

[20] 陈天洲,王靖淇,刘苏明. 从“教育部-英特尔精品课程”评审看大学对多核技术的课程改革[J]. 计算机教育, 2007(6):37-39.

[21] 陈天洲. 多核精品课程建设与拓展[J]. 计算机教育,2008(1):61-62.

[22] 杨剑锋,田茂,谢银波. “多核架构及编程技术”课程建设[J]. 计算机教育,2007(12):82-83.

[23] 方娟. 多核技术在“高级计算机体系结构”课程中的引入与探讨[J]. 计算机教育,2008(20):41-42.

[24] 程小雄,伍丽华. 基于FPGA的多核技术课创新实验探索[J]. 实验室研究与探索,2008(27):3-5.

[25] 英特尔软件学院. 辞旧迎新继往开来持续推进“英特尔多核技术大学合作计划”[J]. 计算机教育,2009(2):119.

[26] Kunle Olukotun,Lance Hammond,James Laudon. Chip Multiprocessor Architecture:Techniques to Improve Throughput and Latency[M]. San Rafael:Morgan & Claypool Publishers,2007:1-141.

[27] Ahmed Amine Jerraya,Wayne Wolf. Multiprocessor Systems on Chips[M]. San Fransisco:Morgan Kaufmann Publishers, 2005:357-392.

Multi-core Experiment Design of Computer Architecture

YU Yongbin, XU Jie, WANG Hua, ZHANG Fengli, LIAO Jianming, ZHOU Shijie

(Computer Science and Engineering College, University of Electronic Science and Technology, Chengdu 610054, China)

Abstract: According to the latest literature, this paper designs Multi-core experiment in the course of Computer Architecture, which pays attention to the arrangement of multi-core knowledge points and the construction of multi-core experiment, and probes into the purpose of multi-core experiment design.

Key words: Computer Architecture; Multi-core; FPGA