第1章 微型计算机概述
摘要 本章首先介绍微型计算机的发展概况,并从应用角度出发,介绍微型计算机中数的表示及编码方法,最后介绍微机系统的概念、组成和各部分的功能、特点。本章内容将对后续章节的学习打下良好的基础。
1.1 微型计算机发展简史
微型计算机是由大规模集成电路组成的、体积较小的电子计算机。而电子计算机又是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。微型计算机是电子计算机发展的一个分支。
1.1.1 微型计算机的硬件发展
1.电子计算机的发展概况
电子计算机的诞生及发展,是科学技术和生产力发展的卓越成就之一,反过来,它也极大地促进了科学技术和生产力的发展。1946年,在美国宾夕法尼亚大学莫尔电工学院诞生了世界上第一台电子计算机ENIAC(electronic numerical integrator and computer)。它使用了18800多个电子管和1500多个继电器,重达30t,占地150m2,耗电150kW,每秒可以完成5000次加法运算。从此以后,电子计算机为世人瞩目,而且对它寄予了无限的厚望。自从第一台电子计算机问世以来,计算机科学和技术获得了日新月异的飞速发展。计算机的发展大致经历了以下4代。
(1)第一代:电子管计算机
发展年代为1946—1958年。这一代计算机的主要逻辑元件采用电子管,存储器采用磁芯和磁鼓,软件主要使用机器语言。在此期间,形成了电子管计算机体系,确定了程序设计的基本方法,数据处理机(指专门用于数据处理的计算机)开始得到应用。此时的计算机运算速度一般为每秒几千至几万次,体积庞大,成本很高。虽然它的体积、速度、软件等方面都不能与今天的微型计算机相比,但它却奠定了计算机科学和技术的发展基础。这一代计算机主要应用于科学计算。
(2)第二代:晶体管计算机
发展年代为1958—1965年。这一代计算机的主要逻辑元件为晶体管,主存储器仍采用磁芯,外存储器已开始使用磁盘,软件也有较大发展,出现了各种高级语言。在此期间,计算机的可靠性和速度均得到提高,速度一般为每秒几万次至几十万次,体积减小,成本降低。工业控制机(指专门用于工业生产过程控制的计算机)开始出现并得到应用。这一代计算机除用于科学计算外,也开始应用于各种事务的数据处理、工业控制等领域。
(3)第三代:集成电路计算机
发展年代为1965—1971年。这一代计算机的主要逻辑元件采用中小规模集成电路。在此期间,计算机的可靠性和速度都有了进一步的提高,速度一般为每秒几十万至几百万次,体积进一步减小,成本进一步降低。小型计算机(指规模小,结构简单,操作方便的计算机)开始出现并迅速发展,操作系统、会话式高级语言等软件发展迅速。机种多样化,生产系列化,结构积木化,使用系统化是这一阶段计算机发展的主要特点。
(4)第四代:大规模集成电路计算机
发展年代为1971年至今。这一代计算机采用大规模集成电路(LSI,large scale integrator)或超大规模集成电路(VLSI,very large scale integrator)。由于LSI和VLSI的体积小,耗电少,可靠性高,因而使这一阶段的计算机体积更小,可靠性和运算速度更高,成本更低。计算机的速度可达每秒运算几千万至上亿次。超大规模集成电路的发明,使电子计算机不断向着小型化、微型化、低功耗、智能化、系统化的方向更新换代。同时,以并行处理为特征的用于科学计算和尖端技术中的巨型机也得到了发展,由若干台计算机组成的计算机网络也已开始实际使用。
目前,用计算机进行的辅助设计、翻译、检索、绘图、写作、游戏、机械作业等方面的发展,已经向计算机的智能化迈进了一步。人工智能是综合了计算机科学与控制理论而发展的一门新技术,它能模拟人的智能,如识别图形、语言、物体等。电子计算机对社会的发展将带来不可估量的影响。电子计算机的发展概况见表1.1。
表1.1 电子计算机的发展概况
2.微型计算机的发展概况
微型计算机是20世纪70年代初才发展起来的,是人类重要的创新之一。从微型计算机问世至今经历了以下几个发展阶段。
(1)第一代:低档8位微处理器和微型计算机
发展年代为1971—1973年,是微型计算机的问世阶段。1971年美国Intel公司生产了4004芯片,它本来是为高级袖珍计算机设计的,但生产出来后却获得了意外的成功。经过改进,于1972年生产了8位微处理器8008。这一代微型计算机的特点是采用PMOS(P-channel metal oxide semiconductor)工艺,集成度为每个硅片上集成2300个晶体管,字长分别为4位和8位,运算速度较慢,指令系统不完整,存储器容量很小,只有几百字节,没有操作系统,只有汇编语言,主要用于工业仪表和过程控制。
(2)第二代:中档8位微处理器和微型计算机
发展年代为1973—1977年。这一代微型计算机采用(NMOS,N-channel metal oxide semiconductor)工艺,集成度提高了1~4倍,每个硅片上集成了8000个晶体管,字长为8位。运算速度提高了10~15倍,基本指令执行时间为2ms左右,指令系统相对比较完善。典型的微处理器有1973年生产的Intel 8085,Motorola 6800,以及1976年Zilog 公司生产的Z80。这些微处理器具有完整的接口电路,如可编程的并行接口电路、串行接口电路、定时/计数器接口电路,以及直接存储器存取接口电路等,并且已具有高级中断功能。软件除采用汇编语言外,还配有BASIC,FORTRAN,PL/M等高级语言及其相应的解释程序和编译程序,并在后期配上了操作系统。
(3)第三代:16位微处理器和微型计算机
发展年代为1977—1984年。1977年前后,超大规模集成电路(VLSI)工艺的研制成功,使一个硅片上可以容纳10万个以上的晶体管,64K位及256K位的存储器已生产出来。这一代微型计算机采用(HMOS,high performance metal oxide semiconductor)工艺,基本指令执行时间约为0.5ms。代表产品是Intel的8086、Zilog的Z8000和Motorola的MC68000。这类16位微处理器比8位微处理器有更大的寻址空间、更强的运算能力、更快的处理速度和更完善的指令系统。软件方面可以使用多种编程语言,有汇编程序、完整的操作系统、大型的数据库,并可构成多处理器系统。此外,在这一阶段,为了方便原来的8位机用户,还出现了一种准16位的微处理器,典型产品有Intel 8088和Motorola 6809,它们的特点是能用8位数据线在内部完成16位数据操作,工作速度和处理能力均介于8位机和16位机之间。
(4)第四代:32位微处理器和微型计算机
发展年代为1984—1993年。20世纪80年代初,在每个单片硅片上可集成几十万个晶体管,产生了第四代32位微处理器。典型产品有Intel的80386、National Semiconductor的16032、Motorola的68020等。在32位微处理器中,具有支持高级调度、调试及系统开发的专用指令。由于集成度高,系统的速度和性能大为提高,可靠性增加,成本降低。
(5)第五代:64位高档微处理器和微型计算机
发展年代为1993年至今。随着人们对图形图像、定时视频处理、语音识别、计算机辅助设计(CAD,computer-aided design)、计算机辅助工程(CAE,computer-aided engineering)、计算机辅助教学(CAI,computer-aided instruction)、大规模财务分析和大流量客户、服务器应用等的需求日益迫切,现有的微处理器已难以胜任此类任务。于是,在1993年3月,Intel公司率先推出了统领(PC,personal computer)达10余年之久的第五代微处理器体系结构产品——Pentium(奔腾),代号为P5,也称为80586。从它的设计制造工艺到性能指标,都比第四代产品有了大幅度的提高。微型计算机的发展概况见表1.2。
表1.2 微型计算机的发展概况
3.Intel微处理器的发展概况
80x86、Pentium及Core微处理器是Intel公司的系列产品,微处理器芯片从低级向高级、从简单到复杂的发展过程,也可以看成个人计算机家族的进化史。其设计、制造和处理技术的不断更新换代,以及处理能力的不断增强,使微型计算机的应用领域越来越广泛。
(1)Intel 8086微处理器
1978年Intel公司生产的8086是第一个16位的微处理器。这就是第三代微处理器的起点。8086微处理器最高主频速度为8MHz,具有16位数据总线,内存寻址能力为1MB。
1979年,Intel公司又开发出了8088。8086和8088在芯片内部均采用16位数据传输,所以都称为16位微处理器,但8086每个总线周期能传送或接收16位数据,而8088每个总线周期只能传送或接收8位数据。因为最初的大部分设备和芯片是8位的,而8088的外部8位数据传送、接收能与这些设备相兼容,所以8088得到了广泛的应用。8088采用40针的(DIP,dual in-line package)封装,工作频率为6.66MHz,7.16MHz或8MHz,微处理器集成了大约29000个晶体管。
(2)Intel 80286微处理器
1982年,Intel公司在8086的基础上,研制出了80286微处理器,该微处理器的最大主频为20MHz,内、外部数据传输均为16位,使用24位内存储器的寻址,内存寻址能力为16MB。80286有两种工作方式,分别是实模式和保护方式。在实模式下,微处理器可以访问的内存总量限制在1MB。而在保护方式之下,80286可直接访问16MB的内存。此外,80286工作在保护方式下,可以保护操作系统,使之不像实模式或8086等不受保护的微处理器那样,在遇到异常时会使计算机停机。
80286在以下4个方面有显著的改进:支持更大的内存;能够模拟内存空间;能同时运行多个任务;提高了处理速度。最早,PC的速度是4MHz,第一台基于80286的AT机运行速度为6~8MHz,一些制造商还自行提高速度,使80286达到了20MHz,这意味着在性能上有了重大的进步。
(3)Intel 80386微处理器
1985年,Intel公司研制开发出Intel 80386 DX微处理器,其内部包含27.5万个晶体管,时钟频率为12.5MHz,每秒可执行6百万条指令,比80286快2.2倍。后来逐步提高到20MHz,25MHz,33MHz,最后还有少量的40MHz产品。
80386 DX的内部和外部数据总线是32位的,地址总线也是32位的,可以寻址4GB内存,并可以管理64TB的虚拟存储空间。它的运算模式除了具有实模式和保护模式外,还增加了一种“虚拟8086”的工作方式,可以通过同时模拟多个8086微处理器来提供多任务处理能力。80386还有较丰富的外围配件支持,如82258(DMA控制器)、8259A(中断控制器)、8272(磁盘控制器)、82385(Cache控制器)、82062(硬盘控制器)等。同时,针对内存的速度瓶颈,Intel公司为80386设计了高速缓存(Cache),采取预读内存的方法来缓解速度瓶颈,从此,Cache就成了CPU的标准配件。
(4)Intel 80486微处理器
1989年,Intel推出80486芯片。这款芯片首次使用1mm的制造工艺,突破了100万个晶体管的界限,单个硅片上集成了120万个晶体管。80486的时钟频率从25MHz逐步提高到33MHz,40MHz,50MHz。80486中集成的80487的运算速度是以前80387的两倍,内部缓存缩短了微处理器与慢速DRAM之间的等待时间。并且,在80486系列中首次采用了精简指令集(RISC,reduction instruction set computer)技术,可以在一个时钟周期内执行一条指令。它还采用了突发总线方式,大大提高了与内存的数据交换速度。由于这些改进,80486的性能比80386 DX性能提高了4倍。
(5)Intel Pentium微处理器
1993年,586 CPU问世,被命名为Pentium(奔腾)以区别于AMD和Cyrix的产品。最初的Pentium 60和Pentium 66,工作频率分别为60MHz和66MHz。早期的奔腾时钟频率为75MHz~120MHz,使用0.5mm的制造工艺,后期120MHz频率以上的奔腾则改用0.35mm工艺。经典奔腾的性能相当平均,整数运算和浮点运算都不错。
(6)Intel Pentium MMX微处理器
1996年底,Intel公司发布了多能奔腾微处理器Pentium MMX,意为带有多媒体扩展指令集(MMX,MultiMedia eXtensions)技术的Pentium。多能奔腾在原Pentium的基础上进行了重大的改进,增加了片内16KB数据L1 Cache,16KB指令L1 Cache,4路写缓存以及分支预测单元和返回堆栈技术,64位总线,528MB/s的频宽,450万个晶体管,功耗17W。支持的工作频率有133MHz、150MHz、166MHz、200MHz、233MHz。特别是新增加的57条MMX多媒体指令,使得多能奔腾即使在运行非MMX优化的程序时,也比同主频的Pentium CPU要快得多。
(7)Intel PentiumⅡ微处理器
1997年,Pentium Ⅱ(奔腾二代)微处理器面世,它采用了双重独立总线结构,即其中一条总线连通二级缓存,另一条负责内存。PentiumⅡ使用了一种脱离芯片的外部高速L2 Cache,容量为512KB,并以CPU主频的一半速度运行,同时PentiumⅡ的L1 Cache从16KB增至32KB。
(8)Intel Pentium Ⅲ微处理器
1999年,Intel公司发布了采用Katmai核心的新一代Pentium Ⅲ微处理器。该微处理器除采用0.25mm工艺制造,内部集成950万个晶体管,Slot1架构之外,它还具有以下新特点:系统总线频率为100MHz;采用P6微架构,针对32位应用程序进行优化,双重独立总线,一级缓存大小为32KB(16KB指令缓存加16KB数据缓存),二级缓存大小为512KB,以CPU核心速度的一半运行;新增加了能够增强音频、视频和3D图形效果的数据流单指令多数据扩展(SSE,streaming SIMD extensions)指令集。
(9)Intel Pentium 4微处理器
2000年6月,Intel公司推出了Pentium 4微处理器,它的工作频率在1.3GHz以上,工作电压为1.565~1.700V。P4微处理器不但拥有更高的时钟频率,并且支持Intel超线程技术HT(hyper threading)技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,缩短了CPU的闲置时间,提高了CPU的运行效率,使一块芯片的性能几乎相当于两块。
(10)Intel Core微处理器
2006年7月27日,Intel正式发布了基于Core(酷睿)微架构(core micro-architecture)的全新双核心处理器,包括Core 2 Duo和Core 2 Extreme,以及用于移动平台的采用Merom核心的Core 2 Duo。Core微架构是Intel全平台(台式机、笔记本和服务器)处理器首次采用的相同的微架构设计,也是Intel鉴于NetBurst微架构的高频低效高能耗的缺点,彻底抛弃以往频率至上的理念,转而注重能效比的第一次成功尝试。全部采用65nm制造工艺,L2缓存容量提升到4MB,晶体管数量达到2.91亿个,性能提升40%,能耗降低40%,主流产品的平均能耗为65W。
2010年1月,Intel公司推出了全新酷睿处理器i7、i5和i3系列产品。新产品的最大亮点就是采用32nm制造工艺,而且内建图形核心,另外还有Intel最新的睿频功能,可以让CPU在实际应用中实现自动超频。无数的评测已经证明,Core微架构不愧是目前最强大的x86 PC处理器微架构,其性能远远领先于以往所有PC处理器,而功耗又大幅度降低,是目前最强大的微处理器。Intel微处理器的发展年鉴见表1.3。
表1.3 Intel微处理器的发展
1.1.2 微型计算机的软件发展
计算机软件是指计算机系统中的程序及其文档。程序是对计算任务的处理对象和处理规则的描述。文档是为了便于了解程序所需的阐明性资料。计算机软件总体分为系统软件和应用软件两大类。系统软件包括各类操作系统(如Windows、Linux、UNIX)、操作系统的补丁程序以及硬件驱动程序。应用软件是为了某种特定的用途而被开发的软件,较常见的有文字处理软件、信息管理软件、辅助设计软件、实时控制软件、教育与娱乐软件等。
1.操作系统
从1946年诞生第一台电子计算机以来,它的每一代进化都以减少成本、缩小体积、降低功耗、增大容量和提高性能为目标。随着计算机硬件的发展,同时也加速了操作系统(OS,operating system)的形成和发展。早期的计算机并没有操作系统,人们通过各种操作按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入计算机进行编译。这些将语言内置的计算机只能由操作人员自己编写程序来运行,不利于设备、程序的公用。为了解决这种问题,就出现了操作系统,实现了程序的公用,以及对计算机硬件资源的管理。
操作系统的发展经历了两个阶段。第一个阶段为单用户、单任务的操作系统,分别有CP/M、DR-DOS、PC-DOS和MS-DOS等磁盘操作系统。第二个阶段是多用户、多任务的分时操作系统,其典型代表有UNIX、XENIX、OS/2以及Windows操作系统。目前,计算机上常见的操作系统有DOS、OS/2、UNIX、XENIX、Linux、Windows、Netware等。
(1)DOS操作系统
DOS(disk operation system)硬盘操作系统主要包括Shell(command.com文件)和I/O接口(io.sys文件)两个部分。Shell是DOS的外壳,负责将用户输入的命令翻译成操作系统能够理解的语言。DOS的I/O接口通常实现一组基于int 21h的中断。
DOS操作系统的代表是MS-DOS,它是1980年基于8086微处理器而设计的单用户操作系统。后来,Microsoft公司获得了该操作系统的专利权,配备在IBM-PC机上,并命名为PC-DOS。1981年,Microsoft公司的MS-DOS 1.0版与IBM的PC机面世,这是第一个实际应用的16位操作系统。1987年,Microsoft公司发布MS-DOS 3.3版本,是非常成熟可靠的DOS版本,Microsoft公司取得个人操作系统的霸主地位。
从1981年问世至今,DOS经历了7次大的版本升级,从1.0版到现在的7.0版,不断改进和完善。但是,DOS系统的单用户、单任务、字符界面和16位的大格局没有变化,因此它对于内存的管理也局限在640KB的范围内。DOS的优点是快捷。熟练的用户可以通过创建BAT或CMD批处理文件完成一些烦琐的任务。因此,即使在Windows XP下,CMD还是高手的最爱。
由于早期的DOS系统是Microsoft公司为IBM的PC机开发的,称为MS-DOS,因此,后来其他公司开发的与MS-DOS兼容的操作系统,也沿用了这个称呼,如PC-DOS、DR-DOS等。
(2)Windows操作系统
Windows操作系统是Microsoft公司在1985年11月发布的第一代窗口式多任务系统,它使PC机开始进入了图形用户界面时代。它采用了GUI图形化操作模式,比从前的指令操作系统(如DOS)更为人性化。Windows 1.x版本是一个具有多窗口及多任务功能的版本,但由于当时的硬件平台为PC/XT,速度很慢,所以Windows 1.x版本并未十分流行。1987年底,Microsoft公司又推出了MS-Windows 2.x版本,它具有窗口重叠功能,窗口大小也可以调整,并可把扩展内存和扩充内存作为磁盘高速缓存,从而提高了整台计算机的性能,此外它还提供了众多的应用程序。1990年,Microsoft公司推出了Windows 3.0版本,它的功能进一步加强,具有强大的内存管理功能,且提供了数量相当多的Windows应用软件,因此成为80386和80486微型计算机新的操作系统标准。
1995年,Microsoft公司推出了Windows 95。在此之前的Windows都是由DOS引导的,也就是说,它们还不是一个完全独立的系统。而Windows 95则是一个完全独立的系统,并在很多方面做了进一步的改进,还集成了网络功能和即插即用功能,是一个全新的32位操作系统。1998年,Microsoft公司推出了Windows 95的改进版Windows 98,Windows 98的一个最大特点就是把Microsoft公司的Internet浏览器技术整合到了Windows 95里面,使得访问Internet资源就像访问本地硬盘一样方便,从而更好地满足了人们越来越多的访问Internet资源的需要。2000年2月,Microsoft公司推出Windows 2000,它是32位图形商业性质的操作系统。Windows 2000有4个版本:Professional、Server、Advanced Server和Datacenter Server。
2003年3月28日,Microsoft公司发布了64位的Windows XP。字母XP代表英文单词的“体验”(experience)。根据不同的微处理器架构,Windows XP分为两个不同版本,IA-64版的Windows XP和x86-64版的Windows XP。IA-64版的Windows XP是针对Intel IA-64架构的安腾2(Itanium2)纯64位微处理器的操作系统,称为Windows XP 64-Bit Edition Version 2003 for Itanium-based Systems。
2006年11月30日,Microsoft公司发布全新的Windows Vista操作系统。Vista是目前最安全可信的Windows操作系统,其安全功能可以防止最新的威胁,如蠕虫、病毒和间谍软件。
据报道,Windows 8将在2012年发布。
(3)UNIX操作系统
UNIX操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,属于分时操作系统。UNIX最早是由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T(American Telephone & Telegraph)公司的贝尔实验室开发的。经过长期的发展和完善,UNIX目前已成长为一种主流的操作系统技术和基于这种技术的产品大家族。由于UNIX具有技术成熟、结构简练、可靠性高、可移植性好、可操作性强、网络和数据库功能强、伸缩性突出和开放性好等特点,可满足各行各业的实际需要,特别能满足企业重要业务的需要,因此它已经成为主要的工作站平台和重要的企业操作平台。UNIX主要安装在巨型计算机、大型机上作为网络操作系统使用,也可用于个人计算机和嵌入式系统。
最初的UNIX是用汇编语言编写的,后来也有用B语言和汇编语言混合编写的。因为B语言在进行系统编程时不够强大,所以1973年Thompson和Ritchie用C语言重写了UNIX。用C语言编写的UNIX代码简洁紧凑、易移植、易读、易修改,为UNIX此后的发展奠定了坚实基础。
1975年,UNIX的4、5、6三个版本先后面世。1978年,已经有大约600台计算机在运行UNIX。1979年,UNIX版本7发布,这是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学和研究所。1982年,具有UNIX所有权的AT&T公司基于版本7开发了UNIX System Ⅲ的第一个版本,为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1。这个UNIX商业发布版本不再包含源代码。所以加州大学Berkeley分校继续开发BSD UNIX,作为UNIX System III和V的替代选择。BSD对UNIX最重要的贡献之一是TCP/IP。此后AT&T继续为UNIX System V增加了文件锁定、系统管理、作业控制、流和远程文件系统。从1987年到1989年,AT&T决定将Xenix、BSD、SunOS和System V融合为System V Release 4(SVR4)。这一版本将多种特性融为一体,结束了混乱的竞争局面。1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体。
(4)Linux操作系统
Linux操作系统来源于UNIX,是目前全球最大的一个自由软件,它是一个可与UNIX和Windows相媲美的操作系统,具有完备的网络功能。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中,第一点详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。
Linux最初由芬兰赫尔辛基大学的学生Linus Torvalds开发,其源程序在Internet上公布以后,引起了全球计算机爱好者的青睐。1991年4月发布了Linux 0.01版本,随后在10月发布了第二个版本Linux 0.02版。2001年,Linux 2.4版内核发布,它进一步地提升了SMP系统的扩展性,同时它也集成了USB接口和支持内置的即插即用等功能。2003年,Linux 2.6版内核发布。相对于2.4版内核,2.6版在对系统的支持方面很大的变化:第一,更好地支持大型多处理器服务器,特别是采用NUMA设计的服务器;第二,更好地支持嵌入式设备,如手机、网络路由器或者视频录像机等;第三,对鼠标和键盘指令反应更加迅速;第四,对设备驱动程序做了彻底更新,例如,与硬盘和CD光驱通信的软件模块。
现在的Linux经过数次改版后已经发展成为一个纯32位多工操作系统,64位版本也在开发之中。Linux可以兼容大部分的UNIX系统,很多的UNIX程序不需要改动,或者进行很少的改变,就可以运行于Linux环境。Linux内置了TCP/IP协议,可以直接连入Internet,作为服务器或者终端使用。同时Linux也内置了Java解释器,可直接运行Java源代码,具备程序语言开发、文字编辑和排版、数据库处理等能力。Linux还提供了Windows的图形界面,主要用于80x86系列的PC机,也有其他不同硬件平台的版本,支持现在流行的所有硬件设备。就性能来说,它并不弱于Windows和UNIX,而且依靠仿真程序还可以运行Windows应用程序。
2.程序设计语言
计算机程序都是用某种计算机所能识别的语言编写的。程序设计语言的发展经历了机器语言、汇编语言和高级语言三个阶段。
(1)机器语言
机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。一条指令就是机器语言的一条语句,包括操作码和地址码。操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。
机器语言的特点是计算机可以直接识别,不需要进行任何翻译,执行速度较快。但是,由于机器语言由大量的二进制代码组成,不易学也不易掌握,可读性较差。同时它严重地依赖于具体的计算机,所以,可移植性差,重用性差。机器语言是第一代计算机的编程语言,对不同型号的计算机来说一般是不同的。
(2)汇编语言
汇编语言也是面向机器的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这样采用符号代替机器语言中的二进制代码,就把机器语言变成了汇编语言,所以,汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,把汇编语言翻译成机器语言的过程称为汇编。
汇编语言的特点是能够直接访问与硬件相关的存储器或I/O端口,不受编译器的限制,对生成的二进制代码进行完全的控制,避免因线程共同访问或者硬件设备共享引起的死锁,能根据特定的应用对代码做最佳的优化,提高运行速度,最大限度地发挥硬件的功能。汇编语言比机器语言易于读/写、调试和修改,同时具有机器语言的全部优点。同时还应该认识到,汇编语言是一种层次非常低的语言,面向具体机型的,它离不开具体计算机的指令系统。因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的,通用性也差。汇编语言程序开发效率很低,时间长且单调。但是,用汇编语言编制的系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。例如,70%以上的系统软件,某些快速处理、位处理、访问硬件设备等高效程序,某些高级绘图程序,视频游戏程序都是用汇编语言编写的,它是理解整个计算机系统的最佳起点和最有效途径。
(3)高级语言
不论机器语言还是汇编语言都是面向硬件的具体操作,由于它们对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。随着计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称为高级语言。高级语言是面向用户的语言,无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,采用该高级语言编写的程序就可以通用。
高级语言主要是相对于汇编语言而言的,它并不特指某一种具体的语言,而是包括了很多编程语言,目前被广泛使用的高级语言有BASIC、Pascal、C/C++、COBOL、FORTRAN、LOGO以及VB、VC、VC++等。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
编译方式:事先编制好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将采用高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。
解释方式:将源程序输入计算机时,解释程序边扫描边解释,逐句输入,逐句翻译,计算机一句句执行,并不产生目标程序。Pascal、 FORTRAN、COBOL等高级语言采用编译方式,BASIC语言则采用解释方式。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。
3.应用软件
应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。常用的应用软件包括:办公软件、网络软件、多媒体软件、商务软件、数据库软件等。
(1)办公软件
办公软件指可以进行文字处理、表格制作、幻灯片制作、简单数据库处理等方面工作的软件,包括微软Office系列、金山WPS系列、永中Office系列、红旗2000RedOffice、致力协同OA系列等。办公软件的应用范围很广,大到社会统计,小到会议记录、数字化办公都离不开办公软件的鼎立协助。目前办公软件朝着操作简单化和功能细化等方向发展。
(2)网络软件
网络软件指在计算机网络环境中,用于支持数据通信和各种网络活动的软件。网络软件包括通信软件、网络服务软件、网络应用软件、网络应用系统、网络管理系统以及用于特殊网络站点的软件等。
(3)多媒体软件
多媒体软件包括字处理软件、绘图软件、图像处理软件、动画制作软件、声音编辑软件以及视频编辑软件。
(4)商务软件
商务软件包括会计软件、企业工作流程分析、客户关系管理软件、企业资源计划软件、供应链管理软件、产品生命周期管理软件等。
(5)数据库软件
数据库软件是指用于数据管理的软件系统,具有信息存储、检索、修改、共享和保护的功能。目前流行的数据库软件有Access、Sybase、SQL server、ORACLE、Foxpro等。