编译技术的发展和应用[精选合集]

时间:2019-05-14 02:12:17下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《编译技术的发展和应用》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《编译技术的发展和应用》。

第一篇:编译技术的发展和应用

编译技术的发展和应用

据说第一个编译程序的出现是在20世纪50年代早期,很难讲出确切的时间,因为当初大量的实验和实现工作是由不同的小组独立完成的,多数早期的编译工作是将算术公式翻译成机器代码。用现在的标准来衡量,当时的编译程序能完成的工作十分初步,如只允许简单的单目运算,数据元素的命名方式有很多限制。然而它们奠定了对高级语言编译系统的研究和开发的基础。20世纪50年代中期出现了FORTRAN等一批高级语言,相应的一批编译系统开发成功。随着编译技术的发展和社会对编译程序需求的不断增长,20世纪50年代末有人开始研究编译程序的自动生成工具,提出并研制编译程序的编译程序。它的功能是以任一语言的词法规则、语法规则和语义解释出发,自动产生该语言的编译程序。目前很多自动生成工具已广泛使用,如词法分析程序的生成系统LEX,语法分析程序的生成系统YACC等。20世纪60年代起,不断有人使用自展技术来构造编译程序。自展的主要特征是用被编译的语言来书写该语言自身的编译程序。1971年,PASCAL的编译程序用自展技术生成后,其影响就越来越大。

随着并行技术和并行语言的发展,处理并行语言的并行编译技术,将串行程序转换成并行程序的自动并行编译技术也正在深入研究之中。另外嵌入式应用迅速增长的需求,推动了交叉编译技术的发展.还有系统芯片设计方法和关键EDA技术的研究,也带动了专用语言VHDL等及其编译技术的不断深化。

编译实现方式的发展

-手工

机器语言

汇编

系统程序设计语言

-自动构造工具lex yacc gcc

推动编译技术发展的因素

语言范型(计算模式)

计算机体系结构

语言范型

-命令式(imperative language)

-应用式(applicative)

-基于规则的(rule-based)

-面向对象的(object-oriented)

-并行计算(parallel computing)

体系结构

-万诺曼机体系结构

-并行体系结构

-嵌入系统

编译程序执行环境

-批处理

-交互环境

-嵌入系统环境

为了提高软件开发的效率和保证质量,人们除了要在软件工程中对软件开发过程所要遵循的规范化或标准化外,还尽量使用先进的软件开发技术和相应的软件工具,而大部分软件工具的开发,常常要用到编译技术和方法。实际上编译程序本身也是一种软件开发工具。为了提高编程效率,缩短调试时间,软件工作人员研制了不少对源程序处理的工具。这些工具的开发不同程度地用到编译技术和方法。下面仅是一些

例子。

1、语言的结构化编辑器 结构化编辑器是引导用户在语言的语法制导下编制程序,能自动地提供关键字和与其匹配的关键字,如if后必须有then,begin和end的配对,左右括号的配对等,这样可以减少语法上的错误,可加快对源程序的调试,提高效率和质量。

2、语言程序的调试工具 调试是软件开发过程中一个重要环节,结构化编辑器只能解决语法错误的问题,而对一个已通过编译的程序来说,需进一步了解的是程序执行的结果与编程人员的意图是否一致,程序的执行是否实现预计的算法和功能。这种对算法的错误或程序没能反应算法的功能等错误就需用调试器来协助解决。调试器的功能愈强,实现愈复杂,但它必须与语法分析、语义处理有紧密联系。

3、语言程序测试工具 语言程序的测试工具有两种:静态分析器和动态测试器

静态分析器是对源程序进行静态地分析。它对源程序进行语法分析并制定相应表格,检查变量定值与引用的关系。如某变量未被赋值就被引用,或定值后未被引用,或多余的源代码等一些编译程序的语法分析发现不了的错误。动态测试工具是在源程序的适当位置插入某些信息,并用测试用例记录(显示语句或函数)程序运行时的实际路径。将运行结果与期望的结果进行比较分析,帮助编程人员查找问题。这种测试工具在国内已有开发,如FORTRAN语言和C语言的测试工具。

4、高级语言之间的转换工具 由于计算机硬件的不断更新换代,更新更好的程序设计语言的推出为提高计算机的使用效率提供了良好条件,然而一些已有的非常成熟的软件如何在新机器新语言情况下使用呢?为了减少重新编制程序所耗费的人力和时间,就要解决如何把一种高级语言转换成另一种高级语言,乃至汇编语言转换成高级语言的问题。这种转换工作要对被转换的语言进行词法和语法分析,只不过生成的目标语言是另一种高级语言而已。这与实现一个完整的编译程序相比工作量要少些。在国内已研制出C,PASCAL,FORTRAN到Ada的翻译器和IBM 4700汇编到C的转换器,其效果很好。近年来,由于JAVA语言的发展,国内外也已研制出不少其他语言到JAVA的转换系统,如c到JAVA的转换系统,cobol到JAVA的转换系统等等。

编译实现方式的发展主要分一下五类:手工、机器语言、汇编、系统程序设计语言、自动构造工具lex yacc gcc。推动编译技术发展的因素主要包括:语言范型(计算模式)、计算机体系结构语言范型主要包括:命令式(imperative language)、应用式(applicative)、基于规则的(rule-based)、面向对象的(object-oriented)、并行计算(parallel computing)。

体系结构主要包括:万诺曼机体系结构、并行体系结构、嵌入系统。编译程序执行环境主要包括:批处理、交互环境、嵌入系统环境、并行编译技术、交叉编译。

编译程序在一个机器(宿主机)上运行,产生另一个机器(目标机)的汇编语言。嵌入式系统中的应用程序正是借助这样的编译程序生成。

目标处理器MIPSX是MIPS系列芯片的种,属于RISC体系结构,来源于斯坦福大学的MIPS计划。由于该系列CPU不是采用加州大学伯克利分校的RISC窗口技术而是采用消除流水线各级互锁的微处理器MIPS(MicroprocessorWithout Interlocking Pipeline Stage)技术,因此而得名。MIPS是将IBM公司对优化编译程序的研究和加州大学伯克利分校的大规模集成电路的思想结合起来的产品。

由于RISC指令集的简单和整齐,为了达到更好地利用计算机的性能,MIPS系列芯片中很好地应用了流水线策略。流水线是现代各类微处理器都采用的指令执 行技巧,即将若干条指令的取指、译码和执行过程部分重叠在流水线中同时执行。以前在CISC计算机中,由于指令多而复杂,处理每条指令的所需时间不固定,当后面指令需要前条指令的结果时,往往造成指令互锁,因此无法实现流水线。而斯坦福大学的MIPS计划就是在编译的过程中,利用编译程序优化处理器的流水 线以求提高处理器流水线的效率。由于采用了硬件连线控制来执行数目不多的简单指令,而且还能重组软件流水线,这样就减少了硬件复杂性。但是由于存在数据和指令转移的相关性,这会引起流水线的停顿,降低流水线整体的执行速率。为了调整这些相关性,又开发出了代码重组技术,其中一种是延迟转移(delayed branch),另一种叫延迟装入,提升了性能。

MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品被很多计算机公司采用生产各种工作站和计算机系统。R系 列遵循按比例提高性能设计技术,按不同工艺技术实现基本相同的体系结构,其适用范围从低端的嵌入式控制器、个人计算机到高端的超级小型机、服务器甚至大型 机和巨型机,而且系统软件和应用程序都是兼容的。MIPS公司在1986年推出82000处理器,1988年推出83000处理器,1991年推出第一款 64位商用微处理器84000。之后,又陆续推出88000(于1994年)、810000(于1996年)和812000(于1997年)等型号。1999年,MIPS公司发布MIPS 32和MIPS 64架构标准。2000年,MIPS公司发布了针对MIPS 32 4Kc的新版本以及未来64位MIPS 64 20Kc处理器内核。

在整个R系列中82000/82010是最基础的原型;83000/83010是82000/82010的增强型产品;由于84000采用高 精度的CMOS工艺,因此其性能很高,用途很广;而86000/86010是ECL电路化的高速品种,但是由于86000/86010的功耗大,成本高,所以其应用受到很大限制。但是MIPSX并不属于以上提到的CPU中的任何一种,它是由20世纪80年代后期由美国国防部高级研究项目署(DARPA)资 助的一个项目的成果。因此,基于MIPSX的交叉编译工具链研究虽然现有的GNU交叉编译工具链对MIPS公司R系列芯片的支持很好,但还是缺乏对 MIPSX的有效支持,所以还是需要进行移植。进行移植工作前,必须首先了解MIPSX的体系结构。经过实验室前几届师兄的分析,我们得知MIPSX的体 系结构与MIPS公司R系列芯片中的82000最为接近,当然它们在很多地方还是存在着差别,比如具体指令集的不同,比如MIPSX没有浮点操 作;MIPSX指令的基本操作码只占5位;MIPSX在跳转指令中的延时槽有两条等。

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 目标代码(object code)→ 链接器(Linker)→ 可执行程序(executables)高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言(High-level language),如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

在20世纪40年代,由于冯·诺伊曼在存储-程序

编译原理实验程序

计算机方面的先锋作用,编写一串代码或程序已成必要,这样计算机就可以执行所需的计算。开始时,这些程序都是用机器语言(machine language)编写的。机器语言就是表示机器实际操作的数字代码,例如:

C7 06 0000 0002 表示在IBM PC 上使用的Intel 8x86处理器将数字2移至地址0 0 0 0(16进制)的指令。

但编写这样的代码是十分费时和乏味的,这种代码形式很快就被汇编语言(assembly language)代替了。在汇编语言中,都是以符号形式给出指令和存储地址的。例如,汇编语言指令 MOV X,2 就与前面的机器指令等价(假设符号存储地址X是0 0 0 0)。汇编程序(assembler)将汇编语言的符号代码和存储地址翻译成与机器语言相对应的数字代码。

汇编语言大大提高了编程的速度和准确度,人们至今仍在使用着它,在编码需要极快的速度和极高的简洁程度时尤为如此。但是,汇编语言也有许多缺点:编写起来也不容易,阅读和理解很难;而且汇编语言的编写严格依赖于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时必须完全重写。

发展编程技术的下一个重要步骤就是以一个更类似于数学定义或自然语言的简洁形式来编写程序的操作,它应与任何机器都无关,而且也可由一个程序翻译为可执行的代码。例如,前面的汇编语言代码可以写成一个简洁的与机器无关的形式 x = 2。

在1954年至1957年期间,IBM的John Backus带领的一个研究小组对FORTRAN语言及其编译器的开发,使得上面的担忧不必要了。但是,由于当时处理中所涉及到的大多数程序设计语言的翻译并不为人所掌握,所以这个项目的成功也伴随着巨大的辛劳。几乎与此同时,人们也在开发着第一个编译器,Noam Chomsky开始了他的自然语言结构的研究。他的发现最终使得编译器结构异常简单,甚至还带有了一些自动化。Chomsky的研究导致了根据语言文法(grammar,指定其结构的规则)的难易程度以及识别它们所需的算法来为语言分类。正如现在所称的-与乔姆斯基分类结构(Chomsky hierarchy)一样-包括了文法的4个层次:0型、1型、2型和3型文法,且其中的每一个都是其前者的专门化。2型(或上下文无关文法(context-free grammar))被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。

分析问题(parsing problem,用于限定上下文无关语言的识别的有效算法)的研究是在20世纪60年代和70年代,它相当完善地解决了这一问题,现在它已是编译理论的一个标准部分。它们与乔姆斯基的3型文法相对应。对它们的研究与乔姆斯基的研究几乎同时开始,并且引出了表示程序设计语言的单词(或称为记号)的符号方式。人们接着又深化了生成有效的目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其误称为优化技术(optimization technique),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(code improvement technique)。

这些程序最初被称为编译程序-编译器,但更确切地应称为分析程序生成器(parser generator),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最著名的是 Yacc(yet another compiler-compiler),它是由Steve Johnson在1975年为Unix系统编写的。

类似地,有穷自动机的研究也发展了另一种称为扫描程序生成器(scanner generator)的工具,Lex(与Yacc同时,由Mike Lesk为Unix系统开发的)是这其中的佼佼者。在20世纪70年代后期和80年代早期,大量的项目都关注于编译器其他部分的生成自动化,这其中就包括代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。

编译器设计最近的发展包括:首先,编译器包括了更为复杂的算法的应用程序,它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言(可允许此类分析)的发展结合在一起。其中典型的有用于函数语言编译的Hindle y-Milner类型检查的统一算法。

其次,编译器已越来越成为基于窗口的交互开发环境(interactive development environment,IDE)的一部 分,它包括了编辑器、链接程序、调试程序以及项目管理程序。这样的IDE的标准并没有多少,但是已沿着这一方向对标准的窗口环境进行开发了。

编辑器(editor):编译器通常接受由任何生成标准文件(例如ASCII文件)的编辑器编写的源程序。现在,编译器已与另一个编辑器和其他程序捆绑进一个交互的开发环境-IDE中。此时,尽管编辑器仍然生成标准文件,但会转向正被讨论的程序设计语言的格式或结构。这样的编辑器称为基于结构的(structure based),且它早已包括了编译器的某些操作;因此,程序员就会在程序的编写时而不是在编译时就得知错误了。从编辑器中也可调用编译器以及与它共用的程序,这样程序员无需离开编辑器就可执行程序。

编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。目前各个大学使用的教材机械工业出版社、国防工业出版社出版的《编译原理》。

大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决著名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名著的相关数论。

推荐参考书

虽然编译理论发展到今天,已经有了比较成熟的部分,但是作为一个大学生来说,要自己写出一个像TurbocC,Java那样的编译器来说还是太难了。不仅写编译器困难,学习编译原理这门课程也比较困难。

第一本书的原名叫《CompilersPrinciples,Techniques,andTools》,另外一个响亮的名字就是龙书。原因是这本书的封面上有条红色的龙,也因为獗臼樵诒嘁朐?砘?嘴域确实?忻?所以很多国外的学者都直接取名为龙书。最近机械工业出版社已经出版了此书的中文版,名字就叫《编译原理》。该书出的比较早,大概是在85或86年编写完成的,作者之一还是著名的贝尔实验室的科学家。里面讲解的核心编译原理至今都没有变过,所以一直到今天,它的价值都非凡。这本书最大的特点就是一开始就通过一个实际的小例子,把编译原理的大致内容罗列出来,让很多编译原理的初学者很快心里有了个底,也知道为什么会有这些理论,怎么运用这些理论。而这一点是我感觉国内的教材缺乏的东西,所以国内的教材都不是写给愿意自学的读者,总之让人看了半天,却不知道里面的东西有什么用。

第二本书的原名叫《ModernCompilerDesign》,中文名字叫做《现代编译程序设计》。该书由人民邮电出版社所出。此书比较关注的是编译原理的实践,书中给出了不少的实际程序代码,还有很多实际的编译技术问题等等。此书另外一个特点就是其现代而字。在传统的编译原理教材中,你是不可能看到如同Java中的垃圾回收等算法的。因为Java这样的解释执行语言是在近几年才流行起来的东西。如果你想深入学习编译原理的理论知识,那么你肯定得看前面那本龙书,如果你想自己动手做一个先进的编译器,那么你得看这本《现代编译程序设计》。

第三本书就是很多国内的编译原理学者都推荐的那本《编译原理及实践》。或许是这本书引入国内比较早吧,我记得我是在高中就买了这本书,不过也是在前段时间才把整本书看完。此书作为入门教程也的确是个不错的选择。书中给出的编译原理讲解也相当细致,虽然不如前面的龙书那么深入,但是很多地方都是点到为止,作为大学本科教学已经是十分深入了。该书的特点就是注重实践,不过感觉还不如前面那本《现代编译程序设计》的实践味道更重。此书的重点还是在原理上的实践,而非前面那本那样的技术实践。《编译原理及实践》在讲解编译原理的各个部分的同时,也在逐步实践一个现代的编译器TinyC.等你把整本书看完,差不多自己也可以写一个TinyC了。作者还对Lex和Yacc这两个常用的编译相关的工具进行了很详细的说明,这一点也是很难在国内的教材中看到的。

推荐了这三本教材,都有英文版和中文版的。很多英文好的同学只喜欢看原版的书,不我的感觉是这三本书的翻译都很不错,没有必要特别去买英文版的。理解理论的实质比理解表面的文字更为重要。

编译原理的实质

几乎每本编译原理的教材都是分成词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化这些部分。其实现在很多编译原理的教材都是按照85,86出版的那本龙书来安排教学内容的,所以那本龙书的内容格式几乎成了现在编译原理教材的定式,包括国内的教材也是如此。一般来说,大学里面的本科教学是不可能把上面的所有部分都认真讲完的,而是比较偏重于前面几个部分。像代码优化那部分东西,就像个无底洞一样,如果要认真讲,就是单独开一个学期的课也不可能讲得清楚。所以,一般对于本科生,对词法分析和语法分析掌握要求就相对要高一点了。

词法分析相对来说比较简单。可能是词法分析程序本身实现起来很简单吧,很多没有学过编译原理的人也同样可以写出各种各样的词法分析程序。不过编译原理在讲解词法分析的时候,重点把正则表达式和自动机原理加了进来,然后以一种十分标准的方式来讲解词法分析程序的产生。这样的做法道理很明显,就是要让词法分析从程序上升到理论的地步。

语法分析部分就比较麻烦一点了。现在一般有两种语法分析算法,LL自顶向下算法和LR自底向上算法。LL算法还好说,到了LR算法的时候,困难就来了。很多自学编译原理的都是遇到LR算法的理解成问题后就放弃了自学。其实这些东西都是只要大家理解就可以了,又不是像词法分析那样非得自己写出来才算真正的会。像LR算法的语法分析器,一般都是用工具Yacc来生成,实践中完全没有比较自己来实现。对于LL算法中特殊的递归下降算法,因为其实践十分简单,那么就应该要求每个学生都能自己写。当然,现在也有不少好的LL算法的语法分析器,不过要是换在非C平台,比如Java,Delphi,你不能运用YACC工具了,那么你就只有自己来写语法分析器。

等学到词法分析和语法分析时候,你可能会出现这样的疑问:词法分析和语法分析到底有什么?就从编译器的角度来讲,编译器需要把程序员写的源程序转换成一种方便处理的数据结构(抽象语法树或语法树),那么这个转换的过程就是通过词法分析和语法分析的。其实词法分析并非一开始就被列入编译器的必备部分,只是我们为了简化语法分析的过程,就把词法分析这种繁琐的工作单独提取出来,就成了现在的词法分析部分。除了编译器部分,在其它地方,词法分析和语法分析也是有用的。比如我们在DOS,Unix,Linux下输入命令的时候,程序如何分析你输入的命令形式,这也是简单的应用。总之,这两部分的工作就是把不规则的文本信息转换成一种比较好分析好处理的数据结构。那么为什么编译原理的教程都最终把要分析的源分析转换成树这种数据结构呢?数据结构中有Stack,Line,List这么多数据结构,各自都有各自的特点。但是Tree这种结构有很强的递归性,也就是说我们可以把Tree的任何结点Node提取出来后,它依旧是一颗完整的Tree。这一点符合我们现在编译原理分析的形式语言,比如我们在函数里面使用函树,循环中使用循环,条件中使用条件等等,那么就可以很直观地表示在Tree这种数据结构上。同样,我们在执行形式语言的程序的时候也是如此的递归性。在编译原理后面的代码生成的部分,就会介绍一种堆栈式的中间代码,我们可以根据分析出来的抽象语法树,很容易,很机械地运用递归遍历抽象语法树就可以生成这种指令代码。而这种代码其实也被广泛运用在其它的解释型语言中。像现在流行的Java,.NET,其底层的字节码bytecode,可以说就是这中基于堆栈的指令代码的。

关于语义分析,语法制导翻译,类型检查等等部分,其实都是一种完善前面得到的抽象语法树的过程。比如说,我们写C语言程序的时候,都知道,如果把一个浮点数直接赋值给一个整数,就会出现类型不匹配,那么C语言的编译器是怎么知道的呢?就是通过这一步的类型检查。像C++语言这中支持多态函数的语言,这部分要处理的问题就更多更复杂了。大部编译原理的教材在这部分都是讲解一些比较好的处理策略而已。因为新的问题总是在发生,旧的办法不见得足够解决。

本来说,作为一个编译器,起作用的部分就是用户输入的源程序到最终的代码生成。但是在讲解最终代码生成的时候,又不得不讲解机器运行环境等内容。因为如果你不知道机器是怎么执行最终代码的,那么你当然无法知道如何生成合适的最终代码。这部分内容我自我感觉其意义甚至超过了编译原理本身。因为它会把一个计算机的程序的运行过程都通通排在你面前,你将来可能不会从事编译器的开发工作,但是只要是和计算机软件开发相关的领域,都会涉及到程序的执行过程。运行时环境的讲解会让你更清楚一个计算机程序是怎么存储,怎么装载,怎么执行的。关于部分的内容,我强烈建议大家看看龙书上的讲解,作者从最基本的存储组织,存储分配策略,非局部名字的访问,参数传递,符号表到动态存储分配(malloc,new)都作了十分详细的说明。这些东西都是我们编写平常程序的时候经常要做的事情,但是我们却少去探求其内部是如何完成。

关于中间代码生成,代码生成,代码优化部分的内容就实在不好说了。国内很多教材到了这部分都会很简单地走马观花讲过去,学生听了也只是作为了解,不知道如何运用。不过这部分内容的东西如果要认真讲,单独开一学期的课程都讲不完。在《编译原理及实践》的书上,对于这部分的讲解就恰到好处。作者主要讲解的还是一种以堆栈为基础的指令代码,十分通俗易懂,让人看了后,很容易模仿,自己下来后就可以写自己的代码生成。当然,对于其它代码生成技术,代码优化技术的讲解就十分简单了。如果要仔细研究代码生成技术,其实另外还有本叫做《AdvanceCompilerDesginandImplement》,那本书现在由机械工业出版社引进的,十分厚重,而且是英文原版。不过这本书我没有把它列为推荐书给大家,毕竟能把龙书的内容搞清楚,在中国已经就算很不错的高手了,到那个时候再看这本《AdvanceCompilerDesginandImplement》也不迟。代码优化部分在大学本科教学中还是一个不太重要的部分,就是算是实践过程中,相信大家也不太运用得到。毕竟,自己做的编译器能正确生成执行代码已经很不错了,还谈什么优化呢?

编译原理的课程毕竟还只是讲解原理的课程,不是专门的编译技术课程。这两门课程是有很大的区别的。编译技术更关注实际的编写编译器过程中运用到的技术,而原理的课

第一个编译程序的出现是在20世纪50年代早期,很难讲出确切的时间,因为当初大量的实验和实现工作是由不同的小组独立完成的,多数早期的编译工作是将算 术公式翻译成机器代码。用现在的标准来衡量,当时的编译程序能完成的工作十分初步,如只允许简单的单目运算,数据元素的命名方式有很多限制。然而它们奠定 了对高级语言编译系统的研究和开发的基础。20世纪50年代中期出现了FORTRAN等一批高级语言,相应的一批编译系统开发成功。随着编译技术的发展和 社会对编译程序需求的不断增长,20世纪50年代末有人开始研究编译程序的自动生成工具,提出并研制编译程序的编译程序。它的功能是以任一语言的词法规 则、语法规则和语义解释出发,自动产生该语言的编译程序。目前很多自动生成工具已广泛使用,如词法分析程序的生成系统LEX,语法分析程序的生成系统 YACC等。20世纪60年代起,不断有人使用自展技术来构造编译程序。自展的主要特征是用被编译的语言来书写该语言自身的编译程序。1971 年,PASCAL的编译程序用自展技术生成后,其影响就越来越大。

随着并行技术和并行语言的发展,处理并行语言的并行编译技术,将串行程序转换成并行程序的自动并行编译技术也正在深入研究之中。另外嵌入式应用迅速增 长的需求,推动了交叉编译技术的发展.还有系统芯片设计方法和关键EDA技术的研究,也带动了专用语言VHDL等及其编译技术的不断深化。我国编译器研发工作起步并不算晚,早在60年代初期,董韫美院士和杨芙清院士就分别在中科院和北大领导研究组开发编译器,那时面向的高级语言是ALGOL和FORTRAN,目标机是国产机。

在改革开放前,由于国家需要,中科院、国防科大、江南计算所、北大等单位一直在研制国产计算机,包括大型机和高性能计算机(如向量机、并行机),相应的也在研制高级语言编译器。中科院计算所以董韫美院士领导的研究组先后开发了119机、109机的类 ALGOL语言编译器BCY。国防科大开发了向量编译器和向量识别器。

70年代中科院计算所张兆庆教授研究组(以后称ACTGroup)开始在国产机上研制FORTRAN语言编译器,先后参与了众多的院级和国家级科研攻关项目,主持开发了013,757,KJ8920等国产大型机系统中的FORTRAN语言编译器,所研制的编译器支持了数百万行应用软件的运行。

90年代以来ACTGroup承担科学院重大项目,国家攻关项目,863项目,以及国际合作项目,先后开发了共享内存多处理机的并行识别器,分布式内存多处理机的并行识别器,SIMD芯片和VLIW芯片的并行优化C编译器。将编译技术与图形学结合,ACTGroup还推出了集成化、可视化的并行编程环境。ACTGroup在先进编译技术和并行编程环境方面的研究工作获国内外专家高度评价,国际著名学者评价此研究组居编译领域的世界先进行列。

第二篇:编译技术发展综述

编译技术发展综述

计算机科学与软件学院

计算机1302 蔡元昊 1311611517

引言:编译程序构造的原理和技术一直属于最近公布的核心知识领域,已成为计算机科学必备的专业基础知识。而且编译程序的构造是计算机科学中一个非常成功的分支,也是最早获得成功的分支之一,他所建立的理论和技术方法值得人们深入研究和学习。

摘要:编译程序是计算机的核心系统之一,是掌握计算机理论和软件技术的关键知识,编译原理合计数为人们理解计算机语言。创造优秀的软件奠定了理论基础。扩展了视野,开辟了捷径。编译原理和技术可以应用在其他诸如软件建模语言、硬件描述语言。脚本语言等的翻译方面:在集成化软件开发环境以及软件安全一直有着广泛的应用。而且,编译原理的研究有力的推动了计算机科学、计算机工程、软件开发以及人机工程的研究和发展。编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。

一、早期编译技术的发展

编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序(source language)编写的程序作为输入,而产生用目标语言(target language)编写的等价程序。通常地,源程序为高级语言(high-level language),如C或C + +,而目标语言则是目标机器的目标代码(object code,有时也称作机器代码(machine code)),也就是写在计算机机器指令中的用于运行的代码。这一过程可以表示为: 源程序→编译器 →目标程序

在20世纪40年代,由于冯·诺伊曼在存储-程序计算机方面的先锋作用,编写一串代码或程序已成必要,这样计算机就可以执行所需的计算。开始时,这些程序都是用机器语言(machine language)编写的。机器语言就是表示机器实际操作的数字代码,例如: C7 06 0000 0002 表示在IBM PC 上使用的Intel 8x86处理器将数字2移至地址0 0 0 0(16进制)的指令。

但编写这样的代码是十分费时和乏味的,这种代码形式很快就被汇编语言(assembly language)代替了。在汇编语言中,都是以符号形式给出指令和存储地址的。例如,汇编语言指令 MOV X,2 就与前面的机器指令等价(假设符号存储地址X是0 0 0 0)。汇编程序(assembler)将汇编语言的符号代码和存储地址翻译成与机器语言相对应的数字代码。

汇编语言大大提高了编程的速度和准确度,人们至今仍在使用着它,在编码需要极快的速度和极高的简洁程度时尤为如此。但是,汇编语言也有许多缺点:编写起来也不容易,阅读和理解很难;而且汇编语言的编写严格依赖于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时必须完全重写。发展编程技术的下一个重要步骤就是以一个更类似于数学定义或自然语言的简洁形式来编写程序的操作,它应与任何机器都无关,而且也可由一个程序翻译为可执行的代码。例如,前面的汇编语言代码可以写成一个简洁的与机器无关的形式 x = 2

第一个编译程序的出现是在20世纪50年代早期,多数早期的编译工作是将算术公式翻译成机器代码。用现在的标准来衡量,当时的编译程序能完成的工作十分初步,如只允许简单的单目运算,数据元素的命名方式有很多限制。然而它们奠定了对高级语言编译系统的研究和开发的基础。20世纪50年代中期出现了FORTRAN等一批高级语言,相应的一批编译系统开发成功。随着编译技术的发展和社会对编译程序需求的不断增长,20世纪50年代末有人开始研究编译程序的自动生成工具,提出并研制编译程序的编译程序。它的功能是以任一语言的词法规则、语法规则和语义解释出发,自动产生该语言的编译程序。目前很多自动生成工具已广泛使用,如词法分析程序的生成系统LEX,语法分析程序的生成系统YACC等。20世纪60年代起,不断有人使用自展技术来构造编译程序。自展的主要特征是用被编译的语言来书写该语言自身的编译程序。1971年,PASCAL的编译程序用自展技术生成后,其影响就越来越大。随着并行技术和并行语言的发展,处理并行语言的并行编译技术,将串行程序转换成并行程序的自动并行编译技术也正在深入研究之中。另外嵌入式应用迅速增长的需求,推动了交叉编译技术的发展.还有系统芯片设计方法和关键EDA技术的研究,也带动了专用语言VHDL等及其编译技术的不断深化。在70年代后期和80年代早期,大量的项目都贯注于编译器其它部分的生成自动化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。编译器设计最近的发展包括:首先,编译器包括了更加复杂算法的应用程序它用于推断或简化程序中的信息。其次,编译器已越来越成为基于窗口的交互开发环境(Interactive Development Environment,IDE)的一部分,它包括了编辑器、连接程序、调试程序以及项目管理程序。

在九十年代,作为GNU项目或其它开放源代码项目标一部分,许多免费编译器和编译器开发工具被开发出来。随着芯片研制,国内还有若干单位也在开展基于GCC生成面向特定芯片的编译器工作。编译器包括了更加复杂算法的应用程序它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言的发展结合在一起。其中典型的有用于函数语言编译的Hindley-Milner类型检查的统一算法。其次,编译器已越来越成为基于窗口的交互开发环境(Interactive Development Environment,IDE)的一部分,它包括了编辑器、连接程序、调试程序以及项目管理程序。这样的IDE标准并没有多少,但是对标准的窗口环境进行开发已成为方向。另一方面,尽管近年来在编译原理领域进行了大量的研究,但是基本的编译器设计原理在近20年中都没有多大的改变。

大约在1999年,SGI公布了他们的一个工业化的并行化优化编译器Pro64的源代码,后被全世界多个编译器研究小组用来做研究平台,并命名为Open64。Open64的设计结构好,分析优化全面,是编译器高级研究的理想平台。3.编译器的种类

编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种高阶语言作为输入,输出也是高阶语言的编译器。例如: 自动并行化编译器经常采用一种高阶语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语言构造进行注释(如FORTRAN的DOALL指令)。二.编译工具

1.C语言对应的编译器——VS2008 C语言对应的编译器可以用VS2003、VS2005、VS2008、TC等,以最新版本的Visual Studio 2008为例

Microsoft® Visual Studio® 2008 使开发人员能够快速创建高质量、用户体验丰富而又紧密联系的应用程序,充分展示了 Microsoft 开发智能客户端应用程序的构想。借助 Visual Studio 2008,采集和分析信息将变得更为简单便捷,业务决策也会因此变得更为有效。任何规模的组织都可以使用 Visual Studio 2008 快速创建能够利用 Windows Vista™ 和 2007 Office system 的更安全、更易于管理并且更可靠的应用程序。

Visual Studio 2008 在三个方面为开发人员提供了关键改进: 1.快速的应用程序开发 2.高效的团队协作 3.突破性的用户体验

Visual Studio 2008 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。2005 年,微软发布了 Visual Studio 2005。.NET 字眼从各种语言的名字中被抹去,但是这个版本的 Visual Studio 仍然还是面向.NET 框架的(版本2.0)。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。

Visual Studio 9 目前可以确定的是支持建立于 DHTML 基础上的 AJax 技术,这种微软在

Visual InterDev 时代提出的基于异步的客户端动态网页技术在当年并没有像微软预期中的那么流行起来,反而随着 GMail 等应用而东山再起,渐渐成为主流网络应用之一。同时 Visual Studio 9 会强化对于数据库的支持以及微软新的基于工作流(Workflow)的编程模型。预计为了保持与 Office 系列的统一,Visual Studio 9 的名称为 Visual Studio 2008。

2.C++语言对应的编译器——Microsoft Visual C++ 6.0 Visual C++是一个集成环境的C++编译器,功能很多。还有 Borland C++ Buider C++编译器,比较小巧实用。C++ Buider 也是C++编译器,是另一个公司的产品。

Microsoft Visual C++ 6.0功能特点:

几乎所有世界级的软件,从业界领先的Web浏览器到面向任务的企业应用,都是使用Microsoft Visual C++开发系统来开发的。要用C++来开发Windows和Web上的高性能应用程序,Visual C++是效率最高的首选工具。Visual C++ 6.0在不牺牲灵活性、性能和控制力度的同时,给C++带来更高水平的生产效率。除了IntelliSense Technology(智能感应技术)和Edit and Continue(即编即调)等显著缩短开发时间的新特性外,Visual C++ 6.0还为Web开发和企业开发提供更良好的支持。Microsoft Visual C++ 6.0专业版的健壮的构件开发、强大的数据库工具和完备的Internet支持将使您从中受益,创建出策略性的商务解决方案来。

有了这些显著缩短开发时间的新特性,您可以享受到一种全新水平的工作效率。编码所费的时间减少了,编译所费的时间减少了,调试所费的时间也减少了,一句话,创建应用程序所费的时间减少了,同时还可以享受到更多的构件重用。获得令人目眩的速度。本已是速度的标准的Visual C++如今更上一层楼,Visual C++ 6.0在多处进行了最优的调整,这样的结果是:开发者可以创建出可能范围内的最小最快的构件和应用。3.JAVA语言对应的编译器——eclipse JCreater、JBuilder、eclipse、myeclipse、netbean这几个是主流,eclipse和myeclipse(eclipse的扩展功能更多)是主流中的主流。

JBudler Eclipse 属于IDE,是集成开发环境(IDE)!IDE是集成了编译,检错,自动查找错误,深度反检查功能的辅助开发工具。就是说,只要属于java的IDE,都会把sun的编译器集成到它里面来。而JBudler与Eclipse 等这些开发工具更多的是体现在对不同层面java开发提供了不同的强大功能。比如:MyEclipse强势在web开发的便捷。JBudler对GUI更强大。eclipse是一个非常著名的集成开发工具,其自身功能强大而易用。更为重要的是,软件本

身是一个开放源代码的项目,由一个国际组织进行管理,很多大公司都是这个组织的成员,包括IBM和Borland等著名的软件开发商,事实上,eclipse本来是IBM开发的工具,是由IBM将其贡献给开放源代码社区的。正因为如此,任何人都可以免费获得eclipse开发环境,而不需要支付任何费用。

eclipse的另一个非常重要的特点是其提供了非常灵活的扩展能力,事实上,eclipse可以被称作一个开发平台,它提供了丰富的接口可以扩展其本身。eclipse本身是使用Java开发的,开发人员可以简单的按照其规范开发eclipse的插件,就可以在eclipse平台上增加更多的功能。大量的开发人员基于eclipse开发了插件,比如C++开发、UML设计、J2EE开发等都有相应的插件。事实上,包括IBM在内,很多大的软件公司基于eclipse开发了其自己的软件产品,这无疑得益于eclipse良好的结构。

三、编译原理的近期发展 随着大规模集成电路、网络通讯和其它数字信息技术的迅速发展,目前嵌入式系统己经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术等各方面,在人们日常生活中的方方面面到处是嵌入式系统设备的身影,如手机、PDA、智能家电以及汽车电子等。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术和人们的生活结合越来越紧密,人们日常的工作、学习和生活方式终将不可避免地逐步改变,嵌入式产品正在逐步形成时尚,在当今的信息社会中扮演越来越重要的角色。

嵌入式系统一般指的是非PC系统,它包括完全植入嵌入式硬件内部的为特定应用设计的专用计算机系统,以及相应的硬件。嵌入式系统以应用为中心的,它的软硬件可以根据需求进行裁减,以此来适应目标系统对外形尺寸、功能、可靠性、成本、功耗、外部接口等方面的严格要求。简单地说,嵌入式系统集操作系统、应用软件与硬件于一体,具有软件代码小、高度自动化、响应速度快等特点,因此特别适合要求实时和多任务的应用。

由于嵌入式系统资源有限,一般无法提供编译、汇编、链接等工具,同时也很难提供高级调试功能,因此嵌入式系统的应用软件一般不能直接在嵌入式系统平台上进行开发,而需要在交叉编译环境中开发。也就是说通常是在另外的开发平台上开发的,一般这种开发平台由通用的计算机系统和专用的嵌入式系统软件开发工具组成。

编译实现方式的发展主要分一下五类:手工、机器语言、汇编、系统程序设计语言、自动构造工具lex yacc gcc。推动编译技术发展的因素主要包括:语言范型(计算模式)、计算机体系结构语言范型主要包括:命令式(imperative language)、应用式(applicative)、基于规则的(rule-based)、面向对象的(object-oriented)、并行计算(parallel computing)。体系结构主要包括:万诺曼机体系结构、并行体系结构、嵌入系统。编译程序执行环境主要包括:批处理、交互环境、嵌入系统环境、并行编译技术、交叉编译。编译程序在一个机器(宿主机)上运行,产生另一个机器(目标机)的汇编语言。嵌入式系统中的应用程序正是借助这样的编译程序生成。目标处理器MIPSX是MIPS系列芯片的种,属于RISC体系结构,来源于斯坦福大学的MIPS计划。由于该系列CPU不是采用加州大学伯克利分校的RISC窗口技术而是采用消除流水线各级互锁的微处理器MIPS(MicroprocessorWithout Interlocking Pipeline Stage)技术,因此而得名。MIPS是将IBM公司对优化编译程序的研究和加州大学伯克利分校的大规模集成电路的思想结合起来的产品。

由于RISC指令集的简单和整齐,为了达到更好地利用计算机的性能,MIPS系列芯片中很好地应用了流水线策略。流水线是现代各类微处理器都采用的指令执行技巧,即将若干条指令的取指、译码和执行过程部分重叠在流水线中同时执行。以前在CISC计算机中,由于指令多而复杂,处理每条指令的所需时间不固定,当后面指令需要前条指令的结果时,往往造成指令互锁,因此无法实现流水 线。而斯坦福大学的MIPS计划就是在编译的过程中,利用编译程序优化处理器的流水线以求提高处理器流水线的效率。由于采用了硬件连线控制来执行数目不多的简单指令,而且还能重组软件流水线,这样就减少了硬件复杂性。“编译原理”课程分析编译原理课程一般利用常用软件如C,Pascal等来构建编译的各部分程序,编译原理的构成包括词法分析,语法分析、语义分析、中间代码生成、代码优化和目标代码生成等。编译原理课程的学习可以对程序设计语言的设计和实现有深刻的理解,还可以有助于快速理解定位和解决在程序编译、测试与运行中出现的问题。编译程序规模大。由于编译原理是一个极其复杂的系统,程序规模大,将它肢解开来一部分一部分地研究。理论知识抽象。要完整地构造一个编译系统并不是一件容易的事情,它不仅需要具有较完备的软件知识,并需要掌握现有的软件工具的使用,而且更重要的是要有丰富的实践经验,了解硬件系统结构和操作系统的功能。算法的理解和实现。编译原理这门课包含许多理论知识和算法,这些理论的学习和理解都存在着一定的难度。其中理论知识包括:词法分析器的构造,语法中各种分析器(LR,LL,SLR,LALR等)实现与完成。

在编译原理的不断发展和完善过程中,一本本课程教材接踵而至,其中不乏非常优秀的“名书”。编译领域里程碑式的经典著作——龙书,20年后终于出新版!这是一个延绵30年的故事,这是一部关于龙书的传奇!最新版本,增添三章节内容,使龙书地位更权威!1977年,Alfred V.Aho 和Jeffrey D.Ullman 出版《Principles of Compiler Design 》,封面是一名骑士和一只恐龙,因此第一次被人称为龙书,但因为那条龙是绿色的,所以称为绿龙书。过了9年,1986年,原来的两位作者加上Ravi Sethi, 升级了前一本书,书名改为《Compilers: Principles, Techniques and Tools》,封面依然沿用骑士和恐龙,那头龙是红色的,因此被叫做龙书二或者是红龙书。又过了一个9年,又一个9年,编译领域的巨无霸--龙书始终都没有升级。终于在2006年年底,龙书升级了。作者又增加了Monica S.Lam,名字沿用《Compilers: Principles, Techniques and Tools》,封面依然保持恐龙和武士的设计,但这次的龙是紫色,因此叫做紫龙书。

本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面的修订,涵盖了编译器开发方面的最新进展。每章中都提供了大量的系统及参考文献。本书是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的极佳参考读物。Alfred V.Aho是哥伦比亚大学的Lawrence Gussman计算机科学教授。Aho教授多次获奖,其中包括哥伦比亚校友会颁发的2003Great Teacher奖和电子与电器工程师协会的Jonh von Neumann奖章。他是美国国家工程院院士,以及ACM和IEEE的会员。Monica S.Lam是斯坦福大学的计算机科学教授。她曾经是Tensilica 的首席科学家,并且是moka5的创建者和首席执行官。她领导了 SUIF项目。该项目开发了最流行的研究性编译器之一,并首创了很多在工业界得到应用的编译技术。Jeffery D.Ullman是Gradiance公司的首席执行官和Standford大学的StanfordcW.Ascherman计算机科学(名誉退休)教授他的研究兴趣包括数据库理论、数据库集成、数据挖掘和利用信息基础软件的教育技术.他是美国国家工程院的院士,ACM的会员,并且是 Karlstrom奖和Knuth奖的获得者。

我对编译技术发展的总结:

编译原理是门实用的科学性的学科,当今世界发展离不开编译的进步,正是考虑到其重要性,中国乃至世界都应该注重这方面人才的培养,发展并不是一帆风顺,尤其是中国的核心技术缺乏,创新能力不足,不像美国,日本,甚至印度都很注重知识产权的重要性,都很注重自主创新的重要性,所以今后作为一个中国人,作为一个开发者应该把国家的利益放在第一位,把自主创新放在第一位,希望中国编译技术的发展越来越好!

第三篇:无线光通信技术发展及其应用

无线光通信技术发展及其应用

一、无线光通信技术发展历史

光在空气中直接传输的通信方式称之为无线光通信。也就是利用激光束作为信道在空间(近地或外太空)中直接进行语音、数据、图像等信息双向传送的一种技术。又称为“自由空间光通信”(Freespace opticalunicanon)或虚拟光纤(VirtualFiler)。无线光通信的出现比无线电通信要早得多。在两千七百年前的周幽王时代,就有了利用烽火台通信的方法。这是人类最早利用无线光通信的典型方式。后来,虽然人类社会的文明程度和科学技术得到了很大的提高,但是简单的利用光传递信息的方式仍然在广泛使用,例如红黄绿交通信号灯、旗语等。不论是烽火台,还是交通红绿灯、旗语,它们都是利用大气来传播可见光,由人眼来接收。这些都是非常原始的无线光通信方式。其后许多年,无线光通信几乎没有什么太大的发展。

尽管如此,人们仍然没有对无线光通信失去兴致。以发明电话而著名的贝尔,在1876年发明了电话之后,就想到利用光来通电话。1880年,他利用太阳光作光源,大气为传输媒质,用硒晶体作为光接收器件,成功地进行了光电话的实验,通话距离最远达到了213m。1881年,贝尔宣读了一篇题为《关于利用光线进行声音的产生与复制》的论文,报导了他的光电话装置。在贝尔本人看来:在他的所有发明中,光电话是最伟大的发明。这被认为是近代无线光通信的开始。1930年至1932年间,日本在东京的日本电报公司与每日新闻社之问实现了3 6kn,的无线光通信,但在大雾大雨天气里效果很差。第二次世界大战期间,无线光电话发展成为红外线电话,因为红外线肉眼看不见,更有利于信息保密。

利用光在大气中传送信息方便简单,所以人们开始研究的光通信都是这种方式。但是光在大气中的传送要受到气象条件的很大限制,比如在遇到下雨、下雪、阴天、下雾等情况,信号传输受到很大阻碍。此外,太阳光、灯光等普通的可见光源,都不适合作为通信的光源,因为从通信技术上看,这些光都是带有“噪声”的光。也就是说,这些光的频率不稳定、不单一,光的性质也很复杂。因此,要用光来通信,必须找到高强度的、可靠的光源。在此后的几十年中,由于这项关键技术没有得到解决,无线光通信就一直裹足不前。也正因此,贝尔的光话始终没有走上实用化的阶段。

1960年7月8日,美国科学家梅曼发明了红宝石激光器,从此人们便可获得性质与电磁波相似而频率稳定的光源。激光器的发明对无线光通信的研究工作产生了重大的影响。研究现代化无线光通信的时代也从此开始。20世纪60年代后,随着人们对通信的要求变得越来越强烈,无线光通信获得了突飞猛进的发展。许多实验室用氢-氖气体激光器做了传送电视信号和20路电话的实验。也有的公司制成了语言信道试验性通信系统,最大传输距离为600米。到70年代初无线激光通信己进入应用发展阶段。然而1970年半导体激光器和低损耗光纤这两项关键技术的重大突破,使光纤通信开始从理想变成可能,这立即引起了各国电信科技人员的重视,他们竞相进行研究和实验。1977年,世界上第一条光纤通信系统在美国芝加哥市投入商用,速率为45Mb/s。这也同时标志着无线光通信的研发开始转向外太空光通信,近地的无线光通信工作几乎停滞。20世纪90年代后期,随着全光接入网的发展,对固定无线应用的关注和对高速率的要求,无线光通信技术因其具有独到的优势,在固定无线宽带接人技术中,能为宽带接人的快速部署提供一种灵活的解决方案,又得到了极大的关注。其应用范围己从军用和航天逐渐迈人民用领域,技术也在得以逐步完善。

二、基本工作原理

1880年,贝尔的光电话用弧光灯或者太阳光作为光源,光束通过透镜聚焦在话筒的震动片上。当人对着话筒讲话时,震动片随着话音震动而使反射光的强弱随着话音的强弱作相应的变化,从而使话音信息调制在光波上。在接收端,装有一个抛物面接收镜,它把经过大气传送过来的载有话音信息的光波反射到硅光电池上,硅光电池将光能转换成电流。电流送到听筒,就可以听到从发送端送过来的声音了。这是无线光通信的基本工作原理。现代无线光通信设备的每一端分别包括专用光学望远镜、激光收发器、线路接口、电源、机械支架等部分组成。一些厂商的设备还包括伺服机构、监控装置、微波备份及远程管理软件等部分。

激光收发器的光源主要采用LD和LED,其中的LD多采用铝砷化钾二极管、DFB,接收器主要采用PIN或APD。

三、技术优势与劣势

1、技术优势 相对于常用的数字微波、铜缆数字用户线、光纤等其他几种接入方式,无线光通信主要优势有:①良好的安全保密性,由于激光的高指向性使它的发射光束极窄,方向性很好。通常激光光束的发散角都在毫弧度,甚至微弧度数量级,因此具有数据传递极高的保密性。②无微波频段的许可证,因为无线光通信的工作频段在350THz,设备间无射频信号干扰前无需申请频率使用许可证。③运营成本相对低廉,由于无须进行昂贵的管道工程铺设和维护,使得其造价约为光纤通信工程的五分之一。④架设迅速无线光通信架设、组网速度快,只须在通信节点上进行设备安装,工程建设以小时或天为计量单位,尤其适合作为光纤通信的应急故障后备及临时构造大容量的通信链路。重新撤换部署也很方便。⑤透明的传输协议对于任何传输协议均可容易的迭加,电路和数据业务都可透明传输。⑥设备尺寸小,由于光波的波长短,在同样功能情况下,光收发天线的尺寸比微波、毫米波通信天线尺寸要小许多,同时功耗小,体积小,重最轻。⑦信息容量大,光波作为信息载体可轻易传输高达10Gb/s的数据。目前已经商用无线激光设备,最高速率已达2 5Gb/s。实验室里最高传输速率已达160Gb/s。

2、技术劣势

当然,无线光通信也有其固有的劣势:①天气影响通信质量天气因素尤其是大雾、沙尘暴等所引起的光的色散、漫反射将极大影响光通信的质量。②通信距离受限目前用于近地的民用无线光通信的设备所能达到的距离受人眼安全的发射功率、成本、数据速率、天气条件等的限制,一般为100m-5kmm,延长传输距离也可以通过建立中继站的方法。③只能在视距范围内建立通信链路两个通信节点之间视距范围内必须无遮挡。对于中间存在障碍物而不可直视的两点之间的传输,可以通过建立一个中继站实现连接。④安装点的震动影响楼顶摇晃、振动可能会影响两个节点之间的激光对准,使通信质量下降甚至暂时中断。⑤意外因素可能使通信链路中断如飞鸟等障碍物经过链路空问,通信可能会瞬间中断。

总之,由于无线光通信设备固有的特点,在众多接入方式中具有比较明显的优势。

四、应用领域

与传统的租用线路比较,无线光通信综合了光纤通信与微波通信的优点,根据其最大优势(宽带宽)与最大劣势(短距离),定位在城域接入网、交换机和移动基站等设备的连接、闭路监视系统、广播电视信号的单、双工的传输中使用。可以很灵活的接人数据、话音、视频业务。其益处在于长期费用的节约和对数据吞吐能力的增长。目前的主要应用场合包括:①对于特殊要求的线路进行冗余备份以及应急时链路和意外恢复:在突发的自然或人为意外灾害中,原有通信线路被破坏,难以立即恢复时,或者在一些特殊地方发生突发事件,需要应急通信,采用无线光通信进行快速的部署。②提供室内外、临近局域网之间的互连互通:当分布在两座楼宇之间的办公室需要建立一条企业内部通信链路,受价格、带宽、线路资源等因素和其他通信方式不能较好地解决时,采用无线光通信就可快速解决。③解决综合业务网(FSN)接入的“最后一公里”:对智能小区的宽带接入,大企业Intmnet的互连,校园网的互连,大客户的宽带接入等提供一种快速灵活的方案,可提供2Mb/s~2.5Gb/s的带宽。④在不具备接入条件或带宽不足时提供高效的接入方案:在通信链路跨越高速公路、铁路、河流、峡谷、海湾或拥挤的城区时,由于地理条件的限制无法敷设光纤线路时,采用无线光通信可以有效解决。⑤用于移动通信蜂窝网基站与交换中心的互联。⑥用于一些大型集会如运动会、展览会、庆祝会等需要快速建立一些临时链路用于现场通信的场合。

五、结束语

无线光通信填补了受频率资源许可、价格、带宽等限制的无线通信方式与受地形、建网时间等特殊限制的光纤通信方式之间的空白。在一些情况下可以解决其他方式无法解决的问题。可以灵活、快速地以较小的投资建立宽带通信链路。因此,在调查和了解使用过程中的不同条件和要求如传输的距离、速率、误码率、可通率以及当地的鸟群和气象条件如降雨、雪、雾、沙尘的天数及程度等情况下,可以充分考虑利用无线光通信的方式组阿,迅速建立一个有效覆盖且能够为用户提供端到端的综合接入服务能力的宽带接入网络。

第四篇:浅析脉冲电子围栏技术发展及应用

浅析脉冲电子围栏技术发展及应用

前言》

脉冲电子围栏作为最主流应用的一种实现公共安全的新型高科技智能周界报警产品,它与传统的红外、微波、静电感应等周界安防系统相比,具有误报率低、不受地形和环境限制、安全性高等显著优点,已被广泛应用于世博会、奥运会、变电站、工厂、小区、学校、别墅、仓库、机场、军事基地、看守所、监狱等各个行业。

随着网络技术的发展与信息化建设的深入,市场对周界安防要求不断提高,尤其对解决安防行业核心系统存在的技术漏洞需求最为明显。市场需求催生了创新的周界安防产品,第五代脉冲电子围栏产品—“T6/T8系列触网防旁路脉冲电子围栏主机”应运而生。T6/T8系列电子围栏主机采用Smart DEC智能算法(全称“防等电位破解技术”),新增单线触网报警、防旁路报警功能,终结了电子围栏行业长期存在的两大技术漏洞,且能通过识别前端触网信号,极大的降低误报率。从用户的角度考虑,第五代脉冲电子围栏主机最大程度上改善了用户体验,电子围栏技术发展及应用进入了下一个里程碑时代。

脉冲电子围栏的前世今身》

电子围栏发展可追溯到上世纪二三十年代,从最原始的牧场电子围栏到第五代智能触网防旁路型脉冲电子围栏的演化,这无疑是电子围栏近100年来无数次技术革新的成果。第一阶段:牧场电子围栏

电子围栏最早起源于英国英格兰的流动牧场,牧人为了放牧的需要,拉一根导线,通上直流电,就形成简单的电子围栏,使牲畜在一定范围内活动。战后在欧洲,牧业在农业中的比重是很高的,大量的牧业市场需求促进了“电子围栏”的开发和推广。牛羊等遇到“电子围栏”的电击阻挡而退回,很好地起到“牧羊人”的作用,同时也防止圈外的大型动物或猛兽跑进来,对当时的牧业发展起到了较大的促进,在一些畜牧业比较发达的国家仍然在发挥着较大的作用,姑且算是第一代电子围栏产品的雏形。第二阶段:报警电子围栏

随着整个“电子围栏”行业的发展和深入,产品附件和种类越来越多,90年代中后期具有阻挡和报警功能的智能型周界安防报警系统,开始专业用于社会公共安全领域,它具有断路、短路、失电报警功能同时又秉承了电子围栏的安全阻挡功能。该产品充分考虑了人的主动性和智慧性,能准确判断出无意触摸、蓄意破坏、非法闯入等各种情况,是现周界安防项目的比较好的选择。第三阶段:智能电子围栏

随着人们对产品性能和功能的要求越来越高,产品需要更加人性化,具有更多功能的产品开始出现。第二代产品输出脉冲电压恒定,当周界的长短出现变化时,前端的电压会随着周界的长度出现过高或过低的现象;同时当产品安装在围墙较低的别墅或小区时,白天会出现误击到小孩或附近工作人员的现象。基于以上问题,第三代可调节输出电压和可设定高压模式、安全模式切换功能的产品入市,如G3/T5系列脉冲电子围栏主机,它具有断路、短路、失电报警功能同时又秉承了电子围栏的安全阻挡功能,充分考虑了人的主动性和智慧性,能准确判断出无意触摸、蓄意破坏、非法闯入等各种情况。同时,这一阶段的产品还有的具有遥控操作、远距离操作等功能,为产品大规模地应用于别墅、小区提供了更好的产品。第四阶段:网络电子围栏

随着安防行业物联网的逐步深入,绝大部分周界报警系统仍停留在前端报警和单一设备的控制管理之上,存在无法进行联动的缺陷,致使安防系统处于“分散管理”的状态。由此网络电子围栏应运而生,以G5S/G5P系列脉冲电子围栏主机为例,其主要节点设备全网络电子围栏主机、智能控制终端和管理软件都可直接接入以太网,用户通过网络即可监管电子围栏,实现信息实时传递、数据交互和远程监管的功能需求。第四代产品的网络化与集成化程度达到了空前成熟水平,且具有方案灵活、施工简便、成本节省、传输稳定的特点。

三年磨一剑的技术突破》

智能感知磁场平衡波,弥补技术漏洞

脉冲电子围栏是通过主机的发射端口向前端围栏上的合金线发射脉冲电,由接收端接收脉冲电信号,使电子围栏系统形成一个完整的回路。一旦有人为入侵,造成相邻两根合金线的短路或者有人故意破坏剪断前端围栏合金线(开路),脉冲电子围栏主机会及时发出警报并通过通信线路传送至控制中心。

在脉冲电子围栏行业蓬勃发展的当下,却有着两个致命的技术弊端困扰着行业从业人员多年:单线触网不报警和旁路跨接不报警,为用户带来了极大的安全隐患。目前市面上的脉冲电子围栏产品单线触网虽然可以对入侵者产生电击,在电阻很小的时候有些产品也会产生报警,但当电阻很大的时候就不会报警。这也就是说,当入侵者穿着球鞋或带着塑胶手套以单线触网方式攀爬围栏,则市面上的电子围栏将不会产生报警,而入侵者所穿戴的绝缘材质物品也可阻挡其遭受前段围栏的电击,使其顺利翻越围墙,存在严重的防范漏洞。

旁路跨接不报警是现有电子围栏的另一技术弊端。旁路跨接分为单线旁路跨接(图1)和回路旁路跨接(图2),当入侵者用短路线分别连接电子围栏前端每根金属线的两端(单线旁路跨接),或用两

(四)条短路线在围栏网络接线跨接处分别连接相间隔的金属线(回路旁路跨接)后,电子围栏前端产生失效区,而当失效区金属线被剪断时,主机不报警,入侵者就可以趁这个“漏洞”翻越围栏,造成财产损失。

图1

图2 为了弥补电子围栏的缺陷及增加客户的安全保障,上海广拓耗时3年成功研发出全新的T6/T8系列触网防旁路型脉冲电子围栏,采用Smart DEC智能算法(全称“防等电位破解技术”),能通过识别前端触网情况,实现单线触网报警、防旁路报警、短路报警和断路报警这四类报警方式,从真正意义上解决了长久存在的技术漏洞,提升电子围栏的安全性。全析计算识别入侵信号,最大降低误报

电子围栏主机原则上是不允许有漏报,如何在没有漏报的基础上减少误报是目前各电子围栏技术急需解决的问题。现如今,减少误报普遍着力于对硬件的改进上,即传感器与前端关键元器件的提升。传感器负责对收集信号进行分析,传感器分析的程度越准确,就越能将各种误报的信号排除在外。从总的趋势来看,脉冲电子围栏正不断向数字化技术迈进,并成为一种主流趋势。与以往几代脉冲电子围栏在硬件上的更迭相比,现在数字化的技术越来越偏重于软件,即把一些产生误报、漏报的可能情况,比如小动物、风、雨、雪等干扰信号进行软件建模,通过软件算法识别出各种误报信号,这样就可以减少误报情况发生的机率。在这个方面,T6/T8系列脉冲电子围栏主机采用Smart DEC智能算法,通过感知电子围栏金属线上的磁场变化,并经由一系列精密运算,从而精准判断出前端围栏的触网情况,全面革新了电子围栏的报警技术。当前端围栏被碰触,搭载于主机内的Smart DEC智能算法能够通过计算围栏金属线上电磁场的变化量辨别出是人体还是小动物的触碰,并针对人为入侵行为向控制中心发出报警信号,极大减少电子围栏产品的误报率。同时,当入侵者使用短路方式对前端围栏进行接驳,围栏金属线上的电磁场平衡将被遭到破坏,Smart DEC智能算法通过对电磁场平衡波动的监测准确探知入侵者的旁路跨接行为(包含单线旁路跨接和回路旁路跨接),并即刻将报警信息发送控制中心,为安保人员进行处警提供绝佳的时间优势。

行业发展趋势》

网络化、数据化应用引发的市场大变革

基于物联网的渗入,未来周界安防的发展趋势,必然是以用户为核心而设计网络化、数据化等特征的综合信息操作系统。作为安防系统的第一道屏障,电子围栏需要一个数据化的系统操作从而更有效的来判断系统的稳定性及安全性。业内专家普遍认为,T6/T8系列触网防旁路型脉冲电子围栏主机采用独创的Smart DEC技术,智能识别入侵者触碰电子围栏前端的多种报警类型,其技术设计理念在周界的前端入侵探测领域具有显著创新性和先进性。

然而,电子围栏主机入侵探测传感模式与触发判断的技术革新仍不能完全满足日益增长的用户需求,周界安防解决方案更需要拥有强大的网络系统集成平台,这使得电子围栏主机在设计上考虑多种通信方式。以T6/T8系列主机为例,产品内置以太网,RS485丰富接口,最大程度提高了产品通讯连接能力和稳定性,适应用户与视频监控系统、语音对讲系统、灯光控制系统有效集成需求。便捷的通过智能键盘或控制软件调控用户服务器结构,如远程防区布撤防、模式切换、输出电压调整、灵敏度调节、报警响应时间调节等功能,顺利实现跨地区远程移动的安全警戒和管理。

当有人非法翻越围墙或破坏围栏时,脉冲电子围栏具有阻挡作用,联动视频监控系统弹出报警点视频画面,进行视频复核。通过智能控制终端配套的移动云警APP管理前端电子围栏防区信息一目了然,推送机制保障报警信息即时送达,报警信息列表轻松查看报警详情,随时随地处理警情。

最后,电子围栏系统采用的全网络化架构,和MK智能控制终端、SMC3000管理平台组成三级网络结构,只需简单的将网线插入主机和光纤收发器,施工费用至少减少30%,降低了工程施工的复杂程度及成本。以上正是脉冲电子围栏网络化、数据化所带来的技术革新,这种变革真正意义上区别了国内各厂商在产品技术和设计理念上的差异。产品技术上的差异可以在较短时间内得以赶超,而设计理念的差异往往源自于厂商本身自带的基因,并非简单就能弥补及突破。在全球安防市场风云骤变的时代,更验证了电子围栏领先厂商创新、匠心的战略实施为用户创造安防的全新价值。

第五篇:CMP(化学机械抛光)技术发展优势及应用

CMP(化学机械抛光)技术发展优势及应用

CMP-化学机械抛光技术它利用了磨损中的“软磨硬”原理,即用较软的材料来进行抛光以实现高质量的表面抛光。在一定压力及抛光浆料存在下,被抛光工件相对于抛光垫作相对运动,借助于纳米粒子的研磨作用与氧化剂的腐蚀作用之间的有机结合,在被研磨的工件表面形成光洁表面151.CMP技术最广泛的应用是在集成电路(IC)和超大规模集成电路中(ULSI)对基体材料硅晶片的抛光。而国际上普遍认为,器件特征尺寸在0.35 5m以下时,必须进行全局平面化以保证光刻影像传递的精确度和分辨率,而CMP是目前几乎唯一的可以提供全局平面化的技术。其中化学机械抛光浆料是关键因素之一。抛光磨料的种类、物理化学性质、粒径大小、颗粒分散度及稳定性等均与抛光效果紧密相关。此外,抛光垫的属性(如材料、平整度等)也极大地影响了化学机械抛光的效果.随着半导体行业的发展,2003年,全球CMP抛光浆料市场已发展至4.06亿美元.但国际上CMP抛光浆料的制备基本属于商业机密,不对外公布。1化学机械抛光作用机制

CMP作用机理目前还没有完整的从微观角度的理沦解释。但从宏观上来说,可以解释如下:将旋转的被抛光晶片压在与其同方向旋转的弹性抛光垫上,而抛光浆料在晶片与领升:抛光机 http://www.xiexiebang.com

底板之间连续流动。上下盘高速反向运转,被抛光晶片表面的反应产物被不断地剥离,新抛光浆料补充进来,反应产物随抛光浆料带走。新裸露的品片平面又发生化学反应,产物再被剥离下来而循环往复,在衬底、磨粒和化学反应剂的联合作用下,形成超精表面,要获得品质好的抛光片,必须使抛光过程中的化学腐蚀作用与机械磨削作用达到一种平衡。如果化学腐蚀作用大于机械抛光作用,则会在抛光片表面产生腐蚀坑、桔皮状波纹;反之,机械抛光作用大于化学腐蚀作用则表面产生高损伤层.为了进一步了解CMP作用的本质,近年来国内外有很多关于CMP作用微观机理的研究.清华人学王亮亮、路新春的研究表明:CMP中主要是低频、大波长的表面起伏被逐渐消除,而小尺度上的粗糙度并未得到显著改善;当颗粒直径在10^-25 nm的范围时,粒径和粗糙度不存在单调的增减关系;桔皮的产生主要是抛光浆料中碱浓度过高所致。而北京交通大学张朝辉等根据Lei提出的CMP作用中纳米流体薄膜理论,提出化学机械抛光过程中,受载的粗糙峰和被抛光的品片表面之间存在一纳米量级的薄流体膜,形成了纳米级薄膜流动系统,指出对纳米级流动规律进行研究将有助r-了解化学机械抛光的作用机理,其中,在极薄的膜厚情况下的温度场分析是一项迫切任务。同时,陈杨的研究也表明了相似的观点:材料的去除首先源于化学腐蚀作用。一方面,在抛光领升:抛光机 http://www.xiexiebang.com

过程中晶片表面局部接触点产生高温高压,从而导致一系列复杂的摩擦化学反应;在抛光浆料中的碱性组分和纳米磨料颗粒作用下,硅片表面形成腐蚀软质层,从而有效地减弱磨料对硅片基体的刻划作用,提高抛光效率和抛光表面质量。另一方面,根据Preston公式: N RR=QWNV(其中,NRR为材料去除率;QW为被抛光材料的密度;N为抛光有效磨料数;V为单个磨料所去除材料的体积,包括被去除的硅丛体的体积V,和软质层的体积V2),软质层的形成导致v增大(即化学腐蚀作用可促进机械磨削作用),V1减小,从而有利于减小切削深度、增强塑性磨削和提高抛光表面质量。因此,在抛光浆料质量浓度相同的条件下,采用纳米磨料抛光不仅有利于减小切削深度、提高抛光表面质量,同时由于有效磨料数N的急剧增大,还有利于提高抛光效率。应该指出的是,软质层的厚度同抛光条件有关,就纳米级磨料而言,相应的软质层的厚度一般处于几纳米至十几纳米之间:而由于CMP是机械去除和化学去除相互作用的过程,因此难以通过静态化学腐蚀测最软质层的硬度。忽略抛光垫和其它一些因素的影响,抛光浆料的流动特性对CMP的行为有很大的影响。一般抛光浆料磨粒为圆形的纳米级粒子,利用微极性流体可以模拟粒子的微旋运动对抛光性能的影响。张朝辉研究的模拟结果表明微极性将增加承载能力,从而有利于提高抛光速率。这一特性在低节距或低转速下更为显著,体现出尺寸依赖性。

领升:抛光机 http://www.xiexiebang.com

2化学机械抛光浆料

抛光浆料的成分主要由三部分组成:腐蚀介质、成膜剂和助剂、纳米磨料粒子。抛光浆料要满足抛光速率快、抛光均一性好及抛后易清洗等要求.磨料粒子的硬度也不宜太高,以保证对膜层表面的机械损害比较轻。

按pH值分类,抛光浆料主要分为两类:酸性抛光浆料和碱性抛光浆料。一般酸性抛光浆料都包含氧化剂、助氧化剂、抗蚀剂(又叫成膜剂)、均蚀剂、pH调制剂和磨料。氧化剂起在被抛光物件表面发生氧化腐蚀作用,然后通过机械作用去除表面凸起部分,使物件表面平整:另外,氧化剂还能氧化基体表面形成一层氧化膜从而提高选择性。助氧化剂起到提高氧化速率的作用。均蚀剂可使腐蚀均匀,从而使表面光滑细腻;抗蚀剂的作用是在被抛光物件表面与被腐蚀基体形成一层联结膜,从而阻止腐蚀的进行以提高选择性。而碱性抛光浆料中一般包含络合剂、氧化剂、分散剂、pH调制剂和磨料。因为碱性抛光浆料仅在强碱中才有很宽的腐蚀领域,而且磨料易造成划伤,所以应用远不如酸性抛光浆料广泛。对于不同的腐蚀基体要选择不同的络合剂:分散剂一般为大分子量非离子有机分散剂,其作用是保证浆料中的磨料不发生絮凝和沉降现象,并使磨料的勤度保持尽可能低,具有良好的流动性。下面主要介绍目前使用最为广泛的几种抛光浆料。

领升:抛光机 http://www.xiexiebang.com

2.1 CeO2抛光浆料

稀土氧化物CeO2具有很好的抛光性能,其特点是抛光速率高,对材料的去除率高,被抛光表面粗糙度和表面微观波纹度较小,颗粒硬度低,对被抛光表面损伤较弱;其缺点是勃度大,易划伤且高低选择性不好,沉淀在介质膜_L吸附严重,为后续清洗带来困难.CeO2抛光浆料广泛应用于玻璃精密抛光、超大规模集成电路Sio2介质层抛光和单晶硅片抛光等,而现在国内外有很多研究也致力于CeO2抛光浆料对半导体衬底材料(如GaAs晶片)的抛光。

首先纳米CeO2粒子通过化学吸附与抛光表面上的Sio2之间形成Ce-O-Si键,CeO2粒子将表面部分Sio2撕裂下来,进入溶液中;经过扩散,Sio2粒子又从CeO2粒子的表面脱落。Ce-O-Si键的形成与S-O-Si键的断裂影响着抛光速率.化学吸附作用和机械撕裂作用同时影响着Si-O-Si键的断裂。CeO2抛光浆料区别于传统抛光活性强的抛光浆料都是强酸,它在碱性抛光环境下是两性的,能同时吸附阳离子和阴离子,故有更好的抛光性能。乡屯度、硬度、粒度、粒度分布、悬浮性、表面电性、表面活性和密度等都是影响其抛光性能的主要因素.粒度大的适合高速抛光,粒度小的适用于低速抛光圈.具有高抛光性能的纳米CeO2目前的合成方法主要有:液相反应法、固相反应法、机械化学法。液相反应法包括:溶领升:抛光机 http://www.xiexiebang.com

胶一凝胶法、液相沉淀法、电化学法、水热法、微乳液法、喷雾热分解法等。张鹏珍等采用溶胶一凝胶法制备了平均晶粒度在13.3 nm且粒度分布均匀的纳米CeO2粉体,经此CeO2抛光浆料抛光后的玻璃幕片表面粗糙度(Ra)可降到0.6nm左右,显示了良好的抛光性能。Ming等(2a)也采用此法在常压下制备纳米CeO2,原料为硝酸饰钱、尿素和去离子水,通过加热得到的CeO2粒径为8 nm,具有立方体结构。电化学法制得的CeO2优点是粒子粒度很小,分散性也较好,工艺也相对简单,但是产率较低。水热法的优点是不需要进行高温灼烧处理,避免了硬团聚。Verdon等在耐熔的合金容器中,于1.5 MPa和500%条件下进行水热合成制得的纳米CeO2晶型较好。BondioliF等利用固相反应在得到的CeO2产物尺寸为10-20 nm,且具有较好的尺寸分布.有研究表明,用机械化学法也能制成粒度在10-20nm的纳米CeO2.Rajendran(291通过一种新的方法研究了CeO2抛光Si仇过程,发现CeO2的机械作用能加速其与Siq还原的化学反应,并且在抛光过程中存在Cc 3+与Ce0+两种价态。

2.2 Si02抛光浆料

Si仇抛光料的优点是选择性和分散性好,机械磨损性能较好,化学性质较活泼,后清洗过程废液处理较容易,其缺点是硬度较高,易在被抛光物体表面造成不平整,且在抛光领升:抛光机 http://www.xiexiebang.com

浆料中易产生凝胶现象,对抛光速度的再现性有不良影响,同时会使被抛光物体表面产生刮伤。SiO2抛光浆料的pH值、磨料粒径(50-200 nm)与分散度、浓度等都对其抛光效果有很大的影响。Si02抛光浆料用于硅片的抛光、层间介电层OLD)的抛光、妮酸钾晶片的抛光、硬盘基片的抛光等。Siq抛光料的制备方法国内外有很多研究,从总体来说主要是分散法与凝聚法:分散法是通过机械搅拌将纳米Si仇粉末直接分散到水中来制备Si02浆料的。用分散法制备Si02浆料主要包括以下3个过程:①纳米Si02颖粒在液体中润湿:②团聚体在机械搅拌力作用下被打开成独立的原生粒子或较小的团聚体;③将原生粒子或较小的团聚体稳定住,阻止再发生团聚。采用分散法制备出的Si仇浆料浓度高、颗粒均匀、分散性好、纯度高、黏度较小,但受粉体本身性能的影响特别严重。凝聚法是利用水溶液中化学反应所生成的SiO2通过成核、生长,采用各种方法脱除其中杂质离子得到纳米Sio2水分散体系的一种方法,该法制得的Sio2浆料颖粒粒径均一,形状规整,纯度与浓度也较高.王占银以SiO2作为抛光浆料,分析了影响妮酸铿晶片抛光效果的因素,通过优化工艺参数,使妮酸锉的表面粗糙度凡达到0.387 nmo雷红制备了Sio2抛光浆料用来抛光镍磷敷镀的硬盘基片,表面形貌仪测得抛光后基片的表面粗糙度和波纹度分别为0.052 nm和0.063 nm,且基片表面无凹坑、电蚀等缺陷。另有研究领升:抛光机 http://www.xiexiebang.com

表明[301当Si02抛光浆料pH->9时,在抛光浆料中加入适量的活性剂和鳌合剂,能消除Si02凝胶现象,得到较好的抛光结果。目前,对影响Si02抛光浆料抛光效果〔高抛光速率、低表面损伤、高表面平整度、易清洗等)的各种因素(抛光浆料粒度、pH值、温度、抛光浆料流速等)的研究己比较成熟.2.3 A1203抛光浆料

1998年日本COSMOS公司首次开发了纳米级别的超细A1203微粉作磨料的纳米级抛光剂,从而Al2o3抛光浆料广泛应用于CMP领域,以纳米Y-AI203为研磨粒子的浆料可用于集成电路生产过程中层间钨、铝、铜等金属薄膜的平坦化及高级光学玻璃、石英品体和各种宝石的抛光等.A12o3场抛光浆料因具有选择性低、分散稳定性不好、易团聚等缺点,往往在几分钟内就会出现沉淀,颗粒变粗,所以在抛光中表面划伤严重,损伤层深,所以通常A1203抛光浆料要混合有机添加物一起使用并控制好工艺条件以达到良好的抛光效果。宋晓岚等的研究表明,在y-A12伪固含量为6%的浆料中,加入异丙醉胺分散剂的用量为-y-A1203粉体质量的1%,同时控制浆料的pH值约为4,此时纳米y-A12场粉末的润湿性能最佳,浆料Zeta电位值较高,勃度较小,在该条件下可成功获得长时间不沉降的稳定浆料。卢海参采用丙烯酞氯对超细氧化铝进行表面改性,有效提高了氧化铝抛光浆料的分领升:抛光机 http://www.xiexiebang.com

散性,进一步的研究表明材料去除速率随压力或下盘转速先增大后减小,随抛光时的延长,材料去除速率初期较人,后期变化趋于平缓。具有良好的抗静电性和可擦性的A1203抛光浆料在国内已经研制出来,应用于磁性材料的精密抛光加工中。有研究表明,通过A1203外层包覆Si02形成壳一核性结构粒子抛光浆料抛光能很好地提高抛光性能,减低表面损伤和粗糙度,其机理可能为壳一核结构的缓冲效应和粒子之间的解聚作用。

3化学机械抛光技术发展趋势

随着计算机、通信及网络技术的高速发展,对作为其基础的集成电路的性能要求愈来愈高。集成电路芯片增大而单晶体管元件减小及多层集成电路芯片是发展的必然趋势,使得CMP在集成电路行业的重要性越来越显著,这对CMP技术提出了更高的要求。

在CMP设备方面,正在由单头、双头抛光机向多头抛光机发展;结构逐步由旋转运动结构向轨道抛光方法和线形抛光技术方面发展;开发带有多种在线检测装置的设备,如组装声学信号、力学信号、薄膜厚度及抛光浆料性质等在线测量装置,并且结合目前的干进干出要求,将抛光后清洗装置与抛光机集成来进行开发。在应用方面,CMP技术已从集成电路的硅品片、层间介质(ILD)、绝缘体、导体、镶嵌金属W.AI.Cu.Au及多晶硅、硅氧化物沟道等的平面化,拓展至领升:抛光机 http://www.xiexiebang.com

薄膜存贮磁盘、微电子机械系统(MFMS)、陶瓷、磁头、机械磨具、精密阀门、光学玻璃和金属材料等表面加工领域。在CMP抛光浆料方面,关键是要开发新型抛光浆料,特别是复合磨料抛光浆料,使其能提供高的抛光速率、好的平整度、高的选择性以及利于后续清洗过程,以使磨料粒子不会残留在芯片表面而影响集成电路性能。

CMP浆料有待于发展的技术有:磨料制各技术、浆料分散技术和抛光浆料配方技术。首先要解决的就是尺寸小、分散度大、硬度适中、均匀性好、纯度高的纳米磨料粒子。抛光浆料的排放及后处理工作最也在增大(出于环保原因,即使浆料不再重复利用,也必须先处理才可以排放)。而且,抛光浆料价格昂贵,如何对抛光浆料进行后处理,补充必要的化学添加剂,重复利用其中的有效成分,或降级使川,不仅可以减少环境污染,而且可以大大降低加工成本。抛光浆料的后处理研究将是未来的新研究热点。另外一方面,复合磨料抛光浆料的研究也将是未来的趋势之一,因为复合磨料抛光浆料在保持单一磨料抛光浆料优点同时也改善了其缺点,在国外已经出现了复合抛光磨料的研究报道,如A1203, Si02, CeO2各种单一抛光磨料互相通过包覆形成壳一核型的复合抛光磨料,集中各种单一抛光磨料的优点,从而配制出抛光效果更佳的新型复合抛光浆料。实验表明,在较软的磨料粒子外面包覆一层较硬的物质,可以在提高其抛光速率的同时领升:抛光机 http://www.xiexiebang.com

也保持了较高的选择性;而在较硬的磨料粒子外面包覆一层较软的物质,则可在保持其较高抛光速率的基础上改善其抛光表面质量。如Lu等成功地在球形SiO2粒子外面包覆一层Ce02,并以其作为磨料制备复合抛光浆料与Sio2和Ce02抛光浆料进行抛光实验的比较,研究表明,复合磨料具有更好的抛光效果。目前,CMP技术己经不局限于使用固体磨料,甚至出现了用气体来进行抛光的技术(如HVPE技术等),为抛光浆料的发展开拓了新的思路。

近年来,CMP技术得到了长足的发展,涌现出了不少新技术,例如:固结磨料化学机械抛光技术、电化学机械平坦化技术、无磨料化学机械抛光技术、无应力抛光技术、接触平坦化技术和等离子辅助化学蚀刻平坦化技术等。

尽管CMP技术发展的速度很快,但目前对CMP技术的了解还处于定性的阶段,需要解决的理论及技术问题还很多。如人们对诸如抛光参数(如压力、转速、温度等)对平面度的影响、抛光垫一浆料一片子之间的相互作用、浆料化学性质(如组成、pH值、颗粒度等)对各种CMP参数的影响及其机理了解仍然甚少,因而定量确定最佳CMP工艺、系统地研究CMP工艺过程参数、建立完善的CMP理论模型、满足各种超大型集成电路生产对CMP工艺的不同要求,是研究CMP技术的重大课题。由于缺乏有效的在线终点检测技术,维持稳定的、一次通过性的生产运转过程还存在困难,因而迫切需要开发领升:抛光机 http://www.xiexiebang.com

实用的在线检测手段。一般在芯片工艺的最后几个阶段也需进行CMP加工,此时每个芯片的价值已达到数千至数十万美元,因而,芯片表面残留浆料的清除是CMP后清洗的主要课题。研制合适的CMP工艺、抛光设备及浆料以使去除速度高而稳定、片子的模内均匀性和片内均匀性都理想,且产生的表面缺陷少,是CMP技术发展的主要难题。4结语

综上所述,CMP技术可用于各种高性能和特殊用途的集成电路制造,且应用领域口益扩展,已成为最为重要的超精细表面全局平面化技术,也是国际竞争的关键技术,其增长势头和发展前景非常可观。深入研究和开发CMP技术,并形成拥有自主知识产权的材料和工艺,将促进我国IC产业的良性发展,提高我国在这一方面的国际地位,同时也将带来了巨大的经济和社会效益。

领升:抛光机 http://www.xiexiebang.com

下载编译技术的发展和应用[精选合集]word格式文档
下载编译技术的发展和应用[精选合集].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    超声成像技术发展现状及应用

    超声成像技术的发展现状及应用1 引言 超声成像以其使用安全、成像速度快、价格便宜和使用方便等优势在临床诊断中被大量使用,是临床诊断的重要工具之一[1]。随着超声在医学诊......

    人脸识别技术发展及应用分析解读[推荐]

    人脸识别技术发展及应用分析 人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机采集人脸图像,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行......

    光稳定剂的应用与技术发展

    光稳定剂的应用与技术发展 摘要:随着国际工业的快速发展,我国光稳定剂在工业产能、产量、品种数量、国内消费量、 出口量均有大幅增长。光稳定剂可以明显地延长塑料制品的使用......

    电厂化学水处理技术发展与应用

    电厂化学水处理技术发展与应用 摘要:有效的水处理是维持电厂生产工作正常进行的基本条件,为了保证电厂锅炉等热力设备的生产效率得以提高,并在此基础上改善电力生产系统的运行......

    3D打印技术发展及其应用前景(5篇材料)

    3D打印技术发展及其应用前景 课程名称:3D打印技术 班级: 姓名: 学号: 时间:2016年10月7日 一、3D打印技术兴起 3D打印产业是工业制造领域新发展起来的技术,被誉为“具有业革命......

    先进激光焊接与电子束焊接技术发展及其应用

    高能束焊接论文 先进激光焊接与电子束焊接技术发展及其应用 姓名:班级:学号:日期: 先进激光焊接与电子束焊接技术发展及其应用 摘要:介绍激光焊接与电子束焊接技术的发展......

    SMT技术发展[最终定稿]

    SMT技术发展 一.概述 SMT是电子电路表面组装技术(Surface Mount Technology),称为表面贴装或表面安装技术。它是一种将无引脚或短引线表面组装元器件(简称SMC/SMD,中文称片状元器......

    炼钢技术发展

    转炉、电炉、平炉炼钢各有什么优缺点?炼钢技术有哪些新 发展? 炼钢的方法有很多种,其基本原理是相同的,所不同的是在冶炼过程中需要的氧和热能来源不同,所用的设备和操作方法不同......