第3章计算机硬件 计算机硬件指计算机内部那些看得见、摸得着的物理装置,是计算机存在的物质基础。如果没有计算机硬件,上层软件就成了空中楼阁,无法安装和运行。 计算机硬件通常由CPU、存储器、输入设备、输出设备、接口电路和计算机主板(总线)组成,其中存储器又分为内部存储器(内存)和外部存储器(外存)。通常将CPU、内存、接口电路和总线称为主机部分,将外存和输入输出设备称为外设部分。计算机硬件组成如图3.1所示。 图3.1计算机硬件组成的逻辑示意图 3.1CPU CPU即中央处理器,是计算机系统的指挥控制核心,主要由运算器、控制器和一些寄存器组成,如图3.2所示。 图3.2CPU组成示意图 1. 运算器 运算器(arithmetic logic unit,ALU)的主要功能是在控制器的指挥下,进行算术运算和逻辑运算,从而实现对数据的加工和处理。 2. 控制器 控制器的功能是指挥计算机的各个部件协调一致地自动运行,具体功能包括程序控制、操作控制和时间控制。程序控制是保证计算机按照程序规定的顺序执行,即指令的执行顺序不能任意颠倒; 操作控制是管理并产生实现每条指令功能所需的操作信号,并将这些信号发送到相应的部件; 时间控制是控制计算机按规定的时序发出各种信号,使计算机有条不紊地工作。 3. 寄存器 寄存器是CPU内临时存放信息的部件。按照功能的不同,寄存器可分为数据寄存器、指令寄存器和程序计数器。 (1) 数据寄存器(data register,DR)。用于暂存从内存中读出或将写入内存中的数据。图3.2中R1、R2和R3都是数据寄存器。大家日常使用的微型计算机和笔记本电脑里面大多安装的是Intel的奔腾CPU,其内部就有8个通用数据寄存器。 (2) 指令寄存器(instruction register,IR)。用于保存CPU正在执行的指令的二进制码。图3.2中IR所表示的是指令寄存器。 (3) 程序计数器(program counter,PC)。用于跟踪CPU下一条将要执行的指令的内存地址。图3.2中PC即是程序计数器。 图3.3所示的是Intel至强CPU芯片以及主板上预留的CPU插座实物图。在组装计算机硬件时,只需要把CPU放入主板插座内再用边上的卡扣卡紧,CPU底下数百条引脚就和主板内部的总线相连接,这样CPU便可通过总线访问主板上的内存和接口了。为了使CPU稳定运行,安装好CPU后,还需要在CPU上用散热胶贴紧安装一个风扇,用于给CPU散热降温。 图3.3CPU、CPU插座以及散热风扇实物图 CPU性能对计算机整机性能有决定性作用。以前主要是通过提高CPU主频和字长来提高计算机性能,例如主频由5MHz提高到 3GHz以上,字长由4位提高到64位。但目前摩尔定律越来越受到一些物理极限的制约,采用传统方法,计算机性能很难再以每隔18个月速度提高一倍的规律继续增长下去。当代计算机更多的是从体系结构方面挖掘并行性以提高计算机性能,例如cache、流水线结构、超标量结构、多线程CPU、多核CPU、机群系统等,采用多个运算部件、多个内核(每个内核相当于早期的单个CPU)、多台独立计算机合作完成一项复杂任务。 在个人计算机市场,目前主流的CPU厂商有Intel和AMD,这两家公司的CPU大多采用x86架构,在指令系统和体系结构方面兼容,占有大部分市场份额。龙芯是我国拥有自主知识产权的通用高性能微处理芯片,主要用于个人计算机、服务器和工控机等领域。兆芯国产x86处理器由上海兆芯集成电路有限公司生产,是完全自主研发的x86通用处理器。 智能手机市场的主要CPU厂家有Intel、德州仪器、高通、三星和华为等。海思麒麟(Kirin)系列是属于华为集团的手机处理器芯片产品、最新的麒麟990处理器采用7nm工艺,集成103亿个晶体管; 内置5G基带芯片,可以实现真正的5G上网; 内部包含8核CPU和16核GPU(graphics processing unit,图形处理单元),在性能上领先美国高通骁龙845处理器。 我国的集成电路工业起步较晚,CPU成为最受制于他人的关键环节。但由于国家高度重视以及财政大力支持,现在与国外先进CPU技术之间的差距越来越小。除前面提到的龙芯、麒麟外,我国自主研发的飞腾、鲲鹏、昇腾等CPU也取得巨大进步,已经在成熟的商业产品中广泛使用。飞腾CPU有嵌入式、桌面以及服务器全系列产品。由国防科技大学自主研发的天河1A超级计算机内部就采用了2048个8核飞腾CPU和14336个6核至强CPU,峰值运算速度达到每秒千兆次以上,连续多年处于世界超级计算机500强榜单之首。鲲鹏和昇腾系列处理器都是深圳华为公司的产品。鲲鹏系列基于ARM(acorn RISC machine,进阶精 简指令集机器)架构,属于RISC(reduced instruction set computing,精简指令集)的处理器,是华为在2019年1月 发布的高性能数据中心处理器。华为自主的数据中心泰山服务器和华为云服务都使用了鲲鹏系列处理器。昇腾系列处理器是华为公司发布的人工智能处理器,采用华为开放式“达·芬奇架构”。昇腾处理器不单独对第三方销售,而是通过AI(artificial intelligence,人工智能)加速模块、AI加速卡、AI服务器等形式对第三方销售,例如知名的华为Atlas系列AI模块、AI服务器和AI集群内部都使用了昇腾处理器。此外,华为公司自动驾驶技术也采用鲲鹏+昇腾系列芯片的组合。 3.2存储器 存储器是计算机的重要硬件之一,是计算机中的记忆部件。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都以二进制形式保存在各种存储器中。冯·诺依曼型计算机的基本原理是“存储程序”,其核心思想是将编制好的程序和待加工的数据预先输入到计算机的内存中。计算机在控制器的控制下可以从内存中自动高速地按顺序取出、分析和执行相应指令,从而完成程序设定的操作。 3.2.1存储单元和地址 存储器的最基本组成单位是存储元。一个存储元只能存储一个二进制位,即一个0或者1,一般以bit为单位。存储元通常是根据电子原理或磁电转换原理实现信息保存。一个存储元所能存储的信息量很少,计算机中通常把多个存储元作为一个整体来表示更大的数据单位。8位存储元组成的单位叫作一个字节(Byte,B),由多个字节可以组成更大的数据单位。计算机中常用的数据存储单位有: 1Byte=1 B=8bits 1KB=1024B=210Bytes 1MB=1024KB=220Bytes 1GB=1024MB=230Bytes 1TB=1024GB=240Bytes 图3.4存储单元 示意图 一个内部存储器由许多存储单元组成,每个存储单元由多个存储元组成,可以存放一个存储字(Word)。现在计算机存储单 元的长度通常是8位、16位或者32位。存储器中的所有存储元构成一个二维存储元阵列,该二维阵列的每一行称为一个存储单元,所有存储单元构成了一个一维线性结构,如图3.4所示。每个存储单元在整个存储器中的位置都有一个编号,这个编号称为该存储单元的地址,一般用十六进制(H)表示。整个内部存储器就好像是一座大楼,存储单元是大楼的房间,存储单元的地址就相当于房间号。一个存储器中所有存储单元的总数量称为它的存储容量。图3.4示例中的存储器结构 地址范围是(00000)H~(FFFFF)H,共有220个存储单元,每个存储单元的长度为8位。左边一列列出了每个存储单元的地址,右边给出了每个存储单元保存的内容。例如,3号单元的内容是00101011B,也就是说3号单元存储的数据为4BH。 CPU根据存储单元的地址来访问存储单元的内容。从一个存储单元读出或写入数据的时间称为读写时间,CPU连续启动两次对存储器读或写操作之间的最小间隔称为存取周期。这两项是衡量存储器存取速度的重要指标。 存储器和CPU最主要的连接线有地址线、数据线和读写控制线。地址线用于从CPU向存储器发送待访问存储单元的地址信息; 数据线用于在CPU和存储器之间传输数据信息; 读写控制线用于指明对存储器的操作性质。信息从CPU传向存储器称为写入,反之称为读出。地址线的条数决定了存储器的存储单元数量,数据线的条数决定了存储器一次可以和CPU传输的数据量。例如,8086 CPU和存储器之间有20条地址线和16条数据线,因此8086 CPU最多可以访问220=1MB内存,在一个存储周期内通过数据线可以和内存传输16位数据。 当代计算机的内存都制作成独立的集成电路模块,称为内存条。主板上预留有内存插槽,这样有利于计算机内存的替换和容量扩充。图3.5(a)为内存条实物图,图3.5(b)圆圈处为内存插槽。组装计算机时只需将内存条插入插槽中,CPU就可通过主板内部的连线访问内存条中的数据了。内存条有多种规格,计算机发展历史上出现过FPM、EDO、SDRAM、DDR(double data rate,双倍速率同步动态随机存储器)等种类内存条,目前最主流的是DDR4内存条,即第4代DDR内存。 图3.5内存条主板内存插槽及实物图 3.2.2存储器分类 按照存储介质和使用特性的不同,存储器可以有多种分类方法。 1. 按照存储介质分类 按照存储介质的不同,存储器主要可分为磁介质存储器、半导体存储器和光介质存储器。 磁介质存储器(例如软盘、硬盘、磁带等)是利用磁性材料剩磁状态的不同来表示二进制信息。该类存储器的信息可以长久保存,即使断电后信息也不丢失,但CPU无法直接访问该类存储器。 半导体存储器是利用电子元件的两种稳定状态来表示二进制的0和1。CPU可以直接访问该类存储器并且访问速度很快,计算机的主存一般都属于该类存储器。 光介质存储器(例如光盘)利用光的反射信号的强弱来表示二进制信息。 2. 按照存储器分类 按照存储器存取方法的不同,存储器主要分为随机访问存储器和只读存储器两类。 随机访问存储器(random access memory,RAM)指CPU可以按照存储单元地址通过指令直接读写的存储器。CPU对RAM中的所有存储单元访问时间基本一样。 只读存储器(read only memory,ROM)是一种对其内容只可读出不可写入的存储器,在计算机中通常存放固定不变的程序和数据,例如BIOS(basic input/output system,基本输入输出系统)中的系统自检测程序和字库等。ROM根据采用的半导体技术又可分为掩模式只读存储器(MROM,mask ROM,出厂时数据固定,用户不可更改)、可编程的只读存储器(PROM,programmable ROM,出厂时数据全为1,用户可以通过专用设备将1改为0,但只能改写一次)、可擦除可编程的只读存储器(EPROM,erasable programmable ROM,用户可以多次改写和擦除数据,但必须通过特别设备和方法才可实现)、EEPROM(也称为E2PROM,可多次在线编程和擦除)和Flash存储器(大容量EEPROM,可多次在线编程和擦写)。 注意: 将数据写入ROM中称为编程,它所需要的时间是将数据写入RAM时间的数百倍,并且需要特殊的时序操作甚至需要特殊的设备。因此在CPU正常运行时,CPU在一个存储周期内对ROM只能读取而不能写入,但对RAM可读可写。 3. 按信息的存储原理分类 按信息的存储原理,存储器可分为动态存储器和静态存储器两类。 动态存储器(dynamic memory,DRAM)是根据电容充电原理来存储信息的。因为电容会漏电,所以必须对里面的信息定期更新才不会丢失信息,这个过程称为动态存储器刷新。动态存储器功耗小,集成度高,现代计算机的主存主要由DRAM构成。 静态存储器(static RAM,SRAM)是根据电子器件的双稳态原理来存储信息的。在不断电的情况下,SRAM里的信息不会丢失,因此不需要刷新。静态存储器功耗大、集成度低,但运行速度比DRAM快,一般用来做高速缓冲存储器(cache)。 4. 按照存储器所处位置和作用分类 根据存储器在计算机中所处位置和作用的不同,存储器可以分为内部存储器、外部存储器和缓冲存储器等。 内部存储器简称为内存或主存,它读取速度快,但价格高,容量小,主要用来存放计算机在运行期间正在执行的程序和操作的数据。内存和CPU通过系统总线直接相连,CPU可以直接按照内存单元的地址读写内存。内存通常由SRAM或DRAM类型的半导体存储器构成。 外部存储器也称为辅助存储器或辅存,它读写速度慢,但容量大、单位价格便宜,主要用来存放计算机的文件系统,例如操作系统代码、所有用户程序、大型数据库信息等需要长期保存的程序和数据。外部存储器中的信息必须经接口电路首先调入主存中,才能被CPU访问。 高速缓冲存储器也称为cache,位于CPU和主存之间,里面保存的是主存中最活跃的信息副本。设置cache的目的是解决CPU和主存速度不匹配的矛盾。 3.2.3cache的工作原理 cache技术是20世纪60年代发展起来的一种旨在提高主存访问速度的存储技术。cache是介于CPU和主存之间的一个小容量存储器,其主要目的是解决CPU和主存速度不匹配的问题。主存虽然速度比其他种类存储器速度快,但比CPU的速度还是慢得多,目前已成为制约计算机系统性能的主要瓶颈。当代高性能CPU的工作主频可以达到几GHz,而且普遍采用超标量和超流水线等技术,在一个CPU周期内能并行执行多条指令。然而,这些指令和待处理的数据都来自主存。一般主存采用DRAM实现,其工作速度比处理机慢很多。只有采用cache技术,才能高速地向CPU提供指令和数据,充分发挥CPU的性能。 cache具有如下特点。 (1) 处于存储器层次结构的“CPU主存”之间。 (2) 容量比主存小很多。 (3) 速度比主存快5倍以上,通常由双极型静态存储器SRAM构成。 (4) 存放的是主存中最活跃、访问最频繁的数据的副本。 (5) cache中可以存储指令,也可以存放数据。 图3.6cache工作原理图 (6) cache全部功能通过硬件实现,对软件开发人员透明,即软件开发人员无须知道计算机里有没有cache,有多大容量cache。 (7) cache容量越大,内存平均访问速度越接近于CPU速度。 cache的工作原理如图3.6所示。cache主要由cache存储器和cache控制器两部分组成,cache存储器用于存储内存的信息副本,cache控制器主要用于在cache中快速查找和替换信息。当CPU要访问内存时,CPU把访问请求同时发送给内存和cache。由于cache速度很快,若cache中缓存有待访问数据,则由cache直接把数据发送给CPU并结束此次内存访问。若cache中没找到访问数据,则经过一个内存周期后,内存会把相关数据送给CPU,并通过cache控制器把该数据保存到cache中,以便下次访问它时可以在cache中快速找到。若cache中没有足够空间存放数据,则cache控制器会根据一定的替换算法淘汰cache中的部分原有数据,以便给新数据让出存储空间。 若在m次内存访问中有n次数据在cache中找到,则我们称该cache的命中率为n/m。命中率越接近1,CPU访问内存的平均速度越快。命中率与cache控制器的替换算法和cache容量有关。一般情况下cache容量越大,命中率越高。 目前cache技术广泛应用于从嵌入式系统到巨型机的各种计算机上。高性能处理机上通常有多级cache,根据存储信息不同又分为指令cache和数据cache,最接近CPU的一级cache容量最小,速度最快。一台计算机cache容量越大,通常性能越好。现在市场上采用奔腾CPU的个人计算机都普遍配置了三级cache,其中一级cache集成于CPU内部,二级和三级cache集成于主板之上。 3.2.4虚拟存储器原理 虚拟存储器(virtual memory,VM)简称为虚存,指操作系统采用“虚拟存储”技术并结合一定的硬件措施,将内存与辅助存储器(如硬盘)结合使用,把辅助存储器当作内存的一部分来用,给用户提供一个比实际内存容量大得多的存储器。该存储器工作速度接近于主存速度,每位成本又接近于辅存成本,称之为虚拟存储器。 在没有虚拟存储器之前,应用程序要全部装入内存之后才能启动运行。若内存空间不足,则无法运行应用程序。有了虚拟存储器后,用户编写可运行的程序不再受制于实际内存大小,程序也不再需要事先全部装入内存才可运行。虚拟存储器已成为计算机系统中非常重要的组成部分。 虚拟存储器是由硬件和操作系统自动实现存储信息的调度和管理的,其工作原理如下。 程序并不是均匀地被CPU访问,有些代码会被频繁访问,例如通用子程序,而有些代码很少被访问,例如错误处理代码只在程序出错时才执行。根据程序局部性原理,一个刚被访问过的数据在不久的将来再次被访问的概率很高(称为时间局部性),一个刚被执行过的指令附近的指令被执行的概率也很高(称为空间局部性),因此运行一个程序时没必要把这个程序的所有代码都装入物理内存后再执行。可以把待运行程序的一部分代码调入内存而大部分代码留在辅存上,接着启动运行。当程序运行到没有调入内存的代码部分时,由操作系统从辅存把这部分代码调入主存(称为页面调入)并继续运行。如果调入时内存空间不够,可以根据一定的内存替换算法把内存中暂时不用的代码写回到辅存(称为页面调出),再把当前要执行的代码调入主存。程序就以这种走走停停的方式运行,使其代码在内存和辅存之间调入调出。整个运行过程中只有少量代码在主存中,大部分代码在辅存中。由于调入调出由操作系统自动实现,时间也很短,用户感觉自己的程序是在内存中连续运行的。 虚拟存储器有以下的功能特点。 (1) 虚拟存储器的主要目的是解决计算机内存不够用的问题。 (2) 虚拟存储器处于存储器层次结构的“主存辅存”之间。 (3) 虚拟存储器使计算机的虚存容量达到辅存的容量,访问速度接近主存的速度,平均位成本接近辅存的成本。 (4) 虚拟存储器以页(页的大小一般为512B到几KB)为单位进行调入调出。 (5) 虚拟存储器由操作系统自动实现调入调出。 当代主要的CPU都支持虚拟存储器功能,其内部的MMU(memory management unit,内存管理单元)部件主要负责对虚拟存储器进行管理。虚拟存储器在Windows系统中,可以把硬盘的一部分作为虚拟存储器的页面对换区。Windows的虚拟内存对应系统盘根目录下的系统文件pagefile.sys。该文件即Windows系统的虚拟内存页面文件,它的大小可以通过控制面板来更改,通常设置为计算机实际内存的1至2倍大小。 3.2.5存储器的层次结构 用户对存储器的追求目标是容量越大越好,速度越快越好,成本越低越好,但这些目标是相互矛盾、相互制约的。SRAM速度最快,但价格贵且容量有限; 磁盘容量够大,但访问速度太慢。显然采用单一存储器无法同时满足容量、速度、价格这三方面的 图3.7存储器层次结构 需求。可行的途径是在计算机中同时采用多种存储器,充分发挥每种存储器的优势,在计算机的软硬件控制下把它们按照一定的层次结构结合成一个有机整体,这样才能解决计算机存储器容量、价格、成本之间的矛盾。计算机存储器的层次结构如图3.7所示。 计算机系统中可以存储用户数据的器件是: 寄存器、cache、内部存储器、外部存储器。它们离CPU越来越远,速度越来越慢,但容量越来越大,价格也越来越便宜。 寄存器在CPU内部,处于层次结构最上层,其访问速度最快但容量最小。通常CPU只有几个到几十个寄存器。在编写软件时应该尽量利用寄存器,尽量把数据放在寄存器中处理,才能获得最高执行速度。有些 书本所讲的存储器层次结构不包含这一级。 cache位于CPU和内存之间,一般由SRAM组成,其访问速度是内存的10倍以上,容量可达几百KB到几MB,里面存储的是内存中使用最频繁的程序和数据的副本。当CPU要访问内存数据时先到cache中找,找到就使用,找不到再从内存中读取。这个过程通常由硬件自动实现,对程序员透明。 内部存储器简称内存,通常由DRAM组成。与SRAM相比,DRAM集成度更高、容量更大且价格更便宜。目前的计算机都配置有几GB的内存。内存与CPU通过系统总线相连,里面的程序和数据可以被CPU直接访问,CPU通过内存地址来访问内存。由于CPU的速度比内存速度快许多倍,而内存又是CPU的主要数据加工场,因此,如何提高内存的访问速度成为存储器设计的关键。通常的做法是在CPU与内存之间增加cache,以缓解CPU与内存速度不匹配的矛盾。 硬盘通常用作计算机的外部存储器。硬盘容量很大且价格便宜,但硬盘是一种机械装置,属于外部设备范畴,读写速度慢且CPU无法直接读写里面的数据。硬盘通常用来存放计算机中的操作系统代码、各种应用程序和需要长期保存的数据。硬盘中的数据必须首先调入内存才能被CPU访问。 为了解决内存容量不够用的问题,使可运行的程序代码大小不再受限于计算机实际物理内存大小,现代计算机系统通过软硬件方法,把内存和辅存相结合构成虚拟存储器。用户运行程序时不再需要全部装入内存,可以边运行边装入。该功能由操作系统自动实现。 层次存储器结构有如下特点。 (1) 存储体系中各层之间的信息流动由辅助硬件或操作系统自动完成。 (2) 层次存储结构可以提高计算机的性价比,在速度方面接近最高层存储器,在容量和价格方面接近最底层存储器。 (3) 层次存储器体系访问数据的顺序: CPU先访问cache; 若在cache中未找到,则存储系统通过辅助硬件在内存中找; 若还未找到,则存储系统通过辅助硬件和软件到辅助存储器中找; 找到后再把数据逐级上调,没有空间时需将页面调出以让出空间。 3.3外 部 设 备 计算机外部设备种类繁多,大部分是机械、光电低速设备,它们的通信速度、工作方式、信息格式、工作电压、信号类型千差万别,因此无法直接和系统总线相连,计算机用接口(interface)电路作为外部设备和CPU之间的中转站,每个接口里都有少量可供CPU读写的寄存器,称为端口(port)。CPU通过对接口中的端口读写数据实现对外部设备的间接控制,接口收到CPU发来的命令就会按要求驱动外部设备完成指定功能。 计算机中外部设备可分为输入设备、输出设备和外部存储器三大类。输入设备包括键盘、鼠标、光笔、麦克风、游戏杆、摄像机、扫描仪、传真机等; 输出设备包括显示器、打印机、绘图仪、音箱等; 外部存储器包括硬盘、软盘、光盘、U盘、磁带等。除此之外,计算机通常还连接大量网络通信设备(例如调制解调器modem、交换机、路由器等)、多媒体设备(例如数码相机、投影仪等)、工业控制设备(例如A/D转换器、D/A转换器、数据采集设备等),这些设备也属于外部设备。 3.3.1输入设备 1. 键盘 键盘是计算机中使用最普遍的输入设备。用户通过键盘可以向计算机输入各种数据和命令。目前常见的键盘有101键和104键两种标准。键盘上布有26个英文字母键、10个阿拉伯数字键、F1~F12功能键以及Ctrl键、Shift键、Alt键等。 按工作原理的不同,可将键盘分为机械式和电容式两种。机械式键盘结构简单,成本低,手感好,但寿命低。电容式键盘功耗低,成本低,寿命长,是目前主流键盘。 按插头形式的不同,可将键盘分为PS/2和USB(universal serial bus,通用串行总线)两种键盘。图3.8(a)为USB插头,图3.8(b)为PS/2插头。目前大部分键盘配USB插头。 图3.8USB及PS/2设备插口实物 2. 鼠标 鼠标是计算机中常用的手持式坐标定位部件。用户通过该设备可以向计算机发送操作命令,在计算机中选取操作对象等。当用户移动鼠标时,鼠标会将其相对坐标发送给主机。 按工作原理的不同,可将鼠标分为机械式和光电式两种。机械式鼠标通过鼠标垫与X、Y轴方向的滚动杆之间的摩擦来检测相对位移量。光电式鼠标根据光的反射原理来检测相对位移量。 按插头形式的不同,可将鼠标分为PS/2鼠标和USB鼠标。如图3.8所示,目前市面上大部分鼠标都是USB插头鼠标。新式的无线鼠标通过无线方式将坐标数据传输给主机,主机端的无线接收器也采用USB插头。 3.3.2输出设备 1. 显示器 显示器是使用最广泛的人机通信设备,用于将计算机存储器中的数据以人可理解的方法显示出来。显示器通常连接到显卡上,显卡再插入计算机系统总线的扩展槽里。CPU通过显卡控制显示器的显示模式和显示内容。 按显示内容的不同,可将显示器分为字符显示器、图形显示器和图像显示器。 按工作原理的不同,可将显示器分为CRT(catchode ray tube,阴极射线管)显示器、LCD(liquid crystal display,液晶显示器)显示器、等离子显示器等。 按插头形式的不同,可将显示器分为VGA(video graphics array,视频图形阵列)显示器 (见图3.9(a))、HDMI(high defination multimedia interface,高清晰度多媒体接口)显示器 (见图3.9(b))、DVI(drgital visual interface,数字视频接口)显示器 (见图3.9(c)),最流行的是VGA显示器。 图3.9VGA、HDMI、DVI设备插头实物图 显示器的分辨率指图形显示器中像素点的个数或者字符显示器中字符窗口的个数,是显示器的重要技术指标之一。分辨率越高,画面越清晰,但所需要的显存容量也越大。刷新频率指显示器屏幕信息每秒更新的次数,刷新频率越高,显示的画面越稳定,同样要求显卡的数据传输率也越高,目前市场上显示器的刷新频率可达75Hz以上。 2. 打印机 打印机是使用最广泛的输出设备,用于将信息打印在纸上,可长期保存。 按插口形式的不同,可将打印机分为DB9M串口打印机(图3.10(a))、DB25F并口(图3.10(b))打印机和USB口打印机,目前USB口打印机最流行。 图3.10DB9M串口和DB25F并口实物图 按工作原理的不同,可将打印机分为针式打印机、喷墨打印机和激光打印机。针式打印机利用机械相互作用,使印字机构与色带和打印纸相击,从而在纸上印出字符,主要用于银行、税务等票据打印; 喷墨打印机是利用喷墨头将墨水加热汽化后喷到纸上形成字符和图形,既可以黑白打印,也可以彩色打印; 激光打印机利用静电原理,将碳粉吸附到打印纸上再加热定影得到图案,具有打印效果清晰、速度快、噪声低等特点,主要用于商务办公领域。 3. 外部存储器 外部存储器又称为外存或者辅存,是CPU不能直接访问的存储器,里面的信息必须先经外存接口电路读入内存,才能被CPU访问。外存主要包括磁带、软盘、硬盘和光盘等,其中最常用的是硬盘和光盘。 1) 硬盘 硬盘通常将几个盘片以驱动器轴为轴线组装在一起,每个盘面都有一个读写磁头,如图3.11所示。 每个盘面由许多称为磁道的同心圆组成,如图3.12所示,所有磁道的存储容量都相同。所有盘面上相同编号的同心圆就组成许多圆柱面,每个磁道又分为多个容量大小相等的扇区。数据在磁盘上的存储地址由柱面号、磁头号和扇区号确定。为了提高硬盘的读写速度,计算机通常以扇区为单位对硬盘进行读写,一个扇区的大小为512B到几KB。 图3.11硬盘内部结构示意图 图3.12磁道和扇区示意图 硬盘常用的技术指标有存储容量、转速以及数据传输率等。硬盘的存储容量指硬盘可以存储的信息总量,目前市场上硬盘的存储容量可达几百GB或几TB。硬盘容量可按下式计算。 硬盘容量=盘面数(磁头数)×柱面数(每面磁道数)×每磁道扇区数×每扇区字节数 根据接口类型,硬盘可分为IDE(integrated drive electronics,电子集成驱动器)(ATA或PATA)硬盘、SATA硬盘、SCSI硬盘等。IDE硬盘也叫并口硬盘,采用40芯扁平电缆线将硬盘和主板连接,前几年比较流行。SATA硬盘也叫串口硬盘,用7芯电缆和主板相连接,数据传输率更高,目前越来越流行。SCSI硬盘主要用于性能要求比较高的服务器上。 上面所讲的硬盘模型是前几年比较流行的硬盘,一般称为机械硬盘,里面有复杂的机械装置,重量较重且体积较大。目前市场上出现一种新式硬盘——固态硬盘,它利用大容量Flash ROM芯片存储信息,读写数据时没有移动磁头、转动盘片等机械动作,其速度主要取决于ROM芯片的读写速度,比机械硬盘快得多。固态硬盘重量轻、体积小,但由于成本高等因素,目前固态硬盘的容量普遍比机械硬盘小很多。 2) 光盘 光盘存储器是利用光学反射原理读写信息的外部存储器,由光盘片和光盘驱动器组成。光盘片用于存储信息,光盘驱动器用于对光盘片上的信息进行读写。 按照物理格式的不同,可将光盘分为CDROM和DVD光盘。CDROM光盘存储容量可达650MB,主要用于保存可靠性要求较高的程序和数据; DVD容量可达几GB,主要用于存储音频、视频等数据量大但可靠性要求不高的信息。 按照读写限制的不同,光盘可分为只读型光盘、写一次型光盘和可多次读写型光盘。CD格式的这三种类型光盘分别称为CDROM、CDR、CDRW; DVD格式的这三种类型光盘分别称为DVDROM、DVDR、DVDRW。光盘驱动器常用的接口形式有IDE、SATA、SCSI等,和硬盘类似。 3.4接 口 电 路 3.4.1接口电路的工作原理 现代计算机的外部设备(以下简称外设)种类繁多,其工作速度、信号类型、操作时序和CPU以及系统总线无法匹配,因此外部设备无法直接挂接在系统总线上,CPU也无法直接和外部设备通信。各种外部设备通过接口电路连接到计算机系统中,CPU通过控制接口电路间接实现对外部设备的控制。显卡、声卡、网卡都是典型的接口电路。 所谓接口就是CPU与外设的连接电路,是CPU与外设进行信息交换的中转站。接口通常也称为适配器(adapter),其主要作用有以下三点。 (1) 信息变换。信息变换包括信息种类变换(例如A/D或D/A)和信息格式变换(例如串并转换)。 (2) 速度协调。CPU速度很快,而外设通常是机械式慢速设备,接口可以协调快速CPU与慢速外设之间的工作。 (3) 辅助和缓冲功能。辅助和缓冲功能包括中断处理、电平转换、信号放大、功率匹配等。 图3.13所示为接口工作原理图。外设接口是CPU和外设的信息中转站。接口一边通过系统总线与CPU连接,一边通过外设连线与外设相连。外设接口电路中通常有多个寄存器,每个寄存器也像内存单元一样有地址,CPU可以通过向该地址写入数据实现对接口的控制,当然也间接地实现了对外设的控制。接口中可供CPU读写操作的这些寄存器称为端口(port),这些寄存器的地址称为端口地址。 图3.13接口工作原理 按存放信息的类型不同,端口可分为数据端口、状态端口和控制端口,分别存放数据信息、状态信息和控制信息。CPU通过状态信息了解外设的工作情况,通过控制端口向外设发送控制命令,通过数据端口实现和外设的信息交换。 接口的工作过程如下: 当CPU需要和外设交换数据时,会通过系统总线将数据写入相应接口的数据端口中,再将操作命令写入接口的控制端口中。接口收到CPU发送来的命令和数据后,再通过外设连线按照外设需要的数据格式、操作时序、信号电压等将数据传送给外设。操作完成时接口将完成情况写入状态端口中,CPU通过系统总线读取状态端口即可获知命令执行是否成功,再决定下一步操作。 3.4.2计算机常见的外设接口 1. 并行接口 并行接口(简称并口)指与外设以并行方式传输信息的接口,是计算机中的标准接口,主要用于连接并口打印机或扫描仪,使用的连接头是25针D形接头。所谓并行,指8位数据同时通过8根并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,只适合10米以内的数据通信。随着连线长度增加,干扰随之增加,数据通信也就容易出错。因此并行接口适合于高速、短距离通信。 目前计算机主板都集成了一个并行口,Windows系统中的设备文件名为LPT1。 2. 串行接口 计算机的另一种标准接口是串行接口(简称串口或串行口),指与外设以串行方式传输信息的接口。现在的PC一般配有1或2个串行口。串行口的数据和控制信息是一位接一位在一根数据线上分时、串行地传送。串行传输速度较慢,但通信距离远,抗干扰性强,连线成本低,布线容易,在工业控制领域得到了广泛应用,因此远距离的通信应使用串行口。波特率表示串行通信中每秒传输的二进制位数,通常用于表示串行通信中数据传输的快慢程度,其常用单位为b/s。1b/s =1位/秒,当前串行通信速率可达115200b/s以上。 计算机中的串行接口通常采用9针D形接头,用于连接modem或其他串行通信设备,也称为异步串行口(UART)。目前计算机主板都集成了两个串行口,Windows中以设备文件名COM1、COM2等来命名。 3. 硬盘接口 硬盘接口是计算机系统中硬盘与主板的连接部件,常见的硬盘接口有IDE、SATA、SCSI等。接口类型不同,所用的连线电缆和数据传输率也不同。目前计算机主板上都集成了多个硬盘接口。 IDE接口也叫作ATA接口或PATA接口。IDE接口采用并行方式进行数据通信,可以连接IDE硬盘或光驱。由于IDE接口速度高、价格低、兼容性强,在微型计算机中广泛应用,一般的计算机主板都集成了1或2个IDE接口,分别标记为IDE1和IDE2。计算机中的IDE接口通常为40针的双排针插座。每个IDE口可以连接两个IDE设备(硬盘或者光驱),分为主设备和从设备。 SATA接口采用串行数据传输方式,用于替代传统的并行ATA接口,具有可靠性高、结构简单、抗干扰性强、支持热拔插等优点。现在的微机系统通常集成了多个SATA接口,每个接口可以连接一个SATA设备。SATA为7针单排插座。 SCSI接口即小型计算机系统接口,在做图形处理和网络服务的计算机中广泛采用SCSI接口的硬盘。除了硬盘以外,SCSI接口还可以连接光驱、扫描仪和打印机等。SCSI接口数据传输率高、应用范围广、CPU占用率低,但成本较高,必须配置专用的SCSI接口卡,主要用于中、高端服务器系统。 4. 网络接口 网卡(network interface card,NIC)也称为网络适配器,是计算机与网络设备(例如Hub、交换机、路由器等)之间的接口电路。网卡一般以独立插卡形式插在计算机系统总线扩展插槽中,或者集成于主板之上,再通过网线与网络设备连接。网卡的主要功能包括网络数据格式转换、收发数据缓存以及网络通信服务。 就像每个人有唯一一个身份证号码一样,每个网卡都有全球唯一的网卡物理地址,该地址也称为MAC(medium access control,介质访问控制)地址。该地址出厂时由网卡厂家设定,共48位,前24位为网卡厂家标识,由IEEE统一分配; 后24位为厂家内部编号。通过MAC地址可以识别互联网上唯一的网卡。 网卡按照通信速率分为10Mb/s网卡、100Mb/s网卡、10/100Mb/s自适应网卡、千兆网卡; 按照与网线的连接形式分为RJ45以太网卡、BNC接口网卡、无线局域网卡等。 5. 显示器接口 显示器接口也称为显卡或显示适配器,用于将显示器连入计算机系统中。显卡一般以独立插卡形式插在计算机系统总线扩展插槽或AGP(accelerated graphics port,加速图形端口)插槽中,或者集成于主板之上,另外有15针VGA插口用于连接显示器和投影仪。显卡的基本功能是将CPU传送来的数字视频数据转化为显示器可以接受的格式(通常为模拟式RGB信号),再送到显示器上形成模拟视频信号。 6. 声卡接口 声卡也称为音频卡,是计算机中处理音频信号的接口硬件。它可以对外连接麦克风、音箱等声音设备。目前的计算机主板都直接集成了声卡接口。声卡的基本功能包括: 录制外部模拟音频信号,将其转换为数字信息存入计算机文件中; 将计算机中音频文件解码并转换为模拟信号,再通过音响设备播放; 对数据声音进行编辑与合成处理。 7. USB接口 USB是通用串行总线的缩写,以串行方式与外设传输数据,成本低,数据传输率高,连线方便,目前计算机市场上有1.0、2.0和3.0版本的USB标准。计算机中的USB接口通常以标准4芯(电源、发送、接收、地线)连接头的形式出现,计算机主板上配有2~4个USB接口。USB接口常用于连接USB外设,如USB键盘、USB鼠标、U盘、移动硬盘、数字摄像机、扫描仪、打印机等。 3.5总线 3.5.1总线的功能 总线(bus)是计算机的重要硬件组成部分,它是计算机与计算机之间或者计算机系统内部多个模块之间的一组公共传输通道,数据、地址和控制信息都经由总线传送。总线在计算机中通常表现为一组并排信号线,数量由几十根到几百根。 1. 根据功能分类 这些信号线根据其功能可以归为如下三类。 1) 地址总线 地址总线(address bus,AB)用来传送地址信息。地址总线的信息是单向传送的,通常由总线主控设备(通常为CPU)传向总线被控设备(例如内存和各种接口)。地址总线的条数决定了总线可以直接寻址的范围或者计算机可以配置的最大内存容量。n根地址总线可以访问的地址空间是2n个寻址单元。 2) 数据总线 数据总线(data bus,DB)用于传送数据信息。数据总线信息在主控设备和被控设备之间双向传送。数据总线的条数决定了通过该总线一次可以传送的数据量。例如数据总线为8位,则一次可以传送1字节; 若为32位,则一次可以传送4字节。 3) 控制总线 控制总线(control bus,CB)用于在主控设备和被控设备之间传送控制信号,包括中断、DMA(direct memory access,存储器直接访问)、时钟、复位、双向握手信号等。 其他信号线包括电源线、扩展备用线等。 2. 根据位置分类 总线是连接多个子系统的公共信息通路,现在计算机中广泛采用总线结构进行信息传输。根据总线在计算机系统中所处位置的不同,可将总线分为以下4类。 1) 片内总线 片内总线是CPU内部多个功能部件的数据传输通路。CPU内部ALU以及各寄存器之间通过片内总线传送数据。 2) 系统总线 系统总线又称为内总线,是计算机系统中各接口电路板之间的信息通路,是计算机中最重要的总线之一。通常所说的总线特指系统总线。系统总线在计算机中表现为主板(motherboard)上的许多并排连接线,对外引出许多I/O扩展槽,以便插接其他接口卡。ISA、EISA、PCI是常见的系统总线。 3) 通信总线 通信总线也称为外总线,是计算机之间或者计算机与其他通信设备之间的连接线。外总线常用于计算机与其他系统或设备的通信。常用的通信总线标准有RS232、RS485、RS422、USB、CAN(controller area network,控制器局域网络)等。 4) 局部总线 局部总线也称为处理器总线,是为了提高系统数据传输率而设计的总线。局部总线特指微处理器周边的专用接口,这些专用接口负责对微处理器的引脚信号进行匹配、处理和管理。局部总线通常连接传输率非常高的设备,例如高性能显卡、图形卡、硬盘适配器等,这样就减少了系统总线数据的传输压力。VESA和AGP都是局部总线标准,部分教材将PCI总线也归类于局部总线。 3.5.2计算机中常用的总线 (1) ISA总线。 ISA总线是IBM于1984年为286/AT计算机制定的总线工业标准,也称为AT标准,与更早期的PC/XT总线完全兼容,可以适应8位/16位数据总线要求。ISA总线中共有24位地址线,可以访问16MB内存,最高数据传输率为8MB/s。ISA在微机系统中是一个有98只引脚的黑色扩展槽,目前微机主板已不再提供ISA扩展槽。 (2) EISA总线。 EISA总线是EISA集团(由Compaq、HP、AST等组成)专为32位CPU设计的总线扩展工业标准,向下兼容ISA,提供32位数据线和32位地址线,最高数据传输率为33MB/s,现已被淘汰。 (3) VESA总线。 VESA总线是VESA组织按局部总线标准设计的一种开放性32位总线,主要针对视频显示的高数据传输率要求而产生,因此又叫作视频局部总线,简称VL总线。最大总线传输率达到132MB/s,但成本较高,目前已被更高速度的AGP总线替代。 (4) AGP总线。AGP即图形加速端口,AGP总线是由Intel开发的一种局部总线,其主要目的就是大幅提高高档PC的3D图形加速处理能力。该总线最高数据传输率可达2.1GB/s,主要连接高性能独立显卡和图形加速卡。 (5) PCI总线。 PCI是一种将系统中外围部件以结构化方式连接起来的标准总线,是基于奔腾处理器发展起来的总线。PCI总线支持32位和64位数据宽度,总线频率可采用33Hz和66MHz,最高数据传输率可达264MB/s,主要用于连接显示、网卡、硬盘接口等高速设备。PCI是目前应用最广泛的总线结构,是一种不依附于某个具体处理器的局部总线,当代计算机主板都预留数个PCI插槽用于安装扩展卡。 (6) PCIExpress总线。 PCIExpress总线(也称为PCIE总线)是新一代总线标准。与PCI总线采用的多设备共享并行互联方式不同,PCIE采用了串行互联方式,以点对点的形式进行数据传输,每个设备都可以单独享用带宽,从而大大提高了传输速率。PCIE有多种不同速度的接口模式,例如X1、X2、X4、X8、X16等。最基本的PCIE X1模式的传输率可以达到250MB/s,X16的速度是其16倍。当代计算机主板预留多个不同速度的PCIE扩展插槽。 (7) USB总线。 USB总线即通用串行总线,属于通信总线。USB具有传输率高、成本低、支持热拔插、可对外设提供电源、可通过hub扩充设备等许多优点。USB最多可串接127个外设,传输率达480Mb/S,现已成为计算机中最常用的外部设备标准接口。 3.5.3计算机硬件的组装及启动过程 计算机主板是一个复杂的多层印刷电路板(printed circuit board,PCB),也称为计算机母板,是计算机总线的载体。主板上一般有BIOS芯片、I/O控制芯片、北桥南桥芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件。图3.14所示为市场上流行的ATX主板实物图。 图3.14ATX主板实物图 如图3.14所示,IDE接口用于连接并口硬盘和光驱,SATA接口用于连接串口硬盘和光驱,软驱插座用于连接软盘驱动器,外接面板插针用于连接机箱上的指示灯,USB外接插座用于连接机箱上的USB插口,电池用于给CMOS芯片供电,3个PCI插槽用于插入PCI扩展卡,主板上有PCIE X1和PCIE X16各一个,内存插槽用于插入DDR4内存条,CPU插座用于放置Intel 8代酷睿CPU。I/O面板用于连接显示器、鼠标、键盘、麦克风、音响、网络等外部设备,如图3.15所示。该主板上还集成了北桥芯片、南桥芯片、网络芯片、声卡芯片、I/O驱动芯片、CPU电源管理芯片、时钟发生器等元件。 图3.15ATX主板I/O面板 当要组装一台计算机时,需要购买计算机主板、CPU、内存条、硬盘、光驱、显示器、机箱(含电源)以及键盘鼠标等外设。主板是系统总线的物理载体,上面集成了CPU插座、内存插槽、PCI插槽、IDE接口、北桥芯片、南桥芯片、cache、BIOS芯片和CMOS芯片等,对外留有USB插口、串行口、并行口、PS/2插口、VGA插口等。早年组装计算机还需要购买独立的显卡、声卡、网卡等接口电路,并将其插入PCI插槽以连接相关外设,现代大部分主板直接将这些接口电路集成到主板上。 将CPU放入CPU插座并卡紧,这样CPU的引脚就与主板上的总线相连,CPU上通常贴有风扇为其散热。将内存放入内存插槽并卡紧,内存就与总线相连。硬盘和光驱通过40芯扁平电缆与IDE接口连接,或者通过7芯电缆与SATA接口连接; 将显示器连接到主板或者独立显卡上的VGA口(15芯D型口); 将键盘和鼠标连接到USB口; 其他接口卡插入PCI插槽; 最后接通电源,这样一台计算机就组装完成了。 当计算机刚通电启动时,RAM内存中没有任何信息,此时计算机先执行主板BIOS芯片中的自检测程序。BIOS是一个ROM芯片,也属于内存的一部分,即使断电信息也不会丢失,出厂时里面就写入了自检测程序和基本硬件驱动程序。自检测时系统会将检测结果在屏幕上显示输出,这就是我们刚开机时看到的主板Logo及有关硬件配置的文字信息。检测完成后,BIOS读取CMOS芯片(小容量RAM芯片,由主板上的纽扣电池独立供电,用于保存系统参数)中的参数信息(例如开机口令、系统时间、活动操作系统设置等),再通过磁盘接口将活动操作系统的代码从磁盘调入RAM内存中,接着跳转到RAM中的操作系统代码去执行,这时 看到的是操作系统的启动界面,启动完成后看到的是操作系统桌面。这时如果双击某应用程序图标,则由操作系统向磁盘接口发送命令,将相关程序从磁盘调入内存执行。这就是计算机的开机启动过程。 3.6计算机常用的性能指标 1. 主频 主频(f)即CPU的时钟频率,很大程度上决定了计算机的运行速度。一般来说,主频越高,运行越快。主频常用的单位是MHz或GHz,目前个人计算机的主频通常在3GHz以上。 2. 时钟周期 时钟周期(T)为一个系统时钟所需要的时间,单位为μs或者ns。时钟周期与主频的关系为T=1/f。 3. 字长 字长指计算机在一条指令中能够完成运算的数据位数,决定了计算机的运算精度和存储单元的数据位数,字长是衡量计算机性能的重要指标。字长通常与计算机系统总线中数据总线的条数或者CPU中寄存器的位数相一致。 4. 运算速度 运算速度表示计算机每秒可以运行的指令条数,通常用MIPS(million instruction per second,百万条指令/秒)作单位。运算速度通常与主频、字长、计算机体系结构有很大关系。 5. 存储容量 存储容量指计算机可以存储的二进制信息总数量。存储容量越大,计算机可以存储的信息就越多。存储容量的常用单位有KB、MB、GB、TB等。 6. 内存寻址空间 内存寻址空间表示计算机中最大可配置的内存容量,通常与系统总线中地址总线的条数有关。若地址线条数为n,则内存寻址空间大小为2n个寻址单元。 7. 存储周期 存储周期(TM)表示CPU对存储器两次连续访问的最短时间,通常用于衡量存储器的操作速度。存储周期的倒数为存储频率。 8. 总线带宽 总线带宽(bus bandwidth)表示总线每秒可以传输的数据信息总量,常用单位是MB/s。总线带宽与总线频率、总线存取时间、总线数据线位数有关。若总线频率为f、总线存取时间为T,总线数据线位数为n,则总线带宽=nfb/s=n/Tb/s。 9. 指令系统 指令系统指一台计算机所具有的全部指令的集合,该计算机运行的所有软件功能只能由该集合中的指令组合来实现。指令系统主要分为两大类: 复杂指令系统(complex instruction set computer,CISC)和精简指令系统(redueed instruction set computer,RISC)。 3.7嵌入式计算机 3.7.1嵌入式系统的概念 嵌入式计算机系统简称为嵌入式系统(embedded system,ES)。与通用个人计算机相比,嵌入式计算机是以应用为中心,软硬件可裁减,适应于对系统功能、可靠性、成本、体积、功耗等综合性能要求严格的专用计算机系统。也就是说,嵌入式系统是一种量身定做的专用计算机应用系统,它将软件与硬件集成于一体并嵌入在其他设备中,具有软件代码小、自动化程度高、响应速度快等特点,特别适合于要求实时和多任务的智能控制应用领域。 21世纪是嵌入式计算机时代,人们日常生活中所用到的仪器仪表、家用电器和电子设备里都有嵌入式微处理器。目前生产的微处理器中,只有不到20%的微处理器用于台式计算机或笔记本电脑,剩下的都用于嵌入式计算机系统。 3.7.2嵌入式系统的基本组成 嵌入式系统属于专用计算机应用系统,但它具有一般计算机组成的共性,也是由硬件和软件两部分组成。 1. 嵌入式系统的硬件 嵌入式系统的硬件主要包括嵌入式微处理器、程序存储器、数据存储器、时钟电路、电源电路、定时器、中断、异步通用串行口、通信电路、A/D、D/A、I/O等通用接口电路。与通用计算机系统的硬件结构和组成基本固定不同,嵌入式系统的硬件都可根据应用需要和成本需要进行裁剪和定制。 1) 嵌入式微处理器 嵌入式系统硬件的核心是嵌入式微处理器,也叫嵌入式微控制器。嵌入式微处理器与通用CPU最大的不同在于,它将通用计算机中CPU的外围器件或接口芯片都直接集成到了嵌入式CPU内部,例如时钟电路、复位电路、中断电路、AD/DA转换器件、并行接口、串行接口等,从而有利于嵌入式系统在设计时趋于小型化、低功耗、低成本,同时还具有很高的效率和可靠性。 嵌入式微处理器的体系结构可以采用冯·诺依曼体系或者哈佛体系结构,指令系统可以采用精简指令系统或者复杂指令系统。大多数嵌入式微处理器采用的是哈佛体系结构和RISC指令集。 目前全世界有数百家厂商生产各种功能的嵌入式微处理器,主频由几百KHz到几百MHz。8位字长的微处理器主要有Intel的51系列、Atmel公司的AVR系列、Microchip公司的MIC系列,16位字长的微处理器有TI公司的MSP430系列,32位微处理器有ARM、MIPS、Xscale等多个系列。通用计算机处理器被Intel、AMD等少数厂商所垄断,但目前没有一款嵌入式微处理器可以主导整个嵌入式市场,设计嵌入式硬件时应该根据具体应用和产品定位选择适合自己需要的嵌入式微处理器。 2) 存储器 嵌入式系统需要存储器来存放代码和数据。嵌入式系统的存储器包括cache、主存和辅助存储器。cache作为主存数据的缓冲,其目的是提高CPU读写主存的速度。主存是嵌入式微处理器能直接访问的存储器,用来存放操作系统和应用程序代码及数据。大多数嵌入式微处理器内部集成有一定的主存,少数微处理器需要在CPU外部扩充主存。 嵌入式系统中的主存可以分为ROM类主存和RAM类主存。ROM类主存通常由NOR Flash、EPROM和PROM组成,嵌入式系统的各种程序事先固化到ROM中,系统正常运行时对ROM只能读取而不能更改。RAM类主存由SRAM、DRAM和SDRAM存储器芯片组成,存放程序运行过程中所用到的数据,CPU对RAM中的数据可读可写。 辅助存储器容量大,但读取速度比主存慢得多,用来存放用户需要长期保存的数据,例如各种图片、视频信息。嵌入式系统中常用的辅存有: U盘、NAND Flash、CF卡、MMC和SD卡等。由于硬盘体积太大,在嵌入式系统中很少采用。 3) 通用设备接口电路 嵌入式系统通过设备接口电路实现对被控对象的控制和监测。大多数嵌入式微处理器内部集成了大量的设备接口电路,硬件设计人员也可以在CPU外扩充其他接口电路。 目前嵌入式系统中常用的通用设备接口有A/D转换器、D/A转换器、通用异步串行口、定时器、计数器、中断逻辑、RS232、RS485、RS422接口、Ethernet(以太网)接口、USB(接口)、音频接口、VGA视频输出接口、I2C(集成电路总线)、SPI(串行外围设备接口)和IrDA(红外线接口)、PWM(脉宽调制输出)、看门狗电路、LCD接口等。 2. 嵌入式系统的软件部分 对于简单的嵌入式系统应用,软件不用分层,整个嵌入式软件就是一个运行于硬件裸机上的监控程序,整个系统硬件都受监控程 图3.16嵌入式系统层次图 序的控制,例如用于简单控制领域中的51系列单片机程序。但对于较复杂的嵌入式应用,嵌入式系统软件结构一般包含三个层次: 硬件抽象层HAL、嵌入式操作系统层和应用程序层,如图3.16所示。嵌入式系统软件部分同样也是可裁剪的,其操作系统和应用程序代码都直接固化在程序存储器芯片中。 1) 硬件抽象层 硬件抽象层向上层屏蔽了操作设备的烦琐处理细节,为上层软件提供了对设备的统一操作接口。硬件抽象层主要包含相关底层硬件的初始化、数据的输入输出操作和硬件设备的配置及驱动功能。当在不同的硬件平台进行嵌入式软件移植时,主要任务是实现硬件抽象层层的移植。 2) 嵌入式操作系统层 嵌入式操作系统层通常是一个实时多任务操作系统,主要功能是用户管理、内存管理、多任务调度管理、文件系统管理、外部设备管理、图形用户接口管理等,对高层用户提供一个统一的标准化的API(application programming interface,应用程序编程接口)函数调用接口。 3) 应用程序层 应用程序层由大量的应用程序组成,每个应用程序都要调用操作系统层提供的API接口实现其功能。 3.7.3冯·诺依曼体系结构与哈佛体系结构的区别 通用计算机通常采用冯·诺依曼体系结构,其基本思想是“存储程序”和“程序控制”概念,数据存储器和程序存储器为同一存储器并统一编址,如图3.17所示,经由同一个总线进行数据传输,影响了数据处理速度的提高。 哈佛体系结构是一种将程序存储器和数据存储器分开的存储器结构,两者独立编址,是对冯·诺依曼结构的改进,如图3.18所示。程序指令和数据分开存储到不同的存储器,也可以使指令和数据有不同的数据宽度,例如Microchip公司很多CPU的数据宽度是8位,而指令宽度是14位。 图3.17冯·诺依曼体系结构 图3.18哈佛体系结构图 哈佛体系结构的微处理器通常具有较高的执行效率,取指令和存取数据分别经由不同的存储空间和不同的总线,这样就克服了数据流传输的瓶颈,提高了运算速度。 早期的微处理器大多采用冯·诺依曼结构,典型代表是Intel的x86微处理器。目前使用哈佛体系结构的微控制器有很多,除了Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、Atmel公司的AVR系列和ARM公司的ARM9、ARM10和ARM11。 3.7.4嵌入式系统的特点及应用领域 从嵌入式系统的构成上看,嵌入式系统是集软硬件于一体,硬件可按照用户需要裁剪定制,可以独立工作的专用计算机系统; 从外观上看,嵌入式系统像是一个“可编程”的电子“器件”,用户可以通过特别途径对嵌入式系统的操作系统和应用程序进行在线更新; 从功能上看,嵌入式系统通常是对其他对象进行智能控制的控制器。与通用计算机系统相比,嵌入式系统有如下一些特点。 (1) 专用性强。嵌入式系统基本属于专用计算机。 (2) 实时性好。实时性是对嵌入式系统的普遍要求。 (3) 可裁剪性好。嵌入式系统的硬件和软件都是可裁剪的,从而使系统在满足应用要求的前提下达到最精简的系统配置,成本最低。 (4) 可靠性高。很多嵌入式系统应用于工业控制、设备制造、仪器仪表、航空航天、无人值守机房、军事等领域。与普通计算机系统相比较,嵌入式系统在可靠性方面有更高要求。 (5) 功耗低。有很多嵌入式系统应用于手持移动计算领域,低功耗一直是嵌入式系统追求的目标。 (6) 软件固化。嵌入式系统中的软件包括操作系统、应用程序代码、采集到的数据等一般不存储于磁盘等机械设备中,而都固化在Flash或CF卡等非易失性存储器芯片中。 嵌入式系统广泛应用于工业控制、信息家电、通信设备、医疗仪器、智能仪表、军用设备等领域。近十年来,随着通信技术的发展,嵌入式系统进入到新的应用领域,例如数码相机、个人数字助理、手机、MP4等。人们日常生活中所用到的电气设备,如电视机顶盒、手机、数字电视、微波炉、照相机、电梯、空调、冰箱、洗衣机等,都有嵌入式微处理器的存在。 3.8多媒体计算机 3.8.1多媒体计算机的概念 多媒体计算机一般特指多媒体个人计算机(multimedia personal computer,MPC),是能够对文字、图像、声音、动画、视频等多媒体信息进行综合加工处理、硬件配置较高的一种通用计算机系统。 世界上第一台多媒体计算机诞生于1985年,其主要功能指可以把音频、视频、图形、图像和计算机交互式控制结合起来,进行综合加工处理。随着多媒体计算机应用越来越广泛,MPC在办公自动化领域、计算机辅助工作、游戏开发、多媒体教学、商业广告、影视娱乐业、人工智能模拟等领域发挥了重要作用。 3.8.2多媒体计算机的组成 多媒体计算机就是具有了多媒体处理功能的个人计算机,它的硬件结构与一般的个人计算机并无太大差别,只是多了一些软硬件配置而已。用户可通过两种途径拥有MPC: 一是直接购买具有多媒体功能的PC; 二是在基本的PC机上增加多媒体套件而构成MPC。目前市场上的PC绝大多都具有了基本的多媒体应用和开发能力。 多媒体计算机一般由四部分构成: 多媒体硬件平台(包括计算机硬件、声像等多种媒体的输入输出设备和装置)、多媒体操作系统、多媒体处理系统工具和多媒体应用软件。 1. 多媒体硬件平台 多媒体硬件平台分为基础硬件和附加硬件两部分。基础硬件使计算机具有基本的多媒体处理能力,通常包含高性能的CPU、大容量的内存、大容量的硬盘、高分辨率显示器、处理声音的接口与设备、处理图像的接口与设备; 附加硬件用于提升计算机的多媒体处理能力,主要包括光盘驱动器、网络接口及网络设备、图形加速卡、视频卡、扫描仪、投影机、摄像机、彩色喷墨打印机、高性能独立显卡、触摸屏、高性能音频卡及音响麦克风等。 2. 多媒体操作系统 多媒体操作系统也称为多媒体核心系统,是具有实时任务调度、多媒体数据转换和同步控制、对多媒体设备进行驱动和控制以及图形用户界面管理等功能的操作系统。目前应用最广泛的就是Microsoft的Windows系列操作系统和苹果公司的macOS操作系统。 3. 多媒体处理系统工具 多媒体处理系统工具即多媒体系统开发工具,是多媒体系统的重要组成部分,主要用于多媒体应用开发,是多媒体设计人员在多媒体操作系统上进行开发的软件工具。根据多媒体开发工具的开发方法和结构特点的不同,主要分为四大类。 (1) 基于时间的多媒体开发工具,例如Director和Action; (2) 基于图标或流线的多媒体开发工具,例如Authorware; (3) 基于卡片或页面的多媒体开发工具,例如ToolBook和HyperCard; (4) 以传统程序语言为基础的多媒体开发工具,例如VB、VC、Delphi、Python等。 4. 多媒体应用软件 多媒体应用软件是根据多媒体系统终端用户要求而定制的应用软件,或者面向某一领域用户的应用软件。例如第4章所述的用于文本排版编辑的软件Word和WPS; 用于网页设计的软件Dreamweaver; 用于动画制作的软件Flash、3ds Max和Animate; 用于声音加工处理的软件Audition和GoldWave; 用于图形图像处理的软件Photoshop、CorelDRAW和AutoCAD; 用于视频加工编辑的软件Premiere、After Effects等。 3.8.3多媒体计算机的应用领域 (1) 多媒体教育。例如电子教案、计算机辅助教学、交互过程模拟、网络多媒体教学、工艺过程仿真等。 (2) 影视娱乐业。例如影视作品中的电影特技和变形效果,电视、电影、卡通混编特技,演艺界MTV特技制作、三维成像模拟特技等。 (3) 人工智能模拟。例如生物形态模拟、生物智能模拟、人类行为智能模拟、汽车飞机模拟驾驶训练。 (4) 办公自动化(OA)。例如图文混合排版、PPT讲解展示、远程视频会议技术等。 (5) 医疗领域。例如远程医疗诊断系统、网络远程手术操作等。 (6) 多媒体创作。例如声音音效处理、图片美化、视频剪辑等。 另外,多媒体计算机在商业广告、旅游宣传、数码摄影、虚拟现实VR、游戏开发、地理信息系统(GIS)、视频监控、视频点播VOD等领域也有广泛应用。 本 章 小 结 计算机硬件系统主要包括微处理器、内部存储器、外部存储器、输入输出设备、各种接口电路以及总线。 CPU是计算机系统的指挥控制核心,主要由运算器、控制器和一些寄存器组成。运算器的主要功能是进行算术运算和逻辑运算,控制器的功能是指挥计算机的各个部件协调一致地自动运行,寄存器是CPU内临时存放信息的部件。 存储器是计算机中的记忆部件,各种程序和数据都保存在各类存储器中。存储器有多种分类方法。内存可被CPU直接访问。CPU通过内存单元地址访问内存数据。外存中的数据只有调入内存后才能被CPU访问。 cache是介于CPU和主存之间的一个小容量存储器,用于解决CPU和主存速度不匹配的问题。 虚拟存储器主要用于解决物理内存不足的问题。虚拟存储器由操作系统和辅助硬件自动实现页面调入和调出。 为了解决存储器容量、速度、价格三方面的矛盾,计算机多采用层次存储结构。在软硬件控制下将cache、内存和辅存有机结合,充分发挥每种存储器的优势,达到最高性价比。 总线是计算机系统之间或者计算机系统内部多个模块之间的一组公共传输通道。根据不同标准,总线有多种分类方法。 接口是CPU与外设的连接电路,是CPU与外设进行信息交换的中转站。接口的主要功能包括信息变换、速度协调、辅助和缓冲功能。当代计算机主板上集成有多种接口。 外部设备主要包括输入设备、输出设备以及外部存储器。外部设备必须通过接口电路才能和CPU通信。 计算机常用的性能指标有主频、字长、运算速度、存储容量、总线带宽、指令系统等。 嵌入式系统是以应用为中心,软硬件可裁减的专用计算机系统。嵌入式系统广泛应用于工业控制、信息家电、通信设备、医疗仪器、智能仪表、军事设备等领域。 哈佛体系结构是对冯·诺依曼体系结构的改进,它将程序存储器和数据存储器分开,从而具有较高的执行效率。哈佛体系结构在单片机、嵌入式系统中被广泛采用。 多媒体计算机是能够对文字、图像、声音、动画、视频等多媒体信息进行综合加工处理、硬件配置较高的一种通用计算机系统。MPC由四部分构成: 多媒体硬件平台、多媒体操作系统、多媒体开发工具和多媒体应用软件。 本 章 人 物 约翰·冯·诺依曼 约翰·冯·诺依曼(John von Neumann,1903年12月28日—1957年2月8日),美籍匈牙利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。冯·诺依曼是罗兰大学数学博士,是现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,被后人称为“现代计算机之父”“博弈论之父”。 冯·诺依曼先后执教于柏林大学和汉堡大学,1930年前往美国,后入美国籍。冯·诺依曼历任普林斯顿大学教授、普林斯顿高等研究院教授,入选美国原子能委员会会员、美国国家科学院院士; 早期以算子理论、共振论、量子理论、集合论等方面的研究闻名,开创了冯·诺依曼代数; 第二次世界大战期间曾参与曼哈顿计划,为第一颗原子弹的研制作出了贡献。 冯·诺依曼1944年与奥斯卡·摩根斯特恩合著《博弈论与经济行为》,是博弈论学科的奠基性著作。晚年,冯·诺依曼转向研究自动机理论,著有对人脑和计算机系统进行精确分析的著作《计算机与人脑》(1958年),为研制电子数字计算机提供了基础性的方案。其余主要著作有《量子力学的数学基础》(1926年)、《经典力学的算子方法》(1944年)、《连续几何》(1960年)等。 冯·诺依曼对世界上第一台电子计算机ENIAC的设计提出过建议。1945年3月,他在共同讨论的基础上起草了一个全新的《存储程序通用电子计算机方案》。这对后来计算机的设计有决定性的影响,特别是文中所讲述的确定计算机的结构、采用存储程序以及二进制编码等,至今仍为电子计算机设计者所遵循。 习题3 3.1选择题 1. 整个计算机系统是受()控制的。 A. 中央处理器 B. 接口 C. 存储器 D. 总线 2. 计算机可安装的最大主存容量取决于()。 A. 字长B. 数据总线位数 C. 控制总线位数D. 地址总线位数 3. 下列不是控制器功能的是()。 A. 程序控制B. 操作控制 C. 时间控制D. 信息存储 4. 下列不属于多媒体计算机应用领域的是()。 A. 工业控制B. 图像图像处理 C. 声音合成D. 视频剪辑 5. 下列不是磁表面存储器的是()。 A. 硬盘 B. 光盘 C. 软盘 D. 磁带 6. CPU读写速度最快的器件是()。 A. 寄存器 B. 内存 C. cache D. 磁盘 7. 下列不属于输出设备的是()。 A. 光笔 B. 显示器 C. 打印机 D. 音箱 8. 不属于计算机主机部分的是()。 A. 运算器B. 控制器 C. 鼠标D. 内存 9. 下列说法错误的是()。 A. 主存存放正在执行的程序和数据 B. cache的主要目的是提高主存的访问速度 C. CPU可以直接访问硬盘中的数据 D. 运算器主要完成算术和逻辑运算 10. 计算机的主要性能指标通常不包括()。 A. 主频B. 字长 C. 功耗D. 存储周期 11. 下面关于嵌入式计算机描述不正确的是()。 A. 属于专用计算机 B. 不能用于工业控制 C. 软硬件可裁剪 D. 以应用为中心 3.2填空题 1. 运算器的主要功能是和。 2. 和合起来称为中央处理器或微处理器。 3. 存储器的最基本组成单位是存储元,它只能存储,一般以为单位。8位存储元组成的单位叫作一个。 4. 1KB=字节,1MB=KB。 5. 每个存储单元在整个存储中的位置都有一个编号,这个编号称为该存储单元的。一个存储器中所有存储单元的总数称为它的。 6. 按照存储器的存取方法不同,存储器主要分为和两类; 按信息存储原理的不同,存储器可分为和两类。 7. 设置cache的目的是,设置虚拟存储器的主要目的是。 8. 是外部设备和CPU之间的信息中转站。 9. 是计算机中多个模块之间的一组公共信息传输通道,根据作用不同又可分为、、。 10. 根据总线在计算机系统中所处位置的不同,可将总线分为、、、。 11. 嵌入式系统软件结构一般包含、和三层。 12. 哈佛体系结构与冯·诺依曼体系结构的主要区别是。 13. 数据总线的位数决定了,地址总线的位数决定了。 14. 动态存储器根据原理存储信息,在使用时需要定期。 15. 虚拟存储器是根据工作,处于存储器层次结构的层次。 16. 表示总线每秒可以传输的数据信息总量。 3.3简答题 1. 存储器的作用是什么?存储器有哪些分类方法? 2. 什么是存储器的层次结构?主要分为几层? 3. cache的工作原理是什么? 4. 什么是接口?主要作用是什么? 5. 机械硬盘和固态硬盘有什么区别?怎么计算机械硬盘的容量? 6. 评价计算机性能的技术指标有哪些? 7. 什么是嵌入式系统?主要的应用领域是什么? 8. 什么是多媒体计算机?它由哪几部分构成?