计算机的基本组成及工作原理1.3.1计算机系统的组成计算机系统是由硬件系统和软件系统两大部分组成,这一节将分别介绍计算机硬件系统和软件系统。计算机硬件是构成计算机系统各功能部件的集合。是由电子、机械和光电元件组成的各种计算机部件和设备的总称,是计算机完成各项工作的物质基础。计算机硬件是看得见、摸得着的,实实在在存在的物理实体。计算机软件是指与计算机系统操作有关的各种程序以及任何与之相关的文档和数据的集合。其中程序是用程序设计语言描述的适合计算机执行的语句指令序列。没有安装任何软件的计算机通常称为“裸机”,裸机是无法工作的。如果计算机硬件脱离了计算机软件,那么它就成为了一台无用的机器。如果计算机软件脱离了计算机的硬件就失去了它运行的物质基础;所以说二者相互依存,缺一不可,共同构成一个完整的计算机系统。计算机系统的基本组成如图1-6所示。图1-6计算机系统的基本组成硬件系统算术逻辑运算器(ALU)控制器(CU)中央处理器(CPU)内存储器随机存取存储器(RAM)只读存储器(ROM)硬盘(HardDisk)软盘(FloppyDisk)外存储器磁盘磁带光盘(CD-ROMDVD-ROM)计算机系统软件系统程序库软件包套装软件用户自己开发的软件系统系统软件应用软件DOSWindowsXenix其它界面工具程序编辑程序链接装配程序其它操作系统数据库管理系统语言处理程序(汇编及各种语言的编译、解释程序)系统实用程序输入输出设备(I/ODevices)键盘鼠标숀描扫仪쳌光笔数字化仪显示器打印机绘图仪联网通讯设备1.3.2计算机硬件系统的基本组成及工作原理现代计算机是一个自动化的信息处理装置,它之所以能实现自动化信息处理,是由于采用了“存储程序”工作原理。这一原理是1946年由冯·诺依曼和他的同事们在一篇题为《关于电子计算机逻辑设计的初步讨论》的论文中提出并论证的。这一原理确立了现代计算机的基本组成和工作方式。⑴计算机硬件由五个基本部分组成:运算器、控制器、存储器、输入设备和输出设备。⑵计算机内部采用二进制来表示程序和数据。⑶采用“存储程序”的方式,将程序和数据放入同一个存储器中(内存储器),计算机能够自动高速地从存储器中取出指令加以执行。可以说计算机硬件的五大部件中每一个部件都有相对独立的功能,分别完成各自不同的工作。如图1-7所示,五大部件实际上是在控制器的控制下协调统一地工作。首先,把表示计算步骤的程序和计算中需要的原始数据,在控制器输入命令的控制下,通过输入设备送入计算机的存储器存储。其次当计算开始时,在取指令作用下把程序指令逐条送入控制器。控制器对指令进行译码,并根据指令的操作要求向存储器和运算器发出存储、取数命令和运算命令,经过运算器计算并把结果存放在存储器内。在控制器的取数和输出命令作用下,通过输出设备输出计算结果。1.运算器(ALU)运算器也称为算术逻辑单元ALU(ArithmeticLogicUnit)。它的功能是完成算术运算和逻辑运算。算术运算是指加、减、乘、除及它们的复合运算。而逻辑运算是指“与”、“或”、“非”等逻辑比较和逻辑判断等操作。在计算机中,任何复杂运算都转化为基本的算术与逻辑运算,然后在运算器中完成。2.控制器(CU)控制器CU(ControllerUnit)是计算机的指挥系统,控制器一般由指令寄存器、指令译码器、时序电路和控制电路组成。它的基本功能是从内存取指令和执行指令。指令是指示计算机如何工作的一步操作,由操作码(操作方法)及操作数(操作对象)两部分组成。控制器通过地址访问存储器、逐条取出选中单元指令,分析指令,并根据指令产生的控制信号作用于其它各部件来完成指令要求的工作。上述工作周而复始,保证了计算机能自动连续地工作。通常将运算器和控制器统称为中央处理器,即CPU(CentralProcessingUnit),它是整个计算机的核心部件,是计算机的“大脑”。它控制了计算机的运算、处理、输入和输出等工作。集成电路技术是制造微型机、小型机、大型机和巨型机的CPU的基本技术。它的发展使计算机的速度和能力有了极大的改进。在1965年,芯片巨人英特尔公司的创始人戈登·摩尔,给出了著名的摩尔定律:芯片上的晶体管数量每隔18~24个月就会翻一番。让所有人感到惊奇的是,这个定律非常精确的预测了芯片的30年发展。1958年第一代集成电路仅仅包含两个晶体管,而1997年,奔腾II处理器则包含了750万个晶体管,2000年的运算器存储器控制器程序数据输出结果控制流数据流图1-7计算机基本硬件组成及简单工作原理Pentium4已达到了0.13微米技术,集成了4200万个晶体管。CPU集成的晶体管数量越大,就意味着更强的芯片计算能力。3.存储器(Memory)存储器是计算机的记忆装置,它的主要功能是存放程序和数据。程序是计算机操作的依据,数据是计算机操作的对象。⑴信息存储单位程序和数据在计算机中以二进制的形式存放于存储器中。存储容量的大小以字节为单位来度量。经常使用KB(千字节)、MB(兆字节)、GB(千兆字节)和TB来表示。它们之间的关系是:1KB=1024B=210B,1MB=1024KB=220B,1GB=1024MB=230B,1TB=1024G=240B,在某些计算中为了计算简便经常把210(1024)默认为是1000。位(bit):是计算机存储数据的最小单位。机器字中一个单独的符号“0”或“1”被称为一个二进制位,它可存放一位二进制数。字节(Byte,简称B):字节是计算机存储容量的度量单位,也是数据处理的基本单位,8个二进制位构成一个字节。一个字节的存储空间称为一个存储单元。字(Word):计算机处理数据时,一次存取、加工和传递的数据长度称为字。一个字通常由若干个字节组成。字长(WordLong):中央处理器可以同时处理的数据的长度为字长。字长决定CPU的寄存器和总线的数据宽度。现代计算机的字长有8位、16位、32位、64位。⑵存储器的分类现代计算机系统中广泛应用半导体存储器,从使用功能角度看,半导体存储器可以分成两大类:断电后数据会丢失的易失性(Volatile)存储器和断电后数据不会丢失的非易失性(Non-volatile)存储器。微型计算机中的RAM属于可随机读写的易失性存储器,而ROM属于非易失性(Non-volatile)存储器⑶存储器工作原理为了更好地存放程序和数据,存储器通常被分为许多等长的存储单元,每个单元可以存放一个适当单位的信息。全部存储单元按一定顺序编号,这个编号被称为存储单元的地址,简称地址。存储单元与地址的关系是一一对应的。应注意存储单元的地址和它里面存放的内容完全是两回事。对存储器的操作通常称为访问存储器,访问存储器的方法有两种,一种是选定地址后向存储单元存入数据,被称为“写”;另一种是从选定的存储单元中取出数据,被称为“读”。可见,不论是读还是写,都必须先给出存储单元的地址。来自地址总线的存储器地址由地址译码器译码(转换)后,找到相应的存储单元,由读/写控制电路根据相应的读、写命令来确定对存储器的访问方式,完成读写操作。数据总线则用于传送写入内存或从内存取出的信息。主存储器的结构框图如图1-8所示。内存CPU内存CPU外存图1-8CPU访问内、外存储器的方式根据存储器与CPU联系的密切程度可分为内存储器(主存储器)和外存储器(辅助存储器)两大类。内存在计算机主机内,它直接与运算器、控制器交换信息,容量虽小,但存取速度快,一般只存放那些正在运行的程序和待处理的数据。为了扩大内存储器的容量,引入了外存储器,外存作为内存储器的延伸和后援,间接和CPU联系,用来存放一些系统必须使用,但又不急于使用的程序和数据,程序必须调入内存方可执行。外存存取速度慢,但存储容量大,可以长时间地保存大量信息。CPU与内、外存之间的关系如图1-7所示。4.输入设备输入设备是从计算机外部向计算机内部传送信息的装置。其功能是将数据、程序及其他信息,从人们熟悉的形式转换为计算机能够识别和处理的形式输入到计算机内部。常用的输入设备有键盘、鼠标、光笔、扫描仪、数字化仪、条形码阅读器等。5.输出设备输出设备是将计算机的处理结果传送到计算机外部供计算机用户使用的装置。其功能是将计算机内部二进制形式的数据信息转换成人们所需要的或其他设备能接受和识别的信息形式。常用的输出设备有显示器、打印机、绘图仪等。通常我们将输入设备和输出设备统称为I/O设备(Input/Output)。它们都属于计算机的外部设备。1.3.3计算机软件系统一个完整的计算机系统是由硬件和软件两部分组成的。硬件是组成计算机的物理实体。但仅有硬件计算机还不能工作,要使计算机解决各种问题,必须有软件的支持,软件是介于用户和硬件系统之间的界面。“软件”一词20世纪60年代初传入我国。国际标准化组织(ISO)将软件定义为:电子计算机程序及运用数据处理系统所必需的手续、规则和文件的总称。对此定义,一种公认的解释是:软件由程序和文档两部分组成。程序由计算机最基本的指令组成,是计算机可以识别和执行的操作步骤;文档是指用自然语言或者形式化语言所编写的用来描述程序的内容、组成、功能规格、开发情况、测试结构和使用方法的文字资料和图表。程序是具有目的性和可执行性的,文档则是对程序的解释和说明。程序是软件的主体。软件按其功能划分,可分为系统软件和应用软件两大类型。1.1.系统软件(SystemSoftware)?spanlang=EN-US常见的系统软件主要指操作系统,当然也包括语言处理程序(汇编和编译程序等)、服务性程序(支撑软件)和数据库管理系统等。图1-9内存储器原理地址总线数据信息地址信息读写控制电路存储单元存储单元存储单元存储单元存储单元存储单元读写操作命令数据总线⑴操作系统OS(OperatingSystem)操作系统是系统软件的核心。为了使计算机系统的所有资源(包括硬件和软件)协调一致、有条不紊地工作,就必须用一个软件来进行统一管理和统一调度,这种软件称为操作系统。它的功能就是管理计算机系统的全部硬件资源、软件资源及数据资源,从图1-10可以看出,操作系统是最基本的系统软件,其他的所有软件都是建立在操作系统的基础之上的。操作系统是用户与计算机硬件之间的接口,没有操作系统作为中介,用户对计算机的操作和使用将变得非常难且低效。操作系统能够合理地组织计算机整个工作流程,最大限度地提高资源利用率。操作系统在为用户提供一个方便、友善、使用灵活的服务界面的同时,也提供了其他软件开发,运行的平台。它具备五个方面的功能,即CPU管理,作业管理,存储器管理,设备管理及文件管理。操作系统是每一台计算机必不可少的软件,现在具有一定规模的现代计算机甚至具备几个不同的操作系统。操作系统的性能在很大程度上决定了计算机系统工作的优劣。微型计算机常用的操作系统有DOS(DiskOperatingSystem)、Unix、Xenix、Linux、Windows98/2000、NetWare、WindowsNT、WindowsXP等。⑵语言处理程序在介绍语言处理程序之前,很有必要先介绍一下计算机程序设计语言的发展。软件是指计算机系统中的各种程序,而程序是用计算机语言来描述的指令序列。计算机语言是人与计算机交流的一种工具,这种交流被称为计算机程序设计。程序设计语言按其发展演变过程可分为三种:机器语言、汇编语言和高级语言,前二者统称为低级语言。机器语言(MachineLanguage)是直接由机器指令(二进制)构成的,因此由它编写的计算机程序不需要翻译就可直接被计算机系统识别并运行。这种由二进制代码指令编写的程序最大的优点是执行速度快、效率高,同时也存在着严重的缺点:机器语言很难掌握,编程繁琐、可读性差、易出错,并且依赖于具体的机器,通用性差。汇编语言(AssembleLanguage)采用一定的助记符号表示机器语言中的指令和数据,是符号化了的机器语言,也称作“符号语言”。汇编语言程序指令的操作码和操作数全都用符号表示,大大方便了记忆,但用助记符号表示的汇编语言,它与机器语言归根到底是一一对应的关