《10_--_第1章_微型计算机系统基本组成原理.ppt》由会员分享,可在线阅读,更多相关《10_--_第1章_微型计算机系统基本组成原理.ppt(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.1 1.1 微型计算机系统组成结构微型计算机系统组成结构1.2 1.2 微型计算机的运算基础微型计算机的运算基础1.3 1.3 微型计算机基本工作原理微型计算机基本工作原理1.4 1.4 目前主流微机系统的硬件配置与主板结构目前主流微机系统的硬件配置与主板结构1.5 1.5 微机系统的主要性能指标微机系统的主要性能指标第一章第一章 微型计算机系统基本组成原理微型计算机系统基本组成原理 1-1.1.1 1.1.1 总的系统结构总的系统结构1.1.2 1.1.2 各大组成部分概述各大组成部分概述1.1 1.1 微型计算机系统组成结构微型计算机系统组成结构 1-硬件上由运算器、控制器、存储器、输
2、入设备和输硬件上由运算器、控制器、存储器、输入设备和输出设备五大部分组成;出设备五大部分组成;数据和程序以二进制代码的形式不加区别地存放在数据和程序以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也为二进存储器中,存放位置由地址指定,地址码也为二进制形式;制形式;控制器按指令流驱动的原理工作。控制器按指令流驱动的原理工作。目前各种微机系统,从体系结构来看,采用的基本目前各种微机系统,从体系结构来看,采用的基本上是计算机的经典结构上是计算机的经典结构冯冯诺依曼结构诺依曼结构。结构特点。结构特点是:是:1.1.1 1.1.1 总的系统结构总的系统结构1-1.1.三总线结构三总
3、线结构1.1.1 1.1.1 总的系统结构总的系统结构微微型型计计算算机机系系统统硬件硬件软件软件运算器运算器控制器控制器存储器存储器输入输入/输出设备输出设备 系统软件系统软件 应用软件应用软件各部分间通过三条各部分间通过三条总线相连,故这种总线相连,故这种系统结构也称为系统结构也称为三三总线结构。总线结构。1-MPURAM外设外设ABDBCBROMI/O接口接口三总线三总线 模块间的模块间的双向依赖关系双向依赖关系变为各模块变为各模块面向总线面向总线的单向依赖关系的单向依赖关系,简化了微机的结构。使微机系,简化了微机的结构。使微机系统易于扩充和维护。统易于扩充和维护。微型计算机三总线结构示
4、意图微型计算机三总线结构示意图:1.1.1 1.1.1 总的系统结构总的系统结构1-单总线结构单总线结构 双总线结构双总线结构 多层总线结构多层总线结构2.2.总线结构分类总线结构分类 根据总线组织方法的不同,总线结构可分根据总线组织方法的不同,总线结构可分为以下三类:为以下三类:1.1.1 1.1.1 总的系统结构总的系统结构1-单总线结构示意图单总线结构示意图:特点:特点:MPUMPU对对M M和和I/OI/O的读写只能分时进行。的读写只能分时进行。优点:逻辑结构简单,成本低,实现容易。优点:逻辑结构简单,成本低,实现容易。单总线单总线 结结 构构 双总线双总线 结结 构构 多层总多层总
5、线结构线结构I/O接口接口外外设设MMPU1.1.1 1.1.1 总的系统结构总的系统结构1-特点:特点:MPUMPU可分别在两套总线上同时与可分别在两套总线上同时与M M和和I/OI/O口交换信息。口交换信息。优点:展宽了总线带宽,提高了数据传优点:展宽了总线带宽,提高了数据传输速率。输速率。单总线单总线 结结 构构 双总线双总线 结结 构构 多层总多层总 线结构线结构双总线结构示意图双总线结构示意图:1.1.1 1.1.1 总的系统结构总的系统结构存储总线存储总线I/OI/O总线总线I/O接口接口M外外设设MPU1-DMA控制器控制器全局总线全局总线全全局局M全全局局I/OMPU总线控总线
6、控制逻辑制逻辑局部局部I/O局部局部M缓冲器缓冲器局局部部总总线线 单总线单总线 结结 构构 双总线双总线 结结 构构 多层总多层总 线结构线结构(以双层以双层 为例)为例)多层总线结构示意图多层总线结构示意图(以双层为例以双层为例):):真正实现了多层总线上的并行工作。真正实现了多层总线上的并行工作。这对等效总线带宽的增加,系统数据处理这对等效总线带宽的增加,系统数据处理和数据传输效率的提高,效果更明显。和数据传输效率的提高,效果更明显。1.1.1 1.1.1 总的系统结构总的系统结构1-微处理器(微处理器(MPU)MPU)存储器存储器I/OI/O设备接口设备接口总线总线 微机,在硬件上主要
7、由以下几部分组成:微机,在硬件上主要由以下几部分组成:1.1.2 1.1.2 各大组成部分概述各大组成部分概述 1-微型计算机的运算和指挥控制中心微型计算机的运算和指挥控制中心 不同型号微机性能的差别首先在于其微处理不同型号微机性能的差别首先在于其微处理器性能的不同,而微处理器的性能又与它的器性能的不同,而微处理器的性能又与它的内部内部结构、硬件配置结构、硬件配置有关。每种微处理器又有其特有有关。每种微处理器又有其特有的指令系统。的指令系统。但无论哪种微处理器,其但无论哪种微处理器,其内部基本结构内部基本结构总是总是相同的相同的,都有都有控制器、运算器和内部总线及缓冲控制器、运算器和内部总线及
8、缓冲器三大部分器三大部分,每部分又各由一些基本部件组成。,每部分又各由一些基本部件组成。1.1.微处理器微处理器1.1.2 1.1.2 各大组成部分概述各大组成部分概述 1-指令寄存(指令寄存(IR)指令译码(指令译码(ID)操作控(操作控(OC)累加(累加(ACC)累加锁存器累加锁存器暂存器暂存器 算算 术术 逻逻 辑辑 单单 元元(A LU)标志寄存器(标志寄存器(FR)地址总线(地址总线(AB)地址缓冲器地址缓冲器控制总线(控制总线(CB)寄寄 存存 器器 组组(RS)堆栈指针(堆栈指针(SP)程序计数(程序计数(PC)通用寄存器组通用寄存器组内部总线及缓冲器内部总线及缓冲器数据总线(数
9、据总线(DB)数据缓冲器数据缓冲器运算器运算器控制器控制器微处理器典型结构微处理器典型结构示意图示意图1.1.2 1.1.2 各大组成部分概述各大组成部分概述 1-2.2.存储器(内存或主存)存储器(内存或主存)内存由一个个内存单元组成,每内存由一个个内存单元组成,每个单元中一般存放一个字节个单元中一般存放一个字节(8(8位位)的二进制信息。内存单元的总数的二进制信息。内存单元的总数目叫内存容量。目叫内存容量。内存中存放的数据和程序形式上内存中存放的数据和程序形式上都是二进制数。都是二进制数。微机通过给每个内存单元规定不微机通过给每个内存单元规定不同的地址来管理内存。同的地址来管理内存。微机的
10、存储记忆部件,用以存放数据和程序。微机的存储记忆部件,用以存放数据和程序。内存单元的地址和内容内存单元的地址和内容1011001001111110000011001100011101110010内容内容地址地址00000H00002HF0000H00001HFFFFFH内存示意图内存示意图1.1.2 1.1.2 各大组成部分概述各大组成部分概述 1-CPUCPU对内存的操作有读、写两种。对内存的操作有读、写两种。内存操作内存操作1011001001111110000011001100011101110010内容内容地址地址00000H00002HF0000H00001HFFFFFH内存示意图内
11、存示意图 将将内内存存单单元元的的内内容容取取入入CPUCPU内内部部,不不改改变被读单元的内容。变被读单元的内容。CPUCPU将将其其内内部部信信息息传传送送到到内内存存单单元元保保存存下下来来,从从而而改改变变被被写写单单元的内容。元的内容。读操作读操作写操作写操作1.1.2 1.1.2 各大组成部分概述各大组成部分概述 1-随机存取存储器随机存取存储器(RAM)RAM)只读存储器只读存储器(ROM)ROM)内存分类内存分类按工作方式的不同,内存分为两大类:按工作方式的不同,内存分为两大类:特点特点 可被可被CPUCPU随机的读随机的读和写和写,断电后所有信息断电后所有信息会消失。会消失。
12、特点特点 只只能能被被CPUCPU随随机机读读取取,不不能能任任意意写写入入。断断电电后后信信息不会丢失。息不会丢失。1.1.2 1.1.2 各大组成部分概述各大组成部分概述 1-3.3.I/OI/O设备及接口设备及接口 微微机机通通过过I/OI/O设设备备与与外外部部交交换换信信息息,但但两两者者处处理理的的信信息息从从数数据据格格式式到到逻逻辑辑时时序序一一般般不不能能直直接接兼兼容容,必必须须在在两两者者之之间间引引入入连连接接电电路路,即即I/OI/O接口电路(接口电路(I/OI/O适配器)。适配器)。1.1.2 1.1.2 各大组成部分概述各大组成部分概述 1-1.2.1 1.2.1
13、 计算机中数的表示方法计算机中数的表示方法1.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算1.2.3 1.2.3 计算机中无符号数的运算计算机中无符号数的运算1.2.4 1.2.4 计算机中的乘除法运算计算机中的乘除法运算 1.2 1.2 微机的运算基础微机的运算基础1-1.1.机器数和真值机器数和真值2.2.有符号数的机器数表示方法有符号数的机器数表示方法3.3.数的定点和浮点表示数的定点和浮点表示4.4.无符号数的机器数表示方法无符号数的机器数表示方法1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-在计算机中使用的、连同符号位一起数字化了的在计算机中
14、使用的、连同符号位一起数字化了的 数,称为机器数。数,称为机器数。通常用一个数的最高位作为符通常用一个数的最高位作为符 号位:号位:0 0表示正数,表示正数,1 1表示负数。表示负数。10110101101101010010101000101010例例1.11.1:机器数机器数真值(十进制)真值(十进制)-53+42 机器数所表示的真实值则叫真值。机器数所表示的真实值则叫真值。1.1.机器数和真值机器数和真值1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-常用的表示方法有三种常用的表示方法有三种:(1)(1)原原 码码(2)(2)反反 码码(3)(3)补补 码码2.2.有符
15、号数的机器数表示方法有符号数的机器数表示方法1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法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 2X Xn n-1-1(X0)(X0)2 2n-1n-1+X=1X+X=1X1 1X X2 2X
16、 Xn n-1-1(X0(X0)数数0 0的原码有两种不同的形式的原码有两种不同的形式:(1)(1)原码原码(2)(2)反码反码(3)(3)补码补码 原码的定义:原码的定义:原码表示简单、直观原码表示简单、直观,与真值间转换方便与真值间转换方便,但但用它作加减运算不方便用它作加减运算不方便,且且0 0有两种表示方法。有两种表示方法。1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-正数的反码表示与原码相同正数的反码表示与原码相同;负数的反码是将负数的反码是将其原码除符位外各位取反得到。即:其原码除符位外各位取反得到。即:n n位反码表示数值的范围位反码表示数值的范围:-(2-
17、(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.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-正数的补码表示与原码相同正数的补码表示与
18、原码相同;负数的补码是负数的补码是将其原码除符号位外各位取反加将其原码除符号位外各位取反加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 2X Xn n-1-1=X (X0)=X (X0)1X1X2Xn-1+1=2=2n-X=2-X=2n+X (X0)+X (X0)(1
19、)(1)原码原码(2)(2)反码反码(3)(3)补码补码 补码的补码的定义:定义:1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-(1)(1)原码原码(2)(2)反码反码(3)(3)补码补码结论结论:原原码码、反反码码、补补码码的的最最高高位位都都是是表表示示符符号号位位。符符号号位位为为0 0时时,表表示示真真值值为为正正数数,其其余余位位都都为为真真值值。符符号号位位为为1 1时时,表表示示真真值值为为负负数数,其其余余位除原码外不再是真值。位除原码外不再是真值。对对于于正正数数,三三种种编编码码都都一一样样;对对于于负负数数,三三种种编编码码互互不不相相同同。所所以以
20、原原码码、反反码码、补补码码本本质质上上是是用用来来解解决决负负数数在在机机器器中中表表示示的的三三种种不不同同的编码方法。的编码方法。二二进进制制位位数数相相同同的的原原码码、反反码码、补补码码所所能能表表示的数值范围不完全相同。示的数值范围不完全相同。1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-特殊数10000000n该数在原码中定义为:-0n在反码中定义为:-127n在补码中定义为:-128n对无符号数:(10000000)=1281.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-计计算算机机中中不不用用某某个个二二进进制制位位来来表表示示小小数
21、数点点,而而是是隐隐含含规定小数点的位置。规定小数点的位置。根根据据小小数数点点的的位位置置是是否否固固定定,数数的的表表示示方方法法可可分分为为定定点表示点表示和和浮点表示浮点表示,相应的机器数就叫,相应的机器数就叫定点数定点数或或浮点数浮点数。对于任一个二进制数对于任一个二进制数X X,通常可表示成:通常可表示成:X=2J S其中,其中,S S为数为数X X的尾数,的尾数,J J为数为数X X的阶码,的阶码,2 2为阶码的底。为阶码的底。尾尾数数S S表表示示数数X X的的全全部部有有效效数数字字,阶阶码码J J则则指指出出了了小小数数点点的的位位置置。S S值值和和J J值值均均可可正正
22、可可负负。当当J J固固定定时时,表表示示是是定定点点数数;当当J J值可变时,表示是浮点数。值可变时,表示是浮点数。3.3.数的定点和浮点表示数的定点和浮点表示1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-根据小数点固定的位置不同。定点数有定点根据小数点固定的位置不同。定点数有定点(纯)整数纯)整数和定点(纯)小数两种。和定点(纯)小数两种。J=0,SJ=0,S为纯整数时为纯整数时,小数小数点固定在数的最低位之后。点固定在数的最低位之后。符号位符号位定点整数定点整数数值位数值位(尾数尾数S)S)隐含小数点位置隐含小数点位置 定点整数定点整数 J=0,SJ=0,S为纯小数
23、时为纯小数时,小数小数点固定在数的最高位之前。点固定在数的最高位之前。符号位符号位数值位数值位(尾数尾数S)S)隐含小数点位置隐含小数点位置定点小数定点小数 定点小数定点小数 定点整数和定点小数在计算机中表示形式没什么区定点整数和定点小数在计算机中表示形式没什么区别,其小数点完全靠事先的约定而隐含在不同位置。别,其小数点完全靠事先的约定而隐含在不同位置。(1)(1)定点数定点数1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-其中:阶码一般用补码定点整数表示,尾数一般用其中:阶码一般用补码定点整数表示,尾数一般用补码或原码定点小数表示。补码或原码定点小数表示。为保证不损失有效
24、数字,一般对尾数进行为保证不损失有效数字,一般对尾数进行规格化处规格化处理理。尾数部分尾数部分阶符阶符Jf Jf 阶码阶码J J 数符数符Sf Sf 尾数尾数(也叫有效数也叫有效数)S S阶码部分阶码部分(2)(2)浮点数浮点数浮点数一般由浮点数一般由4 4个字段组成个字段组成,一般格式如下一般格式如下:1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-8 8位补码定点整数位补码定点整数2424位补码定点小数位补码定点小数 阶符阶符 阶阶 码码 数数 符符 尾尾 数数 31 30 24 23 22 031 30 24 23 22 0 已知某数已知某数X X的机器码为的机器码为
25、:“00001001101111110101000000000000”“00001001101111110101000000000000”求其真值。求其真值。解:解:X=(1.01111110101000000000000)X=(1.01111110101000000000000)补补22(0000100100001001)补)补 =(1.10000001011000000000000)=(1.10000001011000000000000)原原229 9 =-0.100000010112 =-0.1000000101129 9 =(-100000010.11)=(-100000010.11)
26、2 2 =(-258.75)(-258.75)1010例例1.21.2 某计算机用某计算机用3232位表示一位表示一个浮点数,格式如下:个浮点数,格式如下:1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-1)1)位数不等的二进制码位数不等的二进制码2)2)BCDBCD码码3)3)ASCIIASCII码:码:与非压缩与非压缩BCDBCD码相似,低码相似,低4 4位完全相位完全相同,高同,高4 4位为位为00110011 ASCII ASCII码一般在计算机的输入、输出设备中使用,码一般在计算机的输入、输出设备中使用,而二进制码和而二进制码和BCDBCD码则在运算处理过程中使用
27、。码则在运算处理过程中使用。三三种种表表示示方方法法 非压缩非压缩BCDBCD码:码:压缩压缩BCDBCD码:码:每位每位BCDBCD码用码用4 4位二进制表示,位二进制表示,一个字节表示一个字节表示2 2位位BCDBCD码。码。每位每位BCDBCD码用一个字节表码用一个字节表示,高示,高4 4位总是位总是00000000,低,低4 4位表示位表示0 09 9。4.4.无符号数的机器数表示方法无符号数的机器数表示方法1.2.1 1.2.1 计算机中数的表示方法计算机中数的表示方法1-1.1.补码的加减法运算规则补码的加减法运算规则 2.2.溢出与溢出判断溢出与溢出判断 1.2.2 1.2.2
28、计算机中有符号数的运算计算机中有符号数的运算1-加减法运算加减法运算:X X YY补补=XX补补+YY补补求补运算求补运算:-Y-Y补补=0-=0-YY补补 =YY补补连同符号位取反加连同符号位取反加1 11.1.补码的运算规则补码的运算规则1.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算1-例例1.3 1.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补补=0100
29、1110=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.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算1-负数的补码与对应正数的补码之间的转换可负数的补码与对应正数的补码之间的转换可用同一方法用同一方法-求补运算实现,因而可简化硬求补运算实现,因而可简化硬件;件;可将减法变为加法运算,从而省去减法器;可
30、将减法变为加法运算,从而省去减法器;有符号数和无符号数的加法运算可用同一加有符号数和无符号数的加法运算可用同一加法器电路完成,结果都正确。法器电路完成,结果都正确。用补码表示计算机中有符号数的优点:用补码表示计算机中有符号数的优点:1.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算1-做有符号数补码运算时,有几点说明:做有符号数补码运算时,有几点说明:有符号数运算结果的最高位是符号位,而无符号数有符号数运算结果的最高位是符号位,而无符号数运算结果的最高位是数值结果的一部分;运算结果的最高位是数值结果的一部分;因补码运算实际上是因补码运算实际上是 mod2mod2n n 运算,
31、所以运算时有符运算,所以运算时有符号数最高位(即符号位)产生的进位号数最高位(即符号位)产生的进位/借位应该舍弃,借位应该舍弃,其他位产生的进位其他位产生的进位/借位(即数值位向符号位的进位借位(即数值位向符号位的进位/借位)应该向上传递;而无符号数最高位产生的进借位)应该向上传递;而无符号数最高位产生的进位位/借位则不能放弃;借位则不能放弃;有符号数的减法变为被减数、减数补码的加法运算有符号数的减法变为被减数、减数补码的加法运算时,若最高位有进位,表示减法运算没有借位;反时,若最高位有进位,表示减法运算没有借位;反之,若最高位没有进位,则表示减法运算有借位。之,若最高位没有进位,则表示减法运
32、算有借位。1-2.2.溢出与溢出判断溢出与溢出判断 当结果超出补码表示的数值范围时,补码运算将会当结果超出补码表示的数值范围时,补码运算将会出错。这种现象称为出错。这种现象称为“溢出溢出”。计算机运算时要避免产生溢出计算机运算时要避免产生溢出,万一出现了溢出万一出现了溢出,要要能判断,并做出相应处理。能判断,并做出相应处理。溢出的概念溢出的概念1.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算1-微机中多采用微机中多采用“双进位位双进位位”法进行溢出判断。法进行溢出判断。数值位数值位累加器累加器A(A(内装补码内装补码)f fb bn n-1-1b bn-2 n-2 b b1
33、 1 b b0 0=1=1OFOFC1C1C2C2进位位进位位C C1 1,有溢出,有溢出0 0,无溢出,无溢出OF=C1C2=OF=C1C2=溢出的判别溢出的判别1.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算1-因为因为C C2 2=1,C=1,C1 1=0,OF=C=0,OF=C1 1CC2 2=1,=1,所以有溢出所以有溢出,结果不对。结果不对。因为因为C C2 2=0,C=0,C1 1=0,OF=C=0,OF=C1 1CC2 2=0,=0,所以无溢出所以无溢出,结果正确。结果正确。例例1.41.4 求求:55+66:55+66 55 55补补=00110111=0
34、0110111+66+66补补=01000010=0100001001111001=12101111001=121补补例例1.51.5 求:求:(-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时,为正溢
35、出;时,为正溢出;C C2 2C C1 1=10=10时,为负溢出。时,为负溢出。1.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算1-1.2.3 1.2.3 计算机中无符号数的运算计算机中无符号数的运算1.2.2 1.2.2 计算机中有符号数的运算计算机中有符号数的运算 微机中无论有符号数还是无符号数的加减法运算微机中无论有符号数还是无符号数的加减法运算,都都是在加法器电路中完成的。是在加法器电路中完成的。无符号数运算时无符号数运算时,只有数据用二进制表示时,运算结只有数据用二进制表示时,运算结果才是正确的;果才是正确的;若数据用若数据用BCDBCD码表示,则需要对运算结果
36、码表示,则需要对运算结果进行调整,进行调整,使之符合十进制运算的进位使之符合十进制运算的进位/借位规则借位规则;若数;若数据用据用ASCIIASCII码表示码表示,则必须把它们变换成二进制码或则必须把它们变换成二进制码或BCDBCD码码后才便于运算。后才便于运算。1-1)1)十进制加法调整规则十进制加法调整规则 若两个一位若两个一位BCDBCD数相加结果大于数相加结果大于9(1001),9(1001),则应作则应作6(0110)6(0110)修正修正;若两个若两个BCDBCD数相加结果在本位并不大于数相加结果在本位并不大于9,9,但产生了进位但产生了进位,这相当于十进制数运算大于等于这相当于十
37、进制数运算大于等于1616,所以也应在本位作,所以也应在本位作 加加6 6修正。修正。十进制调整的规则如下:十进制调整的规则如下:2)2)十进制减法调整规则十进制减法调整规则 两两个个BCDBCD数数相相减减,若若出出现现本本位位差差超超过过9 9,或或虽虽不不超超过过9 9但但向向高高位位有有借借位位,则则说说明明必必然然是是借借了了1616,多多借借了了6 6,应应在在本位作减本位作减6 6修正。修正。实实际际中中,现现代代计计算算机机中中均均有有专专门门的的十十进进制制调调整整指指令令,利用它们,机器可按规则自动进行调整。利用它们,机器可按规则自动进行调整。1.2.3 1.2.3 计算机
38、中无符号数的运算计算机中无符号数的运算1-1.2.4 1.2.4 计算机中的乘除法运算计算机中的乘除法运算 1.1.基于加减法电路和移位寄存器实现基于加减法电路和移位寄存器实现 这种方法,运算器中不设乘除法运算电路,只设加减这种方法,运算器中不设乘除法运算电路,只设加减法电路。需要进行乘除法运算时,主要利用加减法运算指法电路。需要进行乘除法运算时,主要利用加减法运算指令和移位指令,按照某种算法通过编程来实现。令和移位指令,按照某种算法通过编程来实现。2 2基于乘除法电路实现基于乘除法电路实现 这种方法,运算器中除设置有加减法电路外,还设有这种方法,运算器中除设置有加减法电路外,还设有乘除法电路
39、。需要进行乘除法运算时,直接用乘除法指令乘除法电路。需要进行乘除法运算时,直接用乘除法指令编程实现。编程实现。1-1.3.1 1.3.1 计算机工作过程的实质计算机工作过程的实质1.3.2 1.3.2 指令与程序的概念指令与程序的概念1.3.3 1.3.3 指令与程序的执行过程指令与程序的执行过程1.3 1.3 微型计算机基本工作原理微型计算机基本工作原理1-1.3.1 1.3.1 计算机工作过程的实质计算机工作过程的实质 计算机工作的过程实质上就是以计算机硬计算机工作的过程实质上就是以计算机硬件为基础执行程序的过程。件为基础执行程序的过程。而程序是由若干条而程序是由若干条指令组成的,微机逐条
40、执行程序中的每条指令,指令组成的,微机逐条执行程序中的每条指令,即可完成一个程序的执行,从而完成一项特定即可完成一个程序的执行,从而完成一项特定的工作。的工作。因此了解微机工作原理的关键,就是要了因此了解微机工作原理的关键,就是要了解指令和指令执行的基本过程。解指令和指令执行的基本过程。1-1.1.指令指令 -规定计算机执行特定操作的命令。规定计算机执行特定操作的命令。2.2.指令系统指令系统 -计算机全部指令的集合。计算机全部指令的集合。指令系统准确定义了计算机的处理能力。指令系统准确定义了计算机的处理能力。不同型号的计算机有不同的指令系统,从而形不同型号的计算机有不同的指令系统,从而形成各
41、自的特点和相互差异。成各自的特点和相互差异。1.3.2 1.3.2 指令与程序的概念指令与程序的概念1-3.3.指令结构指令结构 1.3.2 1.3.2 指令与程序的概念指令与程序的概念任何一条指令均由两部分组成:任何一条指令均由两部分组成:操作码操作码 地址码地址码(操作数操作数)指明要完成操作的性质,指明要完成操作的性质,如:加、减、乘、除等。如:加、减、乘、除等。指明参加规定操作指明参加规定操作的数据存放地址或数据。的数据存放地址或数据。1-4.4.程序程序机器语言程序机器语言程序汇编语言程序汇编语言程序高级语言程序高级语言程序 目前微机系统中使用着三个层次、三种形目前微机系统中使用着三
42、个层次、三种形式的程序:式的程序:-为解决某一问题而编写在一起的为解决某一问题而编写在一起的指令序列指令序列。1.3.2 1.3.2 指令与程序的概念指令与程序的概念1-计算机中的指令以二进制代码形式计算机中的指令以二进制代码形式存在,叫存在,叫机器码指令机器码指令。机器码指令构成的指令系统叫机器码指令构成的指令系统叫机器机器语言语言,用机器语言编写的程序叫,用机器语言编写的程序叫机器语机器语言程序言程序。机器语言程序优点是能被计算机直机器语言程序优点是能被计算机直接理解和执行;缺点是编程繁琐、不直接理解和执行;缺点是编程繁琐、不直观、难记忆、易出错。观、难记忆、易出错。机器语言机器语言 程程
43、 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.3.2 1.3.2 指令与程序的概念指令与程序的概念1-为克服机器语言程序的缺点,常用为克服机器语言程序的缺点,常用助记符来代替机器语言指令。助记符与助记符来代替机器语言指令。助记符与机器语言指令之间有一一对应关系。这机器语言指令之间有一一对应关系。这种用助记符构成的指令系统叫种用助记符构成的指令系统叫汇编语言汇编语言。用汇编语言编写的程序叫用汇编语言编写的程序叫汇编语言汇编语言程序程序。汇编语言程序的优点是直观、易懂、汇编语言程序的优点是直观、易懂、便于记忆。但又存在着计算机无法识别便于记忆。但又存在着计算机无法识别的缺点
44、的缺点。机器语言机器语言 程程 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.3.2 1.3.2 指令与程序的概念指令与程序的概念1-机器语言和汇编语言是依赖于机器机器语言和汇编语言是依赖于机器的编程语言,统称为的编程语言,统称为低级语言低级语言。与此相对应,与此相对应,高级语言高级语言则是一种比则是一种比较接近于习惯的自然语言和数学语言的较接近于习惯的自然语言和数学语言的程序设计语言。它以语句和数据的定义程序设计语言。它以语句和数据的定义为基础,且通常一个语句都是由一组机为基础,且通常一个语句都是由一组机器语言指令或汇编语言指令构成的。用器语言指令或汇编语言指令构成的。
45、用高级语言编写的程序即为高级语言编写的程序即为高级语言程序高级语言程序。高级语言程序比汇编语言程序更直高级语言程序比汇编语言程序更直观易懂,更易于面向问题和对象。观易懂,更易于面向问题和对象。机器语言机器语言 程程 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.3.2 1.3.2 指令与程序的概念指令与程序的概念1-高高级级语语言言程程序序和和汇汇编编语语言言程程序序必必须须先先翻翻译译成成机机器器语语言言程程序序才才能能执执行行。这这个个翻翻译译过过程程,对对汇汇编编语语言言程程序序叫叫汇汇编编(Assemble)Assemble);对对高高级级语语言言程程序序有有的的
46、叫叫解解释释(Interpretation)Interpretation),有有的的叫叫编编译译(Compilation)Compilation)。通通常常又又将将翻翻译译前前的的程程序序叫叫源源程程序序,而而将将翻翻译译后的机器语言程序叫后的机器语言程序叫目标程序目标程序。完完成成汇汇编编、解解释释、编编译译的的程程序序则则分分别别叫叫作作汇汇 编编 程程 序序(Assembler)Assembler)、解解 释释 程程 序序(Interpreter)Interpreter)、编编译译程程序序(Compiler)Compiler),它它们们作作为工具软件事先存放在计算机中。为工具软件事先存放
47、在计算机中。机器语言机器语言 程程 序序 汇编语言汇编语言 程程 序序 高级语言高级语言 程程 序序1.3.2 1.3.2 指令与程序的概念指令与程序的概念1-微型计算机每执行一条指令都分成三个阶段进行微型计算机每执行一条指令都分成三个阶段进行(即三步曲即三步曲):):取指令取指令 分析指令分析指令 执行指令执行指令1.3.3 1.3.3 指令与程序的执行过程指令与程序的执行过程1.1.指令的执行指令的执行 根据程序计数器根据程序计数器PCPC中的值从存储器读中的值从存储器读出现行指令,送到指出现行指令,送到指令寄存器令寄存器IRIR,然后然后PCPC自动加自动加1,1,指向下一条指向下一条指
48、令地址或本条指令指令地址或本条指令下一字节。下一字节。将将IRIR中的指中的指令操作码译码,令操作码译码,分析其指令性质,分析其指令性质,如指令要求操作如指令要求操作数,则寻找操作数,则寻找操作数地址。数地址。取出操作数,执取出操作数,执行指令规定的操作。行指令规定的操作。根据指令不同还可能根据指令不同还可能写入操作结果。写入操作结果。1-微机程序的执行过程,实际上就是周而复始地完成微机程序的执行过程,实际上就是周而复始地完成这三阶段操作的过程,直到遇到停机指令才结束运行。这三阶段操作的过程,直到遇到停机指令才结束运行。1.3.3 1.3.3 指令与程序的执行过程指令与程序的执行过程取指令,取
49、指令,PCPC值加值加1 1停机?停机?分分 析析 指指 令令执执 行行 指指 令令结结 束束Y YN N程程 序序 执执 行行 过过 程程2.2.程序的执行程序的执行1-程程序序执执行行过过程程中中的的每每条条指指令令操操作作三三步步曲曲并并非非在在各各种种微微处处理理器器中中都都是是串串行行完完成成的的,除除早早期期的的8 8位位微微处处理理器器外外,后后来来的的各各种种1616位位机机、3232位位机机都都可可将将这这三三步步操操作作分分配配给给两两个个或或两两个个以以上上的的独独立立部部件件并并行行完完成成。8038680386和和8048680486采采用用了了6 6级级流流水水线线
50、结结构构,不不同同指指令令的的取取址址、分析、执行三个阶段可并行处理。分析、执行三个阶段可并行处理。程程序序的的指指令令和和数数据据都都存存放放在在内内存存中中,故故在在执执行行程程序序时时,CPUCPU和和内内存存通通过过存存储储器器地地址址寄寄存存器器MARMAR和和存存储储器器数数据寄存器据寄存器MDRMDR以及若干以及若干读读/写控制信号写控制信号实现联系。实现联系。3.3.关于程序执行过程的两点说明:关于程序执行过程的两点说明:1.3.3 1.3.3 指令与程序的执行过程指令与程序的执行过程1-例:计算5+8汇编语言程序 对应的机器指令 对应的操作-MOV AL,5 10110000