开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇计算机体系结构,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
关键词:计算机体系软件模拟精度
1计算机体系结构软件模拟技术的发展历程
1.1萌芽阶段计算机体系结构软件模拟技术的发展经历了一个漫长的过程。计算机软件模拟技术的结构虽然已经建立,但是处理器技术并不完善,对系统运行也不能进行合理控制,由于处理器的工作效率低下,所以控制软件的设计也非常缓慢,计算机体系结构的软件模拟技术在不断的探索中缓慢前行。上世纪八十年代,我国的计算机技术有了长足发展,经过长期不懈的研究,我国计算机系统在独立操作数据驱动和处理器高效利用技术两方面有了新的突破。至此,软件系统可以在计算机上进行更好地运行,计算机系统的控制也更为便捷。计算机的运行是以收集和处理技术为基础的。所以,在计算机应用软件技术的研发过程中要收集大量的数据,并结合计算机基础知识在计算机处理器平台上对软件系统进行构建和设计。这是计算机体系结构软件模拟技术发展的重要前提,技术人员由此掌握了计算机软件系统建设的大量数据经验。
2开发计算机体系结构软件模拟技术面临的问题
2.2模拟设备精度低,运作效果差模拟设备的精度低,效率差也是计算机体系结构软件模拟设备开发中遇到的问题,在开发过程中,对模拟器的具体要求未能进行准确的分析研究;未能透彻理解计算机体系结构的真正目的等都大大增加了错误率。另外,一般的研究开发人员将整体的运行效果用检测流程中的部分程序指令代替,造成了模拟设备精度低的问题。
3计算机体系结构软件模拟技术开发中问题的应对策略
3.2对模拟程序的指令数量进行适当减少选择准确的模拟程序指令代替原系统整体运作结果,对模拟程序的指令数量进行适当减少,可以提高模拟系统的精确度。在选择模拟程序指令的时候,可以采取抽样选择程序指令或者是直接结构连续性指令的方式。一般来说都是采用抽样统计的方式选取程序指令,因为其精准度更高。
4结语
当前社会已进入数字化和信息化时代,计算机技术在人们的日常生活和工作中运用程度越来越高,人们对计算机的性能也不断提出更高的要求。因此,计算机体系结构软件的模拟技术的运用也越来越广泛,成为软件开发必不可少的条件。计算机应用功能的完善需要开发人员不断探索和研究。在开发过程中,技术人员要采用正确而有效的方式应对开发过程中出现的各种问题。这样才能有效降低软件开发的周期,节省开发成本,并开发出实用性高的计算机应用软件。
参考文献:
[1]许建卫,陈明宇,杨伟,潘晓雷,郑规,赵健博,孙凝晖.计算机体系结构模拟器技术和发展[J].系统仿真学报,2009(20).
[2]包云岗,许建卫,陈明宇,樊建平.一种新型计算机体系结构模拟器的研究与实现[J].系统仿真学报,2007(07).
关键词:计算机体系结构;实验教学;模拟;仿真
1背景
“计算机体系结构”(以下简称“体系结构”)是计算机科学与技术专业计算机工程方向的一门重要课程,它强调从系统级的角度介绍计算机的组成和相应软硬件模块的设计与实现方法。通过课程学习,学生能够深入理解和掌握计算机系统的软硬件接口、各项性能指标、系统性能的基本分析方法,以及为了达到最佳性能、最佳性价比、最佳性能功耗比等不同设计目标所应采用的软硬件设计技术。
除了课堂讲授,实验也是该课程教学的一个重要环节。通过实验,能够有效地加深学生对课堂上所学习的各个关键知识点的理解与掌握。以2010年研究生入学考试的第44题为例:
44.某计算机的主存地址空间大小为256MB,按字节编址。指令和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示:…(略)
假定int类型数据用32位补码表示,程序编译时i、j、sum均分配在寄存器中,数组a按行优先方式存放,其地址为320(十进制)。请回答,要求说明理由或给出计算过程。
(1)若不考虑用于Cache一致性维护和替换算法
的控制位,则数据Cache的总容量为多少?
该题第(1)问主要考察学生对“数据Cache中存放了哪些数据和控制信息”这一知识点的掌握情况。能够正确回答该问的同学并不多,因为绝大部分同学都忽视了validbit和dirtybit这两个重要信息。
从调查结果来看,完成了Cache设计的同学回答正确率远远高于另一部分同学,他们认为实验有助于加深他们对这一知识点的理解与掌握,并且效果明显。
作者简介:沈立,男,副教授,研究方向为计算机系统结构、编译技术、虚拟化技术;张春元,男,教授,研究方向为计算机系统结构;王志英,男,教授,研究方向为计算机系统结构。
笔者从以下三个方面介绍在该课程实验教学方面所作的工作:首先,在分析该课程各知识点的特点以及其是否适合进行实验的基础上,我们设计了15个实验模块;其次,探讨了如何为不同培养类型和知识结构的学生选择合适的实验模块,以及在组织和实施实验教学方面采取的措施;第三,提出若干值得思考的问题。
2课程知识点分析
在进行实验教学时,应针对不同的教学目标采取不同的实验模式。一般说来,对于那些以理解掌握成熟的模型、协议、算法等为主要目标的知识点,如Cache一致性协议,往往以验证性实验为主;而对于那些以熟练使用某种方法解决实际问题为主要目标的知识点,如Cache的结构和优化方法,往往以设计性实验为主。
下面以我们正在使用的教材[2]为主,结合国内外其它有影响力的教材[1,3-4]分析体系结构课程各个知识点的特点,深入探讨适合这些知识点的实验方式。
表1中列出了各章节中适合开设实验的各个知识点以及可以开设的实验类型。表中所列出的知识点粒度较粗,如指令级并行技术就被归结为硬件方法与软件方法两类,因为所设计的各种技术具有相似的特征。
3课程实验建设
从上节的分析不难看出,指令集、流水线和指令级并行、Cache、多处理机是体系结构课程教学的重点,因此课程实验也主要围绕这些内容进行。我们选择32位DLX指令集作为实验对象,主要原因在于:DLX是典型的RISC指令集,指令格式规整、简洁,且具有开源的编译器(含库)、模拟器等软件工具。
3.1实验模块设计
这些实验分别对应指令集设计与优化(模块2、4、14)、DLX整数流水线(模块6~9)、指令级并行技术(模块10~13)、Cache子系统(模块15)。此外,为了使学生熟悉实验工具和环境的使用,我们还专门设置了3个实验模块(1、3、5)。
表2中列出的不少实验模块都可以在FPGA上进行,包括模块2、8~11、13、15,使学生可以更好地理解软硬件技术在实现开销和性能上的优劣。此外,还有一些模块(如4、12、14)也强调了对软件工具链的使用和修改,有助于学生更全面深入地理解CPU设计所需完成的全部工作。
3.2组织与实施
教学时既可以选择全部15个模块,也可以选择部分模块。究竟如何选择,取决于具体的教学目标以及用于实验的学时数。例如,若需实现一个DLX整数流水线并进行硬件仿真,可以选择模块6~9,需要8~16个学时;若仅需了解DLX整数流水线的工作原理和基本指令调度方法,选择模块1即可,这需要2~4个学时。
学生在进行实验时也可以采用不同的组织形式。例如,我们就将学生分组进行实验,每组1~3人不等。除了完成基本实验外,每组还必须完成6个提高实验中的一个。各组的成绩主要根据完成情况给出,若仅完成基本实验,成绩为C或D;若还完成了提高实验,成绩可以达到A或B。未完成基本实验或完成质量不高的小组就不必再进行提高实验了。
4若干思考
在实验教学的组织与实施过程中,我们也发现了以下一些值得思考的问题,这些问题也可以视作教学改革的方向。
4.1以实验教学代替课堂教学
让学生在实验过程中学习、理解体系结构课程中的一些知识点,其效果可能会比直接进行课堂教学更好。因此,能够以实验教学代替课堂教学是这里要探讨的第一个问题。
以Tomasulo算法为例,这是一种经典的动态指令调度策略。为了生动地描述该方法的效果,几乎所有的教材或是课件都会给出如图1所示的时序图,图中清晰地描述出每个时钟周期各指令、功能单元、寄存器、保留站的状态。在讲授记分牌时也有类似的情形。
图1中的时序数据既可以根据模拟器的输出直接得到,也可以通过手工推导得出,显然前者的效率更高。不过,既然都是生成时序图,也可以考虑由学生借助模拟器等工具获得时序数据并进行分析。
4.2增加实验在考核中的比重
作为一门对实践技能要求较高的课程,体系结构课程的考核成绩通常会同时包含笔试成绩和实验成绩。如何合理划分二者的比例,是一个值得探讨的问题。
我们目前采取的方法是将一部分实验内容作为笔试试题,如果没有真正参与到实验过程中,很难回
答正确。但这只是一种初步的策略,如何才能比较准确地考核学生的实验完成情况,尚需进行系统的研究与探讨。
5结语
根据我们对体系结构课程各知识点的理解与分析,我们围绕着指令级结构、流水线、指令级并行技术、Cache等知识点设计了15个实验模块。这些模块大致可以分为三个层次:实验工具和环境的熟悉与掌握、基本实验和提高实验,可以根据教学目标的需要选择不同的实验模块组织教学活动。
在接下来的教学活动中,我们还将根据情况增加与多核体系结构有关的实验模块。
[1]JohnL.Hennessy,DavidA.Patterson.ComputerArchitecture:AQuantitativeApproach[M].4thEd.SanFrancisco:MorganKaufmann,2007.
[2]王志英,张春元,沈立,等.计算机体系结构[M].北京:清华大学出版社,2010.
[3]张晨曦,王志英,沈立,等.计算机系统结构教程[M].北京:清华大学出版社,2009.
[4]郑纬民,汤志忠.计算机系统结构[M].北京:清华大学出版社,2005.
[5]张晨曦,王志英,刘依,等.“计算机系统结构”课程内容体系的研究[J].计算机教育,2009(20):57-60.
[6]张晨曦.计算机体系结构实验教程[M].北京:清华大学出版社,2010.
[7]沈立,肖侬,王志英.计算机体系结构实验[M].北京:清华大学出版社,2010.
ExperimentsEstablishforComputerArchitecture
SHENLi,ZHANGChunyuan,WANGZhiying
(SchoolofComputer,NationalUniversityofDefenseTechnology,Changsha410073,China)
Abstract:Parallelcomputeristhehighestpointofinformationtechnology.Howtocombinetheadvantagesofkindsofparallelsystemsstructure:thesharedmemoryanddistributedmemoryandexploresanewparallelsystemstructureandhowtotakefulladvantageoftheresourceandprocessingabilityofcomputerhavealwaysbeentheresearchfocusinparallelcomputerfield.Computervirtualizationtechnologycanconductabstractandunifiedmanagementtoresourcesofphysicalcomputerswiththeadvantageofflexible.Thepaperexplorestheapplicationofcomputervirtualizationtechnology,newtypeparallelcomputersystemstructureandthetechnologyideaoftakingfulladvantageofparallelcomputerresources.
关键词:并行计算机;计算机体系结构;虚拟化技术;虚拟机
Keywords:parallelcomputer;computerarchitecture;virtualizationtechnology;virtualmachine
1并行计算机发展进程中存在的两个问题
并行计算机是指能够支持并行算法的计算机。并行计算机的处理能力与存储能力比一般的个人计算机强大得多,因而成为信息技术领域的制高点。各主要信息技术强国都举全国之力,在该领域展开了激烈的竞争,以抢占制高点,争夺信息领域的主动权。尽管并行计算机技术发展迅速,推广应用也很普及,但是,在并行计算机的发展与应用领域还存在着两个主要问题,一是并行计算机体系结构发展滞后,二是并行计算机的资源利用率还比较低。这两个方面的问题制约着并行计算机系统规模与性能的进一步提高,也制约着并行计算机的推广应用,亟待解决。
当前,并行计算机体系结构主要有两大发展方向,一是以SMP(SymmetricMultiprocessor)为代表的共享存储体系结构,二是以工作站机群COW(ClusterOfWorkstation)为代表的分布存储体系结构。共享存储体系结构的优点是易于编程、整机效率高,缺点是可扩展性差、成本高昂;分布存储体系结构的优点是可扩展性强、成本低廉,缺点是管理和编程困难、整机效率较低。可见这两种主流的并行计算机体系结构各有优缺点,而且彼此之间互补性很强。这两种并行体系结构主导着并行计算机的发展方向,但是由于其各自的缺陷都很明显,因而也制约着并行计算机的进一步发展。如何结合二者的优点,克服彼此的不足,设计一种既易于编程和管理,整机效率得到充分发挥,又具有良好的可扩展性和成本优势的并行计算机体系结构,一直是业界的研究热点之一,研究人员付出了很多努力,但是,成效不够显著。其原因是难以有效地融合两种体系结构的优势特征。
并行计算机的研发与生产耗费巨大,一般是为了某类特定的高强度计算或大规模数据处理应用而研发和生产,并且一般是针对峰值需求来设计并行计算机的系统性能。但是,在实际应用中,并行计算机往往并没有得到充分利用。原因有二,一是高强度的计算和处理需求并不是很饱和,二是应用需求并不总是处于峰值状态。因此,为了充分利用并行计算机的资源,发挥其效益,必须解决并行计算机的综合利用问题。
2虚拟化技术及其主要优势
计算机虚拟化技术是指对计算机系统资源进行抽象与管理、使用的技术总称[2]。计算机虚拟化技术通过软件技术或者软硬件相结合的技术,在计算机硬件之上构建一个软件层,称为虚拟机监控器VMM(VirtualMachineMonitor),VMM的功能是对底层的物理资源进行抽象,屏蔽物理资源的差异性,使其对上层呈现为具有统一特征和访问接口的虚拟资源集合。从而在物理机器之上构建虚拟的计算环境,使得指令在虚拟的环境中执行,而不是直接在物理平台上执行。根据VMM所处的层次不同,虚拟化技术又分为系统级虚拟化技术和进程级虚拟化技术。系统级虚拟化技术是指VMM直接构建于物理机器之上,VMM能够模拟整个计算机系统环境,在VMM之上能够构建多个虚拟机VM(VirtualMachine),每个VM都是一个完整的系统环境,能够运行包括操作系统在内的整个软件栈。进程级虚拟化技术是指VMM构建于操作系统之上,其功能是模拟进程运行环境,VMM构建的每个VM只能支持单个进程的运行。本文主要讨论和利用系统级虚拟化技术,下文简称为虚拟化技术。
虚拟化技术具有两个显著的优势。一是虚拟化技术能够对物理资源进行抽象,因而能够屏蔽物理资源的差异性,甚至是分布式特性,使物理资源对上层软件呈现为统一的资源视图,提供统一的资源访问接口。利用虚拟化技术就能够对底层的物理资源进行统一管理和进行灵活的、细粒度的划分和调配使用。二是虚拟化技术能够对指令的执行进行实时监控,因而能够捕获敏感指令的执行,进而能够对敏感指令的行为进行审计。所以,利用虚拟化技术就能够实现包括系统安全策略在内的一系列系统管理意图,并且使得这些特殊的管理意图对上层软件透明。
3利用虚拟化技术解决并行计算领域的两个问题
3.1利用虚拟化技术构建新型的并行计算机体系结构利用虚拟化技术,可以构建新型的并行计算机体系结构,从而结合共享存储并行结构和分布存储并行结构的优势。可以通过两种技术思路来构建新型的并行计算机体系结构,一是通过虚拟机集群的方式,二是通过分布式虚拟机监控器的方式。
关键词:高级计算机系统结构,流水线技术,指令系统
1流水线技术
1.1流水线的基本概念
计算机系统结构的国际权威美国Stanford大学的JohnL.Hennessy和UCBerkely大学的DavidA.Paterson在其名著《ComputerArchitecture--Aquantitativeapproach》一书别指出:“流水线过去是,而且将来也很有可能还是提高计算机性能的最有效技术之一”[1]
流水线技术(Pipelinetechnology)是将一个重复的时序过程分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。流水线中的每个子过程及其功能部件称为流水线的级或段(pipelinestage),流水线的段数称为流水线的深度(pipelinedepth),段与段相互连接形成流水线。
1.2流水线的分
从不同的角度和观点,可以把流水线分成多种不同的种类:
1.单功能流水线(single-functionpipeline):只能完成一种固定功能的流水线
5.部件级流水线(componentlevelpipeline):把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。
6.处理机级流水线(processorlevelpipeline):把解释指令的过程按照流水方式处理。
7.处宏流水线(macropipeline):由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。
8.标量流水处理机(Scalarpipelineprocessor):处理机不具有向量数据表示,仅对标量数据进行流水处理。
9.向量流水处理机(vectorpipelineprocessor):处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理。
10.线性流水线(linearpipeline):流水线的各段串行连接,没有反馈回路。
11.非线性流水线(non-linearpipeline):流水线中除有串行连接的通路
外,还有反馈回路。
12.顺序流水线(orderpipeline):流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。每一个任务在流水线的各段中是一个跟着一个顺序流动的。
13.乱序流水线(out-orderpipeline):流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成(从输出端流出)。
1.结构冲突(structureconflict):因硬件资源满足不了指令重叠执行的要求而发生的冲突。解决方法:流水化功能单元;资源重复;暂停流水线。
2.数据冲突(dataconflict):当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。
3.控制冲突(controlconflict):流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。
2.指令系统
2.1指令系统的基本概念
[2]指令系统(instructionsystem)是指机器所具有的全部指令的集合,它反映了计算机所拥有的基本功能。在计算机系统的设计和使用过程中,硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制各种各样的系统软件和应用软件,用这些软件来填补硬件的指令系统与人们习惯的使用方式之间的语义差距。计算机指令系统分为两类:复杂指令系统(CISC)和精简指令系统(RISC)
2.2复杂指令系统(CISC)
2.2.1CISC的产生
早期的计算机,存储器是一个很昂贵的资源,因此希望指令系统能支持生成最短的程序。此外,还希望程序执行时所需访问的程序和数据位的总数越少越好。在微程序出现后,将以前由一串指令所完成的功能移到了微代码中,从而改进了代码密度。此外,它也避免了从主存取指令的较慢动作,从而提高执行效率。在微代码中实现功能的另一论点是:这些功能能较好的支持编译程序。如果一条高级语言的语句能被转换成一条机器语言指令,这可使编译软件的编写变得非常容易。此外,在机器语言中含有类似高级语言的语句指令,便能使机器语言与高级语言的间隙减少。这种发展趋向导致了复杂指令系统(CISC)设计风格的形成,即认为计算机性能的提高主要依靠增加指令复杂性及其功能来获取。
2.2.2CISC的主要特点
CISC指令系统的主要特点是:
(1)指令系统复杂,具体表现在以下几个方面:
①指令数多,一般大于100条。
②寻址方式多,一般大于4种。
③指令格式多,一般大于4种。
(2)绝大多数指令需要多个机器时钟周期方可执行完毕。
(3)各种指令都可以访问存储器。
2.3精简指令系统(RISC)
2.3.1RISC的产生
由于CISC技术在发展中出现了问题,计算机系统结构设计的先驱者们尝试从另一条途径来支持高级语言及适应VLSI技术特点。1975年IBM公司JohnCocke提出了精简指令系统(RISC)的设想。到了1979年,[4]美国UCBerkely大学由Patterson教授领导的研究组,首先提出了RISC这一术语,并先后研制了RISC-Ⅰ和RISC-Ⅱ计算机。1981年美国的Stanford大学在Hennessy教授领导下的研究小组研制了MIPSRISC计算机,强调高效的流水和采用编译方法进行流水调度,使得RISC技术设计风格得到很大补充和发展。到了90年代初,IEEE的MichaelSlater对于RISC的定义作了如下描述:RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。
2.3.2RISC的主要特点
RISC为使流水线高效率执行,应具有下述特征:
(1)简单而统一格式的指令译码;
(2)大部分指令可以单周期执行完成;
(3)只有LOAD和STORE指令可以访问存储器;
(4)简单的寻址方式;
(5)采用延迟转移技术;
(6)采用LOAD延迟技术。
RISC为使优化编译器便于生成优化代码,应具有下述特征:
(1)三地址指令格式;
(2)较多的寄存器;
(3)对称的指令格式。
2.4RISC和CISC的比较
2.4.1不同的实现方式
两者的实现方式是不一样的。对于CISC来说,采用的存储结构是比较易于实现的数据和指令合一的方式。采用这种存储结构的原因是CISC具有比较高级的指令语义,同时具有比较长的执行指令的周期。而对于RISC来说,其采用的存储结构是数据和指令相互分离的结构,这是因为其采取了逻辑的硬布线方式,同时对于指令的读取比较频繁。
2.4.2不同的编译器要求
如果时钟频率相同,同时失去编译器,那么RISC与CISC的体系结构的计算机的效率其实并没有差别。而且相对来说,RISC体系结构更加需要编译器对指令的优化。CISC具有很大的市场,同时技术的发展也已经相当成熟。RISC体系结构并不能够直接取代CISC的体系结构。固然,RISC体系结构具有很强的竞争力,但是其逻辑硬布线到目前为止并没有统一的规定。RISC也并不是传统意义上的概念,现代的RISC也具有很多明显的变化,主要表现在:具有分支预测的功能、能够超标量执行,同时还能够乱序执行指令。
3.计算机系统结构的发展势
3.1多线程体系
所谓的多线程技术(multithreadingtechnology)[5],是一种结合了冯诺依曼的控制流模型以及数据流模型的新兴技术。它能够进行现场的指令级交换以及顺序调度。一般说来,在线程中,如果其中一条指令执行,那么相应后面的指令都会相继执行。线程可以成为计算机中调度执行的基本步骤,同时计算机中可以同时并发运行许多个线程。这样做的好处是:提高了并行度的效果,同时又能相互隐藏延迟的操作。多线程有着许多优点,同时也有一些不足之处。它的优点是能够在很大程度上提高整个处理器的利用效率,在整体上使计算机的性能提高到一个新的档次。多线程技术能很好地隐藏几乎所有的延迟,这是诸如分支预测错误延迟技术等其它技术所不具备的。因此,多线程技术能够在计算机微处理器的结构中具有很高的应用价值。
3.2高性能计算
4.结束语
目前计算机的发展十分迅速,已经在各个方面彻底改变了现代人们的生活方式和工作方式,人们的沟通以及工作的效率得到了很大程度上的提高。本论文简要介绍了计算机流水线技术,指令系统,然后提出了两种指令系统(RISC和CISC)并对比了两种不同的体系结构,比较了这两种体系结构中存在的问题,进而提出计算机体系结构的发展趋势。
[1]郑炜民汤志忠等译JohnL.Hennessy,DavidA.Paterson计算机系统结构:一种定量方法(第二版)[M]北京:清华大学出版社,2002
[2]谈怀江计算机指令系统的变化及发展孝感学院计算机科学系[J],2014
[3]李成铮,魏立津计算机体系结构的发展及技术问题探讨华中科技大学文华学院[J],2008
[4]刘超.计算机系统结构.[M]中国水利水电出版社,2005.
关键词:离散数学;计算机科学;应用研究
1.离散数学在计算机数据结构中的应用
2.离散数学在计算机数据库中的应用
计算机数据库技术是进行数据处理和存储的重要技术,在社会生产生活的多个领域都有着广泛的应用。计算机数据库技术是计算机科学中的一项重要技术。离散数学在计算机数据库中的应用,主要是通过笛卡尔积这一重要理论有效地帮助数据库的建立。另外,离散数学中的理论也应用于数据库中的表结构设计以及域间关系,使数据库能够更加完善,能够在应用中具备更高的使用价值,提升数据库的整体质量。
3.离散数学在人工智能中的应用
人工智能的实现需要依赖于数学理论和数学推理,从而使人工智能能够通过逻辑推理产生作用。离散数学的逻辑推理在人工智能中的应用较为广泛,使人工智能能够实现正常的运行传导。离散数学在人工智能中的应用,体现为一种数学的分析过程和处理过程。离散数学中的布尔代数理论是一种数学逻辑语言,能够帮助人工智能实现逻辑的设计,帮助人工智能建立逻辑运转体系,促进人工智能实现智能化。
4.离散数学在计算机体系结构中的应用
5.离散数学在计算机科学中应用的发展趋势
在未来的发展过程中,计算机科学的硬件基础将会逐渐得到进步,离散数学的数学理论知识也将在计算机科学中得到更为广泛的应用,促进计算机科学实现更快更好的发展。离散数学的逻辑推理在计算机科学中的应用帮助着计算机的软件设计。离散数学的关联词概念则能够在计算机科学内用于二进制数据的运算。另外,离散数学在计算机科学中的应用,也通过数学集合论概念用于数据结构以及算法分析,帮助计算机数据库的建立和结构设计,使计算机数据库技术能够得到有效的进步发展。此外,离散数学中的布尔代数理论使计算机的网络通信系统得以建立,使计算机科学的人工智能得以实现。离散数学的逻辑推理理论使人工智能能够实现数学的分析和处理活动。离散数学在计算机科学中的应用会越来越广泛,在计算机科学的系统建立、逻辑设计等各方面都会充分发挥作用,实现与计算机科学的良好结合。在计算机科学中,人工智能会成为设计、发展和创新的一项重要理论,支撑着计算机科学的进步发展。
离散数学以离散性的结构以及相互间的关系作为研究对象,其在计算机科学中的应用,能够有效地指导数据库的建立,改进和完善计算机体系结构,提高计算机的运行效率与运行质量,未来应更加注重离散数学在计算机科学中的应用。
关键词:计算机硬件;集成电路设计;教学改革
一、硬件系列课改的目的及意义
二、硬件系列教学的国内外发展现状及趋势
三、目前我院硬件系列教学现状及不足
四、硬件系列教学新课改方案
五、结束语
高等教育是为学生提供专业技能和生存本领、服务社会的最后一站,教学内容及方法直接关系到学生的未来发展。通过不断教学改革,保持教学的先进性和实用性一直是高教课改的目标之一。通过这次课改,理顺了我院硬件系列课程的教学关系,增强学生未来服务社会的竞争力,因此很有实际意义。
作者:李军崔旭李建平单位:1.东北石油大学2.大庆市萨东第二小学
参考文献
这个专业以计算机为基础的专业,和纯粹的计算机专业还有很大的不同,它偏向于电子电路,信息处理这方面。
计算机学科的特色主要体现在:
理论性强,实践性强,发展迅速按一级学科培养基础扎实的宽口径人才,体现在重视数学、逻辑、数据结构、算法、电子设计、计算机体系结构和系统软件等方面的理论基础和专业技术基础,前两年半注重自然科学基础课程和专业基础课程,拓宽面向。后一年半主要是专业课程的设置,增加可选性、多样性、灵活性和方向性,突出学科方向特色,体现最新技术发展动向。
关键词:课程群;计算机硬件;农业院校;人才培养
当前我国很多高等农业院校计算机专业已逐渐转变为软件工程和计算机科学与技术两个专业方向。然而,在教学实践中过分强调软件与应用,计算机硬件方面的教学却相对薄弱,导致学生缺乏计算机体系结构、计算机组成与结构等硬件方向的基本能力。即,计算机教育上存在着“重软轻硬”的倾向。
1计算机硬件教学存在问题分析
因此,学生在掌握计算机硬件基本原理的基础上,如何结合计算机硬件技术的发展,并充分体现硬件技术的系统性和实践性,是当前农业院校计算机硬件教学所面临的重要问题;也是真正实现计算机科学与技术专业培养目标所必须解决的问题。
2计算机硬件课程群
为了解决以上存在的问题,本文提出构建计算机科学与技术专业硬件课程群。课程群方法是近年来高等院校课程体系建设实践中出现的一项新的课程开发技术。其基本思想是把各门课程内容联系紧密,内在逻辑性强,属同一培养能力范畴的同一类课程作为一个课程群组进行建设,从技能培养目标层次有效的把握课程内容的分配、实施、保障和技能的实现。课程群体系的进程如图1所示。
其优势在于以下3个方面:
1)内容具有科学性。课程群各组成课程之间关系密切、逻辑性强,知识具有递进性,便于组织教学。
2)实验室高效利用。课程群使计算机专业实验室可以进行大型的跨课程综合型实验,不仅在使用人次上,更重要的是在每次使用的效率上将得到极大的提高。
3)教学具有可控性。课程群所有课程的教与学透明度提高,教学中的随意性和非计划性减少,可以有效的提高教学的可控性[2]。
3计算机硬件课程群构建的主要内容
本课程群的构建主要针对我校2010级本科教学人才培养实施方案。构建以下3个方面:计算机硬件课程群课程建设,综合型实验与课程设计设置和课程群内容的更新[3]。
3.1计算机硬件课程群课程建设
课程群的建立包括确定核心课程与选修课程。在课程群设置中,以学科方向和模块为核心,同时与专业培养计划相适应。在设置课程群的时候,打破单一授课的限制,使不同专业教研室的教师根据课程群设置凝聚一起,集中对各门核心课程和选修课程的内容与组织进行系统地规划,避免重复和脱节现象。例如:可以考虑把汇编语言课程和计算机组成原理课程结合,侧重于计算机硬件的五大部件、寻址方式和指令系统。这样有利于把计算机组成原理中介绍的一般性的知识和具体的微机系统联系起来,给学生打下牢固的理论基础;也可将汇编语言、计算机组成原理和微机接口技术3门课程全部联系起来,将计算机硬件基础知识全部融合在一起,提供给学生完善的知识体系[4]。
3.2计算机硬件课程群综合型实验建设
3.3课程群内容更新建设
根据计算机学科发展情况,及时、动态地调整课程群内核心课程、选修课程的设置,同时考虑到每一门课程具体内容的设置。让学生要尽可能学习掌握同当前主流技术发展方向联系比较紧密的新技术(如Pentium的超标量流水线、分离的指令Cache与数据Cache、指令分支预测技术、Itanium的EPIC核心技术),以及计算机新技术发展趋势(如未来处理器技术,现代网络环境对硬件技术的要求,64位微处理器技术)等。
参考文献:
[1]唐建宇.计算机硬件课程教学中的若干问题分析与探讨[J].福建电脑,2007(5):188-189.
[2]刘新平,郑秋梅,孙士明,等.计算机硬件课程群实验体系的改革与完善[J].计算机教育,2008(12):117-119.
[3]王让定,钱江波,石守东,等.CC2005的计算机学科硬件与结构课程群改革探索[J].计算机教育,2008(8):137-138.
[4]刘全利,黄贤英,杨宏雨.计算机组成原理课程群建设的探讨[J].科技信息,2008(4):9-10.
DiscussontheComputerHardwareCourseGroupinComputerScienceand
TechnologyTeachingofAgriculturalUniversities
ZHANGXi-hai,YUXiao,WUYa-chun,WEIXiao-li
(Engineeringcollege,NortheastAgricultureUniversity,Harbin150030,China)
处理器带u表示UltraLowVoltage,超低电压版CPU,发热量和功耗比L系列的还要低。则L表示Lowvoltage,指的是低电压版CPU,发热量跟标准版的相比大约只有一半。
在计算机体系结构中,CPU是对计算机的所有硬件资源(如存储器、输入输出单元)进行控制调配、执行通用运算的核心硬件单元。CPU是计算机的运算和控制核心。计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。
关键词:应用型本科;嵌入式课程体系;教学方法
嵌入式是一门从上层应用到底层内核开发的软硬件结合,对综合技术要求较高的技术领域,各高校近年来普遍开设嵌入式方向或专业,我校也已经在计算机科学与技术系设置嵌入式专业。目前我校计算机科学与技术系已经开设的嵌入式课程的前续课程有数字电路,计算机体系结构、计算机组成原理、微机原理与接口技术、程序设计语言I及面向过程程序设计、操作系统、数据结构与算法等。考虑到嵌入式课程建设的连续性、层次性和前沿性的需要,形成了包含嵌入式系统、嵌入式内核编程与驱动开发和嵌入式软件设计在内的嵌入式专业课程体系。下面主要介绍这三门课程的建设。
1嵌入式课程设置
我系首次开设的嵌入式系统课程是偏硬件系统设计的一门课程,目标是通过对本门课程的学习,使学生了解ARM体系结构,掌握ARM伪操作及伪指令,掌握嵌入式Linux系统的构建能力,包括嵌入式交叉编译环境搭建,bootloader移植,文件系统制作,内核的编译过程;掌握Linux下C与汇编混合编程,同时理解嵌入式系统驱动程序编写思想。
考虑到实际的嵌入式系统设计过程中,对特定的微处理器内部结构的知识要求淡化的同时,对处理器接口知识的要求却在增加。因此,嵌入式系统课程增加了嵌入式系统中常用的接口的基本原理和接口协议部分,学生可以通过本门课程的学习,自己动手搭建定制的嵌入式操作系统,并通过对实际的硬件接口学习及操作,增强学生的嵌入式系统设计的能力。
嵌入式驱动开发要求学生掌握驱动开发方法、开发流程;掌握内核关键数据结构及中断机制等内容,但是由于学时限制,起初开设的嵌入式系统课程,这部分内容仅要求学生掌握驱动设备的类型及驱动开发流程。本次将嵌入式驱动开发部分的内容独立设置为一门课程——嵌入式内核编程与驱动开发,目标是通过学习本门课程,学生能够理解嵌入式驱动开发基本概念、理论和方法;了解嵌入式Linux驱动工作原理,熟悉Linux内核关键数据结构和机制;掌握交叉编译工具的使用和嵌入式驱动开发整体流程。使学生在学完本门课程后,能够自己动手开发驱动程序,并进行内核编程开发。
嵌入式系统经过系统设计和底层开发后,仅是一个具备了硬件、驱动及操作系统的设备,还需要在该系统上开发大量的应用软件,才能称之为有用的受人们欢迎的系统。所以嵌入式系统的软件开发同样重要。起初的嵌入式系统课程仅介绍了Linux下C与汇编混合编程方法,这仅适用于底层开发驱动的要求,但这远远不能满足当今企业对嵌入式软件开发人员的要求。本次将嵌入式软件开发独立设置为一门课程,目标是通过本课程学习掌握Linux常用命令及Linux下C编程及开发流程,掌握Linux操作系统编程关键技术,包括进程控制,多线程编程及网络通信等。使学生在学完本门课程后,能够进行多进程、多线程编程及网络通信编程等功能,实现操作系统应用软件的开发。
嵌入式系统,其前期课程为计算机体系结构,计算机组成原理,微机原理与接口技术;嵌入式内核编程及驱动开发,其前期课程为操作系统,数据结构与算法,嵌入式系统;嵌入式软件设计,其前期课程为程序设计语言I、面向过程程序设计、操作系统,编译原理,嵌入式系统及嵌入式内核编程与驱动开发。
2教学方法的运用
2.1嵌入式系统课程
1)嵌入式Linux常用开发工具及GNU工具链生成部分采用案例教学法。通过搭建GNU工具链任务,让学生在完成任务的同时达到熟练掌握常用命令及工具的作用。
2)嵌入式Linux系统的构建部分采用项目驱动法,学生在完成每节的学习后,完成Linux系统构建的一部分功能,最终完成Linux系统构建,通过综合运用以上知识点,自己动手定制一个U盘上的最小系统,实现从U盘启动系统。
3)嵌入式系统基础接口的原理及协议部分,每部分内容都有丰富的案例,由于这部分涉及的内容比较多,采用案例分析法与分组讨论法,通过设置设计型实验项目,让学生先讨论,提出一个可行性方案,并最终在设备上实现各种功能。
2.2嵌入式内核编程及驱动开发课程
1)Linux设备驱动概述及开发环境构建及硬件基础部分采用案例分析法,理解嵌入式驱动开发的方法;(下转第8354页)
2)Linux内核及内核编程、Linux内核模块、Linux文件系统与设备文件系统部分采用任务驱动法,通过对模块的加载卸载、模块参数和编译模块等任务的操作使学生熟练掌握Linux内核模块的操作;
3)字符设备驱动部分采用案例分析法,了解嵌入式Linux驱动工作原理;
4)并发与竞态、LINUX设备驱动中的阻塞、非阻塞I/O与异步通知、Linux异常处理体系结构部分采用案例分析法进行讲解,熟悉Linux内核关键数据结构和机制。
2.3嵌入式软件设计课程
每部分都配有相应的任务或项目,各重点知识点都配有案例进行分析,便于学生理解和掌握。具体需要完成的项目包括:Linux下服务器配置项目;简单程序开发项目;多进程及守护进程程序编写任务;管道通信及共享内存任务;生产者消费者项目;NTP协议项目。最终实现一个嵌入式Web应用系统的设计与开发项目。
3结束语
综上所述,嵌入式课程由原来的一门课程,即嵌入式系统课程,通过教学内容的扩充及调整为三门课程。将课程分为系统设计类课程,即嵌入式系统;底层开发类课程,即嵌入式内核编程及驱动开发;软件开发应用类课程,即嵌入式软件设计。通过综合运用项目驱动教学法、分组讨论法、任务驱动法、案例分析法等教学方法开展教学,引导和激发学生的主动学习和探究意识,引导和激发学生的动手实践意识,达到学以致用。
关键词:移动互联网云计算3G4G
1.移动互联网的发展
在最近几年里,移动通信和互联网成为当今世界发展最快的两大产业。这一高速增长现象反映了随着时代与技术的进步,人类对移动性和信息的需求急剧上升。出现移动通信与互联网相结合的趋势是历史的必然。
1.1用户体验成本较高。用户体验移动互联网成本高,主要体现在两方面,服务资费高和更换终端成本高。随着各种资费套餐的推出和价格政策的逐步改革,资费高问题将逐步得到缓解。有相当一部分用户因为终端价格过高而止步。而且目前推出的智能手机等终端可支持的比较成熟的应用相对来说还很少。对于未来可能出现的多种应用业务,现有的终端还能否支持、是否还需要再次投入成本等,都是造成部分用户观望的原因。
1.2移动终端处理能力弱。无论是在运算还是多媒体处理方面,移动终端都与个人电脑存在着很大差距,因此所能处理的应用也相对功能简单;[本文转自:]
1.3网络带宽相对较小。尽管随着3G等宽带移动接入技术的普及,带宽的瓶颈会不断被突破。但更多、更丰富的移动互联网应用业务的产生也将会对带宽提出更高的要求;
2.云计算概述
2.1云计算简介
云计算是一个网络应用模式。云计算是一种全新网络服务方式,将传统的以桌面为核心的任务处理转变为网络为核心的任务处理,利用互联网实现自己想要完成的一切处理任务,使网络成为传递服务、计算力和信息的综合媒介,真正实现按需计算、多人协作。
云计算具有虚拟化、灵活制定、动态可扩展、高可靠性、强大计算和存储能力等优点。当然此技术的运用也存在一定风险性。
2.2云计算机体系构成
现代计算机的基本结构包括5个基本组成成分:运算器、控制器、存储器、输入设备和输出设备。这就是一直指导现代计算机体系发展的著名的冯诺依
曼体系。
基于冯诺依曼体系的设计思想和云计算理念,我们可以设计出如下云计算机体系结构,未来一切云服务都可以架构在这个系统模型上工作。云计算机中应该具有6个组成成分:主服务控制机群、存储节点机群、应用节点机群、计算节点机群、输入设备和输出设备。
(1)存储节点机群和应用节点机群相当于传统计算机体系中的存储器部分,但又有所区别。存储节点机群是由庞大的磁盘阵列系统或多组拥有海量存储能力的机群系统所组成的存储系统,它的责任是处理用户数据资源的存取工作,并不关心用户对这些数据要如何应用,也不会处理存取数据资源和后台安全策略管理以外的任何操作。应用节点机群则是由一组或多组拥有不同业务处理逻辑的机群系统所组成的应用系统,它负责存储应用程序和处理各种逻辑复杂的用户请求;
(2)主服务控制机群对应于传统计算机体系结构中,可以类似看作控制器
部分。它是由一组或多组主引导服务机群和多组分类控制机群所组成的机群系统。主要负责接收用户应用请求、验证用户合法性,并根据应用请求类型进行
应用分类和负载均衡;
(3)输入/输出设备和目前的个人计算机没有实质性变化,显示器、键盘、鼠标等人机交互设备还是必要的。
3.3G移动通信在我国的发展
我们知道,在3G通信的三大国际主流标准中,包含了我国大唐电信所提出的具有自主知识产权的TD―SCDMA标准,但由于这是一个全新的标准。因此在2G通信中,并不存在与这一标准相对应的2G体制。显然。这对于要建立一个全新的TD―SCDMA系统而言,确实带来了巨大的困难。
4.移动通信网由3G向4G的过渡
1.1UIUC计算机工程专业本科课程设置
UIUC计算机工程专业学生需要修满128个学分,这些课程分为如下7大类:1)科学基础与数学课程(31学分),包括数学、物理、化学在内的10门课程。2)计算机工程核心课程(34学分),这些课程重点介绍计算机工程领域的基本概念、基本原理、基本实验方法和技术,共有10门课程。3)专业基础数学课程(6学分),包括离散数学和概率、工程应用两门数学课程。4)写作课程(4学分),1门写作原理课程,主要讲授研究报告的写作方法。5)专业技术选修课(23学分),其中1门必须选自计算机工程和计算机科学专业技术选修课程之外的课程,其他必须均选自计算机工程和计算机科学专业技术选修课程。这些课程强调计算机工程实践中用到的主要分析方法和设计原则。6)社会科学与人文科学课程(18学分),这些课程被工学院认可并满足学校对学生社会科学与人文科学课程通识教育的要求。7)自由选修课程(12学分),这些几乎没有限制的选修课可以让学生学习任何领域的知识。学生可以在计算机工程专业深入学习课程,也可以学习生物工程、技术管理或语言等课程。
1.2普度大学计算机工程专业本科课程设置
普度大学计算机工程专业学生需要修满125个学分,这些课程分为如下6大类:1)通识教育课程(24~25学分),包括6~7学分的两门交流技巧课程和18个学分的社会与人文学科选修课程。2)数学课程(21~22学分),数学课程有两种套餐,各6门课,学生可以根据自己的情况任选一种。3)科学基础课程(18~19学分),包括物理、化学、生物及面向对象编程等5门课程。4)工程基础课程(7学分),包括工程导论两门课程及计算机工程和计算机科学以外学科的工程学科选修课1门。5)计算机工程专业课程(49学分),包括32~33学分的13门计算机工程专业核心课程;两门共计1学分的研讨课程;2门3~4学分的高级设计课程;2门8学分的研究生课程;1~2门计算机专业选修课程,使计算机工程专业课程总学分达到49学分。6)任选课程(4~6学分),根据辅修要求或个人兴趣,任选课程可以从理学院或文理学院中适合工科学生的数学、科学课程中选择,目的是使总学分达到125学分。
1.3伊利诺伊理工学院计算机工程专业本科课程设置
IIT计算机工程专业学生需要修满130~134个学分,这些课程分为如下3大类:1)限选课程(109学分),学分分配如下:计算机工程专业限选课程47学分,包括计算机工程和计算机科学两类课程;数学限选课程24学分;物理限选课程11学分;化学限选课程3学分;工程科学限选课程3学分;社会科学与人文学科限选课程21学分。2)选修课程(15~19学分),包括专业选修课程9~12学分,其中含1门硬件设计选修课;科学选修课程3学分。3)跨专业实践项目课程(6学分),包括IPROI跨专业实践项目I和IPROII跨专业实践项目II两门课程。
1.4西北大学计算机工程专业本科课程设置
24所大学计算机工程课程设置特色
4所大学计算机工程本科专业的课程设置都通过美国工程教育认证机构ABET的EC2000指标体系认证,有如下特点:
1)注重基础知识的学习,在贯彻通识教育中培养学生的各种能力。基础知识直接决定学生未来的发展潜力[7-8],而基础知识的掌握通常是通过通识教育实现的。与我国高校通识教育不同的是,这4所美国大学按照各种完整的项目组织基础知识,让学生在基于项目的学习中形成各种能力。他们还特别重视人际沟通能力的培养和学生对广泛深入的人文社科知识的理解,使所有工科学生在数学、物理、信息、物质、生命、技术和能源科学方面及人文社科方面打下广泛的基础。这种比知识更重要的能力是学生取之不尽、用之不竭的资源。普度大学第一年的工程基础培养及UIUC第一年的计算机工程训练从一开始就围绕能力培养,使学生能更好地理解和应用所学的基础科学和数学知识。