前言:中文期刊网精心挑选了计算机系统结构范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
计算机系统结构范文1
1 计算机系统结构课程体系
计算机系统结构课程体系组又称硬件组,普通高校计算机的学生对硬件课程都存在或多或少的抵触心理,原因主要有3个:1)硬件课程比较抽象,不容易理解,不像软件语言课程直观;2)学生认为计算机专业就是编程,学习硬件课程没有用;3)硬件课程的实验环境不容易建立和维护,导致相关实践环节实施时不能达到预期目标。针对计算机系统结构课程体系在教学中存在的问题,我们按照课程先修顺序、社会需求,以及从理论到应用的顺序,对计算机系统结构课程体系中的课程进行合理安排。
1.1 专业基础必修课程
计算机系统结构课程体系所涉及的专业必修课程是计算机专业学生的基础课程,通过这些课程的学习,学生将掌握计算机的基本组成和工作原理,并为计算机应用打下基础。同时,我们也注意到,这些专业基础课程理论性较强,内容抽象、不易理解,课程大多开设在大学阶段的前期。
数字逻辑电路是计算机专业计算机系统结构课程体系的第一门课,该课程的学习目的是使学生掌握从数字系统到集成电路实现所需逻辑功能的整个过程的完整知识,作为必修课程,开设在大一第二学期。计算机组成原理是计算机专业的核心专业基础课程,本课程使学生掌握计算机原理的基本知识,为下一步学习计算机体系结构奠定基础,并能对当前计算机的最新研究、发展与应用趋势有一般性的了解,作为必修课程开设在大二第一学期。汇编语言课程是解决CPU级编程的问题,使学生掌握CPU级语言的特点、编程方法和基本技能,为深入学习后续课程和从事有关计算机硬件、软件方面的设计打下基础,作为必修课程开设在大二第二学期的上半学期。微机原理与接口技术课程以PC机及其兼容机中最常用的80×86系列为主线,讲述微型计算机与接口的实现技术,作为必修课程可与汇编语言并行开设在大二第二学期。这两门课程安排在同一学期,有利于学生掌握。通过两个学期的实践,学生对汇编语言的掌握和应用,以及微机原理的接口应用能力大大提高。计算机系统结构讲述计算机体系结构,着重介绍软、硬件功能分配以及如何最佳、最合理地实现软、硬件功能分配,作为必修课程开设在大三第一学期。
1.2 专业应用选修课程
在大三第一学期结束后,学生已学完计算机专业硬件和软件相关基础课程,具有一定的计算机应用和开发的能力。从大三第二学期开始,计算机系统结构课程体系将面向计算机应用开设两门任选课程,它有利于学生就业,缩短学校到社会的过渡时间。
单片机原理及应用课程以MC-51系列单片机为基础介绍硬件和软件的组成,以及程序设计技能。为将来步入微计算机的信息处理和测控系统领域的学生提供一个基础平台,作为任选课程开设在大三的第二学期。嵌入式系统及其开发课程使学生了解嵌入式系统结构和嵌入式系统开发的相关技术,掌握其软硬件设计方法,提高学生的嵌入式系统开发能力和经验,建议作为任选课程开设在大四的第一学期。
2 教师团队的建立
为了提高教学质量,提高教师教学水平,我们建立了计算机系统结构课程体系教师团队,并为每门课程设置一名首席教师,并配备2~4名主讲教师。教师团队建立后,每星期举行一次教学活动,提出授课中存在的问题,讨论学生的接受能力,最后给出先修课程和后续课程的调整方案。实践证明,教师团队的成立提高了教学质量,受到广大师生的好评,结合教学的相关教学教研项目逐渐增多。反过来,相应的教改项目的实施又促进了教学质量,形成了教学效果的良性循环。
3 教材的选择
众所周知,教材直接影响教学效果和教学质量。计算机系统结构课程体系抽象、难懂,其课程教材的选用一直是我校计算机专业教学中的一个重要问题。由于计算机专业的学生普遍认为自己将来的就业方向是软件开发,所以,不重视硬件课程体系中的课程。因此,如何有效选用计算机系统结构课程体系的教材成为教学的一大难题。下面,我们以计算机系统结构为例介绍教材的选择。
3.1 国内外同类教材优缺点
目前,国内的计算机系统结构教材主要由国内一些重点大学的专家编写,教学对象为重点大学计算机专业本科生,同时,作为研究生的参考书。从近年我校以及我省其他普通本科院校计算机专业学生使用上述教材的效果看,这些教材存在以下一些问题,如书中理论概念过多,部分内容过时,对体系结构新进展介绍不多,上述问题导致学生缺乏学习兴趣,教学效果也不理想,不太适合普通二本院校计算机专业学生使用。
3.2 自编教材情况
为了改变计算机系统结构课程教学在普通二本院校计算机专业学生中存在的上述问题,我们经过调查论证、搜集素材,并与本省其他院校协商,结合授课教师切身体会以及学生在学习本课程时遇到的普遍性问题,编写了适合普通二本院校本科生学习的计算机系统结构教材。
自编教材《计算机系统结构》2009年7月由清华大学出版社出版,该教材在遵循教育部计算机系统结构课程教学大纲基础上,采用“量化研究方法”,系统讲述了现代计算机系统结构的基本概念、基本原理、基本结构和基本分析方法,以及当前系统结构领域的主要进展。摒弃了目前传统教材中已经过时的理论知识,精简了授课内容,突出了重点难点,较好地适应了普通二本院校计算机系统结构课程教学需要。
该教材内容编排大体是按照计算机系统结构的发展历程,即冯・诺依曼体系结构一改进的冯・诺依曼体系结构――非冯・诺依曼体系结构这条线索。以经典冯・诺依曼体系结构(第2章)为基础,介绍现代通用计算机系统结构的基本概念、基本原理、基本结构和基本分析方法以及和相关领域的最新研究成果,内容主要包括数据表示与指令系统设计(第3章)、存储系统(第4章)、输入输出系统(第5章)、流水线技术(第6章)、并行处理机技术(第7章),以及计算机系统结构进展(第8章)。
参加该教材编写的人员来自不同本科院校,均为担任计算机系统结构课程的主讲教师,该教材在着重论述体系结构的基本概念、基本原理、基本结构和基本分析方法的基础上,强调量化的分析方法,使学生能够能更具体、实际地分析和理解计算机体系结构。教材内容选择上不再覆盖整个系统结构,而是重点论述现代大多数计算机都采用的比较成熟的思想、结构和方法等,通过大量的实例分析,深入浅出地阐述计算机体系结构所涉及的各个方面内容。在结构上,强 调从总体结构、系统分析这一角度来研究计算机系统,将计算机组成原理、数据结构、操作系统、汇编语言程序设计等课程中所学的软、硬件知识有机地结合起来,从而使学生建立起计算机系统的完整概念,教学效果良好。
4 开放式的教学模式
计算机系统结构课程体系强调培养学生的综合能力,强调知识、能力、素质的协调发展,传统单一的课堂知识传授已经不能满足学生的要求,而相关课程本身存在理论性强、抽象难懂的特点。所以,我们在传统教学模式的基础上提出开发式教学方式,以提高学生探究能力和学习兴趣。开放式的教学模式主要包括以下4个方面内容。
1)汇聚师生共同力量,提高现代化教学介质课件的质量。
传统的课堂教育是教学模式的基础,在首席教师主持下,发挥教师团队的力量,利用现代教育技术和信息技术,开发符合学生接受能力的高质量教学课件。例如,通过动画形象生动地演绎课程中抽象难懂的概念和原理。此外,发动学生参与课程网站建设,在师生间建立互动链,提高学生自主学习的积极性。
2)根据先修课程内容,实施启发式教学。
课程讲授采用启发式教学。计算机系统结构课程体系中的各门课程之间存在联系,在授课过程中,我们要利用先修课程的内容启发当前课程中的内容,以便于学生理解,同时,提高学生的综合能力。例如,讲授计算机系统结构中“指令集优化”章节时,先让大家回忆汇编语言中80×86型计算机的指令集的条数,然后,提出计算机的指令条数和格式如何确定,最后,层层深入,给出计算机系统结构针对指令集研究的内容和解决方法。又如,讲授计算机系统结构中操作码优化的章节时,结合数字逻辑电路中的逻辑设计,分析不同编码方式的优缺点和采用扩展的Huffman编码理由,以及计算机如何辨析不同的操作码,以便加深学生理解。
3)开展多样化教学方式,提高学生自主学习的兴趣。
从提高学生自主学习兴趣出发,以课堂讲授为主,采用学生讲课、小组讨论和专题报告等多样化的教学方法。例如,针对计算机系统结构中现代非-冯,诺依曼结构的新发展,举行专题报告,每个小组讨论一种结构,通过参阅各种参考资料和网上资源对所分配的专题开展自主学习、交流、讨论和研究,最后,各小组分别进行专题讲座,多样化的教学方式培养了学生的综合能力和创新能力。
5 加强课程实践环节,与社会需求接轨
计算机系统结构课程体系的实践性很强,实践环节是整个教学过程中的重要环节,也是学生对理论知识进行内化和升华的重要手段。然而,计算机系统结构课程体系所要求的实验环境不易建立和维护,实验题目不易选取。因此,大多数高校计算机系统结构课程的实践流于形式,不能真正提高学生综合能力和利用所学理论知识解决实际问题的实践动手能力,也不能培养和锻炼学生的自主开发的创新能力。针对计算机系统结构课程体系实践环节中出现的问题,我们给出以下几点建议。
1)调整验证性与综合性和开发性实验比例。
增加综合性和开发性实验的比例。计算机系统结构课程体系中的所有课程都有实验课,而大多数实验项目为验证性实验,综合性和开发性实验项目比例较少。在实验过程中,由于验证性试验的软件和硬件为现成的,学生不能进行硬件的设计,同时,又没有能力进行软件的编写,大部分学生将实验当做任务来完成,创新能力得不到发挥。因此,在验证性实验的基础上,我们要加大综合性和开发性实验的比例,最大程度地发挥学生自己的能动性。
2)结合教学内容,选取实际对象作为项目来源。
增加综合性和开发性实验的比例必须有适合学生开发的实验项目。如果实验项目过难,学生将失去做实验的信心;如果实验项目偏容易,实验就失去了其综合性和开发性的本质;因此,项目应来源于生产活动,是相对完整和相对独立的事件,与企业实际生产过程或现实使用有直接的关系,具有一定的应用性。例如,设置单片机实验项目――“声控灯”,既能将理论知识和实践技能结合在一起,又能调动学生解决问题的兴趣。
3)以学生为主体,充分发挥教师的协助作用。
在教学过程中,要充分发挥学生的主动性和创新精神,让学生根据自身行为的信息来实现自我反馈,同时,也不能忽略教师的指导作用。例如,在项目的选取上,师生要共同参与,教师要启发学生去主动发现身边的素材,选择难度适合的实验项目。
6 结语
通过两个学期的实践,我校计算机系统结构课程体系教学取得了良好的教学效果,首先,从学生角度看,将计算机底层的硬件基础课放在大学生在校教育的前期,有利于学生掌握基本原理和基本知识;应用性强的课程放在后期,有利于学生与社会需求的接轨。其次,从教师角度看,将计算机系统结构课程体系的教师组织起来建立教师团队,有利于教学效果的提高,便于教改活动的组织。适当的教材选取,可以调动学生的学习积极性。同时,优质的教学课件和多形式的教学模式,将课堂教学变得生动、形象,把过去的“重教轻学”的教学模式转向“师生互动”的教学模式。将学生被动听讲的课堂变为鼓励学生主动参与讨论,引导学生积极探索,以提高学生素质。最后,实践环节的改革能使学生将硬件课程内容融会贯通,合理的实验项目设置充分调动学生学习的积极性。
[1]李彩虹,屈志毅,刘刚,等.“计算机组成原理”实验课教学模式探讨与实践[J].高等理科教育,2006(2):74-75.
[2]张军利.微机原理课程教学中开放性实验的作用和意义[J].云南大学学报:自然科学版,2008(2):437-438.
计算机系统结构范文2
关键词:计算机系统结构;多核;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)
计算机系统结构范文3
关键词:DLX模拟器;WinDLX;DLXView;流水技术
一、引言
计算机系统结构是计算机科学与技术专业的一门骨干课程,也是最重要的专业基础课程之一。本课程强调从总体结构、系统分析的角度来研究计算机系统。通过本课程的学习,使学生理解计算机系统的内部工作原理,以及在硬件、软件界面划分的权衡策略,建立完整的、系统的计算机软硬件整体概念[1]。本课程理论性较强、教与学难度较大。课程中讲授的许多内容,诸如指令流水线、向量计算、流水线相关、并行计算、定向技术等内容比较抽象,使学生无论在学习还是理解方面都会有一定的难度,从而影响到学生的学习兴趣和教学效果。国外高校在本课程的教学和实验中,已普遍采用DLX模拟器进行分析和测试。因此,采用理论教学与实践教学紧密结合的方式,对该课程教学方法进行研究和改进,将能够帮助学生增进对课程学习内容的理解,提高独立思考问题和解决问题的能力,并将对提高教学质量和教学效果起着极为重要的作用。
二、DLX模拟器
DLX是贯穿本课程的一个流水线处理实例,课程中的许多讨论、模拟结果和例题都是基于DLX的。它不仅体现了当
今多种机型指令集结构的共同特点,而且还体现未来一些机型的指令集的特点[2]。DLX模拟器用软件模拟DLX流水线的工作过程,有运行于Windows和Linux操作系统的不同版本,可以灵活、方便地设置参数、控制执行和统计数据,并提供了直观的窗口显示。
经过测试比较,采用基于Windows系统的WinDLX和DLXView模拟软件,它们对环境要求较低,易于实现。本文介绍WinDLX和DLXView两种模拟软件在计算机系统结构课教学实验中的应用。
三、WinDLX模拟器实验应用
WinDLX的主窗口中有六个图标,点击将弹出子窗口。分别为寄存器子窗口(Register),代码子窗口(Code),流水线子窗口(Pipeline),流水线时空图子窗口(Clock Cycle Diagram),统计子窗口(Statistics) 和断点子窗口(Breakpoints)。如图1所示。利用这些子窗口可以完成结构相关、数据相关和指令调度等实验。
以数据相关实验为例,介绍WinDLX流水线时空图子窗口和统计子窗口的作用。在不采用定向技术的情况下(通过Configuration菜单中的Enable Forwarding选项设置),用 WinDLX模拟器运行程序,记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。如图2所示。流水线时空图子窗口中的箭头是相关引起的流水暂停。
在采用定向技术的情况下,用WinDLX模拟器运行相同的程序,记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。如图3(略)。
统计子窗口的对比数据如表1所示。从中可以进行定量地分析,看到定向技术对增强流水性能、提高CPU运行效率所起的作用。
利用WinDLX模拟软件可以进行熟悉DLX指令、结构相关、数据相关和指令调度等实验,使学生对DLX指令集以及流水线技术、相关、指令调度等重点难点内容有深一步地理图2定向前流水时空图和数据统计解,进而开展研究性工作。
数据相关暂停时钟周期数总时钟周期数所占比例定向前10420251.48%定向后3012823.44%
四、DLXVieW模拟器实验应用
DLXview是一个图形化、交互式的DLX流水线仿真器[3,4]。该模拟器能够实现对基本流水线,记分牌算法和Tomasulo算法的模拟。通过对内存访问延迟、功能部件的数目、功能部件的延迟的配置,实现不同的流水线的模拟。该模拟器使用的是DLX指令集描述的计算机体系结构,执行DLX汇编语言程序,指令在流水线中执行的过程能以图形的方式表示出来,还能得到流水线操作周期的统计信息。DLXview对流水线的理解和对处理器性能的评价对我们很有帮助。
用DLXView模拟基本流水线,能观察到流水线时空图、各流水段状态以及流水线的数据通路。有两种图形界面:图4是基本流水线框图,图5是基本流水线数据通路图。
图4基本流水线框图图5基本流水线数据通路图记分牌技术是系统结构学习中的难点之一。其学习的目的是掌握在资源充足时,尽可能早地执行没有数据阻塞的指令,达到每个时钟周期执行一条指令。如果某条指令被暂停,而后面的指令与流水线中正在执行的或被暂停的指令不相关,那么这条指令可以继续流出并执行下去。记分牌电路负责记录资源的使用,并负责相关检测,控制指令的流出和执行[5]。用DLXView模拟记分牌算法,可直观地观察到程序运行过程中指令状态表和功能部件状态表的变化,并可以调整设置DLX处理器的基本结构。模拟运行界面如图6(略)。
Tomasulo算法将记分牌的关键部分和寄存器换名技术结合在一起,其基本核心是通过寄存器换名来消除写后写和先读后写相关可能引发的流水线阻塞。其基本思想是:只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中取得。指令的执行结果也是直接送到等待数据的其他保留站中去。因而,对于连续的寄存器写,只有最后一个才能真正更新寄存器中的内容。一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)[5]。用DLXView模拟Tomasulo算法可观察指令状态表、保留站信息、DLX浮点部件结构图。模拟运行界面如图7(略)。
5.结束语
WinDLX和DLXview可以灵活、方便地设置参数、控制执行和统计数据,并提供了直观的窗口显示;对基本流水线,记分牌算法和Tomasulo算法有直观形象的模拟;能帮助理解较抽象的概念,如指令流水线、向量计算、流水线相关、并行计算、定向技术等。模拟器对流水线的理解,以及处理器性能的评价对我们有较大帮助。经教学实践检验,具有较好的应用效果。
参考文献:
[1]张晨曦,刘依,张春元.《计算机体系结构》网络课程[EB/OL].http://sse.tongji.edu.cn/arch_course/index.htm.2005.
[2]张晨曦,王志英,张春元,等.计算机体系结构[M].北京:高等教育出版社.2003:3.
[3]DLXview主页[EB/OL].202.38.79.66/ca/dlxview/index.html.
[4]国外大学计算机体系结构网站[EB/OL].cs.wisc.edu/~arch/www/.
计算机系统结构范文4
关键词:综合电子系统;嵌入式计算机体系;结构
中图分类号:TD672文献标识码:A文章编号:1007-9599 (2010) 06-0000-01
Integrated Electronic System Embedded Computer Architecture
Feng Lipei
(The State Administration of Radio Film and Television 723 Radio,Shijiazhuang050086,China)
Abstract:As the modern electronic information technology development and innovation and electronic information technology application of the areas of diversification of integrated electronic computer system,and embedded in the military,a smart appliance,the digital machine tools,
refrigerators and other areas of electronic devices are widely used. this article by a brief analysis and study electronics and computer system to embedded systems architecture to meet the new generation of integrated electronic computer systems for performance of the embedded application requirements.
Keywords:Integrated electronic systems;Embedded computer system;Structure
一、综合电子系统嵌入式计算机的特点
综合电子系统嵌入式计算机是嵌入到对象体系中的专用计算机,其物理结构和功能都嵌入到应用系统中,不能脱离系统操控程序而独立运行。进入21世纪以后,综合电子系统嵌入式计算机在军事上得到了广泛的推广与应用,同时在智能家电、数字机床、车载电子设备等生活领域也得到不少的应用,为人类的发展注入了全新的科技动力。综合电子系统嵌入式计算机的特点,主要表现在以下几方面:
(一)实时性
综合电子系统嵌入式计算机直接从前端传感器获取信息和资料,进行实时或近实时的操控处理和技术分析,因此,综合电子系统嵌入式计算机对信息的处理、分发和管理的实时性要求极高。
(二)与宿主系统相匹的性能与功能
综合电子系统嵌入式计算机是宿主系统的主要组成部分,其体积、重量、形状、性能等诸多数据参数必须满足各种宿主系统的不同技术性要求,其功能性与技术性必须与宿主系统的水平相适应,符合技术应用的科学发展方向。[1]
(三)环境的可靠性和适应性
综合电子系统嵌入式计算机被大量应用于工业、军事、野外等恶劣环境中,要经受振动、辐射、盐雾、高低温、电磁干扰等经验,对可靠性要求极高。传统综合电子系统嵌入式计算机的体系结构设计主要根据嵌入式系统的应用特点进行剪裁。[2]综合电子系统嵌入式计算机采用模板化结构,但是总线带宽和扩展能力有限,不具备动态重构、数据信号综合处理等功能。
二、综合电子系统嵌入式计算机的体系结构
嵌入式系统是现代电子信息技术、计算机技术和半导体技术,以及各个行业具体应用相结合的产物。因此,嵌入式系统是一个资金密集、技术密集、高度创新、不断创新的知识集成系统。综合电子系统嵌入式计算机体系结构的核心部件是处理器,系统结构较为复杂。
图1 综合电子系统嵌入式计算机的体系结构
(一)嵌入式微控制器
嵌入式微控制器将整个计算机系统集成到一块芯片中,芯片内部集成RAM、ROM/EPROM、总线逻辑、总线、定时/定时器,WatchDog、串行口、D/A、A/D、Flash RAM、EEPROM等各种基础功能和外设。为了适用综合电子系统嵌入式计算机不同的体系结构和功能需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理内核体系结构都是相近的,不同的存储器和外设的配置及封装。[3]这种体系机构可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。目前,世界通用的嵌入式控制器型号主要有:P51XA、8051、C166/167、MCS-96/196/296、MC68HC05/11/12/16等。
图2 嵌入式微控制器结构图
(二)嵌入式微处理器
嵌入式微处理器是综合电子系统嵌入式计算机的CPU,在实际应用中,微处理器被装配在专门设计的电路板上,只是保留和嵌入式应用的相关母版功能,这种体系结构可以最大幅度减少系统的体积和能源消耗。[4]嵌入式微处理器具有重量轻、体积小、可靠性高、成本低等优点,其体系结构的电路板上必须包括:总线路接口、各种外线器件、RAM、ROM等,技术保密性相对较强。目前,世界主要应用的嵌入式微处理器主要有:386EX、Power PC、SC-400、MIPS、68000、ARM等系列。
图3嵌入式微处理器结构图
(三)嵌入式片上系统
近年来,随着EDI的推广和VLSI设计的普及化,综合电子系统嵌入式计算机体系结构中一个硅片上实现一个更为复杂的全新计算机系统,也可以称之为SOC。嵌入式片上系统一般可以分为通用和专用两类,通用系列包括Infineon的TirCore,Motorola的M-Core;专用系列包括Philips的Smart XA等。
图4嵌入式片上系统
计算机系统结构范文5
Abstract:This article is for the purchase of the micro-computer system solutions for problems encountered by the study. Through needs analysis, specification systems, purchasing skills, models and accessories to do a targeted note describes. To reduce and avoid in the purchase process, due to information asymmetries and process defects caused by loss.
关键词:品牌计算机 兼容计算机 选购
Keywords: Brand computers Compatible computers Purchase
作者简介:张衍志(1982-),男,四川工程职业技术学院讲师,专业方向:计算机应用
2009年全球电脑销量至2.57亿台,同年中国计算机(台式和便携式)消费超过2500万台。在选购过程中,因为知识了解不足、市场不规范,常造成选购困难,往往不能买到称心如意的产品。本文通过引入通过需求分析,规范系统等选购技巧,减少和避免在选购过程中,由于信息不对等和流程缺陷造成的损失。本文对微型计算机选购系统化的解决方案进行了探讨分析。
一、兼容机优缺点分析
1.1兼容机优点
1.1.1 性价比高
减少了中间环节,没有了品牌机厂商的宣传、人力、财务等成本。大大降低了产品的总价。消费者可以以最接近市场价格购买产品,兼容机性价比较品牌机高。
1.1.2 人性化量身定制、自由发挥空间大
消费者通过需求分析,充分了解自己购买的产品的应用范围,性能情况,以及价格预算。量身打造符合自己要求的计算机。
对于计算机发烧友,兼容机可以满足升级、超频需求。甚至,可以做到水冷降温、液氮冷却降温等极致超频。发烧友还可以自己打造HTPC,将计算机、电视、网络3者合一,实现家电的信息化。
1.2兼容机的缺点
1.2.1 购买时,知识储备很重要,涉及诸多购物陷阱
市场相对不够规范。假货、翻新、以次充好的现象还普遍存在。市场上最为消费者认可的正品行货的假冒情况也非常多,买到的常常是没有质量保证的“水货”。
更有甚者,商家利用消费者对配件的不了解,怂恿更换配件型号,品牌。消费者由于信息的不对称,花了大价钱,买到的却性低价的产品。
1.2.2 售后服务跟不上
市场中存在相当一批的走私,仿冒产品,这些产品只能通过卖家进行质保。一旦商家撤柜,售后无法保证。即使是正品产品,商家撤柜后,也存在找渠道商和生产厂商困难的问题。以硬盘为例,品牌机硬盘、盒装正品硬盘质保时间短则3年,长则5年。而兼容机卖家一般提供的都是走私来硬盘,俗称“水货”,这些硬盘只有店铺提供1年质保。
二、购买兼容机程序的问题
2.1兼容机装机时一些系统化、程序化的问题
在选购计算机时应该把握一下几个原则:
1)确定配置方案的原则
2)满足使用要求的原则
3)质量至上的原则
4)性价比优先的原则
5)整体和谐的原则
6)发展的眼光对待升级
2.2知识储备
2.2.1.计算机基础知识
最为重要的是了解计算机硬件基本常识,对计算机硬件发展趋势有所把握,掌握基本选购技巧。特别是新技术、新参数加以了解。一次选购的过程,很大程度是一次知识的比拼。不想被商家欺瞒,最好的方法就是掌握更多的计算机常识。
2.2.2.实地走访,市场与理论存在差异
实地采购时,往往会遇到,市场供应的商品与自己理想中选购的存在差异的情况。在二级城市,经济不发达地区这种情况更加突出。所以,应该针对市场所能提供配件合理调整选购清单。另外,可以通过“新蛋”、“京东”等网络商城进行弥补性采购。
三、实际购买
3.1硬件选购的几个原则
1)不要随意改动配置,不要盲目听信宣传,多做几手准备
2)配置单谈判技巧,单项价格与整体价格对比。在市场上货比三家
3)配置单要详细,事无巨细的将型号,品牌、质保甚至重要参数一一罗列
4)洞察市场,抓住时机。一般节假日会有较多的促销活动,但市场价格起伏也较大。
5)收好票据,作为质保依据。
3.2设备验收
1)交了定金不是万事大吉,防范以旧换新,以次充好,中途调换等“奸商”伎俩。
2)进行测试。对显示器坏点,CPU、显卡、主板、内存的兼容性进行初步测试。
四、结论
对于有精力、有能力、爱专研的的消费者建议购买兼容机,毕竟可以节省大笔开支,发挥自由度也比较大。兼容机在购买前对自己购买的预算、用途、机器性能等因素结合本文提到的原则做综合的考虑,将需求放在首位。
参考文献:
[1] 乔治・谢夫勒(George Shiffler). Gartner:2009年全球电脑销量将下滑11.9% ..
计算机系统结构范文6
关键词:数据结构;多线程;VC++;动态演示
中图分类号:TP312文献标识码:A文章编号:1009-3044(2011)31-7685-03
Demonstrate System Based on VC++ for Data Structure Algorithm
SHEN Li-min
(Computing Center of the PLA University of Foreign Languages, Luoyang 471003, China)
Abstract: In view of the characteristic of data structure, on the analysis of insufficiency and limitation for traditional teaching method. How to illustrate algorithm performing process to the studuentsin a simple way becomes vital to the teaching of this course. Based on the reansons above, a teaching platform demonstrating the processing of algorithm has been designed and presented in this paper. This algorithm demo system to display a variety of programming languages to achieve a variety of algorithms and dynamic process, has the image of the interface, clear display of the various algorithms realize the process. The system is friendly, easy to use, it serves to the study of the student as well as the teacher's teaching.
Key words: data structure; multhread; VC++; dynamic demonstrate
数据结构是计算机专业的核心课程,对各类算法的理解是课程教学的重点和难点,算法动态演示系统作为辅助教学过程的手段可以有效帮助学生更快的理解、掌握算法。在教学过程中能加以计算机辅助教学,不仅可以提高教学效果,而且能够激发学生浓厚的学习兴趣并加强其编程能力,本系统采用多线程技术来实现数据结构算法的算法动态演示设计,实现了源代码跟踪、变量跟踪、模拟动态效果的算法演示系统。
1 数据结构定义
1.1 抽象数据类型迷宫
为了便于介绍,本文以迷宫求解为例。
ADT Seek{
数据对象:
D={ai,j|0
数据关系:R={ROW,COL}
基本操作:
InitSeek(&M,a,row,col)
初始条件:二维数组a[row+2][col+2]已存在,其中自第1行至第row+1行,每行中自第1列至第col+1列的元素已有值,并且以值0表示通路,以值1表示障碍。
操作结果:构成迷宫的字符型数组,以空白字符表示通路,以字符‘砖墙’表示障碍,并在迷宫四周加上一圈障碍。
Seek(int k,int x,int y,BOOL &succ)
初始条件:布尔型变量succ为fause。
操作结果:若迷宫M中存在一条通路,则按以下规定改变迷宫M的状态:根据布尔变量succ的值来判断有无路径可走。
PrintSeek(M)
初始条件:迷宫M已存在。
操作结果:以字符形式输出迷宫。
} ADT Seek[1];
1.2 整体框架
本程序包含三个模块
1)栈模块――实现栈抽象数据类型
2)迷宫模块――实现迷宫抽象数据类型
3)主程序模块:
void mian()
{ 初始化;
Do{
接受命令;
处理命令;
}while(命令!=“退出”);
}
2 动态系统的设计
2.1 多线程技术
系统的核心部分是动画演示、变量跟踪和源代码同步的实现,对于每一个算法的演示都要求实现这部分,数据结构算法动态演示的关键技术多线程技术
多线程(Muhithread)是指程序含有多个执行流。多线程机制允许单个程序通过建立多个并行执行的线程来完成各自的任务。这些并行执行的线程可以执行相同的代码,也可以执行不同的代码[2]。
在dotNET类库中,System.Threading命名空间下包含了各种线程组件、接口来帮助程序员使用C#编写多线程程序。在这个命名空间中最重要的就是Thread类,它是C#多线程程序设计的基础。Thread类提供了创建线程、控制线程的方法,它主要有以下几种重要的成员[3,6]:
启动线程:Start()
终止线程:Abort()
线程休眠:Sleep()
挂起线程:Suspend()
恢复线程:Resume()
2.2 具体的线程设计
AlgorithmThread.//用户自定义线程
{//类成员变量声明处
public AlgorithmThread()
{//构造函数体
} //类AlgorithmThread的构造函数
public void Run(){//定义线程体,以实现自定义线程类AlgorithmThread的功能
int i;String str;
for(i=0;i
{
str="Stepumber"+i.ToString()+"executed";
Thread.Sleep(500);
}
}
}
主程序中建立和启动线程:
public class mainForm
{ public delegate
void DelegateStep(int s);
public void startAlgorithmThread()
{ m_algotithmThread=new
Thread(newThreadStart(this.ThreadFunction));
//创建线程实例
m_algotithmThread.Start();//启动线程,即调用ThreadFunction线程函数
}
private void ThreadFunction()
{ /线程函数
AlgorithmThread algorithmThread;
algorithmThread=new AlgorithmThread();
algorithmThread.run();//调用AlgorithmThread的run函数,执行线程体
}}
2.3 实现思路
数据结构算法演示系统采用Windows应用程序项目来创建,在算法演示系统的主页上有启动各个算法的按钮,通过这些按钮启动每个算法演示界面,该界面有几个主要区域,每个区域对应一个组件[4-5]。
主窗口:包括标题栏和工具栏,用来实现系统控制。
动画演示区:以图形和动画的方式模拟和显示算法执行的过程和结果。
源代码区:用来显示类C语言编写的算法描述,为了更清楚地描绘算法的执行过程,当程序运行到当前行时,用一条高亮度光带罩住此语句,表示该语句被执行。
变量当前值显示区:由控件ListView实现,负责当前演示算法的重要参数及变化值的显示。
3 实验设计与结果分析
实验分别从算法进行动态模拟、代码同步跟踪来形象直观地反映算法的设计思想与动态过程,图1是迷宫求解算法求解过程。
3.1 算法动态模拟
本文利用多线程技术实现算法动态模拟演示,对一个具体的算法演示子模块,须满足执行、暂停、速度可调、任意时刻复位并能重新执行等复杂切换控制功能,从图1可以看到,菜单区有自动执行、单步执行、择暂停所得到的效果,从图1的动画显示区和变量区看到算法执行的过程。如图2中(a)是迷宫这种数据结构的初始化,(b)是随机生成的迷宫。
3.2 代码同步跟踪
本文AlgorithmThread线程负责执行迷宫求解算法,而在主窗口中需要同步显示被执行到的源代码行和该行代码中涉及到变量的当前值的获取和显示,这涉及到多线程间的同步和交互的问题。如图3所示蓝色的横条表示算法执行到到位置,结合图1和图3可以清楚看到代码的同步跟踪情况。
4 结论
本文是基于VC实现的数据结构算法动态演示系统,采用了多线程技术,对算法进行动态模拟、代码同步跟踪,可以形象直观地反映算法的设计思想与动态过程,便于加深学习者对算法的理解和掌握。
参考文献:
[1] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2008.
[2] Nagel C,Evjen B,Glynn J,et al.C#高级编程[M].李敏波,译.4版.北京:清华大学出版社,2006.
[3] Schneider G,Winters J P.用例分析技术[M].姚淑珍,李巍,译.北京:机械工业出版社,2002.
[4] 刘怀亮,陈荣国,吕国华.软件组建技术[M].北京:冶金工业出版社,2007.