《微型计算机原理及接口技术》·第1章:微型计算机基础

您所在的位置:网站首页 rs232c是一种内部的串行总线 《微型计算机原理及接口技术》·第1章:微型计算机基础

《微型计算机原理及接口技术》·第1章:微型计算机基础

2023-03-10 05:31| 来源: 网络整理| 查看: 265

前言

20世纪40年代,计算机技术先驱们设计出了第一台计算机,当时的计算机仅能实现简单的计算,功能很弱;由于构成计算机内部基本电子元件的单元均由电子管实现,故计算机的体积庞大,占地面积也非常大。

随着科学技术的发展,计算机的发展经历了电子管、晶体管和中小规模集成电路时代大规模集成电路( Large Scale Integration, LSI) 的出现,使得计算机微型化成为可能。20 世纪80年代,美国国际商务机器公司(IBM)推出以英特尔的X86的硬件架构及微软公司的MS - DOS操作系统的第一台IBM PC ( Private Computer)个人电脑,开创了计算机进入民用的电脑新时代,为以后计算机技术的普及应用起到了非常重要的作用。

目前大量个人使用的计算机是与IBM PC兼容的升级换代产品,由于这些计算机采用IBM PC/AT标准,具有与IBM PC相同的主体结构,软件上也完全兼容,故称为兼容机。虽然新的计算机产品在技术上有了很大的改进和优化,性能指标也有了大幅度的提高,但其基本结构和基本工作原理是相同的。

1.1 微型计算机的组成{概述}微型计算机系统的组成

微型计算机系统是由硬件系统和软件系统两大部分组成,硬件指微型计算机的设备实体,软件指运行、管理和维护微型计算机的程序。两者相互结合、密不可分。

1、硬件系统指微型计算机的设备实体2、软件系统指运行、管理和维护微型计算机的程序1.1.1 微型计算机的硬件系统组成【1】硬件系统主要功能

实现运行、计算和控制;

【2】基本工作原理——存储程序控制原理

虽然计算机的软硬件发展非常迅速,可谓日新月异,但其基本工作原理是相同的,仍为存储程序控制原理

1、首先需要将计算机完成的功能编写为程序2、然后将编写好的程序存储到计算机中3、最后启动计算机逐条取出程序中的指令并执行,以完成规定的任务【3】硬件系统的组成组成部分主要功能1、控制器负责取指令、分析指令并执行指令2、运算器完成算术运算和逻辑运算3、存储器用于存储程序和数据4、输入输出设备完成程序和数据的输入输出任务

注意:存储器与运算器之间是双向箭头,控制器可以反作用于存储器,但是不共用一条通路1.1.2 微型计算机的软件系统组成

计算机的软件系统是由系统软件和应用软件两大部分组成的。

【1】软件系统的组成名称作用常见类型【1】系统软件使用和管理计算机的软件1、操作系统2、数据库管理系统3、网络管理系统4、各种语言处理程序5、系统维护程序【2】应用软件用户根据自己需要,为解决某一实际问题而编制的程序1、企业的财务管理、人事管理程序2、设备状态监测的数据采集与处理程序

系统软件中最为典型的是操作系统。它起着管理整个微型计算机、提供人机接口以及充分发挥机器效率的作用。操作系统最重要的部分是常驻监控程序。微型计算机开机后,常驻监控程序保存在内存中,接收并识别用户命令,启动系统执行相应的动作。

操作系统还包括驱动程序和文件管理程序。前者用于执行I/O ( Input/Output,输入/输出)操作,后者用于管理外存中的数据或程序。每当用户程序或其他系统程序需要使用外设时,就要利用I/O驱动程序来执行。文件管理程序与磁盘等I/O程序配合,完成文件的存取、复制和其他处理。

【操作系统】组成部分主要作用1、常驻监控程序 [最重要的部分]接收并识别用户指令,启动系统执行相应的动作;2、驱动程序执行I/O操作3、文件管理程序管理外存中的数据或程序【2】常用的语言处理程序

C语言、VB(Visual Basic)语言、JAVA语言等等。

从理论上说,任何一台微型计算机都可以使用任何一种语言,前提是,该微型计算机的系统软件中必须包含该种语言的处理程序(编译或解释程序)。汇编程序是将汇编语言源程序翻译为机器代码程序的系统程序。

1.2 微型计算机的硬件结构及基本过程{概述}【1】硬件结构组成微处理器存储器输入/输出接口输入/输出设备图:微型计算机的硬件结构框图

图中的微处理器中包含图1-1中运算器和控制器,RAM和ROM为存储器,外设为输入设备、输出设备的总称。各组成部分之间通过数据总线DB (Data Bus)、地址总线AB(Address Bus)、控制总线CB (Control Bus)连接在一起。

【2】三总线结构

微型计算机的这种硬件结构成为三总线结构,也称为总线结构。总线结构使得内部系统构成方便,并具有很好的可维护性和可扩展性。

数据总线 DB(Data Bus)地址总线 AB(Address Bus)控制总线 CB(Control Bus)【3】按总线的组织方式分类单总线结构双总线结构双层总线结构

——1)单总线结构

特点1、存储器和I/O接口使用一组总线传输信息2、微处理器对I/O接口和存储器的访问只能【分时】进行3、若信息量增大,使得系统的吞吐量趋于饱和,则会导致系统性能下降4、目前仍然广泛使用,因为 ——结构简单,成本低,易于实现

——2)双总线结构

特点1、I/O接口和存储器各使用一组总线与微处理器进行信息传输;2、微处理器可以同时访问I/O接口和存储器,提高信息传输效率;3、为解决同时通信给微处理器带来的负担,可以选用专门的I/O芯片来完成与I/O接口的管理任务;

——3)双层总线结构

特点1、有多个微处理器和其他主控设备2、当某微处理器需要访问全局存储器和全局I/O接口时,必须由总线控制逻辑部件统一进行安排3、当某一微处理器作为系统主控设备使用全局存储器和全局I/O时,其他微处理器可以通过局部总线访问局部存储器和局部I/O1.2.1数据总线、地址总线和控制总线

所谓总线,实际上是一组专门用于信息传输的公共信号线,各相关部件都被连接在这组公共线路上,采用分时操作进行控制,实现独立的信息传送。

【1】总线分类方式

1)按 传输信息类别 分类

数据总线地址总线控制总线

2)按 传输信息方向 分类

单向总线双向总线【2】数据总线 DB1、用于传递数据信息,属于【双向总线】2、可以实现【微处理器到存储器】与【微处理器到I/O接口】之间的数据传送3、DB总线的位数与微处理器的字长密切相关,位数越宽,一次性可传输的数据量越大,计算机的整体执行速度就会越快【3】地址总线 AB1、用于传送CPU发出的地址信息,属于【单向总线】2、地址信息用于找寻 存储器 或 外设3、AB总线的位数决定了外界存储器最大的存储容量,AB总线越宽,可以寻址的内存空间越大【4】控制总线 CB【1】用于微处理器向各部件发出控制信息、时序信息以及外部设备向微处理器发送请求信息【2】CB 中每一根线的方向都是一定的,且是单向的,但【作为整体来看是双向的】【3】CB 的大部分是单向的,指向存储器和外设,只有少数CB是双向的;1.2.2 微型计算机的主要组成部分及功能——【1】微处理器(中央处理器)

微处理器是微型计算机的运算和控制指挥中心,主要由运算器、控制器、寄存器组(阵列)以及内总线组成,合称为中央处理器CPU ( Central Processing Unit)。微型计算机的中央处理器由于体积微小也称为微处理器MPU(MicroprocessorUnit)。微处理器的内部结构如图1-6所示。

1)运算器——执行算术运算和逻辑运算

主要组成部件主要作用1、累加器ACC(Accumulator)用于寄存运算前的数据及运算结果2、暂存器TMP(Temporary)用于暂存运算前的数据3、算术逻辑单元ALU(Arithmetic Logic Unit)主要完成算数运算和逻辑运算4、标志寄存器FR(Flag Registers)用于反映运算过程和运算结果的某些状态或特征

运算器是执行算术运算和逻辑运算的部件,由累加器ACC(Accumulator)、暂存器TMP( Temporary)、算术逻辑单元ALU ( Arithmetic Logic Unit)、 标志寄存器FR ( Flag Registers )和一些逻辑电路组成。

①累加器ACC:用于寄存运算前的数据及运算结果。

②暂存器TMP:用于暂存运算前的数据。

③算术逻辑单元ALU: ALU是运算器的核心,它主要完成算术运算与逻辑运算操作。它以累加器ACC的内容为第一运算操作数, 暂存器TMP的内容为第二运算操作数,并将运算后的结果送入累加器ACC中。

④标志寄存器FR:用于反映运算过程和运算结果的某些状态或特征,例如运算过程中是否产生了进/借位,运算结果是正还是负、是否为零等。每种状态或特征都用FR中一个相应的标志位来表示。FR中的状态标志常为CPU执行后续指令时所用,如根据运算结果是否满足条件来决定程序是顺序执行还是跳转执行。

在80386以上的微处理器中,FR除存放状态标志外,还存放控制标志和系统标志

2)控制器——指令执行部件

指令寄存器IR(Instruction Register)指令译码器ID(Instruction Decoder)操作控制电路OC(Operate Control)

控制器是指令执行部件,包括取指令、分析指令(指令译码)和执行指令,由指令寄存器IR ( Instruction Register)、 指令译码器ID ( Instruction Decoder)和操作控制电路( OperateControl)三个部件组成。

这三个部件是整个微处理器的指挥控制中心,对协调微型计算机有序工作极为重要。CPU根据用户预先编好的程序,依次逐条从存储器中将指令取出来放在IR,由ID进行译码分析,确定应该进行什么操作后,操作控制电路根据译码结果,定时向相应的部件发出控制信号,完成指令指定的操作。

3)寄存器组

在微处理器内部的寄存器组中,主要由通用寄存器和专用寄存器组成。

1、通用寄存器

【1】作用:暂时存放 ALU 需要用到的数据,方便完成各种数据操作【2】通用寄存器的存取速度比存储器快,故其数量越多,越能减少 CPU 访问访问普通存储器的次数,进而加快数据处理速度【3】通用寄存器可用于存放某些需要重复使用的操作数或中间结果,进而避免对存储器的频繁访问,缩短指令执行时间,加快CPU的运算处理速度

通用寄存器的作用是暂时存放ALU需要用到的数据,方便完成各种数据操作。通用寄存器的数目主要因微处理器的结构而异,通常8位机的数量较少,16位机、32位机的数量较多,通用寄存器的数量越多越有利于减少CPU访问普通存储器的次数,有利于加快数据处理速度

由于寄存器的存取速度比存储器快,通用寄存器可用于存放某些需要重复使用的操作数或中间结果,从而避免了对存储器的频繁访问,缩短了指令的执行时间,加快了CPU的运算处理速度,但由于CPU的处理速度以及内部结构的限制,其内部寄存器的数量也是有限的。

2、专用寄存器——具有特殊功能

专用寄存器一般不会用于存放进行数据运算时的数据和运算结果,它们在程序的执行过程中有特殊功能,如程序计数器PC ( Program Counter)、 堆栈指示器SP(Stack Pointer) 等。

①程序计数器PC

程序计数器PC用于存放下一条要执行的指令在存储器中存放的地址,通常称为PC指针。

程序中的各条指令一般均顺序存放在存储器中,一个程序开始执行时,PC中保存的二进制信息为该程序第一条指令所在的地址。微处理器总是以当前PC的值为指针,从所指定的存储单元中取指令。每从存储器中取出一个字节的指令,PC指针的内容就自动加1,当从存储器中取完一条指令的所有字节进入执行指令时,PC中所存放的信息便是下一条将要执行的指令的地址。

这样,在多数情况下程序的各条指令得到顺序执行。若要实现程序转移操作,只要在前一指令的执行过程中,把转移目标的新地址装入PC,就可使微处理器从目标地址开始执行程序。

②堆栈及堆栈指示器SP

堆栈是指一片特殊的具有记忆功能的存储空间,它可以由微处理器内部的寄存器构成,也可以由软件在内存中开辟一个特定区域构成。由寄存器组成的堆栈称为硬件堆栈,由一片特定的存储区构成的堆栈称为软件堆栈。目前,绝大多数CPU都支持软件堆栈。

堆栈一旦形成就必须遵循先进后出FILO(FirstInLastOut)的原则对栈区的数据进行操作。堆栈区中的每个数据被称为堆栈元素,如图1-7中的2211H, 0005H。 将数据存入堆栈区称为“压栈”(PUSH), 从栈区中取出数据称为“ 弹栈”(POP),最后压入堆栈区的数据称为栈顶元素,如图1-7中的05H。由于堆栈区只有一个数据出入口,因此压栈和弹栈操作总在栈顶进行。

(向下增长型)

堆栈指示器SP是一个16位的地址寄存器,它的内容始终是当前堆栈栈顶元素所在位置的地址,如图1-7所示。由于对堆栈的操作始终是在栈顶进行的,所以栈顶元素所在位置的地址也不是固定不变的,即随着对堆栈的一次压栈或弹栈操作的进行,SP的内容就会自动变化,其变化的方向因栈区的编址方式而异。

堆栈区的编址方式有两种,即向下增长型向上增长型。对于向下增长型堆栈,一次压栈操作,数据压入栈区后,SP自动减量,向上浮动指示新的栈顶;一次弹栈操作,数据弹出栈区后,SP自动增量,向下浮动指示新的栈顶。对于向上增长型堆栈其SP变化方向相反。

堆栈增减量的大小因操作数类型而异,如是字节型数据增减量为1、字型数据增减量为2。

【注意】堆栈主要应用于 保护断点和现场。【补充】——堆栈在所有微处理器中都起着重要作用1)堆栈可用于暂时存放数据,数据用PUSH指令压入堆栈,用POP指令弹出堆栈;2)堆栈也可为程序保存提供返回地址,子程序调用指令CALL用堆栈保存程序返回地址,子程序返回指令RET从堆栈取出返回地址;3)对于堆栈区域中存储单元的寻址是一种特殊的【存储器操作数】的寻址方式,它利用两个寄存器访问:堆栈指针SP和堆栈寄存器SS;——【2】存储器——存储程序和数据的部件

存储器是计算机中存储程序和数据的部件。存储器由半导体存储单元构成,每个存储单元可存放一个8位二进制数据。存储器的性能通常用存储容量和存取速度来描述。

存储容量描述存储器存储二进制信息量多少的指标。存储二进制信息的基本单位是位(Bit),但在计算存储容量时常用字节Byte (8位二进制信息)和字Word (16 位二进制信息)作单位,并且将 2^{10}=1024 个字节称为1KB,1024KB称为1MB,1024MB称为1GB,1024GB 称为1TB。

通常所称的计算机内存容量就是指能存放的最大字节数。每个存储单元的查找是通过地址进行管理,存储容量越大,需要的地址线也就越多。例如1MB的存储容量需要 A_{19}\sim A_{0} 共20条地址线;若有32条地址线则能管理4 GB的内存容量。内存单元与地址之间的关系如图1-8所示。

存取速度是描述存储器工作快慢程度的指标,指信息存入存储器和从存储器中取出所需要的时间。微型计算机CPU的运行速度远大于内存读取速度。因此,内存的存取速度快慢会对计算机的整体运行速度产生较大影响。通常内存的速度是以频率来表示的,比如533 MHz的内存条等,选用频率高的内存条有利于提高整机速度。

——【3】输入输出接口——I/O接口

CPU需要与外部设备进行数据交换,但由于CPU与外部设备存在速度配合及信号不匹配等问题,不能直接与外部设备连接,因此引入计算机输入输出接口。

该接口是CPU与外部设备之间交换信息的连接电路,它们通过总线与CPU相连,简称I/O接口。常见输入输出接口有VGA接口、标准视频输入(RCA)接口、USB接口、RS232C 串口以及音频输入输出接口等。

——【4】输入输出设备——外部设备

使用微型计算机就必须进行人机交互,将外部信息传送到微型计算机称为输入;将微型计算机的运行结果传送出来称为输出。能完成信息输入或输出的设备称为输入输出设备,二者也合称为外部设备

输入设备的作用是把信息送入计算机。最常用的输入设备是键盘和鼠标,还有摄像头、图形扫描仪和条形码读入器等。

输出设备的作用是将计算机的运算结果通过图像、数据和打印等方式输出出来。最常用的输出设备是显示器和打印机。

也有些设备既是输入设备,又是输出设备。如平板电脑的触摸屏。

1.2.3 微型计算机基本工作过程

计算机的核心是CPU,了解CPU的工作过程对于理解计算机内部工作原理非常重要。

指令是规定计算机执行某种特定操作的命令。程序是由若干条指令按特定次序组成的。计算机一条条地执行指令,从而完成程序所设定的特定功能。

完成一个机器动作所需要的时间叫做机器周期。例如取指周期,通常一个机器周期需要4个时钟周期T来完成。完成一条指令所需要的时间叫做指令周期。每条指令由一个或多个机器周期构成。有的

【1】指令的构成

每条指令由操作码操作数构成。操作码代表着指令的命令本身,是每条指令不可缺少的部分;操作数是指令操作的对象,有的指令的操作对象隐含在了操作码中,故可以没有操作数。

【1】操作码代表指令的本身,是每条指令不可缺少的部分【2】操作数代表操作的对象,有的指令的操作对象隐藏在了操作码中,故可以没有操作数【2】CPU工作过程

CPU的工作过程是在内部时钟的控制下,循环往复进行取指令、分析指令和执行指令这三步操作,来完成一条一条的指令规定动作,最终完成程序所设定的功能。

计算机内部由系统时钟来控制时序逻辑电路的执行动作

【1】取指令【2】分析指令【3】执行指令【3】时钟周期 & 机器周期 & 指令周期(示例见教材P9)【1】时钟周期1、计算机内部最小的时间单位即一个时钟周期T,是 CPU 主频的倒数;2、主频越高,时钟周期越小,进而CPU执行速度越快;【2】机器周期1、完成一个机器动作所需要的时间即机器周期;2、通常一个机器周期需要4个时钟周期T来完成;【3】指令周期1、完成一条指令所需要的时间;2、一个指令周期内可以完成的指令称为【单周期指令】;3、多个指令周期内才能完成的指令称为【多周期指令】;1.3 微型计算机的运算基础1.3.1 计算机中数的表示【1】机器数和真值

在计算机中,无论数值还是符号,都是用0或1来表示的。通常用最高位做符号位,0表示正数,1表示负数。例如:

+10- 10对应的二进制数为00001010对应的二进制数为10001010

通常将在计算机中使用的、连同符号位一起数字化了的二进制数称为机器数。机器数所表达的真实值对应的十进制数叫真值

例如:若以原码表示的机器数00101110,则所表达的真值为+46。

【2】带符号数的表示方法

在计算机中,带符号数的表达方法有多种,最常用的是原码、反码和补码这三种。

(1)原码

在机器数中,将最高位作为符号位,其余二进制位表示该数的绝对值的表示方法叫做原码表示法。

原码10101110原码01101000真值为-46真值为+ 104

注意:原码表示法中,有正0 (00000000) 和负0 (1000000)两种。以8位二进制为例,原码的表示范围为+127~ -127。

要获得负数原码的真值,只需将除符号位以外的二进制数求值即可

(2)反码

正数的反码表示与原码相同,负数的反码是将其对应的正数的各位取反,符号位为负。

反码00101110反码11010001反码0000000反码11111111真值为+46真值为-46真值为+0真值为-0

以8位二进制为例,反码的表示范围为+127 ~ - 127。

要获得反码的真值,需将除符号位以外的二进制数取反后求值

(3)补码

正数的补码表示与原码相同,负数的补码是将其对应的正数的各位取反后再加1,符号位仍为负

补码00101110补码11010010补码0000000补码1111111真值为+46真值为-46真值为0真值为-128

注意:补码表示法中,只有正0,没有负0

在计算机中,由于补码表示法的机器数利用率较高,还能将减法转换为加法进行计算,所以总是以补码的形式来表示带符号数。

若要获得负数补码的真值,可以将除符号位以外的二进制数再求补得到实际使用过程中,因负数本身就是用补码来表示的,故无需进行再求补计算

【3】编码——BCD码 & ASCII码

编码是为了在特定场合下方便使用而制定的一种数字代号。例如身份证号、手机号等,其作用是代表身份和用户的符号。虽是可以任意编号,但为了代表特定的意义,总会按照某种规律来编码,使编码容易理解、容易记忆等。例如身份证号中含有地区、生日等信息,手机号中含有运营公司等信息。

计算机中常用的编码有两种(BCD码和ASCII码),是为方便进行特定计算而制定的编码规则。

(1)二进制编码的十进制数(BCD码)

4位二进制数表示1位十进制数的编码方法叫做BCD码(Binary-Coded Decimal)。最常用的BCD码是8421码。

由于计算机中,存放二进制数的最小单位是1个字节(8 位二进制数),因此,在计算机里BCD码的表示方法又分为两种:分离BCD码和组合BCD码(或压缩BCD码)

【1】分离BCD码用 1 个字节(8位二进制数)表示 1 位十进制数,低 4 位为BCD 码,高四位补 0;分离BCD码

特点: 1个字节表示1位十进制数,直接书写,方便直观。缺点是浪费了高4位,加大了存储数据的存储空间。

【2】组合BCD码用低 4 位表示 1 位BCD码,用高 4 位 表示另一位 BCD码,即一个字节同时表示两位十进制数;

例如:十进制数56,用组合BCD表示为0101 0110,写为十六进制数则为56H。注意:此时获得的二进制数是通过编码规则直接书写而成,而非计算而得

特点是: 1个字节表示两位十进制数,结构紧凑,节约了存储空间;缺点是实际使用中有时需要组装和拆分。

(2)字母和符号的编码(ASCII码)

计算机处理的信息要用到数字、字母和符号等,这些符号在计算机内部是通过统一编码来识别的。计算机普遍采用的是ASCII码( American Standard Code for Information Interchange) ,即美国标准信息交换码。

在ASCII码编码规则中,应注意以下几点:

【1】ASCII码与 BCD码低 4 位相同,区别仅在于高四位;前者高 4 位是 0011,后者高 4 位是0000;【2】0~9的ASCII码为 30H~39H;【3】大写字母 A 的ASCII码为 41H,其余字母按 十六进制 递增;【4】小写字母 a 的ASCII码为 61H,其余字母按 十六进制 递增;【5】小写与大写字母之间相差 20H;

注意:ASCII码一般在计算机的 【输入和输出设备】 中使用,BCD码和二进制数则在数据的运算和处理过程中使用!

1.3.2 计算机的基本运算方法【1】CPU可直接提供的运算【1】算术运算加、减、乘、除【2】逻辑运算与、或、非、异或、求补、移位【2】补码的加减法运算举例(教材P13)【3】溢出的判断

(1)“溢出”的定义

当进行带符号数的计算时,若计算结果超出了表示范围(-128~+127),则称之为 溢出

(2)“双高位” 判别法

【1】最高位进位C1【2】次高位进位C21、若计算结果中,C1与C2的结果相同,则无溢出;反之,若不同,则溢出;2、溢出标志 即 C1 与 C2 【异或】 的结果;举例(教材P14)【4】BCD码运算及十进制调整

日常生活中最常见的数制是十进制,利用BCD码编码规则,很容易将十进制数转换为BCD码。但是,由于计算机总是将数据作为二进制数来进行运算,在利用指令进行算术运算时,是按“逢16进一”的法则进行,而日常生活中采用的十进制运算均是按“逢10进一”法则进行的,故两种计算方法中相差6。因此,在利用指令进行BCD码运算时, 为获得正确的十进制结果,往往需要将计算结果进行修正,即进行所谓的“十进制调整”。

从计算的结果可看出结果为无效BCD码(即出现了A~F之间的值),故需再进行十进制调整操作,将计算结果再加F6H后,即可得到分离BCD码的正确结果12。

例如,求分离BCD码9与8之和。已知9 +8=17,用二进制数进行运算有:

计算结果虽是BCD有效码,但因在加法运算过程中出现了辅助进位,故仍需再进行十进制调整操作,将计算结果再加F6H后,得到分离BCD码的正确结果17。

例如,求组合BCD码56与82之和。已知56 +82 = 138,用二进制数进行运算有:

计算结果高4位为BCD无效码,低4位是有效码且无进位,故BCD码高位需进行十进制调整操作,将计算结果再加60H后,得到组合BCD的正确结果138。

由以上几例可得,十进制调整的规则如下:

➢若BCD码加法运算结果中出现无效码或出现进位,则在相应位置再加6

➢若BCD码减法运算结果中出现无效码或出现借位,则在相应位置再减6

➢实际上,分离BCD码的十进制调整处理方法略有不同,在高4位上还需加F

BCD码运算的十进制调整是由专门的十进制调整指令来完成的。算法不同、编码不同,其调整指令也不相同。注意:若被计算的数是BCD码,则程序中需要加上十进制调整指令,若被计算的数不是BCD码,则程序中不能加十进制调整指令。

采用哪种数据形式进行运算是程序员在编程之前必须确定的,不同的数据形式,实现的算法各不相同。正如高级语言在使用变量之前要求必须先定义变量类型一样,这样才能够在编译时确定正确的计算方法。

【5】逻辑运算

逻辑运算是按照二进制的最小单位Bit (位)来进行的,常用的逻辑运算有与、或、异或、非等。

1.4 典型微型计算机1.4.1:主要性能指标

衡量一台微型计算机性能的主要技术指标包含字长、存储器容量、运算速度、外设扩展能力、软件配置等。

1.字长

字长是指计算机对外一次能传送及内部处理数据的最大二进制数码的位数。计算机的字长主要取决于它的数据总线的宽度,而CPU对数据的处理能力及速度取决于它的通用寄存器、ALU及内总线的位数。

字长越长,一次所能运算的数据量就越大,数据处理速度就越快。当然,字长越长,计算机的硬件代价也越大。一般情况下,CPU的内外部数据总线宽度是一致的。但有的CPU为了改进运算性能,加宽了CPU的内部总线宽度,内部数据总线和外部数据总线宽度不一致。如Intel8088的内部数据总线宽度为16位,外部为8位,称为“准16位”CPU。

2.运算速度

计算机的运算速度一般用每秒钟所能执行的指令条数来表示

由于不同类型的指令的执行时间不同,因而运算速度的计算方法也不同,常用计算方法有:

①根据不同类型的指令出现的频度,乘上不同的系数,求得统计平均值,作为运算速度。这时常用每秒钟执行百万条指令数MIPS ( Millions of Instruction Per Second)作单位。

②以执行时间最短的指令( 如加法指令)为标准来估算速度。

③直接给出CPU的主频和每条指令的执行所需的时钟周期。主频一般以MHz为单位。

计算机实际的整机运行速度还与存储器读取速度、硬盘读取速度以及显示驱动电路处理能力等有密切关系,综合考虑各项指标才能正确反映机器的运行情况。

3.内存储器的容量

内存储器,也简称为内存或主存,是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据均存放在内存中。内存的性能指标主要包括存储容量和存取速度。内存储器容量的大小反映了计算机即时存储信息的能力。

随着操作系统的升级,应用软件的不断丰富及其功能的不断扩展,人们对计算机内存容量的需求也不断提高。例如,运行Windows 95或Windows98操作系统至少需要16MB的内存容量,WindowsXP则需要128MB以上的内存容量。内存容量越大,系统功能就越强大,能处理的数据量就越庞大。

4.外存储器的容量

外存储器容量通常是指硬盘容量(包括内置硬盘和移动硬盘)。外存储器容量越大,可存储的信息就越多,可安装的应用软件就越丰富。目前,其主流硬盘的容量为500 GB ~2 TB。

5.外设扩展能力

微型计算机系统配接各种外部设备的可能性、灵活性和适应性,被称为外设的扩展能力。

一台微型计算机系统允许配接多少外部设备,对于系统接口和软件研制有着重大的影响。在实际应用中,打印机型号、显示屏幕分辨率和外存储器容量等,都是外设配置中需要考虑的问题。

6.软件配置

软件是微型计算机系统的重要组成部分,微型计算机系统中软件配置是否齐全,直接关系到计算机性能的好坏和效率的高低。微型计算机是否有功能很强、能满足应用要求的操作系统和高级语言、汇编语言,是否有丰富的、可供选用的应用软件等,都是在购置微型计算机时需要考虑的。

1.4.2:微型计算机中的 主要计算机技术

随着大规模集成电路的广泛应用,许多大中型计算机中采用的主要技术均可应用于微型计算机中,这些技术包括:流水线技术、乱序执行技术、推测执行技术、RISC技术、高速缓冲存储技术、虚拟存储技术以及Core微架构系列技术等,这些技术的应用极大地提高了微型计算机的整体性能。

1.流水线技术

流水线( Pipeline)技术是一种将一条指令的执行过程分解为多个操作步骤,并让几条指令的不同操作步骤在时间上重叠,从而实现几条指令并行处理、提高程序运行速度的技术。

每一个操作步骤均由一个独立的电路来完成,若干个完成不同操作步骤的电路组成了指令流水线。

流水线技术并没有加速单条指令的执行,每条指令的操作步骤一步也没有少, 只是多条指令的不同操作步骤同时执行,总体上加快了指令流速度,缩短了程序执行时间

16位以上微处理器基本上都采用了流水线技术。80486使用了6级流水线结构。当流水线装满指令时,每个时钟周期平均有一条指令执行完毕,这与汽车生产上的装配流水线非常相似。当流水线深度在5~6级以,上时,通常称之为超流水线结构( Superpipelined)。

显然,流水线级数越多,每级所花的时间越短,时钟周期就可设计得越短,指令流速度也就越快,指令平均执行时间也就越短。

有的微处理器( 如Pentium、Pentium Pro等)在片内集成了两条或多条流水线,平均一个时钟周期可执行一条以上的指令。这种流水线技术被称为超标量( Superscalar)设计技术。

流水线技术是通过增加计算机硬件来实现的。例如要能预取指令,就需要增加预取指令的硬件电路和存放预取指令的指令队列缓冲器,使微处理器能把取指令操作和执行指令的操作在时间上重叠起来。

2.乱序执行技术

为了进一步提高处理速度,从Pentium Pro、Pentium II和Pentium III 开始新推出的高档微处理器采用了一种乱序执行技术来支持其超标量和超流水线设计。

所谓乱序执行(Out of Order Execution)技术就是允许指令按照不同于程序中指定的顺序发送给执行部件,从而加速程序执行过程的一种先进技术。它本质上是按数据流驱动原理工作的( 传统的计算机都是按指令流驱动原理工作的),根据操作数是否准备好来决定一条指令是否立即执行。不能立即执行的指令先搁置一边,而把能立即执行的后续指令提前执行。

乱序执行技术必须以数据流分析和微指令操作数、执行状态和执行结果的缓冲寄存为前提,通过数据流分析,决定哪些微指令已准备好了所有的操作数,并可被发送到执行部件,从而将未执行过的后续指令重新组合为适当的可执行序列。

在整个程序运行过程中,这个工作必须不断地、动态地执行。显然,必须为此提供复杂的硬件支持,如重排序缓冲器( Recoder Buffer)和可保留多条已译码微指令的“保留站”及其控制逻辑等。

3.推测执行技术

推测执行技术( 或称为预测执行技术)是为了充分发挥流水线与并行执行技术和分支超顺序执行技术而采取的一种先进技术。

据统计,程序中平均每七条指令就有一条分支转移指令。也就是说,在一个程序区域取六条指令后就有可能要转移到存储器的其他区域去取指令,甚至更短,若流水线的深度较深或并行与超顺序执行的规模较大时,进入流水线与并行执行部件和超顺序执行部件的指令就可能很多,甚至还可能包括一条、多条转移指令,微处理器执行到这些转移指令时,位于这些转移指令后的指令就可能根本不是下一条要执行的指令,下一条要执行的指令甚至可能不在整个流水线中或微处理器内。这时,位于流水线中的指令就会因无用被清除,那么对这些被清除的指令的先前取指与译码等操作就是徒劳的。此时必须根据转移指令重新取指进入流水线,进行译码等操作,微处理器的执行部件也不得不等待一段时间, 从而影响整个微处理器的执行速度。

推测执行技术的核心就是微处理器在取指阶段,能预先执行并判断所取指令的下一条指令最有可能的位置,即取指部件就具有部分指令执行功能,做取指的分支预测,保证取指部件所取的指令是按照执行顺序取入,而不是完全按照指令在存储器中的存放顺序取入。

具体来说,分支预测的主要作用就是决定哪一条指令是执行部件最有可能将要执行的。分支预测有动态分支预测静态分支预测两种。

动态分支预测就是当第一次进行一条分支指令预测时,预测可能失败也可能成功,预测信息将被微处理器作为历史保存在分支目标缓冲器(BTB,BranchTargetBuffer)中。当再次取指到该分支指令时,便通过这些保存在BTB中的信息进行动态预测是否发生分支转移。动态分支预测用于尽早(在取指阶段而不是在译码阶段)修改指令指针,因此,若预测无误,进入到流水线中需要清除的指令数就少,执行的速度就快。

如果在BTB中没有关于一条分支指令的历史信息,处理器便在译码阶段对该分支指令通过一种静态分支预测算法进行预测。由于静态分支预测比动态分支预测发生要迟(在译码阶段而不是在取指阶段),因此,在预测失败时需要更多的时钟周期来恢复流水线的重新执行状态。

4.高速缓冲存储器技术

在32位及以上微型计算机中,为了加快处理速度,在CPU与主存储器之间增设了一级或两级高速小容量存储器,称之为高速缓冲存储器(Cache)。

高速缓冲存储器的存取速度比主存要快一个数量级, 大体与CPU的速度相当。CPU在取指令或取操作数时,首先看其是否在高速缓冲存储器中,若在,则直接进行存取操作;不在时才访问主存储器,同时将访问内容及相关数据块赋值到高速缓冲存储器中。指令或操作数在高速缓冲存储器中时,称为“命中”,反之称为“未命中”

由于相关程序块和数据块一般都按顺序存放,因此,CPU对存储器的访问大都是在相邻的单元中进行,故CPU对高速缓冲存储器存取命中率可在90%以上,甚至高达99%。

5.虛拟存储器技术

虚拟存储器技术是一种通过硬件和软件结合,扩大用户编程用存储空间的技术。

它在内存储器和外存储器(硬盘、光盘)之间增加一些硬件和软件,使两者形成一个有机整体。编程人员在编程序时不用考虑计算机的实际内存容量,可以编写比实际内存容量大得多的程序。

程序预先放在外存储器中,在操作系统的统一管理和调度下,按某种置换算法依次调入内存储器被CPU执行。这样,CPU看到的是一个速度接近且容量很大的内存储器。在采用虚拟存储器的计算机中,存在虚地址空间( 或逻辑地址空间)和实地址空间( 或物理地址空间)两个不同的地址空间。

虚地址空间是程序可用的空间,而实地址空间是CPU可访问的内存空间,由CPU地址总线宽度决定。虚地址空间比实地址空间大得多,对80486而言,其虚拟地址空间为 2^{46}=64TB ,实地址空间为 2^{32}=4GB 。

6.基于Core微架构( Core Micro - Architecture)系列技术

Core微架构中,通常把“Core” 直接音译为“酷睿”,微架构又称为微处理器体系结构。

Core微架构拥有双核心、64bit指令集、4发射的超标量体系结构(即每个时钟周期可以同时执行4条指令)和乱序执行机制等技术,支持包括SSE4在内的Intel 所有扩展指令集,在功耗方面也将比先前产品有大幅下降。

基于Core微架构的酷睿2处理器,性能远远领先于以往所有PC处理器,而功耗又大幅度降低。其包含了一系列的技术:

宽度动态执行技术( Intel Wide Dynamic Execution): Core 微架构比Pentium架构多拥有1组解码器,共计4组解码器,致使每个内核将变得更加“ 宽阔”,这样每个内核就可以同时处理更多的指令。从基础上提升了处理器的运算性能,包括快速十六进制除法器、更快速的操作系统基础支持以及增强的Intel虚拟化技术三个部分。

高级智能缓存技术( Intel Advanced Smart Cache): Core 微架构采取共享二级缓存的做法,两个内核的一级数据缓存之间可以直接交换数据,并且两个内核共享二级高速缓存,可以最大限度地降低内存负荷以减少能耗,大幅提高了二级高速缓存的命中率。

智能内存访问技术( Intel Smart Memory Access): 此项技术能够,对内存读取顺序做出分析,智能地预测和装载下一条指令所需要的数据,这样能够减少处理器的闲置,从而提前载入或预取数据,反映到用户的直接使用体验上,就是大幅提高了执行程序的效率。

智能功率能力技术( Intel Intelligent Power Capability):进一步降低功耗,优化电源使用,在制程技术方面做出优化,并采用先进的功率门控技术,可以智能地打开当前需要运行的子系统,而其他部分则处于休眠状态,这样将大幅降低处理器的功耗及发热。同时采取过热保护机制等功耗管理技术,在系统空闲时通过把处理器倍频降低到6倍频以及降低处理器核心电压等措施,有助于节省功耗,降低发热量。

高级数字媒体增强技术( Intel Advanced Digital Media Boost):全面提升了处理器的浮点运算能力,对数字媒体的一系列优化、增强,包括了SSE4指令集的加入,使多媒体和显卡应用程序的指令执行速度有效地提高一倍。

第一章结束


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3