第1章 计算机基础知识 Chapter1 (1)了解计算机的发展史和计算机系统的组成结构。 (2)学习计算机连接、信息表示、存储、微型计算机性能指标、计算机软硬件系统。 (3)了解计算机发展趋势。 (1)掌握计算机系统的工作原理和基本的软硬件知识。 (2)掌握计算机病毒原理及防治。 计算机是一种能够按照程序自动、精确并高速运行的电子设备,主要功能是大量计算、加 工、存储、传送信息。由于人们最早将其应用于计算,计算机也因此而得名。计算机的发展和 应用水平早已成为衡量一个国家科技水平和经济实力的重要标志之一。 从1946 年第一台计算机诞生至今,计算机已经融入人类社会的各个领域,成为人们学习、 生活和工作中不可缺少的工具和助手。随着社会信息化程度不断深化,各行各业的信息化进 程不断加速,学习计算机知识、掌握和应用计算机技能已成为时代的基本要求。 1.计算机概论 1 1.1.1 计算机工作原理 1945 年美籍匈牙利数学家冯·诺依曼提出了采用以“存储程序”(将解题程序存放到存储 器)和“程序控制”(控制程序顺序执行)为基础的计算机基本工作原理的设计思想,因此,此原 理又称为冯·诺依曼原理。根据这个原理,使用计算机前,要把处理的信息(数据)和处理的步 骤(程序)事先编排好,每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后 送到什么地址去等步骤,并以二进制数的形式输入计算机存储,然后由计算机控制器严格地按 照程序逻辑顺序逐条执行,完成对信息的加工处理。计算机工作原理如图1-1所示。 冯·诺依曼计算机工作原理的基本特点如下。 (1)存储器采用按照地址访问的线性结构,存储单元是定长的线性组织。 (2)整个计算机系统采用二进制形式表示数据和指令。 (3)在执行程序和处理数据时必须将程序和数据从外存储器装入主存储器中,然后才能 使计算机在工作时能够自动从存储器中取出指令并加以执行。 2 图1- 1 计算机工作原理 (4)指令在存储器中按顺序存放,由指令计算器指明将要执行的指令在存储器中的地址, 对计算进行集中的顺序控制。 1.1.2 计算机中信息的表示及存储 1. 计算机内的二进制数 计算机的基本功能是对数据进行运算和加工处理。计算机所表示和使用的数据一种是数 值数据,用以表示量的大小、正负,如整数、小数等;另一种是非数值数据(信息), 用以表示一些 字符、图形、色彩、声音等。计算机中的信息都是用二进制编码表示的。 2. 数据的存储单位 (1)比特(binarydigitbit)。比特是量度信息单位,位是最小的信息单位,用0或1表示 两种二进制状态。位记为bit或b。 (2)字节(byte)。字节记为byte或B,是数据存储中最常用的基本单位。1字节由8个二 进制位组成,计算机的存储容量就是指此计算机存储器所能存储的总字节数。8bit组成 1byte(字节), 于是1024 字节就是1Kbyte(千字节), 简写为1KB 。1字节能够容纳一个英文字 符,而一个汉字需要2字节的存储空间。DB 是计算机中最大的存储单位,1DB=10248GB 。 计算机的存储器(包括内存与外存)通常都是以字节作为容量的单位。计算机存储器的常 用容量单位: K字节1KB=1024B M字节1MB=1024KB G字节1GB=1024MB T字节1TB=1024GB (3)字(word)。计算机处理数据时,一次可以运算的数据长度称为一个字。 (4)字长。一个字中所包含的二进制数的位数称为字长。字长与计算机的类型、档次等 有关,如IBMPC 机为16 位微型计算机,其字长为16 位,而Pentium 是32 位计算机,其字长 为32 位。 3. 常见的信息编码 信息编码(informationcoding)是为了方便信息的存储、检索和使用,在进行信息处理时 3 赋予信息元素以代码的过程,即用不同的代码与各种信息中的基本单位组成部分建立一一对 应的关系。信息编码必须标准化、系统化,设计合理的编码系统是关系信息管理系统生命力的 重要因素。 信息编码的目的是为计算机中的数据与实际处理的信息之间建立联系,提高信息处理的 效率。常见的信息编码有以下3种。 (1)ASCI 码。ASCI 码(Americanstandardcodeforinformationinterchange,美国标准 信息交换码)是基于拉丁字母的一套计算机编码系统。最初用于表示英文字母和符号,而其扩 展版本EASCI 则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC646 。 ASCI 码有7位版本和8位版本两种,国际上通用的是7位版本。7位版本的ASCI 码 有128个元素,只需用7个二进制位(27=128)表示。8位ASCI 码也称为扩充ASCI 码,可 以表示256种不同的字符,分为基本部分和扩充部分。目前多数国家将ASCI 码的扩充部分 规定为自己国家语言的字符代码,中国把扩充ASCI 码作为汉字的机内码。 (2)汉字编码。汉字编码是为汉字设计的一种便于输入计算机的代码。由于电子计算机 现有的输入键盘与英文打字机键盘完全兼容,因而如何输入非拉丁字母的文字(包括汉字)便 成了多年来人们研究的课题。汉字信息处理系统一般包括编码、输入、存储、编辑、输出和传 输。根据应用目的的不同,汉字编码分为外码、交换码、机内码和字形码。 (3)多媒体信息编码。多媒体信息编码是指如何用二进制数码表示声音、图像和视频等 信息,通常也称为多媒体信息的数字化。 例如,一幅由像素阵列构成的图像,每个像素点的颜色值可以用二进制代码表示:二进制 的1位可以表示黑白2色,2位可以表示4种颜色,24位可以表示真色彩(即224≈1600万种颜 色);声音信号是一种连续变化的波形,可以将它分割成离散的数字信号,将其幅值划分为 28=256个等级值或216=65536个等级值加以表示;视频可以理解为连续帧播放的图像,目前 我国使用PAL制式的视频每秒显示25帧图像。若一段长10秒钟的视频的分辨率为720× 576的制式彩色视频(3B),它包含约300MB的数据。NTSC制式的视频每秒显示30帧。 1.1.3 计算机系统的基本结构 一个完整的计算机系统是由计算机硬件系统和计算机软件系统两大部分组成的。计算机 硬件系统的发展为软件系统提供了良好的开发环境,软件系统的升级又为硬件系统的发展提 出了新要求。 1.计算机硬件系统 计算机硬件系统是计算机系统的各种物理设备的总称,具体指计算机系统中由电子、 械、磁性和光电元件组成的各种计算机部件和设备。从功能上可以划分为五大基本组成部分,(机) 它们是运算器、控制器、存储器、输入设备和输出设备。下面以微型计算机为例,介绍计算机中 常见的硬件设备。 (1)中央处理器。中央处理器(centralprocesingunit,CPU)由运算器和控制器组成,分 别由运算电路和控制电路实现,是任何计算机系统中必备的核心部件,如图1-2所示。 ①控制器(CU )。控制器是整个计算机系统的控制中心,负责对指令进行分析,并根据指 令的要求指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地 进行操作及处理。控制器由指令指针寄存器、指令寄存器、控制逻辑电路和时钟控制电路等组 4 成。控制器从内存中逐条取出指令,分析每条指令规定的操作码以及进行该操作的数据在存 储器中的地址码。最后根据分析结果,向计算机其他部分发出控制信号。 ②运算器(ALU )。运算器是对数据进行加工、运算的部件,它在控制器的作用下与内存 交换数据,主要功能是对二进制编码进行各类基本的算术运算、逻辑运算和其他操作。 在运算器中含有暂时存放数据或结果的寄存器。运算器由算术逻辑单元(arithmetic logicunit,ALU )、累加器、状态寄存器和通用寄存器等组成。ALU是用于完成加、减、乘、除 等算术运算,与、或、非等逻辑运算以及移位、求补等操作的部件。 (2)内存储器。内存储器可分为两类,一类是随机存取存储器(RAM),其特点是存储器 中的信息能读能写,RAM中信息在关机后即消失。因此,用户在退出计算机系统前,应把当 前内存中产生的有用数据转存到可永久性保存数据的外存中,以便以后再次使用,RAM又可 称为读写存储器。内存条如图1-3所示。 图1- 2 CPU 图1- 3 内存条 另一类是只读存储器(ROM),其特点是用户在使用时只能进行读操作,不能进行写操作, 存储单元中的信息由ROM制造厂在生产时或用户根据需要一次性写入,ROM中的信息关机 后不会消失。 (3)主板。主板上最重要的部分是主板的芯片组,主板的芯片组一般由北桥芯片和南桥 芯片组成,两者共同组成主板的芯片组。北桥芯片主要负责实现与CPU 、内存、AGP接口之 间的数据传输,同时还通过特定的数据通道和南桥芯片相连接。 北桥芯片的封装模式最初使用BGA封装模式,到Intel的北桥芯片已经转变为FC-PGA 封装模式,不过为AMD处理器设计的主板北桥芯片依然使用传统的BGA封装模式。相比北 桥芯片来讲,南桥芯片主要负责和IDE设备、PCI设备、声音设备、网络设备以及其他的I/O 设备的沟通,南桥芯片到目前为止只能见到传统的BGA封装模式一种。 除了传统的南、北桥芯片外,主板的芯片组还有一体化的设计方案,这种方案经常在 NVIDIA 、SiS的芯片组上见到,将南、北桥芯片合为一块芯片,这种设计方案对于节省成本、提 高产品竞争力有一定的意义,除了小部分主板外,还没有被广泛推广。 芯片组管理着系统总线(systembus),它是计算机各种功能部件之间传送信息的公共通 信干线,是由导线组成的传输线束。按照计算机所传输的信息种类,总线可以划分为数据总线 (databus)、地址总线(addresbus)和控制总线(controlbus),分别用来传输数据、数据地址和 控制信号。总线是一种内部结构,它是CPU 、内存、I/O设备传递信息的公用通道,主机的各 个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬 件系统,承载总线的硬件一般为主板。如果将计算机主板比作一座城市,那么总线就是这座城 5 市的交通线路。主板图如图1-4所示。 (4)外存储器。外存是存放程序和数据的“仓库”,可 以长时间地保存大量信息。外存与内存相比容量要大得 多,例如,当前计算机的外存(硬盘)配置可为TB 数量级。 但外存的访问速度远比内存要慢,所以计算机的硬件设 计都是规定CPU 只从内存取出指令执行,并对内存中的 数据进行处理,以确保指令的执行速度。 当系统发出指令,系统将外存中的程序或数据成批 地传送到内存,或将内存中的数据成批地传送到外存。 硬盘及硬盘内部结构由图1-5表示。 图1-4主板 图1- 5 硬盘及硬盘内部结构 (5)输入设备。输入设备是用来输入计算程序和原始数据的设备。常见的输入设备有键 盘、光学标记阅读机、图形扫描仪、鼠标器、摄像头等。 (6)输出设备。输出设备(outputdevice)是人与计算机交互的一种部件,用于数据的输 出。输出设备把各种计算结果数据或信息以数字、字符、图像、声音等形式表示出来。常见的 输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。 (7)其他设备。计算机硬件的其他设备还包括调制解调器、网络设备、声卡、显卡等。 计算机系统硬件组成部分如图1-6所示。 图1- 6 计算机硬件系统示意图 2. 计算机软件系统 相对于计算机硬件而言,软件是计算机的无形部分,但它起着至关重要的作用。计算机软 6 件是指能指挥计算机工作的程序与程序运行时所需要的数据,以及与这些程序和数据有关的 文字说明和图表资料,其中文字说明和图表资料又称为文档。 计算机软件(computersoftware)是安装或存储在计算机中的程序,有时这些软件也存储 在外存储器上,如光盘或软盘上。常用软件有Windows10 、Ofice2016办公软件、360安全卫 士等。 计算机的软件系统可以分为系统软件和应用软件两大类,如图1-7所示。 图1- 7 计算机软件系统 1)系统软件 系统软件是为提高计算机工作效率和方便用户使用而设计的各种软件,一般是由计算机 厂家或专业软件公司研制。系统软件又分为操作系统、支撑软件、编译系统和数据库管理 系统 ( 。 1)操作系统。操作系统具有处理进程管理、存储管理、设备管理、文件管理和作业管理 5个管理功能,由它来负责对计算机的全部软、硬件资源进行分配、控制、调度和回收,合理地 组织计算机的工作流程,使计算机系统能够协调一致、高效率地完成处理任务。操作系统是计 算机最基本的系统软件,对计算机的所有操作都要在操作系统的支持下才能进行。目前常用 的操作系统有操作系统的补丁程序、硬件驱动程序、Windows、UNIX 、Linux等。 (2)支撑软件。支撑软件是支持其他软件的编制和维护的软件,它的作用是对计算机系 统进行测试、诊断和排除故障,对文件进行编辑、传送、装配、显示、调试,以及对计算机病毒进 行检测、防治。支撑软件是软件开发过程中进行管理和实施而使用的软件工具,在软件开发的 各阶段选用合适的支撑软件可以大大提高工作效率。 (3)编译系统。要使计算机能够按照人的意图去工作,就必须使计算机能接受人向它发 出的各种命令和信息,这就需要有用来进行人和计算机交换信息的“语言”。计算机语言的发 展有机器语言、汇编语言和高级程序设计语言3个阶段。 (4)数据库管理系统。数据库是以一定组织方式存储起来且具有相关性数据的集合,它 的数据冗余度小,而且独立于任何应用程序而存在,可以为多种不同的应用程序共享。对数据 库输入、输出及修改均可按一种公用的可控制的方式进行,使用十分方便,大大提高了数据的 利用率和灵活性。数据库管理系统(databasemanagementsystem,DBMS)是对数据库中的 资源进行统一管理和控制的软件,数据库管理系统是数据库系统的核心,是进行数据处理的有 利工具。目前,被广泛使用的数据库管理系统有SQLServer、Oracle等。 2)应用软件 应用软件是针对某一个专门目的而开发的软件,如办公软件、财务管理系统、辅助教学软 7 图1-8第一代计算机ENIAC 件、图形处理软件、管理软件、计算机辅助设计软件、工具软件、游戏软件等。 1.1.4 计算机的发展史 自从第一台计算机诞生以后,计算机的发展非常迅速,经历几代演变,迅速参与到人们生 产和生活的各个领域,并发挥着巨大的作用。从世界上第一台电子数字式计算机问世,计算机 元件从最初的电子管元器件到今天的超大规模集成电路做元器件,历经七十余年。这期间,计 算机应用领域不断深化和拓宽,系统结构也发生着巨大变化。根据计算机所采用的电子元件 不同,计算机的发展历程可分为以下6个阶段。 1. 第一代计算机 1946 年2月15 日,世界上第一台电子数字式计算机于美国宾夕法尼亚大学正式投入运 行,它的名字叫ENIAC(埃尼阿克), 是电子数字积分计算机(electronicnumericalintegrator andcomputer)。 ENIAC 最初被应用于火炮弹道的计算,后经科学家多次改进成为能进行各种科学数值计 算的通用计算机。ENIAC 采用电子管作为基本元件,由18000 多只电子管、10000 多只电容 器、7000 多只电阻和1500 多只继电器组成,重达30 吨, 占地170 平方米,耗电量巨大,每秒能进行5000 次数值 运算,内存容量只有几千字。 ENIAC 的数值、逻辑运算、信息存储功能在当时已 经是最好的了,并且运算的速度和精度也是史无前例 的。ENIAC 主要应用于军事领域和科学计算,代表机 型有IBM650 、IBM709 等。此时,计算机程序设计还 处于最低阶段,用0和1表示机器语言进行编程,一直 到20 世纪50 年代汇编语言出现。这段时期被称为“电 子管计算机时代”。ENIAC 的诞生具有划时代意义。 第一代计算机ENIAC 如图1-8所示。 2. 第二代计算机 1958—1964 年,第二代晶体管计算机被研制出来。科学家们在计算机中采用了比电子管 更先进的晶体管,用磁性材料制成磁芯作为内存储器,磁盘和磁带作为外存储器,与ENIAC 相比,此时计算机的运行速度可达每秒几十万次,内存容量扩大到几十万字。同时计算机软件 也有了较大发展,第二代计算机的程序语言从机器语言发展到汇编语言。高级语言Basic、 Fortran也相继问世并被广泛使用,实现了程序兼容。代表机型有IBM7094 、CDC7600 。 第二代计算机的晶体管比电子管小得多,它的成本低、速度高、不需要暖机时间,消耗能量 较少,功能和可靠性都在增强。它的使用范围也从军事和科学领域扩展到数据处理和事物管 理等其他领域。这段时期被称为“晶体管计算机时代”。 3. 第三代计算机 1965—1970 年,第三代计算机问世,其主要采用小规模集成电路和中规模集成电路,这些 集成电路是用特殊工艺将完整的电子线路固定在一个硅片上,大小只有邮票的1/4。第三代 8 图1-9早期个人计算机 计算机的集成电路体积更小、寿命更长、价格更低、可靠性更高、计算速度更快。在存储容量、 速度和可靠性方面都有了较大提高。 同时,计算机软件技术也有了进一步发展,软件出现了模块化、结构化程序设计方法,操作 系统逐步成熟,实现了多道程序(内存中同时可以有多个程序)同时工作,当其中一个等待输 入/输出时,另一个可以进行计算。第三代计算机的代表机型是IBM360 系列。 第三代计算机主要应用于军事、科学计算、自动控制技术、辅助设计、辅助制造、企业管理 等领域。由于集成电路被应用到计算机中,因此这段时期被称为“中小规模集成电路计算机 时代”。 4. 第四代计算机 20 世纪70 年代末,第四代计算机投入使用,其主要采用大规模集成电路和超大规模集成 电路等元器件。这种大规模集成电路可容纳几十万个晶体管,计算机的核心部件都可以做在 一个硅片上,使得计算机的体积、重量都较上一代计算机进一步减小。第四代计算机的内存储 器采用集成度很高的半导体存储器,磁盘的存取速度和存储容量大幅度上升,计算速度可达每 秒上亿次。 第四代计算机的操作系统开始向虚拟操作系统发 展,数据管理系统得到完善和提高,计算机软件行业发 展成为新兴的高科技产业,程序语言进一步改进和提 高。计算机应用不断渗透到数据库系统、专家系统、图 形图像识别、办公自动化等各个方面。 世界上第一台微处理器和微型计算机在美国旧金 山南部的硅谷应运而生,它开创了微型计算机的新时 代。1975 年,美国IBM 公司推出了个人计算机PC (personalcomputer), 从此,计算机进入家庭,开启了个 人计算机时代。早期个人计算机如图1-9所示。 5. 第五代计算机 20 世纪80 年代,计算机发展到了微型计算机(microcomputer,简称微机或PC)阶段。第 五代计算机是对大型主机进行的第二次“缩小化”,其特点是将运算器和控制器制作在一块集 成电路芯片上,一般称为微处理器。微型计算机具有体积小、重量轻、功耗小、可靠性高、对使 用环境要求不严格、价格低廉、易于成批生产等特点,从最初的286 、386 、486 、586 到Pentium 、 PentiumⅡ 、PentiumⅢ,再到当前流行的PentiumⅣ和Celeron等都属于微型计算机,其中 Pentium 翻译为“奔腾”,突出了它的高速度特征。 第五代计算机又称新一代计算机,是为适应未来社会信息化的要求而提出的,它是把信息 采集、存储、处理、通信同人工智能结合在一起的智能计算机系统。人工智能的应用将是未来 信息处理的主流,因此,第五代计算机的发展,必将与人工智能、知识工程和专家系统等的研究 紧密相连,并为其发展提供新基础。 电子计算机的基本工作原理是先将程序存入存储器中,然后按照程序逐次进行运算。它 能进行数值计算或处理一般的信息,主要能面向知识处理,具有形式化推理、联想、学习和解释 的能力,能够帮助人们进行判断、决策、开拓未知领域和获得新的知识。人机之间可以直接通 9 过自然语言(声音、文字)或图形图像交换信息。第五代计算机的发展必然引起新一代软件工 程的发展,极大地提高软件的生产率和可靠性。 第五代计算机推动了计算机通信技术行业的发展,促进综合业务数字网络的发展和通信 业务的多样化,并使多种多样的通信业务集中于统一的系统中,有力地促进了社会信息化。第 五代计算机如图1-10 所示。 图1-10 第五代计算机 6. 第六代计算机 第六代计算机也称仿生计算机或生物计算机,其采用生物工程技术中的生物芯片来代替 半导体硅片,利用有机化合物存储数据。 由于半导体硅晶片的电路密集,散热问题难以彻底解决,影响了计算机性能的进一步发挥 与突破。而生物芯片的原材料是蛋白质分子,生物计算机芯片既有自我修复的功能,又可直接 与生物活体结合。同时,生物芯片具有发热少、体积小、功能低、数据错误率低、电路间无信号 干扰等优点。 与普通计算机不同的是,第六代计算机核心是十进制,模仿人的大脑判断能力和适应能 力,并具有可并行处理多种数据功能的神经网络计算机。与以往的信息处理系统只能处理条 理清晰、经络分明的数据不同,第六代计算机本身可以判断对象的性质与状态,并能采取相应 的行动,而且它可同时并行处理实时变化的大量数据,并引出结论。第六代生物计算机如 图1-11 所示。 图1-11 第六代生物计算机 生物计算机比硅晶片计算机在速度、性能上有质的飞跃。但是,其本身也有难以克服的缺 点:一种生物计算机24 小时就可以完成人类迄今全部的计算量,可是从中提取一个信息却要 10 一周时间,这也是目前生物计算机没有得到普及的最重要原因。 计算机发展阶段如表1-1所示。 表1- 1 计算机发展阶段 阶段时间逻辑器件应用范围 第一代1946—1958 年真空电子管科学计算、军事研究 第二代1959—1964 年晶体管数据处理、事务处理 第三代1965—1970 年中小规模集成电路自动控制技术等工业领域 第四代1971—1980 年大规模或超大规模集成电路图像处理等领域 第五代1980—2000 年集成电路芯片通信技术等领域 第六代1990 年至今生物芯片神经网络等领域 1.计算机发展趋势 2 计算机今后还要向高度(高性能)、广度(普及)和深度(智能化)挺进,国外称这种趋势为普 适计算(pervasivecomputing)或叫无处不在的计算。超级计算机将被普遍使用,计算机将采 用更先进的数据存储技术(如光学、永久性半导体、磁性存储等); 外设将走向高性能、网络化和 集成化并且更易于携带;人与计算机的交流将更加便捷,计算机的使用会越来越简单。作为信 息处理工具,简单地讲就是计算机正朝着模块化、无线化、专门化、网络化、环保化和智能化的 方向发展。 1.2.1 未来计算机的发展趋势特征 1. 模块化 计算机之所以有今天这么大的普及度,就是因为它的通用模块化设计起了决定性的推动 作用,而且会将它发扬光大,不但在内置板卡中实现模块化,甚至可以提供多个外接插槽,以供 使用人加入新的模块,增加性能或功能,使用起来和现在笔记本中的PCMICA 有点接近。 2. 无线化 计算机的无线化风潮是人们梦寐以求的,和现在笔记本讲的“无线你的无限”有所不同的是: 未来的计算机将实现网络和设备间的无线连接,这意味着未来在家中使用台式机比现在的笔记 本还方便,因为显示器与主机之间也是通过无线来连接的,使用起来有点像现在的TabletPC 。 3. 专门化 将来的计算机由于从事的工作不同,在性能和外形上都会有很大的不同。软硬件一体化 的计算机将逐渐由专用设备所代替。 如果仔细留意,会发现目前正在发生这样的变化,比如售卖彩票的终端、商场里的收银机、 银行的终端等,一般都是为了提高某一项工作的效率和减少成本,逐渐由通用计算机演变而来 的。也许这样的趋势将出现在我们的家庭生活中,专用的“家庭调控计算机”将成为家中的电 器控制中心。