大学计算机硬件与接口技术课件第一章 微机系统组成及工作原理.ppt
1.1 1.1 微机系统概述微机系统概述1.2 1.2 微机系统的硬件结构微机系统的硬件结构1.3 1.3 微机运算根底微机运算根底1.4 1.4 微机根本工作原理微机根本工作原理1.5 PC1.5 PC系列微机系统系列微机系统第一章第一章 微机系统组成及工作原理微机系统组成及工作原理1.1 1.1 微机系统概述微机系统概述1.1.1 1.1.1 微机微机系统的三个层次系统的三个层次1.1.2 1.1.2 微机系统的主要性能指标微机系统的主要性能指标微机系统从局部到全局存在三个层次:微机系统从局部到全局存在三个层次:1.1.微处理器微处理器2.2.微型计算机微型计算机3.3.微型计算机系统微型计算机系统 1.1.1 1.1.1 微机微机系统的三个层次系统的三个层次 1.1.1 1.1.1 微机微机系统的三个层次系统的三个层次1.1.微处理器微处理器 微处理器本身不是计算机,不能独立工作,它是微型计微处理器本身不是计算机,不能独立工作,它是微型计算机的核心部件,包括算术逻辑部件算机的核心部件,包括算术逻辑部件ALU,ALU,控制部件和存放器控制部件和存放器组三个根本局部。组三个根本局部。1.1.1 1.1.1 微机微机系统的三个层次系统的三个层次 是是以以微微处处理理器器为为核核心心,加加上上由由大大规规模模集集成成电电路路制制作作的的存存储储器器(ROMROM和和RAM)RAM)、输输入入/输输出出接接口口和和系系统统总总线线组组成成的的。它它不不是是完完整整的的计计算算系系统统,也也不不能能独立工作。独立工作。BIOS ROMBIOS ROMCPUCPU插槽插槽总线插槽总线插槽RAMRAM插槽插槽 微型计算机系统是以微型计算机为核心,再配以相微型计算机系统是以微型计算机为核心,再配以相应的外围设备、电源、辅助电路和控制微型计算机工作应的外围设备、电源、辅助电路和控制微型计算机工作的软件而构成的完整计算系统。它可以独立工作,有实的软件而构成的完整计算系统。它可以独立工作,有实用意义。用意义。1.1.1 1.1.1 微机微机系统的三个层次系统的三个层次q 字长字长q 存储器容量存储器容量q 运算速度运算速度q 外设扩展能力外设扩展能力q 软件配置情况软件配置情况 字长是计算机内部一次可字长是计算机内部一次可以处理的二进制数码的位数。以处理的二进制数码的位数。决定于计算机通用存放器、决定于计算机通用存放器、内存储器、内存储器、ALU ALU 的位数和数的位数和数据总线的宽度。据总线的宽度。字长越长,一个字所能表字长越长,一个字所能表示的数据精度就越高;在完示的数据精度就越高;在完成同样精度的运算时,那么成同样精度的运算时,那么数据的处理速度越高。数据的处理速度越高。存储器容量存储器容量是衡量是衡量计算机存储二进制信计算机存储二进制信息量大小的一个重要息量大小的一个重要指标。包括:指标。包括:内存容量内存容量 外存容量外存容量 计算机计算机运算速度运算速度一一般用每秒钟所能执行般用每秒钟所能执行的指令条数来表示。的指令条数来表示。一台计算机允许配接一台计算机允许配接多少外部设备,对于系多少外部设备,对于系统接口和软件研制都有统接口和软件研制都有重大影响。重大影响。软件是计算机系统必不软件是计算机系统必不可少的重要组成局部,它可少的重要组成局部,它配置是否齐全,直接关系配置是否齐全,直接关系到计算机性能的好坏和效到计算机性能的好坏和效率的上下。率的上下。1.1.2 1.1.2 微机系统的主要性能指标微机系统的主要性能指标 1.2.1 1.2.1 三总线结构及分类三总线结构及分类 1.2.2 1.2.2 微机各大组成局部的根本结构及功能微机各大组成局部的根本结构及功能 1.2 1.2 微型计算机系统的硬件结构微型计算机系统的硬件结构 目前各种微机系统采用的根本上是计算机的经典结构目前各种微机系统采用的根本上是计算机的经典结构-冯冯诺依曼结构。结构特点是:诺依曼结构。结构特点是:p 硬硬件件上上由由运运算算器器、控控制制器器、存存储储器器、输输入入设设备备和输出设备五大局部组成;和输出设备五大局部组成;p 数数据据和和程程序序以以二二进进制制代代码码的的形形式式不不加加区区别别地地存存放放在在存存储储器器中中,存存放放位位置置由由地地址址指指定定,地地址址码码也也为二进制形式;为二进制形式;p 控控制制器器根根据据存存放放在在存存储储器器中中的的指指令令序序列列,即即程程序序来来工工作作,并并由由一一个个程程序序计计数数器器控控制制指指令令的的执执行行。控控制制器器具具有有判判断断能能力力,能能根根据据计计算算结结果果选选择择不不同同的动作流程。的动作流程。1.2.1 1.2.1 三总线结构及分类三总线结构及分类 1.1.冯冯诺依曼结构诺依曼结构微微型型计计算算机机系系统统硬件硬件软件软件运算器运算器控制器控制器存储器存储器输入输入/输出设备输出设备系统软件系统软件应用软件应用软件各部分间通过三条各部分间通过三条总线相连,故这种总线相连,故这种系统结构也称为系统结构也称为三三总线结构。总线结构。2.2.三总线结构三总线结构1.2.1 1.2.1 三总线结构及分类三总线结构及分类MPURAM外设外设ABDBCBROMI/O接口接口三总线三总线 模块间的模块间的双向依赖关系双向依赖关系变为各模块变为各模块面向总线面向总线的单向依赖关系的单向依赖关系,简化了微机的结构。使微机系,简化了微机的结构。使微机系统易于扩充和维护。统易于扩充和维护。1.2.1 1.2.1 三总线结构及分类三总线结构及分类微型计算机三总线结构示意图微型计算机三总线结构示意图:p 单总线结构单总线结构p 双总线结构双总线结构p 多层总线结构多层总线结构1.2.1 1.2.1 三总线结构及分类三总线结构及分类 根据总线组织方法的不同,总线结构可分根据总线组织方法的不同,总线结构可分为以下三类:为以下三类:特点:特点:MPUMPU对对M M和和I/OI/O的读写只能分时进行。的读写只能分时进行。优点:逻辑结构简单,本钱低,实现容易。优点:逻辑结构简单,本钱低,实现容易。MPUMI/OI/O接口接口外外设设1.2.1 1.2.1 三总线结构及分类三总线结构及分类 单总线单总线 结结 构构 双总线双总线 结结 构构 多层总多层总 线结构线结构特点:特点:MPUMPU可分别在两套总线上同时与可分别在两套总线上同时与M M 和和I/OI/O口交换信息。口交换信息。优点:展宽了总线带宽,提高了数据传优点:展宽了总线带宽,提高了数据传 输速率。输速率。存储总线存储总线I/OI/O总线总线I/O接口M外外设设MPU1.2.1 1.2.1 三总线结构及分类三总线结构及分类 单总线单总线 结结 构构 双总线双总线 结结 构构 多层总多层总 线结构线结构DMADMA控制器控制器全局总线全局总线全全局局M全全局局I/OMPU总线控总线控制逻辑制逻辑局部局部I/OI/O局部局部M M缓冲器缓冲器局局部部总总线线 真正实现了多层总线上的并行工作。真正实现了多层总线上的并行工作。这对等效总线带宽的增加,系统数据处理这对等效总线带宽的增加,系统数据处理和数据传输效率的提高,效果更明显。和数据传输效率的提高,效果更明显。1.2.1 1.2.1 三总线结构及分类三总线结构及分类 单总线单总线 结结 构构 双总线双总线 结结 构构 多层总多层总 线结构线结构(以双层以双层 为例为例1.2.2 1.2.2 微机各大组成局部的根本微机各大组成局部的根本 结构及功能结构及功能 微机的主要组成局部有微处理器MPU),存储器,I/O设备接口和总线。1.1.微处理器微处理器-微型计算机的运算和指挥控制中心微型计算机的运算和指挥控制中心 不同型号微机性能的差异首先在于其微处理器性能的不同,而微处理器的性能又与它的内部结构、硬件配置有关。每种微处理器有其特有的指令系统,但无论哪种微处理器,其内部根本结构总是相同的,都有控制器、运算器和内部总线及缓冲器三大局部,每局部又各由一些根本部件组成。指令寄存(指令寄存(IR)指令译码(指令译码(ID)操作控(操作控(OC)累加(累加(ACC)累加锁存器累加锁存器暂存器暂存器 算算 术术 逻逻 辑辑 单单 元元(A LU)标志寄存器(标志寄存器(FR)地址总线(地址总线(AB)地址缓冲器地址缓冲器控制总线(控制总线(CB)寄寄 存存 器器 组组(RS)堆栈指针(堆栈指针(SP)程序计数(程序计数(PC)通用寄存器组通用寄存器组内部总线及缓冲器内部总线及缓冲器数据总线(数据总线(DB)数据缓冲器数据缓冲器运算器运算器控制器控制器微处理器典型结构微处理器典型结构示意图示意图1.2.2 1.2.2 微机各大组成局部的根本结构及功能微机各大组成局部的根本结构及功能 -微机的存储记忆部件,用以存放数据和程序。微机的存储记忆部件,用以存放数据和程序。内存单元的地址和内容内存单元的地址和内容 内存由一个个内存单元组成,每个单内存由一个个内存单元组成,每个单 元中一般存放一个字节元中一般存放一个字节(8(8位位)的二进的二进 制信息。内存单元的总数目叫内存容制信息。内存单元的总数目叫内存容 量。量。微机通过给每个内存单元规定不同的微机通过给每个内存单元规定不同的 地址来管理内存。地址来管理内存。1011001001111110000011001100011101110010内容内容地址地址00000H00002HF0000H00001HFFFFFH 内存内存内存中存放的数据和程序形式上都是内存中存放的数据和程序形式上都是 二进制数。二进制数。1.2.2 1.2.2 微机各大组成局部的根本结构及功能微机各大组成局部的根本结构及功能 2.2.存储器内存或主存存储器内存或主存1011001001111110000011001100011101110010内容内容地址地址00000H00002HF0000H00001HFFFFFH 内存内存1.2.2 1.2.2 微机各大组成局部的根本结构及功能微机各大组成局部的根本结构及功能 CPUCPU对内存的操作有读、写两种。对内存的操作有读、写两种。写操作:写操作:CPUCPU将其内部信息传送将其内部信息传送到内存单元保存下来到内存单元保存下来,从而改变被从而改变被写单元的内容。写单元的内容。读操作:读操作:CPUCPU将内存单元的内容将内存单元的内容取入取入CPUCPU内部,不改变被读单元的内部,不改变被读单元的内容。内容。内存操作内存操作 内存分类内存分类按工作方式的不同,内存分为两大类:按工作方式的不同,内存分为两大类:1.2.2 1.2.2 微机各大组成局部的根本结构及功能微机各大组成局部的根本结构及功能 随机存取存储器随机存取存储器(RAM)RAM)只读存储器只读存储器(ROM)ROM)RAM RAM的特点是可被的特点是可被CPUCPU随随机的读和写机的读和写,断电后所有断电后所有信息消失。信息消失。ROM ROM的特点是只能被的特点是只能被CPUCPU随机读取随机读取,不能任意写入。不能任意写入。断电后信息不会丧失。断电后信息不会丧失。4.4.总线总线 微机中各组成局部间传输信息共同使用的“公路,是一 组公共信号线。数据总线数据总线DBDB:双向总线,用来传输数据信息;双向总线,用来传输数据信息;地址总线地址总线ABAB:单向总线单向总线,用于传送用于传送CPUCPU发出的地址信息;发出的地址信息;控制总线控制总线CBCB:用来传送控制、时序和状态信息等。用来传送控制、时序和状态信息等。3.3.I/OI/O设备的接口设备的接口 微机通过微机通过I/OI/O设备与外部交换信息,但两者处理的信设备与外部交换信息,但两者处理的信息从数据格式到逻辑时序一般不能直接兼容息从数据格式到逻辑时序一般不能直接兼容,必须在两者必须在两者之间引入连接电路之间引入连接电路,即即I/OI/O接口电路。接口电路。1.2.2 1.2.2 微机各大组成局部的根本结构及功能微机各大组成局部的根本结构及功能 1.3 1.3 微机的运算根底微机的运算根底1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法1.3.2 1.3.2 计算机的运算计算机的运算1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法 在计算机中使用的、连同符号位一起数字化了的在计算机中使用的、连同符号位一起数字化了的 数,称为机器数。数,称为机器数。通常用一个数的最高位作为符通常用一个数的最高位作为符 号位:号位:0 0表示正数,表示正数,1 1表示负数。表示负数。10110101101101010010101000101010例例1.11.1:机器数机器数真值(十进制)真值(十进制)-53+42 机器数所表示的真实值那么叫真值。机器数所表示的真实值那么叫真值。1.1.机器数和真值机器数和真值1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法常用的表示方法有三种常用的表示方法有三种:(1)(1)原原 码码(2)(2)反反 码码(3)(3)补补 码码1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法 原码的最高位表示符号,数值位用二进制原码的最高位表示符号,数值位用二进制绝对值表示。绝对值表示。设机器数位长为设机器数位长为n n,那么数,那么数X X的原码定义为:的原码定义为:n n位原码表示数值的范围位原码表示数值的范围:-(2-(2n-1n-1-1)+(+(2 2n-1n-1-1)+0+0原原=0000=0000-0-0原原=1000=1000 XX原原=X=0XX=0X1 1X X2 2XXn-1n-1(X0)(X0)2 2n-1n-1+X=1X+X=1X1 1X X2 2XXn-1n-1(X0(X0)数数0 0的原码有两种不同的形式的原码有两种不同的形式:1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法(1)(1)原码原码(2)(2)反码反码(3)(3)补码补码 原码的定义:原码的定义:原码表示简单、直观原码表示简单、直观,与真值间转换方便与真值间转换方便,但但用它作加减运算不方便用它作加减运算不方便,且且0 0有两种表示方法。有两种表示方法。正数的反码表示与原码相同正数的反码表示与原码相同;负数的反码是将负数的反码是将其原码除符位外各位取反得到。即:其原码除符位外各位取反得到。即:n n位反码表示数值的范围位反码表示数值的范围:-(2-(2n-1n-1-1)+(2+(2n-1n-1-1)数数0 0的反码也有两种形式的反码也有两种形式:+0+0反反=0000(=0000(全全0)0)-0-0反反=1111(=1111(全全1)1)反码复原为真值的方法反码复原为真值的方法:反码反码原码原码真值,真值,而而 XX原原=XX反反 反反 XX反反=0X1X2Xn-1=X (X0)1X1X2Xn-1=(2(2n-1)-X (X0)-1)-X (X0)(1)(1)原码原码(2)(2)反码反码(3)(3)补码补码 反码的定反码的定义义1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法 -正数的补码表示与原码相同正数的补码表示与原码相同;负数的补码是负数的补码是将其原码除符号位外各位取反加将其原码除符号位外各位取反加1 1而得到。即:而得到。即:n n位补码表示数值的范围位补码表示数值的范围:-2-2n-1n-1+(2+(2n-1n-1-1)-1)数数0 0的补码只有一个的补码只有一个:+0+0补补=-0=-0补补=0000(=0000(全全0)0)补码复原为真值的方法补码复原为真值的方法:补码补码原码原码真值,而真值,而 XX原原=XX补补 补补 XX补补=0 0X X1 1X X2 2XXn-1n-1=X (X0)=X (X0)1X1X2Xn-1+1=2=2n-X=2-X=2n+X (X0)+X (X0)(1)(1)原码原码(2)(2)反码反码(3)(3)补码补码 补码的补码的定义:定义:1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法(1)(1)原码原码(2)(2)反码反码(3)(3)补码补码结论结论:原原码码、反反码码、补补码码的的最最高高位位都都是是表表示示符符号号位位。符符号号位位为为0 0时时,表表示示真真值值为为正正数数,其其余余位位都都为为真真值值。符符号号位位为为1 1时时,表表示示真真值值为为负负数数,其其余余位除原码外不再是真值。位除原码外不再是真值。对对于于正正数数,三三种种编编码码都都一一样样;对对于于负负数数,三三种种编编码码互互不不相相同同。所所以以原原码码、反反码码、补补码码本本质质上上是是用用来来解解决决负负数数在在机机器器中中表表示示的的三三种种不不同同的编码方法。的编码方法。二二进进制制位位数数相相同同的的原原码码、反反码码、补补码码所所能能表表示的数值范围不完全相同。示的数值范围不完全相同。计计算算机机中中不不用用某某个个二二进进制制位位来来表表示示小小数数点点,而而是是隐隐含含规定小数点的位置。规定小数点的位置。根根据据小小数数点点的的位位置置是是否否固固定定,数数的的表表示示方方法法可可分分为为定定点表示点表示和和浮点表示浮点表示,相应的机器数就叫,相应的机器数就叫定点数定点数或或浮点数浮点数。对于任一个二进制数对于任一个二进制数X X,通常可表示成:通常可表示成:X=2J S其中,其中,S S为数为数X X的尾数,的尾数,J J为数为数X X的阶码,的阶码,2 2为阶码的底。为阶码的底。尾数S表示数X的全部有效数字,阶码J那么指出了小数点的位置。S值和J值均可正可负。当J固定时,表示是定点数;当J值可变时,表示是浮点数。1.3.1 1.3.1 计算机中数的表示方法计算机中数的表示方法 根据小数点固定的位置不同。定点数有定点根据小数点固定的位置不同。定点数有定点(纯整数纯整数和定点纯小数两种。和定点纯小数两种。J=0,SJ=0,S为纯整数时为纯整数时,小数小数点固定在数的最低位之后。点固定在数的最低位之后。符号位符号位定点整数定点整数数值位数值位(尾数尾数S)S)隐含小数点位置隐含小数点位置 定点整数定点整数 J=0,SJ=0,S为纯小数时为纯小数时,小数小数点固定在数的最高位之前。点固定在数的最高位之前。符号位符号位数值位数值位(尾数尾数S)S)隐含小数点位置隐含小数点位置定点小数定点小数 定点小数定点小数 定点整数和定点小数在计算机中表示形式没什么区定点整数和定点小数在计算机中表示形式没什么区别,其小数点完全靠事先的约定而隐含在不同位置。别,其小数点完全靠事先的约定而隐含在不同位置。(1)(1)定点数定点数 其中:阶码一般用补码定点整数表示,尾数一般用其中:阶码一般用补码定点整数表示,尾数一般用补码或原码定点小数表示。补码或原码定点小数表示。为保证不损失有效数字,一般对尾数进行为保证不损失有效数字,一般对尾数进行规格化处规格化处理理,即保证尾数的最高位是,即保证尾数的最高位是1,1,实际大小通过阶码来进行实际大小通过阶码来进行调整。调整。尾数部分尾数部分阶符阶符Jf Jf 阶码阶码J J 数符数符Sf Sf 尾数尾数(也叫有效数也叫有效数)S S阶码部分阶码部分(2)(2)浮点数浮点数浮点数一般由浮点数一般由4 4个字段组成个字段组成,一般格式如下一般格式如下:8 8位补码定点整数位补码定点整数2424位补码定点小数位补码定点小数 阶符阶符 阶阶 码码 数数 符符 尾尾 数数 31 30 24 23 22 031 30 24 23 22 0 某数某数X X的机器码为的机器码为:求其真值。求其真值。解:解:X=(1.X=(1.补补220000100100001001补补原原29299 9 =(-100000010.11)2 =(-100000010.11)2 =(-258.75)10 =(-258.75)10 某计算机用某计算机用3232位表示一个浮位表示一个浮点数,格式如下:点数,格式如下:1)1)位数不等的二进制码位数不等的二进制码2)2)BCDBCD码码3)3)ASCIIASCII码:码:与非压缩与非压缩BCDBCD码相似,低码相似,低4 4位完全相位完全相同,高同,高4 4位为位为00110011 ASCII ASCII码一般在计算机的输入、输出设备中使用,码一般在计算机的输入、输出设备中使用,而二进制码和而二进制码和BCDBCD码那么在运算处理过程中使用。码那么在运算处理过程中使用。三三种种表表示示方方法法 非压缩非压缩BCDBCD码:码:压缩压缩BCDBCD码:码:每位每位BCDBCD码用码用4 4位二进制表示,位二进制表示,一个字节表示一个字节表示2 2位位BCDBCD码。码。每位每位BCDBCD码用一个字节表码用一个字节表示,高示,高4 4位总是位总是00000000,低,低4 4位表示位表示0 09 9。计算机中有以下两种运算计算机中有以下两种运算:逻辑运算逻辑运算:算术运算算术运算:参与运算的二进制数码表示的参与运算的二进制数码表示的是数值大小。常见的有是数值大小。常见的有加、减、加、减、乘、除、乘方、开方乘、除、乘方、开方等。等。参与运算的二进制数码表示的参与运算的二进制数码表示的是逻辑状态。常见的有是逻辑状态。常见的有与、或、与、或、非和移位非和移位等。等。1.3.2 1.3.2 计算机的运算计算机的运算(1)(1)补码的运算规那么补码的运算规那么加减法运算加减法运算:X X YY补补=XX补补+YY补补求补运算求补运算:-Y-Y补补=0-=0-YY补补 =YY补补连同符号位取反加连同符号位取反加1 11.3.2 1.3.2 计算机的运算计算机的运算1.1.补码运算及溢出判别补码运算及溢出判别例例1.31.3:X=33 X=33,Y=45Y=45,求求X+YX+Y、X-YX-Y。解解:XX补补=00100001=00100001 YY补补=00101101,-=00101101,-YY补补=11010011=11010011 X+YX+Y补补=XX补补+YY补补=01001110=01001110 X-YX-Y补补=XX补补+-+-YY补补=11110100=11110100所以所以,X+Y=X+YX+Y=X+Y补补 补补=01001110=(+78)=01001110=(+78)1010 X-Y=X-YX-Y=X-Y补补 补补=10001100=(-12)=10001100=(-12)10101.3.2 1.3.2 计算机的运算计算机的运算负数的补码与对应正数的补码之间的转换可负数的补码与对应正数的补码之间的转换可用同一方法用同一方法-求补运算实现,因而可简化硬求补运算实现,因而可简化硬件;件;可将减法变为加法运算,从而省去减法器;可将减法变为加法运算,从而省去减法器;有符号数和无符号数的加法运算可用同一加有符号数和无符号数的加法运算可用同一加法器电路完成,结果都正确。法器电路完成,结果都正确。1.3.2 1.3.2 计算机的运算计算机的运算用补码表示计算机中有符号数的优点:用补码表示计算机中有符号数的优点:(2)(2)溢出与溢出判断溢出与溢出判断q 当结果超出补码表示的数值范围时,补码运算将会当结果超出补码表示的数值范围时,补码运算将会出错。这种现象称为出错。这种现象称为“溢出。溢出。q 计算机运算时要防止产生溢出计算机运算时要防止产生溢出,万一出现了溢出万一出现了溢出,要要能判断,并做出相应处理。能判断,并做出相应处理。1.3.2 1.3.2 计算机的运算计算机的运算 溢出的概念溢出的概念1.3.2 1.3.2 计算机的运算计算机的运算微机中多采用微机中多采用“双进位位法进行溢出判断。双进位位法进行溢出判断。数值位数值位累加器累加器A(A(内装补码内装补码)f fb bn-1n-1b bn-2 n-2 b b1 1 b b0 0=1=1OFOFC1C1C2C2进位位进位位C C1 1,有溢出,有溢出0 0,无溢出,无溢出OF=C1OF=C1C2=C2=溢出的判别溢出的判别因为因为C C2 2=1,C=1,C1 1=0,OF=C=0,OF=C1 1C C2 2=1,=1,所以有溢出所以有溢出,结果不对。结果不对。因为因为C C2 2=0,C=0,C1 1=0,OF=C=0,OF=C1 1C C2 2=0,=0,所以无溢出所以无溢出,结果正确。结果正确。1.3.2 1.3.2 计算机的运算计算机的运算 求求:55+66:55+66 55 55补补=00110111=00110111+66+66补补=01000010=0100001001111001=12101111001=121补补 求:求:(-93)+(-59)(-93)+(-59)-93 -93补补=10100011=10100011+-59+-59补补=11000101=110001011 101101000=+10401101000=+104补补0 01 1根据根据C C1 1、C C2 2值亦可判断有溢出时是正溢出还是负溢出:值亦可判断有溢出时是正溢出还是负溢出:C C2 2C C1 1=00=11=00=11时,无溢出;时,无溢出;C C2 2C C1 1=01=01时,为正溢出;时,为正溢出;C C2 2C C1 1=10=10时,为负溢出。时,为负溢出。BCD码加减法运算时,每组4位二进制码表示的十进制数之间应遵循“逢十进一和“借一当十的规那么。但计算机总是将数作为二进制数来处理,即每4位之间按“逢16进一和“借一当16来处理,所以当BCD码运算出现进位和借位时,结果将出错。为了得到正确的BCD码运算结果,必须对二进制运算结果进行调整,使之符合十进制运算的进位/借位规那么。这种调整叫十进制调整。1.3.2 1.3.2 计算机的运算计算机的运算2.2.BCDBCD码运算及其十进制调整码运算及其十进制调整 1)十进制加法调整规那么 假设两个一位BCD数相加结果大于9(1001),那么应作6(0110)修正;假设两个BCD数相加结果在本位并不大于9,但产生了进位,这相当于十进制数运算大于等于16,所以也应在本位作 加6修正。1.3.2 1.3.2 计算机的运算计算机的运算十进制调整的规那么如下:十进制调整的规那么如下:2)2)十进制减法调整规那么十进制减法调整规那么 两两个个BCDBCD数数相相减减,假假设设出出现现本本位位差差超超过过9 9,或或虽虽不不超超过过9 9但但向向高高位位有有借借位位,那那么么说说明明必必然然是是借借了了1616,多多借借了了6 6,应在本位作减,应在本位作减6 6修正。修正。实实际际中中,现现代代计计算算机机中中均均有有专专门门的的十十进进制制调调整整指指令令,利用它们,机器可按规那么自动进行调整。利用它们,机器可按规那么自动进行调整。1.4.1 1.4.1 计算机工作过程的本质计算机工作过程的本质1.4.2 1.4.2 指令与程序概念指令与程序概念1.4.3 1.4.3 指令类别指令类别1.4.4 1.4.4 指令与程序的执行指令与程序的执行1.4.5 1.4.5 程序执行过程举例程序执行过程举例1.4 1.4 微机根本工作原理微机根本工作原理1.4.1 1.4.1 计算机工作过程的本质计算机工作过程的本质 微机工作的过程,本质上就是执行程序的微机工作的过程,本质上就是执行程序的过程。而程序是由假设干条指令组成的,微机过程。而程序是由假设干条指令组成的,微机逐条执行程序中的每条指令,即可完成一个程逐条执行程序中的每条指令,即可完成一个程序的执行,从而完成一项特定的工作。序的执行,从而完成一项特定的工作。因此了解微机工作原理的关键,就是要了因此了解微机工作原理的关键,就是要了解指令和指令执行的根本过程。解指令和指令执行的根本过程。-规定计算机执行特定操作的命令。规定计算机执行特定操作的命令。-计算机全部指令的集合。计算机全部指令的集合。指令系统准确定义了计算机的处理能力。指令系统准确定义了计算机的处理能力。不同型号的计算机有不同的指令系统,从而形不同型号的计算机有不同的指令系统,从而形成各自的特点和相互差异。成各自的特点和相互差异。1.4.2 1.4.2 指令与程序概念指令与程序概念 1.4.2 1.4.2 指令与程序概念指令与程序概念任何一条指令均由两局部组成:任何一条指令均由两局部组成:操作码操作码 地址码地址码(操作数操作数)指明要完成操作的性质,指明要完成操作的性质,如:加、减、乘、除等。如:加、减、乘、除等。指明参加规定操作的数指明参加规定操作的数据存放地址或数据。据存放地址或数据。1.4.2 1.4.2 指令与程序概念指令与程序概念 机器语言程序机器语言程序 汇编语言程序汇编语言程序 高级语言程序高级语言程序 目前微机系统中使用着三个层次、三种形目前微机系统中使用着三个层次、三种形式的程序:式的程序:-为解决某一问题而编写在一起的为解决某一问题而编写在一起的指令序列指令序列。计算机中的指令以二进制代码形式计算机中的指令以二进制代码形式存在,叫存在,叫机器码指令机器码指令。机器码指令构成的指令系统叫机器码指令构成的指令系统叫机器机器语言语言,用机器语言编写的程序叫,用机器语言编写的程序叫机器语机器语言程序言程序。机器语言程序优点是能被计算机直机器语言程序优点是能被计算机直接理解和执行;缺点是编程繁琐、不直接理解和执行;缺点是编程繁琐、不直观、难记忆、易出错。观、难记忆、易出错。机器语言机器语言 程程 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.4.2 1.4.2 指令与程序概念指令与程序概念 为克服机器语言程序的缺点,常用为克服机器语言程序的缺点,常用助记符来代替机器语言指令。助记符与助记符来代替机器语言指令。助记符与机器语言指令之间有一一对应关系。这机器语言指令之间有一一对应关系。这种用助记符构成的指令系统叫种用助记符构成的指令系统叫汇编语言汇编语言。用汇编语言编写的程序叫用汇编语言编写的程序叫汇编语言汇编语言程序程序。汇编语言程序的优点是直观、易懂、汇编语言程序的优点是直观、易懂、便于记忆。但又存在着计算机无法识别便于记忆。但又存在着计算机无法识别的缺点的缺点。机器语言机器语言 程程 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.4.2 1.4.2 指令与程序概念指令与程序概念 机器语言和汇编语言是依赖于机器机器语言和汇编语言是依赖于机器的编程语言,统称为低级语言。的编程语言,统称为低级语言。与此相对应,高级语言那么是一种与此相对应,高级语言那么是一种比较接近于习惯的自然语言和数学语言比较接近于习惯的自然语言和数学语言的程序设计语言。它以语句和数据的定的程序设计语言。它以语句和数据的定义为根底,且通常一个语句都是由一组义为根底,且通常一个语句都是由一组机器语言指令或汇编语言指令构成的。机器语言指令或汇编语言指令构成的。用高级语言编写的程序即为高级语言程用高级语言编写的程序即为高级语言程序。序。高级语言程序比汇编语言程序更直高级语言程序比汇编语言程序更直观易懂,更易于面向问题和对象。观易懂,更易于面向问题和对象。机器语言机器语言 程程 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.4.2 1.4.2 指令与程序概念指令与程序概念 高高级级语语言言程程序序和和汇汇编编语语言言程程序序必必须须先先翻翻译译成成机机器器语语言言程程序序才才能能执执行行。这这个个翻翻译译过过程程,对对汇汇编编语语言言程程序序叫叫汇汇编编(Assemble)Assemble);对对高高级级语语言言程程序序有有的的叫叫解解释释(Interpretation)Interpretation),有有的的叫叫编编译译(Compila-tion)Compila-tion)。通通常常又又将将翻翻译译前前的的程程序序叫叫源源程程序序,而而将将翻翻译译后的机器语言程序叫目标程序。后的机器语言程序叫目标程序。完完成成汇汇编编、解解释释、编编译译的的程程序序那那么么分分别别叫叫作作 汇汇 编编 程程 序序(Assembler)(Assembler)、解解 释释 程程 序序(Interpreter)(Interpreter)、编编译译程程序序(Compiler),(Compiler),它它们们作作为工具软件事先存放在计算机中。为工具软件事先存放在计算机中。机器语言机器语言 程程 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.4.2 1.4.2 指令与程序概念指令与程序概念一般计算机指令系统都包括有下述几类指令:一般计算机指令系统都包括有下述几类指令:1.1.数据传送与交换类指令数据传送与交换类指令2.2.算术及逻辑运算类指令算术及逻辑运算类指令3.3.输入输入/输出类指令输出类指令4.4.程序控制类指令程序控制类指令5.5.CPUCPU控制类指令控制类指令1.4.3 1.4.3 指令类别指令类别 微型计算机每执行一条指令都分成三个阶段进行微型计算机每执行一条指令都分成三个阶段进行(即三步曲即三步曲):):取指令取指令 分析指令分析指令 执行指令执行指令 根据程序计数器根据程序计数器PCPC中的值从存储中的值从存储器读出现行指令,送到指令存放器器读出现行指令,送到指令存放器IRIR,然后,然后PCPC自动加自动加1,1,指向下一条指指向下一条指令地址或本条指令下一字节。令地址或本条指令下一字节。将将IRIR中的指令操作码译码,分析中的指令操作码译码,分析其指令性质,如指令要求操作数,其指令性质,如指令要求操作数,那么寻找操作数地址。那么寻找操作数地址。取出操作数,执行指令规定的操作。取出操作数,执行指令规定的操作。根据指令不同还可能写入操作结果。根据指令不同还可能写入操作结果。1.4.4 1.4.4 指令与程序的执行指令与程序的执行1.1.指令的执行指令的执行 微机程序的执行过程,实际上就是周而复始地完成微机程序的执行过程,实际上就是周而复始地完成这三阶段操作的过程,直到遇到停机指令才结束运行。这三阶段操作的过程,直到遇到停机指令才结束运行。1.4.4 1.4.4 指令与程序的执行指令与程序的执行取指令,取指令,PCPC值加值加1 1停机?停机?分分 析析 指指 令令执执 行行 指指 令令结结 束束Y YN N程程 序序 执执 行行 过过 程程2.2.程序的执行程序的执行n程程序序执执行行过过程程中中的的每每条条指指令令操操作作三三步步曲曲并并非非在在各各种种微微处处理理器器中中都都是是串串行行完完成成的的,除除早早期期的的8 8位位微微处处理理器器外外,后后来来的的各各种种1616位位机机、3232位位机机都都可可将将这这三三步步操操作作分分配配给给两两个个或或两两个个以以上上的的独独立立部部件件并并行行完完成成。8038680386和和8048680486采采用用了了6 6级级流流水水线线结结构构,不不同同指指令令的的取取址址、分析、执行三个阶段可并行处理。分析、执行三个阶段可并行处理。n程程序序的的指指令令和和数数据据都都存存放放在在内内存存中中,故故在在执执行行程程序序时时,CPU,CPU和和内内存存通通过过存存储储器器地地址址存存放放器器MARMAR和和存存储储器器数数据存放器据存放器MDRMDR以及假设干读以及假设干读/写控制信号实现联系。写控制信号实现联系。1.4.4 1.4.4 指令与程序的执行指令与程序的执行3.3.关于程序执行过程的两点说明:关于程序执行过程的两点说明:程序如下:程序如下:ORG 1000H 对应机器码对应机器码 1:MOV A,5CH ;B0H 5CH 2:ADD A,2EH ;04H 2EH 3:JO 100AH ;70H 0AH 10H 4:MOV (0200H),A ;A2H 00H 02H 5:HLT F4H 程序功能:程序功能:5CH+2EH,5CH+2EH,如结果无溢出,将结果存放到如结果无溢出,将结果存放到内存内存0200H0200H单元后停机;如有溢出,那么直接停机