1第一章绪论§1.1计算机的基本概念电子计算机(简称计算机,俗称电脑)是20世纪科学技术最卓越的成就之一。自1946年12月世界上第一台电子计算机——电子数字积分计算机ENIAC(ElectronicNumericalIntegratorAndComputer)——在美国宾夕法尼亚州(Pennsylvania)诞生以来,计算机科学和技术经历半个多世纪的发展,在社会、经济、科技、军事和文化等领域得到了广泛的应用,极大地推动了世界经济的发展和人类文明的进步。如今,计算机已成为人们不可缺少的现代化工具。计算机给人类带来了新的文化、新的工作和生活方式。有人把传统的文化称为“第一文化”,把计算机文化称为“第二文化”,因而,计算机文化教育也一步步地成为人类文化教育(尤其对高校学生)的重要组成部分。1946年,美籍匈牙利数学家冯·诺依曼(VonNeumann)在一篇题为《关于电子计算机逻辑设计的初步讨论》的学术报告中,提出了“存储程序”的概念并且进行了论证;提出了计算机硬件应由运算器、控制器、存储器、输入设备和输出设备等五大部分组成的体系结构(如图1-1所示);提出了计算机中处理的数据模型是由二进制数所表示的指令和数据;提出了将事先编制好的程序和原始数据一并存入计算机的存储器,启动计算机,在不受人工干预的情况下,计算机自动地、高速地从存储器中取出指令并且执行(被归纳为:二进制、存储程序、程序控制)的思想。这一思想奠定了现代计算机体系结构的基础。半个多世纪来,尽管计算机的体系结构发生了很大的变化,性能不断提高,但本质上仍以冯·诺依曼结构为基础,所以现代计算机又统称为冯·诺依曼计算机。数据信息运算器存储器控制器输入设备输出设备输入设备控制信息输出设备冯·诺依曼计算机特点:21.冯·诺依曼计算机的系统结构(硬件结构);2.存储程序和程序控制的工作方式(工作原理);3.采用二进制数据形式(数据形式)。就以上问题逐一进行讨论:§1.1.1存储程序工作方式冯·诺依曼计算机体制中最核心的思想就是:存储程序和程序控制的执行。1.事先根据所要完成的任务编制程序2.存储所编制的程序3.自动、连续地执行事先编制的程序§1.1.2信息的数字化表示1.计算机信息的数字化表示①数值型数据的二进制表示②字符型数据的二进制表示③图形、图像的二进制表示④计算机机器指令的数字化(机器指令)⑤设备状态的数字化表示2.计算机中数字的电信号表示正逻辑的表示方法:“0”→低电平;“1”→高电平;负逻辑的表示方法:“1”→低电平;“0”→高电平;3.数据数字化的优点①提高数据传输的可靠性②数字组合有利于提高表示范围和精度③数字化数据容易通过硬件实现存储④数字化信息容易通过硬件逻辑电路实现§1.2计算机系统的硬、软件组成§1.2.1计算机硬件系统硬件:组成计算机任何机械的、电子的、磁的物理实体。1.中央处理机中央处理机(CentralProcessingUnit,缩写为CPU),也称微处理机(MicroProcessingUnit,缩写为MPU)是利用微电子技术将运算器和控制器做在一片集成电路(芯片)上的一个独立部件,它具有解释指令、执行指令,以及与其他部件交换数据的功能,是计算机的3核心部件。⑴运算器运算器AU(ArithmeticUnit),也称为算术逻辑部件ALU(ArithmeticLogicUnit),由数据寄存器、累加器、算术逻辑部件等组成。运算器负责进行算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或等),通常以每秒钟能够完成的算术运算次数度量计算机的计算速度。⑵控制器控制器CU(ControlUnit)由指令部件、时序部件和微操作控制部件组成,是计算机的指挥控制中心,其功能是逐条执行程序中的指令。其中,指令部件又由程序计数器(也叫指令计数器)PC(ProgramCounter)、指令寄存器IR(InstructionRegister)和指令译码器ID(InstructionDecode)组成。2.存储器存储器(MemoryUnit)是计算机系统的记忆部件,主要功能是存放程序和数据。通常将程序或数据存入存储器称“写”存储器,将程序或数据从存储器中取出称“读”存储器。实际微型计算机系统中,总是采用分级的方法来设计整个存储器系统。全部存储器系统从内到外分为四级,即寄存器组、高速缓冲存储器、内存储器和外存储器。该分级顺序的存取速度依次递减,存储容量则是依次递增,位价格是依次递降。微型计算机中的存储器分级结构如图1-2所示。缓存控制器ROM高速缓冲存储器I/O接口RAM外存储器内存储器CPU寄存器组...图1-2微型计算机中的存储器⑴寄存器组寄存器组(RegisterGroup)是最高一级的存储器。其作用是暂时存放当前正在运算所需要的数据或指令。寄存器组是中央处理机(CPU)内含的,用于暂存待参加运算的操作数或运算的中间结果。由于受集成度的限制,寄存器组的容量很有限。CPU对寄存器组的读/写操作通常都是发生在本芯片内部,其读/写速度很快,通常存取速度与运算器是同一级的,基本在一个时钟周期内完成。充分利用这些寄存器组的作用,可以使一些指令的执行仅在CPU内部就能完成,避免了过于频繁的总线操作,加快了程序执行的速度。因此,目前一些高速中央处理机往往采用将寄存器组尽量做大,以获取更高的运行速度。⑵高速缓冲存储器高速缓冲存储器(Cache)是计算机中的第二级存储器。Cache是介于CPU与主存(DRAM)之间的容量有限(几十KB~几MB)而速度很高(可以与CPU速度相匹配)的一级存储器。Cache通常由静态随机存储器SRAM组成。其作用是把当前正在执行的指令地址附近的一部分指令或数据从主存调入Cache中,供CPU在短时间之内使用,以此解决高速的CPU与低速的DRAM(下述)之间的速度差异(所以叫高速缓冲存储器)。⑶内存储器内存储器(主存)是计算机系统中的第三级存储器。内存储器通常分为随机存储器和只读存储器两种。4随机存储器是一种既可“读”又可“写”,断电后信息会丢失的存储器。它分为动态存储器DRAM(DynamicRandomAccessMemory)和静态存储器SRAM(StaticRAM)两种。DRAM由动态的MOS管组成,它通过栅极与衬底之间形成的电容保存数据信息,由于极间电容有损耗,其中的信息只能保存若干毫秒,因此必须通过刷新电路使其中的数据长期保存。该存储器具有集成度高、存储容量大、价格低廉、运行速度慢、需要刷新操作的特点。SRAM由触发器组成,只要不断电,触发器能够永久保存其中的信息。与动态随机存储器相比,静态存储器具有集成度低、存储容量小、价格高、运行速度快、不需要刷新操作的特点。只读存储器ROM(ReadOnlyMemory)是在厂商制造时就把信息存入并永久保存的存储器,其内容不能改变,故只能“读”不能“写”,所以称之为只读存储器。只读存储器的类型很多,经常使用的有:PROM(ProgrammableROM)、EPROM(ErasablePROM)、EEPRPM(ElectricallyEPROM)。其中,PROM叫可编程ROM,该存储器允许用户在使用过程中重新再“写”入一次数据,“写”入后和ROM一样只能“读”出不能再“写”入。EPROM叫可擦除PROM,该存储器可以通过紫外线照射将其中的内容擦除掉,擦除之后可以重新“写”入新的内容,而且可以多次擦除与“写”入,使用非常方便。EEPRPM存储器叫电可擦除PROM,为了方便用户的使用,在芯片的指定端加入规定的电压之后,其存储的内容就被擦除,而且能够多次擦除、多次“写”入。⑷外部存储器外部存储器也叫辅助存储器(AidedMemory),是计算机中最低一级的大容量的存储系统。外部存储器是以文件的形式永久保存程序或数据。外部存储器类型很多,目前使用比较多的有硬盘、软盘、光盘、FlashRAM等等。3.输入设备输入设备(InputEquipment)即指将数据、程序,以及某些标志等信息转换成计算机能够接受和处理的数据形式,并送入计算机,从而使计算机具有从外部获取信息能力的一类设备。常用的输入设备有键盘、鼠标、触摸屏、光笔、扫描仪、数码相机、摄像机、数码摄像机、条形码扫描仪、数字化仪等。而且,随着计算机应用领域的不断扩大,输入设备会越来越多。下面简单介绍其中的几种。4.输出设备顾名思义,输出设备(OutputEquipment)是用于接收从计算机传出来的信息的一类设备。微机系统中常用的输出设备有显示器、打印机、磁盘机(外存储器)、刻录机、绘图仪、声音输出设备和复印传真设备等等。5.总线总线:是一组进行互连和传输信息的信号线。用于连接CPU、主存储器、I/O设备等接口电路的,为了便于实现扩展而设置的部件。常用的总线有:系统总线(是计算机内部各部件之间进行连接和传输信息的一组信号线)、内部总线(是计算机内部芯片之间进行连接和传输数据的一组信号线)和外部总线(是系统之间或计算机系统与设备之间进行通信的一组信号线);总线的组成:地址总线、数据总线、控制总线和电源、地线;常用的总线插槽有:PC总线、ISA总线和PCI总线。6.接口计算机接口:是指CPU与“外部设备”的连接电路,是CPU与外部设备进行信息交换的中转站。所谓“外部设备”是指CPU本身之外的所有设备或电路,包括存储器、I/I设备、5控制设备、通信设备、多媒体设备、A/D、D/A转换器等等。§1.2.2计算机软件系统软件:控制计算机运行的各种计算机程序。【解释】:软件通常泛指各类程序和文件。实际上它们是一些算法(说明如何完成某任务的指令序列)和它们在计算机中的表示所构成。体现为一些触摸不到的二进制状态,所以称其为软件。计算机软件通常存储在硬盘上,当启动计算机时,在引导程序的自动引导之下,将各种必要的程序装入内存之中,使计算机硬件在软件的控制之下工作。计算机软件给人们提供了一个基本运行环境,用户通过软件指挥计算机工作。根据软件在计算机系统中所处的不同位置和作用,计算机软件通常分为系统软件和应用软件两大类:1.系统软件习惯上,把支持其他软件运行的软件和一些服务性软件称为系统软件,系统软件通常与硬件联系更紧密些。其中,操作系统是最典型的系统软件,其余的,如语言处理程序、数据库管理系统、服务程序等也被归为系统软件之列。⑴操作系统操作系统是最常用、最重要的系统软件,是计算机系统资源的管理者,同时又是计算机与用户之间的接口。有代表性的操作系统有DOS、UNIX/XENIX、WINDOWS等。操作系统的功能:CPU调度管理、存储器管理、I/O设备管理、文件管理、作业管理等等。⑵语言处理程序语言处理程序的功能是将汇编语言或高级语言(统称程序设计语言)编写的源程序转换(或称翻译)成计算机硬件所能直接识别的机器语言的目标程序,经连接后产生可执行程序产生(也称机器代码)。语言处理程序可分为汇编程序、解释程序和编译程序等三大类。●汇编程序汇编程序(Assembler)也称汇编器,其功能是将用汇编语言编写的源程序翻译成机器语言的目标程序(翻译过程称为汇编)。不过,通常汇编产生的目标程序还需要进行连接、定位才能最终成为可执行程序。图1-5展示了这一过程。6汇编连接执行汇编器源程序目标程序结果可执行程序图1-5汇编语言源程序运行示意图●编译程序编译程序也称编译器(Compiler)负责将用编译型高级语言编写的源程序翻译成机器语言的目标程序(这个翻译过程称为编译),目标程序经连接后形成可执行程序。这一过程与图1-5完全相同,只是将那里的“汇编器”改成“编译器”。●解释程序解释程序也称解释器(Interpreter)完成于对用解释型高级语言编写的源程序解释执行,每解释一句(将其翻释成机器代码)就执行一句(不产生完整的可执行程序),如图1-6所示。高级语言源程序解释程序运算结果解释并执行图1-6解释型高级语言源程序运行示意图编译型高级语言与解释型高级语言的根本区别在于:编译型语言的源程序经编译(和连接)后产生可执行文件,以后随时可以执行它(与源程序不再有联系);而解释型高级语言的源程序则不能产