第二章微机中的微处理器(2)剖析

上传人:今*** 文档编号:107925879 上传时间:2019-10-21 格式:PPT 页数:111 大小:1.22MB
返回 下载 相关 举报
第二章微机中的微处理器(2)剖析_第1页
第1页 / 共111页
第二章微机中的微处理器(2)剖析_第2页
第2页 / 共111页
第二章微机中的微处理器(2)剖析_第3页
第3页 / 共111页
第二章微机中的微处理器(2)剖析_第4页
第4页 / 共111页
第二章微机中的微处理器(2)剖析_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《第二章微机中的微处理器(2)剖析》由会员分享,可在线阅读,更多相关《第二章微机中的微处理器(2)剖析(111页珍藏版)》请在金锄头文库上搜索。

1、2010.2.25,1,第二章 微机中的微处理器,引言 微处理器是组成微计算机系统的核心部件。本章重点讲解8086微处理器,因为它体现了简单微处理器的一般原理,也是学习汇编语言程序设计的基础。 主要讨论:微处理器的内部结构、与之配合的存储器组织、I/O组织和寻址方式。,2010.2.25,2,第二章 微机中的微处理器,2.1 8086微处理器的内部结构 2.2 8086的寄存器结构 2.3 8086的存储器组织 2.38086的I/O组织 2.5 8086的寻址方式,2010.2.25,3,微处理器的功能: MPU是组成计算机系统的核心部件,它具有运算和控制的功能 。具体来讲,它有以下基本功能

2、,支持功能完善的指令系统,进行各种算术逻辑运算,通过程序完成复杂的科学计算。 支持各种结构的程序的执行,如程序的分支、循环、嵌套、子程序的调用和返回、中断服务程序等。 控制与存储器、外部设备等相连,组成完整的微机系统。,2.1 微处理器的内部结构,2.1 微处理器的一般结构,2010.2.25,4,微处理器的功能: 具体来讲,它有以下基本功能, 进行算术运算和逻辑 运算; 接收存储器和I/O接口送来的数据和发送数据给存储器和I/O接口; 暂存少量数据; 对指令进行寄存、译码并执行指令所规定的操作; 提供整个系统所需的定时和控制信号; 响应I/O设备发出的中断请求。,2.1 微处理器的内部结构,

3、2.1 微处理器的一般结构,2010.2.25,5,微处理器的功能:,从程序设计的角度考虑,CPU必须便于处理: 赋值和算术表达式 无条件转移 条件转移以及关系和逻辑表达式 循环 数组和其它数据结构 子程序 输入/输出,2.1 微处理器的内部结构,2010.2.25,6,CPU的实际工作就是执行每一条指令。 执行每一条指令都可分为三个阶段,即: 1.取指令 2.分析指令 3.执行指令,2.1 微处理器的内部结构,取指令:从存储器中读出现行指令,把指令送入CPU中。 分析指令:对指令进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。 执行指令:进行相应的操作。,2010.2.25,7

4、,3.1.1 微处理器的内部结构,串行处理,指令的执行过程: 取指令取操作数(如需要)执行指令写入存储器(如需要)。,取指令1,译码1,取数据1,执行1,存结果1,取指令2,译码2,执行2,取指令1,译码1,取数据1,执行1,存结果1,取指令2,译码2,执行2,取指令3,译码3,执行3,存结果3,并行处理,2010.2.25,8,2.1 8086微处理器的功能结构,2010.2.25,9,总线接口单元(BIU),总线接口单元由下列各部分组成: (1)4个段地址寄存器; CS16位的代码段寄存器; DS16位的数据段寄存器; ES16位的扩展段寄存器; SS16位的堆栈段寄存器; (2)16位的

5、指令指针寄存器IP; (3)6字节的指令队列寄存器; (4)20位的地址加法器; (5)完成与EU通讯的内部寄存器; (6)总线控制逻辑。,取指令时:从存储器指定地址取出指令送入指令队列排队; 执行指令时:根据EU命令对指定存储器单元或者I/O端口存取数据。,2010.2.25,10,执行单元(EU),执行单元由下列各部分组成: (1)算术逻辑运算单元(ALU); (2)标志寄存器(FR): (3)通用寄存器组-AX,BX,CX,DX,SP,BP,DI,SI; (4)EU控制器; (5)暂存器。,工作:执行指令,进行全部的算术逻辑运算、完成偏移地址的计算,向BIU提供指令执行结果的数据和偏移地

6、址,并对通用寄存器和标志寄存器进行管理。,2010.2.25,11,2.1 8086的内部结构,指令和程序执行过程如下图:,取指令1,执行1,取指令2,取数据2,执行2,取指令3,执行3,BIU,EU,2010.2.25,12,2.2 8086的寄存器结构,2010.2.25,13,2.2.1 通用寄存器组,4个16位数据寄存器(存在于 EU中):,包括AX,BX ,CX,DX。 主要功能: (见P14表2.1) 1.存放数据 2.存放地址,每一个寄存器又可分为两个8位的数据寄存器: AX-AH AL BX-BH BL CX-CH CL DX-DH DL 16位数据寄存器可存放数据和地址,而8

7、位寄存器只能存放数据,2010.2.25,14,2.2.1 数据寄存器,AX累加器,使用频度最高,用于算术、逻辑运算,以及与外设传送信息等;,累加器一般用来存放参加运算的数据和结果。尤其在乘、除法运算、I/O操作中有不可替代的作用。 乘法运算:存放结果 除法运算:存放商 I/O操作:AX(或AL)与I/O端口进行数据通信。,2010.2.25,15,2.2.1 数据寄存器,BX基址寄存器,基址寄存器可作数据寄存器 还可放内存的逻辑偏移地址,而AX,CX,DX则不能。 如: MOV AX, BX 但是,如果写成: MOV AX, CX 是错误的,2010.2.25,16,2.2.1 数据寄存器,

8、CX计数寄存器,计数寄存器做数据寄存器 还可以在循环操作中和移位操作中做计数器用。,如: MOV CX, 15(循环程序中);给cx赋值为15 . . 循环操作15次,2010.2.25,17,2.2.1 数据寄存器,DX,DX做通用数据寄存器 还在乘、除法运算、带符号数的扩展指令中有特殊用途。,2010.2.25,18,2.2.1 通用寄存器组,地址指针和变址寄存器:,变址寄存器,用于在某些间接寻址方式中存放段内 偏移地址的全部或一部分: SI源变址寄存器 DI目的变址寄存器 串操作类指令中,SI和DI具有特别的功能,指针寄存器用于寻址内存堆栈内的数据: SP堆栈指针,指示栈顶的偏移地址。

9、SP不能再用于其他目的,具有专用目的。 BP基址指针,用于在某些间接寻址方式中存放段内偏移地址的一部分。 SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址。,2010.2.25,19,BIU设有4个16位段寄存器 (可见P18的2.2.3内容),2.2.2 段寄存器组,段寄存器用来存放段地址,cpu可通过4个段寄存器访问存储器中4个不同的段(每段64k)。,CS代码段寄存器,存放代码段的段地址 SS堆栈段寄存器,存放堆栈段的段地址 DS数据段寄存器,存放数据段的段地址 ES附加段寄存器,存放附加段的段地址,2010.2.25,20,2.2.3 控制寄存器组,指令指针寄存器IP

10、: 保存下一条要执行的指令的偏移地址,它与代码段寄存器CS联用,确定下一条指令的物理地址。 计算机通过 CS : IP 寄存器来控制指令序列的执行流程。 IP寄存器是一个专用寄存器。,2010.2.25,21,补充内容,无符号数和有符号数 原码、反吗、和补码,2010.2.25,22,有符号数的表示方法,二进制数分为: 无符号数 有符号数,2010.2.25,23,有符号数的表示方法,二进制数分为:无符号数和有符号数,无符号数 :所有的二进制数位均为数值位。 例如:1000 0111 = 135,有符号数 :最高位为符号位,后面的所有位为数值位。 例如:1000 0111 = -7,2010.

11、2.25,24,有符号数的表示方法,无符号数 :所有的二进制数位均为数值位。 例如:1000 0111 = 135,有符号数 :最高位为符号位,后面的所有位为数值位。 例如:1000 0111 = -7,2010.2.25,25,有符号数的表示方法,有符号数:,+ : 用0表示(正数) - : 用1表示(负数),用0表示“+”,用1表示“-”。这样的表示方法就是符号数字化。 即用数字来表示正负数的符号。,2010.2.25,26,有符号数的表示方法,8位无符号数范围:所有的二进制数位均为数值位。 0 X 255 0000 0000 到 1111 1111,8位有符号数的范围 :最高位为符号位,

12、后面的所有位为数值位。 -128 X 127 1000 0000 到 0111 1111,2010.2.25,27,有符号数的表示方法,有符号数的表示方法:,原码 反码 补码,2010.2.25,28,有符号数的表示方法,原码,正数的符号用“0”表示,负数的符号用“1”表示,绝对 值的编码规则与无符号数编码规则相同。这样的表示方法称 为原码表示法。 一个数X的原码记作x原,例如:用8位二进制表示: 19的原码是: 19原= 0001 0011 (最高位是符号位) -19的原码是: -19原= 1001 0011,2010.2.25,29,0 Xn-2Xn-3X1X0 x 0 x原 = 1 Xn

13、-2Xn-3X1X0 x 0,1.原码,+0原 = 0000 0000 -0原 = 1000 0000 +1原 = 0000 0001 -1原 = 1000 0001 +127原 = 0111 1111= 28-1-1 -127原 =1111 1111= -(28-1-1),有符号数的表示方法,2010.2.25,30,2.反码,正数的反码:与原码相同; 负数的反码:原码的符号位不变,其它各位求反。,例如:用8位二进制表示: 19的反码是: 19原= 0001 0011, 19反= 0110 1100 -19的反码是: -19原= 1001 0011, -19反= 1110 1100,2010

14、.2.25,31,2.反码,+0反 = 0000 0000 -0反 = 1111 1111 +1反 = 0000 0001 -1反 = 1111 1110 +127反 = 0111 1111 -127反 = 1000 0000,2010.2.25,32,3.补码,正数的补码:与原码相同; 负数的补码:原码的符号位不变,其它各位求反加1。,例如:用8位二进制表示: 19的反码是: 19原= 0001 0011, 19反= 0001 0011 19补= 0001 0011 -19的反码是: -19原= 1001 0011, -19反= 1110 1100 -19补= 1110 1101,2010.

15、2.25,33,3.补码,+0补 = 0000 0000 -0补 = 28 |-0| = 0000 0000 +1补 = 0000 0001 -1补 = 28 |-1| = 1111 1111 +127补 = 0111 1111 -127补 = 28 |-127| = 1000 0001,2010.2.25,34,有符号数的表示方法,一个有符号数X,X 0 x原= x反= x补,X 0 x反:x原符号位不变,其它各位求反 x补= x反+1,练习,2010.2.25,35,3.补码,例: 73 -2 = 73+(-2)=71,0 1 0 0 1 0 1 1 (73) + 1 1 1 1 1 1 1 0 (-2) 1 0 1 0 0 0 1 1 1 (71),在计算机中,加减法是用补码来运算的。,补码加法,如果符号位有进位,必须舍弃,2010.2.25,36,2.2.3 控制寄存器组,标志寄存器(FLAG): 状态标志记录程序运行结果的状态信息,许多指令的执行都将相应地设置它。 CF ZF SF PF OF AF 控制标志可由程序根据需要用指令设置,用于控制处理器执

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号