手机如何替换cpu,求教材

【图文】CPU-罗菊英_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
CPU-罗菊英
&&主要学习CPU的外观、类型、参数和安装。但因为不能上传视频,可能在安装过程中不能全部显示。
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢当前位置: >>
软考教材分享:程序员教程
程序员http://www.educity.cn/jiaocheng/zg14.html程序员教程第 1 章 计算机硬件基础计算机硬件基础知识历来都是程序员考试的重点。 从历年考试试题分数的分布来看, 每 年的分值都在十分左右。主要涉及到进制间的转换、数据表示、CPU 的组成、存储器、校 验方法和校验码、总线以及 I/O 设备等。本章在考纲中涉及到的考点如下: (1)进制及转换:掌握并能应用二进制与十进制之间的相互转换以及二进制与十六进 制之间的相互转换。 (2)数据的表示:掌握并能应用带符号定点数据的原码、反码以及补码的表示方法; 理解浮点数的表示方法; 掌握精度和溢出的概念; 理解字符、 汉字、 声音和图像的表示方法。 (3)算术运算和逻辑运算:理解补码表示的定点数的加减运算;掌握基本的与、或、 非逻辑运算。 (4)编码基础:掌握并能应用 ASCII 码的特点及编码计算、掌握并能应用奇偶校验码 的特点及其计算、理解循环冗余码以及海明码的定义和构造。 (5)计算机的类型和特点:理解各种计算机的特点。 (6)中央处理器 CPU:理解 CPU 的构成、常用的寄存器、指令以及指令系统的概念; 理解指令的执行过程以及流水线、中断的概念。 (7)主存和辅存:理解各种存储介质的特点;理解 Cache 的概念、作用和基本构成; 掌握主存的类型、容量和性能指标;掌握各种辅存设备的容量及其性能。 (8)I/O 接口、I/O 设备和通信设备:理解 I/O 接口的特点;程序查询方式、中断方 式以及 DMA 方式的含义和特点;理解常见的 I/O 设备、通信设备的类型和特点;理解常见 程序员http://www.educity.cn/jiaocheng/zg14.html的 I/O 设备与主机的连接方法;掌握总线的概念、类型和特点;理解常见的通信设备的连接 方法以及常见的连接介质的特点。1.1 计算机组成一个完整的计算机系统包括硬件系统和软件系统两部分, 计算机硬件是计算机系统中所 有实际物理装置的总称, 计算机软件是指在硬件上运行的程序和相关的数据及文档。 计算机 系统的组成如图 1-1 所示。图 1-1 计算机系统组成示意图 1.1.1 计算机系统的硬件组成 自从 1946 年世界上出现第一台计算机以来, 计算机软件系统和硬件结构都已经发生了 很大的变化,但大多数计算机仍然基于冯?诺依曼结构,其硬件系统是由运算器、控制器、 存储器、输入设备和输出设备五部分组成,它们通过系统总线互相连接,如图 1-2 所示, 完成计算机的基本功能。 其中运算器、 控制器、 以及相关的寄存器组, 构成中央处理器 (CPU) , 它是计算机系统的核心。 程序员http://www.educity.cn/jiaocheng/zg14.html图 1-2 计算机的基本组成 1. 中央处理器 中央处理器主要由运算器、控制器和寄存器组三部分组成,其组成结构如图 1-3 所示。图 1-3 CPU 组成结构图 (1)运算器。运算器是处理器的执行单元,主要包括算术逻辑部件(ALU)和一定数 量的寄存器。加法是运算器的基本运算,在大多数中央处理器中,其它运算最终都可转化为 加法运算。 运算器的位数指的是运算器一次能对多少位数据作加法, 是衡量中央处理器的一 个重要指标。按照总线结构,运算器可以分成单总线结构运算器、双总线结构运算器和三总 线结构运算器。 程序员http://www.educity.cn/jiaocheng/zg14.html(2)控制器。控制器是中央处理器的核心。控制器每次从存储器中取出一条指令,对 指令进行译码和测试,并产生相应的微操作控制信号,发给各个执行部件并控制它们,使整 个计算机系统可以连续、有条不紊地工作。控制器的主要任务是控制 CPU 按照正确时序产 生操作控制信号。 控制器通常由指令寄存器 IR、指令译码器、程序计数器 PC、时序电路、微操作信号发 生器、状态\条件寄存器 PSW、堆栈和堆栈指针、总线控制逻辑等部件组成,其组成图如图 1-4 所示。图 1-4 控制器组成结构图 ? 指令寄存器 IR:存放正在执行的指令,以便在整个指令执行过程中,实现一条指令的 全部功能控制。 ? 指令译码器 ID:又称操作码译码器,它对指令寄存器 IR 中的指令进行分析,确定指令 类型、 指令所要完成的操作以及寻址方式等, 并产生相应的控制信号提供给微操作信号发生 程序员http://www.educity.cn/jiaocheng/zg14.html器。 ? 程序计数器 PC:又称指令计数器或指令指针(IP),在某些类型的计算机中用来存放 正在执行的指令地址;在大多数机器中则存放将要执行的下一条指令的地址。 ? 时序电路:以时钟脉冲为基础,产生不同指令相对应的周期、节拍、工作脉冲等时序 信号,确定各种微操作的执行时间,从而实现机器指令执行过程的时序控制。 ? 微操作信号发生器:它根据指令译码器 ID 产生的操作信号、时序电路产生的时序信 号,以及各个功能部件反馈的状态信号等,产生执行指令所需的全部微操作控制信号,形成 特定的操作序列,从而实现对指令的执行控制。 ? 状态\条件寄存器 PSW:它保存指令执行完成后产生的条件码, 记录了运算器、 控制器、 中断系统的重要状态或特征,例如运算结果是否溢出、是否被 0 除、是否有进位、是否关 中断等。该寄存器每一位保存一个特征,其典型应用是作为跳转指令的判断条件。 ? 堆栈和堆栈指针:堆栈是一组寄存器或者处于存储器内的特定区域,由于寄存器数量 有限,所以大多数系统采用了存储器的软件堆栈,堆栈顶部的指针称为堆栈指针。 ? 总线控制逻辑:接收各部件发送过来的总线请求信号,根据相应的仲裁措施,把总线 的使用权分配给各个部件。总线是系统性能的瓶颈,一个好的总线控制逻辑,可以大幅提高 总线利用率,充分发挥各个部件的功能。 指令的执行过程分为如下几个步骤: ? 取指令:控制器按照程序计数器 PC 中保存的地址从内存中取出将要执行的指令。 ? 分析指令:把该指令送给指令译码器 ID,ID 对指令进行译码和测试,然后根据指令的 功能产生相应的操作控制信号,向有关部件发出控制命令。 ? 执行指令:根据译码器产生的操作控制信号以及状态/条件(PSW)寄存器的状态, 程序员http://www.educity.cn/jiaocheng/zg14.html由时序电路形成微操作时序信号,然后再由微操作信号发生器产生一系列 CPU 内部和外部 控制信号,这些信号驱动相关部件运行,从而实现指令的具体功能。 ? 形成下一条指令地址:若是顺序执行指令,则程序计数器自动加&1&,形成下一条指令 的地址;若是转移指令,则根据转移条件确定是否把转移地址送入程序计数器。 程序由指令构成,通过逐一执行上述指令,计算机就可以完成程序指定的任务。 2. 寄存器组 寄存器组是 CPU 内部的临时存储单元,即可以存放数据和地址,又可以存放控制信息 或 CPU 工作状态。在存储器体系结构中,寄存器组距离 CPU 最近,执行速度最快,适当 增加寄存器数量,可以减少访问内存的次数,提高其运行速度。按照存放数据的不同,CPU 中的寄存器可以分为以下类型: (1)累加器:是一个数据寄存器,在运算过程中暂时存放被操作数和中间运算结果, 它不能用于长时间地保存一个数据。 (2)通用寄存器组:CPU 中的一组工作寄存器,运算时暂时存放操作数或地址,可以 减少 CPU 与外部的数据交换,从而加快 CPU 的运行速度。 (3)标志寄存器:又称为状态寄存器,记录运算中产生的标志信息,它的每一位都可 以单独使用,称为标志位。标志位反映了 ALU 当前工作状态,可以作为跳转指令的判断条 件。常用的标志位包括以下几种: ?a 进位标志位(C):当运算结果最高位产生进位时置&1&. ?b 零标志位(Z):当运算结果为零时置&1&. ?c 符号标志位(S):当运算结果为负时置&1&. ?d 溢出标志位(O):当运算结果溢出时置&1&. 程序员http://www.educity.cn/jiaocheng/zg14.html?e 奇偶标志位(P):当运算结果中&1&的个数为偶数时置&1&. ?f 方向标志位(D):用于串处理,每次操作后若 SI 和 DI 减少,则置为&1&,否则置为 &0&. ?g 中段标志位(I):开中断时置为&1&,否则置为&0&. (4)指令寄存器:存放正在执行的指令,在指令执行过程中,该寄存器中的内容保持 不变。 (5)地址寄存器:存放指令、数据区、堆栈的相关地址,包括程序计数器、堆栈指示 器、变址寄存器、段地址寄存器等,主要用于指令和数据的定位。 (6)其它寄存器:根据 CPU 结构特点还有一些其它寄存器,例如:控制寄存器 CR0、 CR1、CR2,它的作用是切换实模式和保护模式;调试寄存器 D0、D1、D2、D3……,它们 可以作为调试器的硬件支持来设置条件断点;测试寄存器 TR3、TR4、TR5、TR6,它们可以 用于某些条件测试。 3. 存储器 存储器是存放二进制形式信息的部件,它用二进制形式的&0&或&1&存放程序和数据。从 功能的角度,存储器可以分为以下三种: (1)高速缓冲存储器(cache)。位于 CPU 和主存 DRAM 之间的高速小容量存储器, 通常由高速 SRAM 组成,集中保存当前 CPU 要调用的内存数据,其存取速度接近 CPU 的 工作速度,临时存放指令和数据。引入 cache 之后,可以缓解内存和 CPU 之间存在的速度 瓶颈,加快程序运行速度。 (2)主存储器。主存储器简称主存,又叫内存,用来存储计算机当前正在执行的程序 和处理的数据,主存储器目前一般由 MOS 半导体存储器构成,其优点是存取速度快,存储 程序员http://www.educity.cn/jiaocheng/zg14.html体积小,可靠性高,价格低廉;缺点是断电后存储器不能保存信息。 (3)辅助存储器。辅助存储器又称外存储器,包括磁带存储器、磁盘存储器及光盘存 储器。它用于存放当前不使用的信息,其特点是存储容量大、可靠性高、价格低,在脱机情 况下可以永久地保存信息。 一般而言,存储器速度、容量和价格三者之间相互矛盾。若要求存储器速度很高,则其 容量就不可能很大,价格也不可能很低;若要求存储器容量很大,则其存取速度就不可能很 高,成本也不会很低。为了较好地满足上述三方面的要求,有效的办法是采用不同形式的存 储器构成存储器层次结构,使得在该存储体系中,速度接近最快的那个存储器,容量与容量 最大的那个存储器相等, 单位容量的价格接近最便宜的那个存储器。 常用的存储器体系包括 &寄存器-cache-主存-辅存-海量存储器&这五个层次。 4. 输入输出设备 计算机系统与人或其它设备之间进行信息交换的装置, 所谓的输入和输出都是相对于主 机而言的,二者的区别是信息流向不同。输入设备的功能是把数据、命令、图形、图像、声 音以及电流、电压等信息,转换成计算机可以接收和识别的二进制代码,输入到计算机存储 器中,以便进行数据处理。输出设备的功能是把计算机处理的结果,转换成为人最终可以识 别的数字、文字、图形、图像和声音等信息,输出到外部存储介质上,并可以通过相关设备 进行显示,以供人们分析和使用。 输入输出设备有多种分类方法,按照信息的传输方向来分,可以分成输入、输出与输入 /输出三类设备。 1.1.2 计算机系统的软件组成 软件包括了使 PC 机运行所需要的各种程序、数据及其有关的文档资料。程序是完成某 程序员http://www.educity.cn/jiaocheng/zg14.html一任务的指令或语句的有序集合; 数据是程序处理的对象及结果; 文档是描述程序操作及使 用的相关资料。功能主要包括下述四个方面: (1)控制和管理计算机硬件资源,提高计算机资源的使用效率,协调计算机各组成部 分的工作。 (2)向用户提供尽可能方便、灵活的计算机操作界面。 (3)为专业人员提供开发计算机应用软件的工具和环境。 (4)为用户完成特定应用的信息处理任务。 按照上述功能,计算机软件可以分为系统软件和应用软件两大类。如图 1-5 所示,硬 件、软件、用户之间形成一种层次关系,即通过为硬件逐层地添加各类软件后,才能形成一 个供用户使用的功能丰富而界面友好的计算机系统。图 1-5 计算机系统的层次构成 1. 系统软件 系统软件控制计算机的运行, 管理计算机的各种资源, 并用应用软件提供支持和服务的 一类软件。系统软件的主要目的是方便用户,提高计算机使用效率,扩充系统的功能。通常 包括: (1)操作系统。操作系统是计算机硬件的第一级扩充,是软件中最基础和最核心的部 程序员http://www.educity.cn/jiaocheng/zg14.html分, 任何其它软件都必须在操作系统的支持下才能运行。 操作系统负责对计算机系统的各种 资源(包括硬件和软件资源)进行统一控制、管理、调度和监督,合理地组织计算机的工作 流程,其目的是提高各类资源利用率,方便用户使用,并为其它软件的开发提供必要的服务 和相应的接口。 操作系统种类繁多, 常用的包括 OS/2、 UNIX、 Linux、 Windows、 NetWare 等。 (2)程序设计语言及其处理程序。从计算机发展史角度来看,程序设计语言可分为四 类:机器语言、汇编语言、高级语言及第四代高级语言。 机器语言是由&0&、&1&构成的二进制指令代码,是一种面向机器的低级语言,其指令代 码随 CPU 型号不同而不同,通用性差。通常不用机器语言直接编写程序。 汇编语言是一种与机器语言相当接近的符号语言, 它用助记符代替操作码, 用地址符号 代替操作数,又称为符号语言,汇编语言通常依赖于特定计算机的指令集,也是一种面向机 器的低级语言,不具有通用性和可移植性。 高级语言由各种有意义的词和数学公式按照一定的语法规则组成, 更加接近于人们日常 所使用的书面语言(英语),高级语言可分为面向过程的语言和面向对象的语言两种。 高级语言是&过程化语言&,编码时要告诉计算机每一步应该&怎样做&,程序员的编程任务 还是很繁重。而第四代高级语言(4GL)编码时,仅仅需要告诉计算机&做什么&,在一定程度 上可以提高编码效率。 除了机器语言, 其它语言计算机都不能直接执行, 语言处理程序能把它们翻译成可直接 执行的机器语言。翻译的方式有两种:解释方式和编译方式。 (3)数据库管理系统。从计算机软件系统的构成来看,数据库系统是介于用户和操作 系统之间的一组软件, 它实现了对共享数据的有效组织、 管理和存取。 按照数据模型的不同, 程序员http://www.educity.cn/jiaocheng/zg14.html数据库管理系统分为层次型、网状型和关系型三种。其中关系型数据库使用最广泛。 (4)实用程序与软件工具。实用程序是指一些日常使用的辅助性、工具性程序。软件 工具指一类对软件开发特别有用的程序, 它们可以用来帮助用户对其它程序进行开发、 修复 或者优化性能等。在整个软件开发生命周期中,包括系统分析、系统设计、项目管理、文档 生成和质量保证中都需要软件工具的支持。 2. 应用软件 应用软件指的是软件公司或用户为解决各种不同具体应用问题而专门研制的软件。 按照 应用软件的开发方式和适用范围,可以分为两类:针对具体应用问题而定制的应用软件,通 常称为定制软件;以及在许多行业和部门中可以广泛使用的软件,通常称为通用软件。 1.1.3 总线与接口 从物理上看, 总线是一组传输公共信号的信号线的集合, 使在计算机系统各部件之间传 输地址、数据和控制信息的公共通路。它由一组导线和相关的控制、驱动电路组成。 CPU 通过总线实现读取指令,并实现与内存、外设之间的数据交换。 总线按功能分为地址总线(AB)、数据总线(DB)和控制总线(CB),AB 位数决定 了总线的寻址能力,DB 位数与总线的数据传输能力有关,CB 决定总线功能的强弱和适应 性。 按照总线的物理位置,通常分为以下几类: (1)芯片内总线:用于集成电路内部各部分的连接。 (2)元件级总线:用于一块电路板内各元器件间的连接。 (3)内总线:又称为系统总线,用于计算机各组成部分间的连接。 (4)外总线:又称为通信总线,用于计算机与外设或计算机之间的连接或通信。 程序员http://www.educity.cn/jiaocheng/zg14.html1. 内总线 内总线有专用内总线和标准内总线之分。 内总线的性能直接影响着整个计算机系统的性 能。自计算机发明以来,尤其是微型机诞生之后,内总线的标准已超过百条。常见的内总线 标准如下: (1)ISA.ISA 是工业标准总线,它向上与更早的 PC 总线兼容。ISA 总线是在 PC 总线 62 个插座信号的基础上,再扩充另一个 36 个信号的插座而构成的。 (2)EISA.EISA 总线是在 ISA 总线的基础上发展起来的 32 位总线。该总线定义了 32 位地址线、32 位数据线,以及其它控制信号线、电源线、地线等 196 个接点。总线传输速 率可达 33MB/s.EISA 总线利用总线插座与 ISA 总线兼容,将插板插在上层为 ISA 总线,将 插板插在下层为 EISA 总线。 (3)PCI.PCI 总线是目前微型机上广泛使用的内总线。PCI 总线有两种标准:适用于 32 位机的 124 个信号的标准和适用于 64 位机的 188 个信号的标准。PCI 总线的传输速率 至少为 133MB/s,64 位 PCI 总线的传输速率为 266MB/s.PCI 总线的工作与处理器的工作相 互独立,也就是说 PCI 总线时钟与处理器时钟是独立的、非同步的。PCI 总线上的设备是即 插即用的。 2. 外总线 外总线的标准有七八十种之多,此处仅介绍下面几种: (1)RS-232C.该总线是一条串行外总线,其主要特点是:传输线比较少,最少只需 3 条线(一条发、一条收、一条地线)即可实现全双工通信。传送距离远,用电平传送为 15m, 电流环传送可达千米。并有多种可供选择的传送速率,具有较好的抗干扰性。 (2)SCSI(小型计算机系统接口)。该总线是一条并行外总线,广泛用于连接软硬磁 程序员http://www.educity.cn/jiaocheng/zg14.html盘、光盘、扫描仪等。该接口总线早期是 8 位的,后来发展到 16 位。传输速率由 SCSI-1 的 5MB/s 到 16 位的 Ultra2 SCSI 的 80MB/s.该总线上最多可接 63 种外设, 传送距离可达 20m. (3)USB(通用串行总线)。该总线是 1994 年底由 Compaq、IBM、Microsoft 等 众多公司联合发布的。近几年得到广泛应用。USB 由四条信号线组成,其中两条用于传送 数据,另外两条传送+5V 容量为 500mA 的电源,可以经过集线器 hub 进行树状连接,最 多可达五层,该总线可接 127 个设备。 USB1.0 有两种传送速率:低速 1.5Mb/s, 高速 12Mb/s,USB2.0 的传送速率为 480Mb/s.该总线的最大优点是支持即插即用并支持热插拔。 (4)IEEE 1394.IEEE 1394 由 6 条信号线组成,其中两条用于传送数据,两条传送控 制信号,另外两条传送 8~40V 容量为 1500mA 的电源。该总线最大优点在于它支持即插 即用并支持热插拔。 3. 总线的性能指标 总线的性能指标主要包含下述几个方面: (1)总线的位宽。指的是总线能同时传送的数据位数,即常说的 16 位、32 位、64 位等。 (2)总线的工作频率。也称为总线的时钟频率,常以 MHz 为单位。它是指用于协调 总线上各种操作的时钟信号的频率。 (3)总线的带宽。也称为总线的数据传输速率,指的是单位时间内总线上可传送的数 据量,即常说的每秒钟传送多少个字节。用公式 Q=W×F/N 表示。其中,Q 为总线的带宽, 单位是 MB/s;W 为总线的数据宽度,单位为字节;F 为总线工作频率,单位为 MHz;N 为传 送一个数据所需的总线时钟周期个数。 程序员http://www.educity.cn/jiaocheng/zg14.html(4)总线的寻址能力。指的是地址总线的位数及所能直接寻址的存储器空间的大小。 一般地,地址线的位数越多,能寻址的地址空间越大。 (5)总线的握手协议。指的是总线上各个信号之间的时序关系,一般分为同步、异步 和半同步三种。 (6)猝发传送。有些总线支持一种连续的、成块数据的传送,传送开始后,只需给出 数据的首地址,然后连续地传送出多个数据,后继数据的地址默认为前数据地址加 1,这种 数据传送方式称为猝发传送。 它可以实现一个时钟传送一个数据, 故在总线宽度和总线时钟 频率相同的情况下,支持猝发传送的总线传输率高于不支持猝发的总线。 (7)总线的负载能力。可简单理解为总线上所能挂接的设备的数目,由于总线上只有 扩展槽能由用户使用。 故一般是指总线上的扩展槽个数, 即可连到总线上的扩展电路板的个 数。 4. 接口 I/O 设备在结构和工作原理上与主机有很大的差异,它们都有各自单独的时钟,独立的 时序控制和状态标准。 主机与外部设备工作在不同速度下, 它们速度之间的差别一般能够达 到几个数量级。同时主机与外设在数据格式上也不相同:主机采用二进制编码表示数据,而 外部设备一般采用 ASCII 编码。 因此在主机与外设进行数据交换时必须引入相应的逻辑部件 解决两者之间的同步与协调、数据格式转换等问题,这些逻辑部件就称为输入输出接口,简 称为接口。接口与 CPU、外设的连接示意图,如图 1-6 所示。 程序员http://www.educity.cn/jiaocheng/zg14.html图 1-6 接口与 CPU、外设连接示意图 除了完成设备间物理设备上的连接,接口还具有下述主要功能: (1)地址译码功能:由于一个计算机系统中连接有多台 I/O 设备,相应的接口也有多 个,为了能够进行区别和选择,必须给它们分配不同的地址码,这与存储器中对存储单元编 址的原理是一样的。 (2)在主机与 I/O 设备间交换数据、控制命令及状态信息等。 (3)支持主机采用程序查询、中断、DMA 等访问方式。 (4)提供主机和 I/O 设备所需的缓冲、暂存、驱动能力,满足一定的负载要求和时序 要求。 (5)进行数据的类型、格式等方面的转换。 接口的分类方法很多,例如: (1)按数据传送的格式可分为:并行接口和串行接口。 (2)按主机访问 I/O 设备的控制方式,可分为程序查询接口、中断接口、DMA 接口, 以及更复杂一些的通道控制器、I/O 处理机等。 (3)按时序控制方式可分为同步接口和异步接口。 (4)按功能选择的灵活性可分为可编程接口和不可编程接口。 (5)按通用性可分为通用接口和专用接口。 (6)按输入输出的信号可分为数字接口和模拟接口。 (7)按应用可分为运行辅助接口、用户交互接口、传感接口、控制接口。 当然, 一个完整的 I/O 接口不仅包括一些硬件电路, 也可能包括相关的软件驱动程序模 块。这些软件模块有的放在接口的 ROM 中,有的放在主机系统上的 ROM 中,也有的存储 程序员http://www.educity.cn/jiaocheng/zg14.html在外存中,需要时再装入内存执行。 1.1.4 流水线 为了帮助读者理解流水线的概念,先介绍并行性的概念。 并行性是指计算机系统可以同时进行运算或操作的特性, 它包括同时性与并发性两种含 义, 同时性指两个或两个以上的事件在同一时刻发生, 并发性指的是两个或两个以上的事件 在同一时间间隔发生。在计算机系统中,提高并行性的措施包括以下三种: (1)时间重叠。也称为时间并行技术。在并行性概念中引入时间因素,即多个处理过 程在时间上相互错开, 轮流重叠地使用同一套硬件设备的各个部分, 以加快硬件周转时间而 赢得速度。 (2)资源重复。也成为空间并行技术。在并行性概念中引入空间因素,以数量取胜的 原则,通过重复设置硬件资源,大幅度提高计算机系统的性能。 (3)资源共享。一种软件方法,它是多个任务按一定时间顺序轮流使用同一套硬件设 备,该方法降低了成本,同时又提高了计算机设备的利用率。 一条指令的执行过程可以分为多个阶段(或子过程),具体分法随计算机不同而不同。 采用流水线技术可以使每个子过程与其它子过程并行执行。 从本质上讲, 流水线技术是一种 时间并行技术,只需增加少量硬件就能把计算机的运算速度提高几倍。 程序员http://www.educity.cn/jiaocheng/zg14.html图 1-7 指令的顺序执行与并行执行 如图 1-7 所示,一条指令的执行过程可以分成以下 3 个阶段: (1)取指令。按照指令计数器的内容访问主存储器,取出一条指令送到指令寄存器。 (2)指令分析。对指令操作码部分进行译码,按照给定的寻址方式和地址字段中的内 容形成操作数地址,并用这个地址读取操作数。 (3)指令执行。把运算结果写到通用寄存器或主存中。1.2 数据运算在计算机中,所有处理工作最终都是通过数据运算来完成的,因此,掌握数据运算的基 本原理,对程序员来说,是至关重要的。 1.2.1 数制及其转换 按照进位的原则进行计数,称为进位计数制,简称&数制&或&进制&. 在采用进位计数的数字系统中,如果只用 r 个基本符号表示数值,则称其为 r 进制,r 称为该进制的基数。不同的数制,有下述共同特点: (1)每一种数制都有固定的符号集:例如十进制数制的基本符号有 10 个(0,1,2,……, 9),二进制数制的基本符号有 0 和 1 两个。 (2)每一种数制都使用位置表示法:即处于不同位置的数符所代表的值不同,与它所 在位置的权值有关。 例如,十进制数 1234.45 可表示为: 程序员http://www.educity.cn/jiaocheng/zg14.html二进制数
可表示为: 可以看出, 各种进位计数制中的权值就是基数的某次幂, 所以任何一种进位计数制表示 的数都可以写成按权展开的多项式之和。计算机中常用的几种进位制如表 1-1 所示。 表 1-1 计算机中常用的进位数制表示将数由一种数制转换成另一种数制称为数制间的转换。常用数制包括二进制、八进制、 十进制、十六进制等, 在不同的场合(环境) 需要使用不同的数制。常用数制转换方法如下: (1)二进制、八进制、十六进制转换为十进制。一般采用乘权相加法,把二(八、十 六)进制的每一位乘以它的权,然后相加。例如,把二进制数 110.011 转换成相应的十进 制数:(2)十进制转换为二进制、八进制、十六进制。整数部分和小数部分分别转换,然后 再合并。整数部分方法是&除 2(8、16)取余&,小数部分方法是&乘 2(8、16)取整&.例如, 把十进制数 43.375 转换成相应的二进制数的过程如图 1-8 和图 1-9 所示。 程序员http://www.educity.cn/jiaocheng/zg14.html图 1-8 整数部分除 2 取余法图 1-9 小数部分乘 2 取整法图 1-8 表示整数部分除 2 取余过程,所以(43)10=(,图 1-9 表示小数部 分乘 2 取整过程,所以(0.375)10=(0.011)2,合并整数和小数部分,所以(43.375) 10=(1)2. 十进制转换成二进制数还有一种简便的方法: 把一个十进制数写成按二进制数权大小展 开的多项式,按权值从高到低依次取各项的系数就可得到相应的二进制数。例如,把十进制 数 175.71875 转换为相应的二进制数(3)二进制与八进制相互转换。从小数点起,把二进制数每三位分成一组,然后写出 每一组的等值八进制数,顺序排列起来就得到所要求的八进制数;同理,将一位八进制数用 三位二进制数表示,就可直接将八进制数转换成二进制数。例如,把二进制数 00111 转换为相应的八进制数:(4)二进制与十六进制相互转换。从小数点起,把二进制数每四位分成一组,然后写 程序员http://www.educity.cn/jiaocheng/zg14.html出每一组的等值十六进制数,顺序排列起来就得到所要求的十六进制数;同理,将一位十六 进制数用四位二进制数表示,就可直接将十六进制数转换成二进制数。例如,把二进制数 00111 转换为相应的十六进制数:(5)八进制与十六进制相互转换。通常采用二进制作为中间媒介,即先把八进制转换 为二进制,然后再把二进制转换成为对应的十六进制。把十六进制转换为八进制与此相似。 1.2.2 数据的表示 各种数据在计算机中表示的形式称为机器数, 其特点是符号位与数值位一起编码, 数的 符号用 0、1 表示,小数点隐含表示并不占位置。机器数对应的实际数值称为数的真值。 机器数包括无符号数和有符号数两种。对于带符号数,机器数的最高位是表示正、负的 符号位,其余位表示数值。若小数点位置在最低数值位之后,则是纯整数;若小数点位置在 最高数值位之前(符号位之后),则是纯小数。 1. 常用码制 带符号机器数可采用原码、 反码、 补码和移码等不同编码方法, 这些编码方法称为码制。 (1)原码表示法。编码规则是:符号位为 0 表示正,为 1 表示负,数值部分用该数绝 对值的二进制数表示。 用原码表示整数时, 小数点隐含在最低位之后; 用原码表示纯小数时, 小数点隐含在符号位和数值位之间,均不占位。通常用[X]原表示数 X 的原码。例如,设机 器字长为 8 位,则有下列结果: 程序员http://www.educity.cn/jiaocheng/zg14.html按照原码编码规则,零有两种表示形式。 原码表示方法简明易懂,与其真值转换方便,比较容易进行乘除运算,但是在进行加减 运算时,原码运算不方便,主要源于符号位不能参加运算,需要增加很多判断条件。 (2)反码表示法。编码规则是:符号位为 0 表示正,为 1 表示负,正数的反码等于原 码,负数的反码等于原码除符号位外按位取反,即 0 变 1,1 变 0.通常用[X]反表示数 X 的反 码。例如,设机器字长为 8 位,则有下列结果:按照反码编码规则,零也有两种表示形式,反码同样不方便运算。 (3)补码表示法。编码规则是:符号位为 0 表示正,为 1 表示负,正数的补码等于原 码,负数的补码等于反码末位加 1.通常用[X]补表示数 X 的补码。例如,设机器字长为 8 位, 则有下列结果:按照补码编码规则,零有唯一的表示形式。 采用补码进行加减运算十分方便, 可以允许符号位一起参与运算, 而且可以把减法运算 转化为加法运算,提高了运算速度。 (4) 移码表示法。 编码规则是: 把数据加上一个偏移量, 当机器字长为 n,偏移量为 2n-1 程序员http://www.educity.cn/jiaocheng/zg14.html时,将补码的符号位取反就得到对应的移码。例如,设机器字长为 8 位,则有下列结果:2. 定点数和浮点数 在机器数中,按照小数点位置是否固定,把机器数分为定点数和浮点数两种。 (1)定点数。小数点位置固定不变的数叫做定点数。通常包括两种类型:定点整数(纯 整数, 小数点在最低有效数值位之后) 、 定点小数 (纯小数, 小数点在最高有效数值位之前) 。 设机器字长为 n,各种码制下带符号定点数的范围如表 1-2 所示。 表 1-2 各种码制下带符号定点数的范围(机器字长=n)(2)浮点数。小数点位置不固定的数叫做浮点数,浮点数主要用来表示实数。 一个实数总可以表示成一个纯小数和一个乘幂之积, 例如: 56.725=102× (0.56725) 、 -4×(-0.),二进制数据也可以这样表示。一个二进制数 N 通常 表示为如下形式:其中 E 称为阶码,F 称为尾数。用阶码和尾数表示的数叫做浮点数,这种表示数的方法 称为浮点表示法。 程序员http://www.educity.cn/jiaocheng/zg14.html在浮点表示法中, 阶码通常是带符号的纯整数, 尾数是带符号的纯小数, 表示格式如下:在浮点表示法中,阶码决定数值范围,尾数决定数值精度。通常采用规格化浮点数来比 表示尾数,将尾数的绝对值限制在区间[0.5, 1],从而表示更多的有效数字。当尾数用补码表 示时,需要注意下述问题: ? 若尾数,则其规格化的尾数形式为:F=0.1×××…×,其中×可为 0,也可以为 1,即将 尾数限定在区间[0.5,1]. ? 若尾数,则其规格化的尾数形式为:F=1.0×××…×,其中×可为 0,也可以为 1,即将 尾数限定在区间[-1,-0.5]. 如果浮点数的阶码(包括一位阶符)用 R 位移码来表示,尾数(包括一位数符)用 M 位补码表示,则这种浮点数的表数范围为:很明显, 一个数的浮点表示法不唯一, 这就容易导致不同计算机之间数据格式的不兼容 性。为此,IEEE 制定了浮点数表示的工业标准 IEEE754,被广泛使用。该标准表示形式如下:其中,(-1)S 称为数符,当 s 为 0 时表示正数,当 s 为 1 时表示负数;E 为阶码,用 移码表示; (b0b1b2…bp-1)是尾数,用原码表示,p 是尾数的长度,它表示尾数共 p 位。 目前,计算机中主要使用 3 种形式的 IEEE754 浮点数,如表 1-3 所示。 表 1-3 三种不同类型的 IEEE754 浮点数 程序员http://www.educity.cn/jiaocheng/zg14.html单精度、双精度浮点数格式如图 1-10 所示,从中可以看到 IEEE754 中的尾数最高位 b0 总是 1,而且它和小数点一样隐含存在,在机器中并不明确表示出来。图 1-10 单精度、双精度 IEEE754 浮点数格式 例如, 将十进制数 178.125 表示成单精度浮点数。 首先将 178.125 表示成二进制形式: ( 178.125 ) 10= (
) 2, 再 将 二 进 制 实 数 表 示 成 规 格 化 形 式 : =1. × 27. 所 以 符 号 位 s=0, 尾 数=,阶码 E=(7+127)10=(134)10=(.即 十进制数 178.125 对应的单精度浮点数形式为:又如,可以根据下述单精度浮点数,求出其对应的十进制数值。 程序员http://www.educity.cn/jiaocheng/zg14.html指数=E-127=(-127=126-127=-1,尾数=1.1011,所以该浮点数的数值 为 1.=(0.11011)2=(0.8. 二-十进制编码 用 4 位二进制代码表示 1 位十进制数,称为二-十进制编码,简称 BCD 编码。根据 4 位代码中每一位是否有确定的权来划分,可分为有权码和无权码两类。 应用最多的有权码是 8421 码,即 4 个二进制位的权从高到低分别为 8、4、2 和 1.无 权码中用得较多的是余 3 码和格雷码。 余 3 码是在 8421 码的基础上, 把每个数的代码加上 0011 后构成的。格雷码的编码规则是相邻的两个代码之间只有一位不同。 常用的 8421BCD 码、余 3 码、格雷码与十进制数的对应关系如表 1-4 所示。 表 1-4 8421BCD 码、余 3 码、格雷码与十进制数的对应关系4. 字符表示法 字符编码就是为每个字符确定一个对应的整数值, 以及相对应的二进制编码。 常用的字 符编码标准有 ASCII 字符编码标准以及 IBM 公司提出的 EBCDIC 代码等,其中 ASCII 码的 程序员http://www.educity.cn/jiaocheng/zg14.html应用范围最广。 国际标准化组织 (ISO) 和我国都颁布了与 ASCII 编码一致的编码 (ISO-646 和 GB-1988-80)。 ASCII 码采用 7 个二进制位对字符进行编码:低 4 位组 d3d2d1d0 用作行编码,高 3 位组 d6d5d4 用作列编码,其格式如图 1-11 所示。图 1-11 ASCII 码编码格式 采用 7 位编码构成的 ASCII 码基本字符集只能表示 128 个字符,不能满足信息处理的 需要, 所以对 ASCII 码基本字符集进行扩充, 采用一个字节 (8 位二进制数) 表示一个字符, 一共可以表示 256 种字符和图形符号,称为扩充的 ASCII 码字符集。 5. 汉字表示法 汉字种类繁多,编码比拼音文字困难,而且在同一汉字处理系统中,输入、内部处理、 存储和输出对汉字代码的要求不同, 所以编码也不相同, 关键是要进行一系列汉字代码转换。 按照计算机中汉字处理流程,汉字编码一般分成输入码、内部码和字形码三种。 (1)输入码。输入码的作用是考虑如何把汉字输入到计算机内,常用输入码包括下述 四种: ? 数字编码:用一串数字来表示汉字的编码方法。 ? 字音编码:一种基于汉语拼音的编码方法。 ? 字形编码:将汉字字形分解归类,得到基本字形,汉字由基本字形组成。 ? 形音编码:吸取了字音编码和字形编码的优点。 在上述输入码基础上,近年来,基于统计和学习功能的、以词语(短语)或句子作为输 程序员http://www.educity.cn/jiaocheng/zg14.html入单位的输入方法效率高,很受用户欢迎。 输入码和内部码、字形码属于完全不同的范畴,使用不同的输入码输入同一个汉字,它 们对应的内部码、字形码完全相同。 (2)内部码。汉字内部码(简称汉字内码)是在设备和信息处理系统内部存储、处理、 传输汉字用的代码,这种代码仅仅存在于中文计算机中。 1981 年我国颁布了《信息交换用汉字编码字符集?基本集》(GB2312-80),在其中 规定了汉字国标码,它采用两个字节存放一个汉字的内码,每个字节使用低 7 位,为了与 标准 ASCII 码兼容,每个字节只使用 94 个编码。 GB2312-80 国标字符集由三部分组成。 第一部分是字母、 数字和各种符号, 共 682 个; 第二部分是一级常用汉字, 共 3755 个, 按汉语拼音排列; 第三部分是二级常用字, 共 3008 个,不是太常用,采用偏旁部分排列。 GB2312 国标字符集构成一个二维平面,它分为 94 行、94 列,行号称为区号,列号 称为位号。每一个字符在码表中都有唯一的位置编码,该编码就是字符所在区号(行号)及 位号(列号)的二进制编码(区号在左,位号在右),称为&区位码&. 但区位码并不是国标码,由于信息传输的原因,每个汉字的区号和位号必须分别加上 32,构成的新代码就是国标码。 计算机中的双字节汉字与单字节西文字符经常混合在一起处理, 容易混淆, 所以需要对 汉字信息进行标识。通常是把汉字两个字节的最高位都置为 &1&,置&1&后的双字节汉字编码 就称为汉字&机内码&,简称&内码&. 为了统一地表示世界各国文字,1993 年国际标准化组织公布&通过多八位编码字符集& 的国际标准 ISO/IEC 10646,简称 UCS.它包含了中、日、韩等国的文字。微软、IBM 等公司 程序员http://www.educity.cn/jiaocheng/zg14.html联合制定的工业标准 Unicode(统一码或联合码),就是为此而提出。我国在 1994 年制 定了与 ISO/IEC 10646 等同的国家标准 Gb13000. (3)字形码。汉字字形码是表示汉字字形的字模数据,通常采用点阵、矢量函数等方 式来表示。 采用点阵形式时, 汉字字形码就是这个汉字字形点阵的代码, 它采用一组排成方阵的二 进制位数字来表示一个汉字。这种表示形式所占存储空间相当大。 采用矢量函数形式时,用一组直线和曲线来勾画汉字、字母和符号中笔画的轮廓,记下 每一条直线和曲线的数学描述(端点及控制点坐标)。这种方式输出之前必须经过复杂的运 算处理,转换成点阵形式。Windows 中使用的 TrueType 字库采用的就是这种表示形式。 6. 校验方法及校验码 计算机中的数据在存储和传输过程中可能会发生错误, 通常采用校验码的方法来检测传 送的数据是否出错。 一个编码系统中任意两个合法编码之间的不同的二进制位称为这两个码 字的码距。 该编码系统任意两个编码之间距离的最小值称为该编码系统的码距。 码距是衡量 编码方式抗错误能力的一个指标,码距越大,则错误编码个数越多,当数据出现错误时,出 现在错误编码集合中的概率就越大,从而更容易发现错误。 常用的校验方法有奇偶校验方法、循环冗余校验方法、海明码校验方法,每种校验方法 都有对应的校验码。 (1)奇偶校验方法。在每组数据信息上附加一个校验位,校验位的取值(0 或 1)取 决于这组信息中 1 的个数和校验方式(奇或偶校验)。如果采用奇校验,则这组数据加上 校验码后数据中 1 的个数应为奇数。如果采用偶校验,则这组数据加上校验码后数据中 1 的个数应为偶数。 程序员http://www.educity.cn/jiaocheng/zg14.html奇偶校验方法的特点如下: ? 码距为 2,可检验出奇数个位数出错的情况,但不能检验出欧数个位数出错的情况,但 实际中两位同时出错的概率很低,该方法适用性比较强。 ? 该方法只能发现错误,但不知错误的位置,所以不能自动纠正。 常用的奇偶校验码有三种:水平奇偶校验码、垂直奇偶校验码和水平垂直校验码。 ? 水平奇偶校验码。对每一个数据的编码添加校验位,使信息位与校验位处于同一行。 ? 垂直奇偶校验码。这种校验方法把数据分成若干组,一组数据占一行,排列整齐,再 加一行校验码,针对每一列采用奇偶校验。例如,对于 32 位数据 00
进行垂直奇偶校验,如表 1-5 所示。 表 1-5 垂直校验码的例子? 水平垂直校验码。在垂直校验码的基础上,对每个数据再增加一位水平校验位,便构 成水平垂直校验码。例如,对于 32 位数据 00
进 行水平垂直奇偶校验,如表 1-6 所示。 表 1-6 水平垂直校验码的例子 程序员http://www.educity.cn/jiaocheng/zg14.html(2)循环冗余校验方法(CRC 码)。该方法能够校验传送信息的对错,并且能自动修 正错误,它广泛用于通信和磁介质存储器中。如图 1-12 所示,CRC 编码格式是在位信息后 加位检验码。图 1-12 CRC 编码格式 CRC 码长度为 n=k+r 位,所以又叫做(n,k)码,用 C(x)表示被传送的位二进制信 息位,用 G(x)表示系统的生成多项式,则构成 CRC 码流程如下: 程序员http://www.educity.cn/jiaocheng/zg14.html上式左边就是 CRC 码,所以 CRC 码的生成过程是&左移位→除去生成多项式得到余数 →加上余数&.发送信息时将 CRC 码传送给对方,对方接收到以后除以 G(x),如果传输正 确,则结果为 0,否则根据余数的数值确定是哪位数据出错。 (3)海明码校验方法。海明码校验方法是奇偶校验的一种扩充,但其不同之处在于采 用多位校验码,能够检测出具体错误位置并纠正,其原理是在数据中加入个校验位,将码距 按照一定规则拉长。 r 位校验码有 2r 个值,其中只有一个表示数据正确,剩下的 2r-1 个值表示数据中存在 错误,如果 满足(k+r 表示编码后的总长度),在理论上 r 位校验码就可以判断哪一位 (包括信息位和校验位) 出现问题, 所以 r 位校验码最多可标明 错误信息。表 1-7 显示了数据位 k 与校验位 r 的对应关系。 表 1-7 数据位 k 与校验位 r 的对应关系个 程序员http://www.educity.cn/jiaocheng/zg14.htmlCRC 的编码规则是:海明码的总位数等于数据位与校验位之和,每个校验位 Pi 放在第 2i-1 个位置。以 4 位校验码为例,此时最多可以校验 11 位数据,设这 11 位数据是,其校验码是,所以对应的海明码是。海明码的每一位用多个校验位进行校验, 被校验位号等于校验它的各个校验位位号和, 各校验位的值为它参与校验的数 据位的异或。11 位数据对应的校验表如表 1-8 所示。 表 1-8 11 位数据海明码校验表 程序员http://www.educity.cn/jiaocheng/zg14.html按照海明码编码规则,结合上表,可知其各校验位形成公式如下:上述方式中的采用的是偶校验,当采用奇校验时,则取反。 海明码数据传送到接收方后, 将各校验位的值与它所参与校验的数据位的异或结果进行 异或运算。运算结果称为校验和,对于上述 11 位数据来说,校验和共有 4 个,如下所示:对偶校验来说,如果校验和不为 0 则表示传输过程中有错误,错误位置由 4 个校验和依序排列后直接指明。例如: 位即 D5 发生了错误,此时把 D5 取反就纠正了错误。当时, 就表明海明码第 9当采用奇校验时,当校验位都是 1 时,表明传输没有错误,否则传输有错误。 1.2.3 算术运算与逻辑运算 按照运算对象,算术运算分为定点数运算和浮点数运算。 1. 定点数运算 程序员http://www.educity.cn/jiaocheng/zg14.html计算机中通常只有加法器,其他运算都可转换为加法运算,一般都用补码进行运算。补 码加减法经常使用下述规则,可以把减法运算转化为加法运算。 [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补由[X]补求[-X]补的方法是:[X]补的各位取反(包括符号位),末尾加 1.例如,设二进 制整数 X=+1000011,Y=+11110, 求 X+Y 、X-Y 的值。采用 8 位补码表示 X 、 Y,[X] 补 =,[Y]补=,[-Y]补=,符号位参与运算,过程如下:在计算过程中,有时结果会超出机器所能表示的范围,这时就会发生溢出。只有当两个 相同符号数相加(或者是相异符号数相减)时,才会发生溢出,判断是否溢出经常使用下述 两种方法: (1)单符号位判决法。两个相同符号数相加时,如果结果符号位与加数符号位相反, 则说明发生溢出。两个相异符号数相减时,如果结果符号位于被减数符号位相反,则说明发 生溢出。 (2)双符号位判决法。采用两位表示符号,即 00 表示正号、11 表示负号,若结果中 两个符号位不一致,则说明发生溢出。 2. 浮点数运算 程序员http://www.educity.cn/jiaocheng/zg14.html(1)0 检测:检测 A 和中是否 B 有 0,若 A=0,则 ,运算结束。,若 B=0,则(2)对阶:使参与运算的两个数阶码相同,设,把阶码小的数尾数右移 K 位,其阶码加上 K。该过程会使指数小的浮点数失去某些有效位,如果两个浮点数 阶数相差很大,大于指数小的浮点数的尾数有效位数,那么对阶后该数就变成 0,从而带来 误差,所以需要进行舍入处理,以求得误差最小。常用的舍入处理方法如下: ? 截断法:将要保留的数据末位右边的数据全部截去。 ? 末位恒 1 法:将要保留的末位数据置 1. ? 0 舍 1 入法:舍去的数据为 0 时,保持末位原始状态,若舍去的数据为 1,则将末位加 1,类似十进制中的四舍五入。 (3)尾数计算:两个浮点数对阶后其尾数按照定点数计算。 (4)结果规格化:若结果中尾数不是规格化的数,则进行规格化,若结果溢出,还需 调整阶码。如果阶码上溢出,则结果为溢出,若阶码下溢出,则结果为 0. 3. 逻辑运算 1849 年英国数学家乔治?布尔提出了逻辑代数,它采用代数方法描述和分析逻辑变量, 也称为布尔代数。其中参与运算的只有&真&和&假&,通常用&1&和&0&来表示。 程序员http://www.educity.cn/jiaocheng/zg14.html(1)逻辑与运算。该运算又称为逻辑乘,其运算符号常用 AND、、或?表示。设 A 和 B 为两个逻辑变量,当且仅当 A 和 B 的取值都为&真&时,二者逻辑与的结果才为& 真&,否则为&假&. (2)逻辑或运算。该运算又称为逻辑加,其运算符号常用 OR、 、 或+表示。设 A 和 B 为两个逻辑变量,当且仅当 A 和 B 的取值都为&假&时,二者逻辑与的结果才为& 假&,否则为&真&.(3)逻辑非运算。该运算又称逻辑求反,常用表示对变量的值求反。规则很简单。上述是最基本的逻辑运算,其它逻辑运算可以由这三种运算组合来表示。 常用逻辑公式如表 1-9 所示。 表 1-9 常用逻辑公式(4)逻辑表达式及化简。逻辑表达式是用逻辑运算符把逻辑变量(常量)连接在一起 表示某种逻辑关系的表达式。 逻辑表达式化简主要是利用上面提高的各种恒等式, 将复杂的 元素变成简单的表达式。 例如,化简逻辑表达式 程序员http://www.educity.cn/jiaocheng/zg14.html的过程如下:1.3 指令系统计算机通过执行指令序列完成相关操作, 每种计算机都提供一组指令集供用户使用, 这 组指令集称为指令系统,它是硬件与软件的之间接口。 1.3.1 指令格式 一般而言,一条指令包含操作码和地址码两部分。其中,操作码确定指令类型,地址码 确定指令要处理的数据,根据地址码个数可以把指令分为三地址指令、二地址指令、一地址 指令和无地址指令四种。 1.3.2 寻址方式 寻址方式就是根据指令中的地址码获得指令要处理数据的方法, 地址码代表的地址类型 不同,寻址方式也不同,常用寻址方式如下: (1)立即数寻址。操作数就是地址码,取出指令后就可以立刻运算,这种方式不需要 访问内存去取操作数,也无需修改操作数。 (2)直接寻址。操作数的地址是地址码,指令根据地址码在内存中找到操作数,这种 方式不需做任何变换,但由于地址码位数有限,限制了寻址空间。 程序员http://www.educity.cn/jiaocheng/zg14.html(3)寄存器寻址。操作数存放在寄存器中,地址码是寄存器地址,指令访问寄存器就 获得操作数,这种方式访问速度很快,不足之处在于寄存器数量有限。 (4)间接寻址。地址码指向某内存单元,该单元保存的是操作数地址,这种方式提高 了寻址空间,但由于要多次读内存,速度大大降低。 (5)寄存器间寻址方式就是根据指令中的地址码获得指令要处理数据的方法,地址码 代表的地址类型不同, 寻址方式也不同, 常用寻址方式如下: 接寻址。 地址码指向某寄存器, 寄存器中保存的是操作数地址, 这种方式充分结合了寄存器速度快和字宽比较大的性质, 即 快又灵活,是一种广泛使用的寻址方式。 (6)变址寻址。将地址码和变址寄存器内容相加后形成操作数地址,变址寄存器内容 能自动修改,这种方式适用于数组运算、字符串操作等批量数据处理。 (7)基址寻址。将地址码和基址寄存器内容相加后形成操作数地址,这种方式与变址 寻址有些相似,但又有些不同,这里基址寄存器内容不变化,变化的是地址码,所以这种方 式可以扩大寻址空间和再定位。 (8)页面寻址。将主存分成若干个区,寻址时使用区码加区内偏移的方式确定操作数 位置。 (9)相对寻址。与变址寻址相似,这里将变址寄存器换成了程序计数器。 1.3.3 常用基本指令 一般而言,所有计算机都包含以下几种基本指令: (1)数据传送指令。实现寄存器与寄存器,寄存器与存储单元以及存储单元与存储单 元之间的数据传诵。 数据传送时, 数据从源地址传到目的地址, 而源地址中的数据保持不变。 (2)算术运算指令。控制 CPU 实现各种算术运算,主要包括加法、减法、乘法、除 程序员http://www.educity.cn/jiaocheng/zg14.html法、求补、加 1、减 1、比较等指令。 (3)逻辑运算指令。控制 CPU 实现各种逻辑运算,主要包括与、或、异或、取反等 指令。 (4)移位运算指令。实现对操作数左移或右移一位或若干位,按移位方式分为三种: 算术移位指令、逻辑移位指令和循环移位指令。 ? 算术移位指令:对带符号操作数进行移位,其执行过程如图 1-13 所示。图 1-13 算术移位操作示意图 左移时从最低位依次向最高位移动,最低位补 0,最高位移入&进位&位 C 中。右移时最 高位向最低位依序移动,最低位移入&进位&位 C,而最高位(即符号位)保持不变。 ? 逻辑移位指令。该指令对无符号操作数进行移位,其执行过程如图 1-14 所示,逻辑 左移指令的执行过程与算术左移相同,而逻辑右移与算术右移不同,是用 0 补充最高位。图 1-14 逻辑移位操作示意图 ? 循环移位指令。该指令分为不带进位的循环移位和带进位的循环移位两种,其执行过 程如图 1-15 所示。 程序员http://www.educity.cn/jiaocheng/zg14.html图 1-15 循环移位操作示意图 (5)堆栈操作指令。主要包括栈初始化、进栈、出栈、判断栈空(满)等操作。 (6)字符串处理指令。一种非数值处理指令,一般包括字符串传送,字符串转换(把 一种编码的字符串转换为另一种编码的字符串),字符串比较,字符串查找(查找字符串中 的某个子串)等。 除了上述指令外,还包括下述存在但不常用的指令:输入输出指令、特权指令、转移指 令、陷阱与陷阱指令、子程序调用指令等。1.4 存储体系存储器是计算机的记忆部件,主要用来存放程序和数据,CPU 在工作过程中要频繁地 与存储器进行信息交换,因此主存储器的性能在很大程度上影响整个计算机系统的性能。 1.4.1 存储器分类 存储器有很多种分类方法,例如: (1)按存储器的功能和所处的位置分类,存储器分为主存储器和辅助存储器。 (2)存储介质是指用来制作存储信息的物质。按存储介质分类:存储器分为半导体存 储器、磁存储器和光存储器。 (3)按信息的可保护性分类,存储器可分为易失性存储器和非易失性存储器。 程序员http://www.educity.cn/jiaocheng/zg14.html(4)按寻址方式分类,存储器可分为随机存储器、顺序存储器和直接存储器。 (5)按访问方式分类,存储器可分为按地址访问的存储器和按内容访问的存储器。 1.4.2 存储器层次结构 存储器的主要性能指标如下: (1)容量。存储器的容量可以用公式 SM=W×I×M 来表示,其中中 SM 表示存储体 容量,其中 W 表示存贮体的字长,单位为 bit 或 BI 表示每个存储器的字数;M 表示并 行工作的存储器个数。 (2)速度。从下面三个方面来描述: ? 访问时间。 一般用读出时间 TA 及写入时间 TW 来描述, TA 是从存储器接收读命令后 到信息被送到数据总线上的时间,TW 是将一个字写入存储器所需的时间。 ? 存储周期。一般用 TM 表示,即存储器一次完整读写操作所需要的全部时间,即存储 器进行连续读写操作所允许的最短时间间隔, 它直接关系到计算机运行速度, TM 一般比 TA 或 TW 要大。 ? 存储器频宽。是指存贮器可以提供的数据传送率,一般用每秒钟所传送的信息位数来 衡量。 (3) 价格。 可以用总价格 C 或每位价格 c 来表示, 具有 SM 位的存贮器每位价格 c=C/SM, 其中包括了存贮器本身的价格和为该存贮器操作所必须的外围电路的价格。 一般来说,如果存储器速度、价格、容量三者之间相互矛盾,为了能较好地满足上述三 个方面的要求, 有效办法是采用由不同介质存储器构成存储器层次结构, 使得信息以各种方 式分布于不同的存贮器中。 其速度接近速度最快的存储器, 存储容量与容量最大的存储器相 等,单位容量的价格接近最便宜的存储器。 程序员http://www.educity.cn/jiaocheng/zg14.html存储器层次结构经历了一级存储结构、 二级存储结构以及多级存储结构三个阶段。 在计 算机系统中,三级存储结构应用最广泛,以 cache 存储系统为例,其主要性能如下(虚拟 存储系统也与此相似): (1)容量。等于主存储器的容量,并且提供尽可能大、能随机访问的地址空间。实现 方法有两种: ? cache 存储系统只对主存储器进行编址,cache 只在内部编址 ? 虚拟存储系统另外设计一个容量很大的逻辑地址空间 (2)速度。接近 cache 的访问速度,为了达到这一点,需要尽可能提高系统命中率和 访问效率。 (3)命中率。在 cache 存储器中访问到的概率,公式如下:其中 N1 是 cache 的访问次数,N2 是主存储器的访问次数。 系统的访问周期与命中率之间的关系为:T=H×T1+(1-H)×T2,其中 T1 与 T2 分别是 cache 与主存的访问周期。当命中率 H→1 时,T→T1,所以提高命中率非常重要。 (4)访问效率。指的是访问 cache 所用时间所有时间的比例,即:由此可知,存储系统的访问效率主要与命中率和两级存储器的速度之比有关。 当访问效率 e→1 时,T→T1,所以提高访问效率也非常重要。 (5)单位容量平均价格。用 S1、C1 分别表示 cache 的容量和单位容量平均价格,用 S2、C2 分别表示主存储器的容量和单位容量平均价格,则存储系统的单位容量平均价格如 程序员http://www.educity.cn/jiaocheng/zg14.html下: 由上式可知,当 时, ,单位容量的平均价格接近主存储器,但是二者容量差别不能太大,否则速度会受到影响。 1.4.3 主存储器 主存一般由 RAM 和 ROM 这两种工作方式的存储器组成, 其绝大多数存储空间由 RAM 构成。主存储器主要由存储体、地址译码器、驱动器、读写电路和控制电路等五部分组成, 如图 1-16 所示。图 1-16 主存储器组成图 (1)存储体(存储矩阵)。存储单元的集合,用来存放程序和数据,容量较大的存储 器往往把各个字的同一位组织在一个集成片中。 (2)地址译码器。把用二进制表示的地址转换为译码输入线上的高电位,在存储体中 找到相应的存储单元, 以便驱动相应的读写电路。 地址译码有两种方式: 一种是单译码方式, 适用于小容量存储器;另一种是双译码方式,适用于容量较大的存储器。 (3)驱动器。在双译码结构中,一条 X 方向选择线要控制在其方向上各个存储单元字 程序员http://www.educity.cn/jiaocheng/zg14.html选线,所以负载比较大,需要在译码器输出后加驱动器。 (4)读写电路。根据 CPU 给出的信号是读命令还是写命令,控制被选中存储单元的 读写。 (5)控制电路。根据读写命令,控制主存储器各个部分协作完成相应的操作。 存储周期:连续两次存储器访问的最小时间间隔,记作 Tm. 带宽:存储器的数据传送速率,即每秒传送的数据位数,记作 Bm.设存储器传送的数据宽度为 W 位(一个存储周期内读取或写入的字数),那么 1.4.4 高速缓冲存储器。计算机中 CPU 与内存、内存与外存之间速度差别很大,在数据读取过程中会造成计算 机性能大幅下降,为了尽可能减少慢速设备对快速设备的约束,可以采用高速缓存技术。 cache 是位于 CPU 与主存之间的高速小容量存储器,其容量一般在几 KB 到几 MB 之 间,速度一般比主存快 5~10 倍,由快速半导体存储器制成,即可存放程序又可存放数据, 其内容是主存内容的副本,对程序员来说是透明。有的高档微机为了获得更高的效率,不仅 设立了独立的指令 cache 和数据 cache,还把 cache 设置成二级或三级。 cache 的速度可以和 CPU 相匹配,当 CPU 需要从主存中读取数据或者指令时,先在 cache 中查找,如果里面已经存在,则直接从 cache 中读取,否则就要从主存中读取,并 把该数据及其周围的数据都拷贝在缓存中,利用局部性原理提高计算机性能。 高速缓存中的数据必须和外存中的数据保持一致,通常采用以下方法: (1)写通:写内存的同时也写缓存。 (2)只写内存:将缓存中相应部分内容设置为无效。 程序员http://www.educity.cn/jiaocheng/zg14.html(3)写回:只写缓存,有缓存控制器决定在合适的时候写内存,这种方式效率最高, 但存在一定风险,容易导致数据没有写入磁盘而造成数据丢失。 1.4.5 辅助存储器 主要包括软盘存储器、硬盘存储器、磁带存储器、光盘存储器等。 1. 软盘存储器 由软盘片、软盘驱动器、软盘适配器(盘控)3 部分组成,曾经是昔日 PC 移动存储器 的霸主,但好长时间没有发展,已经让位给 U 盘和移动硬盘。 2. 硬盘存储器 最早的硬盘是由 IBM 公司开发的温彻斯特硬盘,它由磁盘盘片(存储介质)、主轴、 主轴电机、移动臂、磁头和控制电路等部分组成。硬盘运行时,电机带动主轴,主轴带动磁 盘高速旋转, 旋转时的气流将磁头托起, 移动臂控制磁头移动到指定磁道来读取或写入数据。 磁盘表面有外向里分成若干个同心圆,称为磁道,每个磁道分成若干个扇区。在多个单 碟上相同磁道的组合称为柱面。所以定位磁盘上一个物理记录需要三个参数:柱面号、扇区 号和磁头号。 硬盘接口电路可以在主机和硬盘驱动器之间提供一个数据、地址和控制信号的控制通 道,实现主机对硬盘驱动器的各种控制,从而完成主机与硬盘的数据交换。常用的接口包括 IDE 接口、SCSI 接口和 IEEE1394 接口。 硬盘的主要性能指标如下: (1)容量。计算公式如下:磁盘容量=磁头数×柱面数×扇区数×扇区容量 (2)平均等待时间。数据所在的扇区转到磁头下的平均时间,是盘片旋转周期的 1/2. (3)平均寻道时间。移动磁头到数据所在磁道(柱面)所需要的时间。 程序员http://www.educity.cn/jiaocheng/zg14.html(4)平均访问时间。平均等待时间和平均寻道时间之和,它表示硬盘找到数据所在扇 区所需要的平均时间。 (5)Cache 容量。高速缓冲存储器的容量,从理论上讲越大、越快就越好。 (6)数据传输速率。也称为磁盘的吞吐率,分为外部传输速率和内部传输速率两种。 移动存储器容量大、携带方便,是近年来外存储器的一个重要品种,移动存储器包括闪 存盘和移动硬盘两种。 常用的提高磁盘容量、速度和可靠性的技术包括:镜像技术、校验技术、条块技术。 磁盘阵列(RAID)是一种新的磁盘组织方案,它通过将多个磁盘按照一定的形式和方 案组织起来,如同使用一个硬盘,但却获得比单个硬盘更高的速度、更好的稳定性和更大的 存储容量。 RAID 的标准形式包括:RAID0、RAID1、RAID2、RAID5,它们的可靠性逐渐增强,但 价格也逐渐增加。其中,RAID0 最基本,没有校验功能;RAID1 采用镜像技术,把相同数 据备份放在两个驱动器中,当一个驱动器出现故障时采用另外一个维持正常运转;RAID2 采用海明码校验技术;RAID5 采用数据块条块技术和分布式奇偶校验技术,当一个驱动器 出现故障时,可以利用其它驱动器中的校验信息来恢复数据,它是目前最流行的 RAID 应用 形式。 单一 RAID 形式不能满足各种不同应用的需要, 可以将各种 RAID 形式联合起来构成复 合 RAID 形式,最常用的复合形式是 0+1 和 1+0,它们都需要 4 块硬盘。 3. 磁带存储器 由磁带和磁带机(驱动器)两部分组成,它把磁性材料涂在一条长带子上,利用这条带 子保存信息。磁带机按其记录方式,可分为数据流磁带机和数字音频磁带(DAT)机,前者 程序员http://www.educity.cn/jiaocheng/zg14.html又分为单磁头工作方式的 1/4 英寸磁带机及多磁头工作方式的高端应用 1/2 英寸磁带机, 后者分为 8mmDAT 机及 4mmDAT 机。 4. 光盘存储器 出现在 20 世纪 70 年代初期,近年来发展迅速,包括下述三种类型产品: (1)固定型光盘。又称只读光盘,它把需要记录的信息事先记录到光盘上,用户不能 抹除,也不能再写入,只能读取,例如:CD-ROM. (2)追记型光盘。又称一次式光盘,用户自己将信息写入光盘,但写过后不能抹除和 修改,只能读出,例如:CD-R. (3)可改写型光盘。又称可擦写型光盘,用户可写入信息,也能对写入的信息进行擦 除和改写,例如:CD-RW. 光盘存储器采用了很多新技术,主要包括:局部恒定角速度技术(PCAV)、&一光多道 &并行读取技术、自动平衡减震技术、悬挂式光头、全钢机芯、人工智能纠错技术等。 近年来,计算机中处理的信息量逐渐增加,传统的 CD 光盘已不能满足大容量需要,于 是产生了大容量 DVD 光盘。从存储器角度来看,它主要包括:DVD-ROM(只读型光盘)、 DVD-R(限写一次型光盘)、DVD-RW(可多次读写型光盘)。1.5 输入输出方式在计算机系统中,有多种输入输出方式,包括程序控制、中断、DMA 和通道等。 1. 程序控制工作方式 指在程序的控制下进行数据传送,是 CPU 与外设之间交换信息的最简单形式,包括: (1)无条件传送方式。传送数据之前不查询外设状态而直接执行输入或输出命令,这 程序员http://www.educity.cn/jiaocheng/zg14.html种方式下的外设总处于&待命&状态, 可根据其固定的或已知的时序, 将 I/O 指令插在程序中, 当程序执行到该条指令时,就开始输入或输出数据。这种方式最简单,但是可靠性不高。 (2)条件传送方式。也称为查询传送,CPU 通过执行程序不断读取并测试外设状态, 若输入设备处于准备好状态或输出设备处于空闲状态,则 CPU 执行 I/O 指令与外设交换信 息,这要求接口电路中除了有数据端口外,还要有状态端口。它比无条件传送可靠,使用面 也广,但这种方式要求 CPU 不断检测外设状态,占用了 CPU 大量时间,效率不高。 2. 中断工作方式 中断方式可以克服查询方式的低效问题,当 CPU 执行到 I/O 请求时,向 I/O 控制器发 出相应指令后,CPU 并不等待,而是继续执行其它操作。由于 CPU 无需等待 I/O 控制器与 外设的数据交换,所以效率得到了提高。 中断是指在 CPU 执行程序的过程中,由于某一外部或 CPU 内部事件的发生,使 CPU 暂时中止正在执行的程序, 转去处理这一事件, 当该事件处理完毕后又回到原先被中止的程 序,接着中止前的状态继续向下执行。 引起中断的事件称为中断源。其中,由 CPU 内部产生的中断称为内部中断,它包括溢 出中断、除法错中断、断点中断、软中断及单步中断;由 CPU 外部产生的中断称为外部中 断,它包括可屏蔽中断和非屏蔽中断。 CPU 接到中断请求后,如果是当前允许的中断,那么要停止正在执行的代码,并把内 部寄存器入栈,这个过程不能再次被打断,所以要先关中断,入栈完后再开中断。这个过程 应该尽量短,以防止错过了其它中断,该过程消耗的时间称为中断响应时间。然后再执行中 断处理程序,一般都比较简单,就是设置一些标志位,做简单的数据处理而已,其它更耗时 的处理由非中断程序完成。中断处理完成后要恢复现场,把入栈寄存器出栈,继续执行被中 程序员http://www.educity.cn/jiaocheng/zg14.html断的程序, 这个过程消耗的时间称为中断处理时间, 该时间大小与中断类型、 应用类型有关, 也不是一味求短,现在大多数 CPU 都支持多极中断,在执行中断时还可以响应其它中断, 形成中断嵌套。 当有多个中断源时,通常采用下述方法确定需要处理的中断: (1)直接相连法:每个中断源使用自己的中断请求信号和 CPU 相连,由于 CPU 的外 部中断引脚个数有限,所以这种方式适用于中断源不是很多的情况。 (2)统一的中断请求:由 CPU 使用专门程序一次判断是哪个中断源的请求,通过查 询的次序,可以实现中断的优先级控制。 (3)硬件查询法:由一条中断确认信号链和输入、输出设备相连,某个外设发出中断 请求后,中断确认信号开始在各外设间传递,发出中断请求的外设响应这个信号。 (4)总线仲裁:外设需先得到总线控制权,发出中断请求,最后将设备号通过数据总 线发给 CPU,由总线仲裁机制决定可以发信号的外设。 (5)中断向量表:是一张保存不同中断处理程序入口地址的表格,里面的记录称为& 中断向量&,CPU 根据中断号查询该表,可以得到中断处理程序的入口地址。 3. DMA 工作方式 该方式采用 DMA 控制器 DMAC 执行数据传送,DMAC 从 CPU 处接管系统总线控制 权, 发出控制信号使数据通过总线直接在存储器和 I/O 设备之间进行传送。 其工作过程如下: (1)I/O 设备向 DMAC 发出 DMA 请求信号,要求进行数据传送。 (2)DMAC 向 CPU 发出总线请求信号 HRQ. (3)CPU 完成当前总线周期后,暂停操作,向 DMAC 发响应 DMA 请求的回答信号 HLDA,并交出总线控制权,由 DMAC 接管总线。 程序员http://www.educity.cn/jiaocheng/zg14.html(4)DMAC 向存储器发存储器地址信号。 (5)DMAC 发读/写控制信号,在存储器与 I/O 设备之间传送一个字节数据。 (6)每传送一个字节,DMAC 的地址寄存器加 1,字节计数器减 1. (7)检测传送是否结束,若为结束则转入(4)继续数据传送,否则 DMAC 将总线控 制权交还给 CPU,CPU 继续原来的操作。 因为 DMA 方式仅仅在需要占用总线传送数据时才暂停 CPU 操作, 因此 CPU 的工作效 率极高。虽然 DMAC 能够代替 CPU 接管总线执行数据传送,但二者还是有很大的差别。 CPU 能识别系统指令,具有运算判断、处理各种事件的能力,它不但使用总线还管理总线。 而 DMAC 只能识别少数几种命令字,其主要功能是完成数据传输,它想使用总线时必须向 CPU 发出申请。 4. 通道控制方式 通道是一种专用控制器,它通过执行通道程序进行 I/O 操作管理,为主机与 I/O 设备 提供一种数据传输通道。用通道指令编制的程序存放在存储器中,当需要进行 I/O 操作时, CPU 只要按约定格式准备好命令和数据,然后启动通道即可;通道则执行相应的通道程序, 完成所要求的操作。 用通道程序也可完成较复杂的 I/O 管理和预处理, 从而在很大程度上将 主机从繁琐的 I/O 管理工作中解脱出来,提高了系统效率。1.6 系统性能评价本节主要介绍系统性能评价的有关参数。 1. Amdahl 定律 在设计计算机系统时,经常性事件的处理比较简单,而且常和应用有关,加快经常性事 程序员http://www.educity.cn/jiaocheng/zg14.html件的处理速度能明显提高整个系统的性能。在定量分析上,经常使用 Amdahl 定律来解决。 Amdahl 定律: 系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与 这种执行方式的使用频率或占用总执行时间的比例有关。用公式描述如下:有下面两个定义:则改进后的时间:,所以加速比公式如下:可以看出,增大 Se 和 Fe 对 Sn 都有提升作用;但当 Fe 固定时,一味增大 Se 对 Sn 的 作用会越来越不显着。 例如,假设将某系统的某一部件的处理速度加快到 10 倍,但该部件的原处理时间仅为 整个运行时间的 40%,则采用加快措施后能使整个系统的性能提高:2. CPU 执行时间 CPU 性能取决于三个要素:时钟频率 f(或时钟周期 t)、每条指令所花的时钟周期数 CPI、 指令条数 IC.CPU 时间是一个程序所花的 CPU 时间,即 CPU 的执行时间,不包括 I/O 的等待时间,其公式如下: 程序员http://www.educity.cn/jiaocheng/zg14.html当程序中有种不同指令时,每种指令的条数和所花的时钟周期数都不相同,那么 CPU 时间公式如下:其中,I 是指令总数,即: 间,等于所有的加权平均值,其公式为:,CPI 是每条指令所花的等效 CPU 时. 例如,在某计算机系统中,如果 FP 操作的比例为 25%,FP 操作的平均 CPI=4.0,其它指 令的平均 CPI=1.33,FPSQR 操作的比例为 2%,FPSQR 的 CPI 为 20.假设有两种设计方案, 分别把 FPSQR 操作的 CPI 和所有 FP 操作的 CPI 减为 2.原系统的 CPI =25%×4+75%× 1.33=2.采用方案 1 的话,则新系统的 CPI1=CPI-2%×(20-2)=2-2%×18=1.64;采用方 案 2 的话,则新系统的 CPI2= CPI-25%×(4-2)=2-25%×2=1.5.显然,提高所有 FP 指 令处理速度的方案要比提高 FPSQR 处理速度的方案要好。 3. 吞吐率 吞吐率指的是单位时间内完成的任务数,常用的表示方式有 MIPS 和 MFILOPS. (1)MIPS.即每秒完成的百万条指令数,主要用于标量计算机,其公式如下: 程序员http://www.educity.cn/jiaocheng/zg14.html例如,已知 PentiumII 450 的 CPI=0.5.则 f=450MHz,所以: MIPS = f×106/CPI = 450×106×10-6/0.5 = 900 对于用户来说,MIPS 有三个缺陷: ? MIPS 依赖于指令集,所以用它来比较指令集不同的机器的性能好坏是不准确的。 ? 在同一台机器上,它因程序不同而变化。 ? 它可能与性能相反。如具有可选硬件浮点运算部件的机器。 所以,有时采用等效指令速度来度量,设程序中一共存在 N 种不同的指令,Wi 为第 i种指令的使用频度, MIPSi 为第 i 种指令的速度, 则等效指令速度 (2)MFLOPS.即每秒百万次浮点操作次数,主要用于标量计算机,其公式如下:MFLOPS 的优点是:基于操作而非指令,可以用来比较两种不同的机器;缺点是:它 并不可靠,因为不同的机器上浮点运算集不同;依赖于操作类型;单个程序的值并不能反映 机器的性能。 4. 可靠性 可靠性用平均无故障时间(MeanTime To Failure MTTF)来度量,即计算机系统平均 能够正常运行多长时间,才发生一次故障。系统可靠性越高,平均无故障时间就越长。可维 护性用平均维修时间(MTTR)来度量,即系统发生故障后维修和重新恢复正常运行平均花 费的时间,系统的可维护性越好,平均维修时间越短。计算机系统可用性是系统保持正常运 行时间的百分比,定义为:MTTF/(MTTF+MTTR)×100%. 用户容易对可靠性和可用性产生混淆, 二者的重要区别是系统是可维修的还是不可维修 程序员http://www.educity.cn/jiaocheng/zg14.html的。可靠性通常低于可用性,因为可靠性要求系统在整个[0,t]时间段内都必须正常运行;而 对于可用性的要求就没有那么高,系统可以发生故障,然后在时间段[0,t]内修复。 5. 容错 所谓容错是指在故障存在的情况下计算机系统不失效, 仍然能够正常工作的特性, 确切 地说是容故障,而不是容错误。在一定程度上容忍故障的技术叫做容错技术,也称为故障掩 盖技术,采用容错技术的系统叫做容错系统。 容错主要依靠冗余设计来实现,以增加资源换取可靠性。由于资源的不同,冗余技术分 为硬件冗余、软件冗余、时间冗余和信息冗余。1.7 例题分析● 计算机系统中用来连接 CPU、内存储器和 I/O 接口的总线称为系统总线。__(1)__ 总线属于系统总线技术的一种。 (1) A. IEEE1394 B. PCI C. RS-232 D. USB分析: 本题考查总线的定义及分类。 系统总线又称内总线, 用于计算机各组成部分 (CPU、 内存、 接口等) 间的连接, 其性能直接影响着整个计算机系统的性能, 常见内总线包括: ISA 总线、EISA 总线、PCI 总线等。 答案:(1)B ● 使用__(2)__技术,计算机的微处理器可以在完成一条指令前就开始执行下一条指 令。 (2) A. 迭代 B. 流水线 C. 面向对象 D. 中间件分析: 本题考查计算机中流水线的概念。 流水线方式执行指令是将指令流的处理过程划 程序员http://www.educity.cn/jiaocheng/zg14.html分为取指、译码、取操作数、执行及写回等几个并行处理的过程段。采用流水线技术,计算 机的微处理器可以在完成一条指令前就开始执行下一条指令, 指令流水线在高性能计算机中 得到了广泛应用。 答案:(2)B ● 在 CRC(循环冗余校验)方法中,采用了__(3)__运算计算校验码。 (3)A. 逻辑与 B. 逻辑或 C. 循环移位 D. 模 2 除法(异或)分析:本题考查校验码。CRC 码(循环冗余校验码)广泛应用于数据通信领域和磁介 质存储系统中,它的组成包括两部分:信息码、校验码,其中校验码由信息码产生,校验码 位数越长,该代码的校验能力就越强。在计算 CRC 编码时,采用的是模 2 除法(异或)运 算。 答案:(3)D ● 设机器码的长度为 8,X 为带符号纯小数,Y 为带符号纯整数,[X]原=,[Y] 补=,则 X 的十进制真值为__(4)__,Y 的十进制真值为__(5)__. (4) A. 1/128 (5) A. -1 B. -1/128 C. -127/128 D. 1 D. 127/128B. 127C. -127分析:本题考查机器数编码方法。对于带符号数,机器数的最高位是表示正、负的符号 位,其余位则表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;若 约定小数点的位置在机器数的最高数值位之前(符号位之后),则是纯小数。 数值 X 的原码记为[X]原,如果机器字长为 n(即采用 n 个二进制位表示数据),则最 高位是符号位,0 表示正号,1 表示符号,其余的 n-1 位表示数值的绝对值。因此,当[X] 原= 时,X=-0.1111111,即 X=-127/128. 程序员http://www.educity.cn/jiaocheng/zg14.html数值 Y 的补码记为[Y]补,如果机器字长为 n,则最高位为符号位,0 表示正号,1 表示 符号,正数的补码与其原码和反码相同,负数的补码等于其反码的末尾加 1.因此,当[Y]补 = 时,[Y]原=,则 Y=-0000001,即 Y=-1. 答案:(4)C (5)A ● 将十六进制数 9B 转换为八进制数为__(6)__. (6) A. 233 B. 433 C. 463 D. 531分析:本题考查数制转换。一位十六进制数可以用四位二进制数来表示,一位八进制数 可以用三位二进制数来表示, 所以先把十六进制数转换为二进制数, 然后再由二进制数转换 为八进制数。 (9B)16 = ( = (233)8 答案:(6)A ● __(7)__不属于存储器的速度性能指标。 (7) A. 存储周期 B. 存取时间 C. 主频 D. 存储器带宽分析:本题考查存储器速度性能指标。 存储器的速度可以用存储周期、存取时间或存储器带宽来描述。 存储周期: 存储器进行一次完整的读写操作所需要的全部时间, 也就是存储器进行连续 读写操作所允许的最短间隔时间。 存取时间:从中央处理器发出指令到操作完成的时间。 存储器带宽:存储器的数据传送速率,即每秒传送的数据位数。 驱动 CPU 工作的脉冲,称为主脉冲,单位时间内主脉冲的个数,称为时钟频率,简称 主频,是衡量 CPU 的性能指标之一。 程序员http://www.educity.cn/jiaocheng/zg14.html答案:(7)C ● 下面关于 Cache(高速缓冲存储器)的叙述,&__(8)__&是错误的。 (8)A. 在体系结构上,Cache 存储器位于主存与 CPU 之间 B. Cache 存储器存储的内容是主存部分内容的拷贝 C. 使用 Cache 存储器并不能扩大主存的容量 D. Cache 的命中率只与其容量相关 分析:本题考查 Cache 基础知识。 Cache 是位于主存和 CPU 之间的一个高速小容量存储器,其速度可与 CPU 相匹配, 但容量较小,只能存放一小段程序和数据。它根据程序局部性原理,存储短时间内系统要访 问的部分主存内容,使得 CPU 不必访问主存,直接访问 Cache 即可,在一定程度上提高了 存储器速度,但使用 Cache 存储器并不能扩大主存的容量。命中率是 Cache 的一个重要指 标,指的是在有 Cache 的系统中,CPU 需要访问的数据在 Cache 中能直接找到的概率, 它与 Cache 的大小、替换算法、程序特性等因素有关,命中率越高,Cache 的效率也越高。 答案:(8)D ● 下列光盘格式中,可以多次擦除重写数据的是__(9)__. (9) A. CD-ROM B. CD-DA C. CD-R D. CD-RW分析:本题考查常用光盘分类。 常用光盘格式有下述三种: (1)CD-ROM:固定型光盘,又叫只读光盘,它把需要记录的信息事先制作到光盘上, 用户不能抹除,也不能再写入,只能读出光盘中的信息。 (2)CD-R:追记型光盘,又叫只写一次型光盘,它可以由用户自己将信息写入光盘, 程序员http://www.educity.cn/jiaocheng/zg14.html但写过后不能抹除和修改,只能读取。 (3)CD-RW:可改写型光盘,又叫可擦写型光盘,用户可以自己写入信息,也可以对 写入的信息进行擦除和改写,就像使用软盘、硬盘一样。 CD-DA 规范是 CD 唱片采用的标准,又叫红皮书规范,它规定了光盘上记录数字声音 数据时的物理格式。 答案:(9)D ● 若内存按字节编址,用存储容量为 8K*8 比特的存储器芯片构成地址编号 7000H 至 EFFFH 的内存空间,则至少需要__(10)__片。 (10) A. 4 B. 6 C. 8 D. 10分析:本题考查存储器容量扩展。 存储器容量扩展有两种途径:位扩展法、字扩展法。位扩展法又称位并联,通过存储芯 片位数的并联扩展了存储器的字长; 字扩展法又称地址串联, 通过存储芯片地址线的串联扩 展了存储器的数量,它仅仅在字向扩充,而位数不变。 本题的情况属于字扩展, 从 7000H 到 EFFFH 共计有 =23*212=215 个 内存单元,每个内存单元占一个字节,所以需要 215/213=4 片。 答案:(10)A ● 计算机系统可维护性是指__(11)__. (11)A. 对系统进行故障检测与修复的定期时间间隔 B. 系统失效后能被修复的概率 C. 在单位时间内完成修复的概率 D. 系统失效后在规定的时间内可修复到规定功能的能力 程序员http://www.educity.cn/jiaocheng/zg14.html分析:本题考查计算机系统性能。系统可维护性用平均维修时间来度量,即系统发生故 障后维修和重新恢复正常运行平均花费的时间。 系统的可维护性越好, 平均维修时间就越短。 答案:(11)D1.8 同步训练● 计算机硬件系统由__(1)__五大部分组成。 (1)A. 运算器、控制器、存储器、输入设备、输出设备 B. 算术/逻辑运算单元、累加器、寄存器组、时序产生器、数据总线 C. 程序计数器、指令寄存器、指令译码器、时序产生器、状态/条件寄存器 D. 微处理器、存储器、I/O 端口、定时器/计数器、中断 ● 计算机系统中,CPU 能够识别和处理的代码为__(2)__. (2)A. 机器码 B. 汇编语言 C. 高级语言 D. BASIC 语言● 为了消除 CRT 显示器的闪烁,可采用的方法有__(3)__. (3)A. 降低刷新频率,减少余辉时间 B. 降低刷新频率,增加余辉时间 C. 提高刷新频率,减少余辉时间 D. 提高刷新频率,增加余辉时间 ● 计算机的总线包含地址总线、数据总线和控制总线。某计算机有 16 条地址总线,则 该计算机最大寻址空间为__(4)__字节,若该 CPU 寻址外部的数据存储器时,第 16 条地 址线始终是高电平,则此数据存储器的地址空间为__(5)__字节。 (4)A. 16K (5)A. 16K B. 32K B. 32K C. 64K D. 128K D. 128KC. 64K● 计算机的 USB 总线电源电压理论值为__(6)__. 程序员http://www.educity.cn/jiaocheng/zg14.html(6)A. 3.3VB. 4VC. 5VD. 10V● 下列计算机外部总线中,支持即插即用、数据传输速率最快的总线是__(7)__. (7)A. RS232C B. USB C. IEEE-1394 D. SCSI● 下列对 RISC 的说法中,不正确的是__(8)__. (8)A. 寻址方式少 C. 指令长度固定 B. 指令种类少D. 不适合流水线操作● 与二进制数 101 等值的十进制数是__ (9) __,等值的十六进制数是__ (10) __. (9) A. 27.25 (10)A. 16.3625 B. 37.203125 B. 17.875 C. 40.0625 C. 23.25 D. 42.125 D. 25.34● 用 n 个二进制位表示带符号纯整数时,当__(11)__时,等式[X]补+[Y]补=[X+Y] 补成立。● 对于 20 位的数据,需要__(12)__个校验位才能构成海明码。 (12)A. 3 B. 4 C. 5 D. 6● 设在机器中浮点数格式如下图所示: 程序员http://www.educity.cn/jiaocheng/zg14.html浮点数的基为 2,阶码用移码表示,尾数用原码表示。该机器规格化浮点数所能表示的 最小十进制真值为__(13)__,此时的机器码为__(14)__.(13) (14)A.
B. D. ● 某循环冗余码(CRC)的生成多项式,用此生成多项式产生的冗余位,加在信息位后形成 CRC 码。若发送信息位 1111 和 1100,则它的 CRC 码分别 为__(15)__和__(16)__. (15)A. 1101101 (16)A. 1100101 B. 0110101 B. 1110110 C. 1111111 C. 1010101 D. 1001111 D. 1101101● 设
两个数为余 3 代码,如采用这种代码进行十进制运算, 其和的余 3 代码应为__(17)__,其所代表的十进制值为__(18)__. (17)A.
(18)A. 24 B.
D. 45 D. C. 40● 已知字符 T 的 ASCII 码值的十进制表示为 84,如果将最高位设置为奇校验位, 则字符 M 的 ASCII 码设置奇校验位后,它的二进制表示为__(19)__. (19)A.
● 逻辑表达式 B.
程序员http://www.educity.cn/jiaocheng/zg14.html可以化简为__ (20)__. ( 20 )● 对 8 位补码操作数(B7)16,进行 3 位算术右移的结果为__(21)__. (21)A. (A5)16 B. (95)16 C. (F6)16 D. (C9)16● 设 X=ab,Y=cd 分别为 2 位无符号的二进制数。 逻辑命题 X&Y 的逻辑表达式为__ (22) __.(22) ● 计算机指令系统往往具有多种寻址方式。操作数就是指令的一部分称为 __(23)__ 寻址。 (23)A. 运算器 B. 指令 C. 立即数 D. 直接● 计算机内存的容量大小受到__(24)__位数的限制,若该总线为 24 位,则可以寻址 的内存空间为__(25)__字节。 (24)A. 通信总线 (25)A. 512K B. 地址总线 B. 1M C. 数据总线 C. 8M D. 控制总线 D. 16M● 某一双面磁盘,每面 32 磁道,每面磁盘格式化为 32 个扇区,每个扇区包含 4 块数 据,每块数据为 0.5KB,则该磁盘的容量为__(26)__比特。 程序员http://www.educity.cn/jiaocheng/zg14.html(26)A. 4MB. 4.096MC. 8MD. 16M● 在中断处理过程中,中断屏蔽功能可以起到__(27)__的作用。 (27)A. 撤消中断优先级 C. 改变中断优先级 B. 设置中断优先级D. 增加中断优先级● 对于下述三种中断: a. 系统调用中断 b. 溢出中断 c. 调页失误中断 它们的中断优先级从高到低顺序是__(28)__. (28)A. abc B. bca C. bac D. cba● 中断响应和处理时,保护现场的工作是由__(29)__完成的。 (29)A. 硬件 C. 操作系统 B. 用户程序 D. 硬件和操作系统● 计算机处理中断时,为了使进程能正确返回中断点,系统必须保存当前处理机状态 字 PSW 和__(30)__的值。 (30)A. 累加器 B. 基地址 C. 程序计数器 D. 数据寄存器
赞助商链接
2017年上半年软考程序员考试用什么教材复习_从业资格考试_资格考试/认证_教育专区...《程序员教程》 本书由全国计算机技术与软件专业技术资格 (水平 ) 考试办公室...2016年下半年软考程序员官方指定教材说明_IT认证_资格考试/认证_教育专区。2016...柳纯录主编的《程序员教程》,如果后续官方有更新教材的通 知,我们也将及时通知...软考程序员资讯 http://www.educity.cn/rk/cxy/index.html 软考程序员心得分享在学习程序之前, 我想大家首先应该对程序员这个行业熟悉一下,更加要对 编程的...id=14946 程序员教程(第 2 版)电子版教程下载 软考程序员教程(第 3 版)电子版教程下载 http://www.51softexam.com/show.asp?id=14945 嵌入式系统设计师...软考教材分享:程序员考试考点突破、案例分析、实战练习一本通_IT认证_资格考试/认证_教育专区。软考教材分享:程序员考试考点突破、案例分析、实战练习一本通 ...软考程序员 http://www.educity.cn/rk/cxy/index.html 软考程序员教程知识点提炼(一)软考程序员在 2017 上半年开考,希赛小编为大家整理了 一些程序员知识点...软考程序员资讯 http://www.educity.cn/rk/cxy/index.html 软考程序员教程考点精讲(信息系统开发)下面希赛小编为大家整理的软考程序员考点信息系统基础知识之信息...软考程序员 http://www.educity.cn/rk/cxy/index.html 软考

我要回帖

更多关于 手机能不能换处理器 的文章

 

随机推荐