




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 80X86系列结构微处理器与8086,2.1 80X86系列微处理器是8086的延伸 2.2 8086功能结构 2.3 8086微处理器的执行环境,学 习 目 的,通过对本章的学习,能够达到下列要求: 描述80X86结构特点 掌握8086的功能结构 掌握8086微处理器的执行环境,教学重点,1、8086/8微处理器的编程结构,处理器状态字PSW各个标志位 2、8086/8微机系统的存储器组织。,2.1.1 8086功能的扩展 1、从16位扩展32位 8086寻址1MB 80386(32位机)寻址4GB 2、从实模式至保护模式 实模式:单用户、多任务的磁盘操作系统。操作系统本身没有程序隔离,没有保护。 保护模式:可以实现操作系统核心程序与应用程序的严格的隔离。保护模式支持多任务机制,任务之间完全隔离。,2.1 80X86系列微处理器是8086的延伸,3、片内存储器管理单元(MMU) 引入了存储管理单元(MMU),操作系统方便地实现页(每页为4KB)虚拟存储器管理。 4、浮点支持 协处理器(浮点运算) 5、MMX技术 MMX技术是Intel公司为增强 CPU 在音像、图形和通信应用方面而采取的技术,并增加相应的指令。 6、 SIMD 单指令多数据(SIMD),2.1.2 8086性能的提高,1、利用流水线技术提高操作的并行性 同时执行多条指令 2、引入片内缓存(cache) 在处理器芯片中实现缓存 CPU和内存之间的中介,2.2 8086的功能结构,8086:Intel系列的16位微处理器,16条数据线、20条地址线,可寻址地址范围220=1MB,8086工作时,只要一个 5V 电源和一个时钟,时钟频率为5MHz 。 8088:内部与8086兼容,也是一个16位微处理器,只是外部数据总线为8位,所以称为准16位微处理器。它具有包括乘法和除法的16位运算指令,所以能处理16位数据,还能处理8位数据。8088有20根地址线,所以可寻址的地址空间达220即1M字节。,2.2 8086的编程结构,8086的编程结构从功能分成两个单元 (1)总线接口单元BIU 管理8086与系统总线的接口 负责CPU对存储器和外设进行访问, 取指令和内存中的数据 (2)执行单元EU 负责指令的译码、执行和数据的运算 两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和执行的流水线操作,(3) 8086/8088BIU的特点,8086的指令队列为6个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中。 地址加法器用来产生20位物理地址。8086可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,需要由20位的地址加法器完成地址运算。 如:CS0FE00H,IP0400H,则表示要取指令代码的物理地址为0FE400H。,(4) BIU与EU的动作协调原则,每当8086的指令队列中有两个空字节,BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。,(4) BIU与EU的动作协调原则,每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码。 执行指令的过程中,如果必须访问存储器或者IO端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者IO端口的操作 ; 如果BIU正处于空闲状态,立即响应EU的总线请求。 如BIU正取指令,则BIU完成取指总线周期,再响应EU的访问总线请求。,当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。 在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。,(4) BIU与EU的动作协调原则,将8086CPU分成二个独立的功能部件使二者能够并行工作,把取指令工作和分析指令、执行指令工作重叠进行,从而提高CPU的工作效力,加快指令的执行速度。 指令队列可以被看成是一个特殊的RAM,它的工作原理是“先进先出”,写入的指令只能存放在队列尾,读出的指令是队列头存放的指令。 EU和BIU之间就是通过指令队列联系起来,多数情况下,BIU在不停地向队列写入指令,而EU每执行完一条指令后,就向队列读取下一条指令。二者的动作既独立,又协调。,(4) BIU与EU的动作协调原则,(4) BIU与EU的动作协调原则,2.3 8086微处理器的执行环境,2.3.1 基本执行环境 1、地址空间(内存) 线性地址(寻找程序或数据) 2、寄存器 8个通用寄存器、4个段寄存器、标志寄存器和指令寄存器。(中间结果,状态标志,指令寄存器) 3、堆栈 为支持过程子程序调用并在过程或子程序之间传递参数(什么叫堆栈)。 堆栈是按照“先进后出”原则组织的存储区域 4、I/O端口。 8086结构支持数据在处理器和输入输出(I/O)端口之间的传送,8086基本执行环境,AH AL BH BL CH CL DH DL,AX BX CX DX,SP BP SI DI,IP FLAG,CS DS SS ES,(A) 累加器 基地址寄存器 计数器 数据寄存器,(SP) 堆栈指针寄存器 基地址寄存器 源变址寄存器 目的变址寄存器,(PC) 指令指针寄存器 (PSW) 状态标志寄存器,代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器,CS DS SS ES,此图映射后形成 20位线性地址能寻找1MB空间,段左移4位加偏移量形成20位,8086内部寄存器有: 4个数据寄存器 4个指针寄存器 4个段寄存器 1个指令指针寄存器 1个标志寄存器,8086/8088CPU内部寄存器, 8086的通用寄存器,8086的16位通用寄存器是: AX BX CX DX 其中AX称为累加器,BX称为基址寄存器, CX称为计数寄存器,DX称为数据寄存器 8086的8位通用寄存器是: AH BH CH DH AL BL CL DL AX的高字节为AH,低字节为AL, BX,CX,DX类似 对其中某8位的操作,并不影响另外对应8位的数据。,数据寄存器,数据寄存器用来存放计算的结果和操作数,也可以存放地址。 每个寄存器又有它们各自的专用目的: AX累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等; BX基址寄存器,常用做存放存储器地址; CX计数器,作为循环和串操作等指令中的隐含计数器; DX数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。,指针寄存器SP和BP SP是堆栈指针寄存器,它和堆栈段寄存器SS一起来确定堆栈在内存中的位置; BP是基数指针寄存器,用于存放基地址。 变址寄存器SI和DI SI是源变址寄存器 DI是目的变址寄存器,用于指令的变址寻址方式。,8086的专用寄存器, 段寄存器,DS 数据段寄存器 (Data Segment) CS 代码段寄存器 (Code Segment) ES 附加段寄存器 (Extra Segment) SS 堆栈段寄存器 (Stack Segment) 这些段寄存器的内容与有效的地址一起,用于确定内存的物理地址。通常用CS、DS、ES以及SS用于确定代码段、数据段、附加段以及堆栈段的基地址。, 标志寄存器,标志(Flag)用于反映指令执行结果或控制指令执行形式。 8086处理器的各种标志形成了一个16位的标志寄存器FLAGS(程序状态字PSW寄存器)。,程序设计需要利用标志的状态,标志的分类,6个状态标志: 用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它的状态。 CF ZF SF PF OF AF 3个控制标志: 可由程序根据需要用指令设置,用于控制处理器执行指令的方式 DF IF TF,进位标志CF(Carry Flag),当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否则CF = 0。,49H + 6DHB6H, 没有进位:CF = 0 BBH + 6AH(1)25H,有进位:CF = 1,零标志ZF(Zero Flag),若运算结果为0,则ZF = 1; 否则ZF = 0,49H + 6DHB6H,结果不是零:ZF = 0 75H + 8BH(1)00H,结果是零:ZF = 1,注意: ZF为1表示的结果是0,符号标志SF(Sign Flag),运算结果最高位为1,则SF = 1;否则SF = 0,有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态,奇偶标志PF(Parity Flag),当运算结果最低字节中“1”的个数为零或偶数时,PF = 1;否则PF = 0,3AH + 7CHB6H10110110B 结果中有5个1,是奇数:PF = 0,PF标志仅反映最低8位中“1”的个数是 偶或奇,即使是进行16位字操作,溢出标志OF(Overflow Flag),若算术运算的结果有溢出, 则OF1;否则 OF0,49H + 6DH B6H,产生溢出:OF = 1 75H + 8BH (1)26H,没有溢出:OF = 0,什么是溢出?,处理器内部以补码表示有符号数 8位补码表达的整数范围是:127128 16位补码表达的范围是:3276732768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确,49H6DHB6H,就是73109182, 已经超出128127范围,产生溢出,故OF1; 另一方面,补码B6H表达真值是-74,显然运算结果也不正确。,溢出和进位,溢出标志OF和进位标志CF是两个意义不同的标志。 进位标志CF表示无符号数运算结果是否超出范围,运算结果仍然正确。 溢出标志OF表示有符号数运算结果是否超出范围,运算结果已经不正确。,溢出和进位的对比,例1:49H + 6DHB6H 无符号数运算: 73109182 范围内,无进位 有符号数运算: 73109182 范围外,有溢出,例2:BBH + 6AH(1)25H 无符号数运算: 187106293 范围外,有进位 有符号数运算: 6910637 范围内,无溢出,溢出的判断,判断运算结果是否溢出有一个简单的规则: 只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出,因为,此时的运算结果显然不正确。 其他情况下,则不会产生溢出,辅助进位标志AF(Auxiliary Carry Flag),49H + 6DHB6H,D3有进位:AF = 1,运算时D3位(低半字节)有进位或借位时,AF = 1;否则AF = 0。,这个标志主要由处理器内部使用,用于十进制算术运算调整指令中,用户一般不必关心。,例:两个带符号数 64 h , 64 h 相加。 0 1 1 0 0 1 0 0 + 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0,OF=1(运算结果超过127); SF=1 ; ZF=0 ; AF=0 ; PF=0 ; CF=0 。,方向标志DF(Direction Flag),用于串操作指令中,控制地址的变化方向: 设置DF0,存储器地址自动增加; 设置DF1,存储器地址自动减少。,CLD指令复位方向标志:DF0 STD指令置位方向标志:DF1,中断允许标志IF(Interrupt-enable Flag),用于控制外部可屏蔽中断是否可以被处理器响应: 设置IF1,则允许中断; 设置IF0,则禁止中断。,CLI指令复位中断标志:IF0 STI指令置位中断标志:IF1,陷阱标志TF(Trap Flag),用于控制处理器进入单步操作方式: 设置TF0,处理器正常工作; 设置TF1,处理器单步执行指令。,指令指针IP,指令指针寄存器IP,指示代码段中指令的偏移地址。 它与代码段寄存器CS联用,确定下一条指令的物理地址。 计算机通过CS : IP寄存器来控制指令序列的执行流程。 IP寄存器是一个专用寄存器。,执行部件,总线接口部件,2.3.3 存储器组织,8086有20根地址总线,因此,它可以直接寻址的存储器单元数为:220=1MB 8086内部寄存器和数据总线均为16位! 如何实现16位的存储单元存放20位的地址空间?,由于CPU内部的寄存器都是16位的,为了能够提供20位的物理地址,系统中采用了存储器分段的方法。 规定存储器的一个段为64KB,由段寄存器来确定存储单元的段地址,由指令提供该单元相对于相应段起始地址的16位偏移量。 这样,系统的整个存储空间可分为16个逻辑段。 存储器的每个段的容量为64KB,并允许在整个存储空间内浮动,即段与段之间可以部分重叠、完全重叠、连续排列,非常灵活。,1.存储器的分段及段地址,在8086中怎样形成这20位的地址呢?分段! 将内存的1M字节以64K为范围,分成若干段;在8086中设置4个段寄存器CS、DS、SS、ES, 在寻址一个具体的内存单元(物理地址)时,由一个段寄存器中保存的16位基地址,加上由IP(或SP,或BP,或BX,或SI,或DI)中保存的、可由CPU处理的16位偏移量,来形成20位的物理地址。 在形成物理地址时,地址加法器将段寄存器中的16位数左移4位,然后与16位偏移地址相加,形成20位的物理地址。,2.与存储单元地址相关的几个概念,物理地址: 一个存储单元的实际地址(20位)。物理地址与存储单元是一一对应关系。(20202H) 逻辑地址: 是指段地址和偏移地址,是指令中引用的形式地址。一个逻辑地址只能对应一个物理地址,而一个物理地址可以对应多个逻辑地址。 2000:0200 20200 2010:0100 20200,段地址: 是指一个段的起始地址,最低4位为零,一般将其有效数字16位存放在段寄存器中 偏移地址: 段内存储单元相对段地址的距离(16位)。同一个段内,各个存储单元的段地址是相同的,偏移地址是不同的。,2.与存储单元地址相关的几个概念,3.物理地址的计算方法,物理地址=段地址+偏移地址 =段寄存器内容16+偏移地址 取指令物理地址=(CS)16+(IP) 堆栈操作物理地址=(SS)16+(SP)/(BP的表达式) 存储器操作数物理地址=(DS)/(ES)16+偏移地址,CS=2000H IP=1000H 物理地址=2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备验收项目管理制度
- 2025年中国加固镜头行业市场全景分析及前景机遇研判报告
- 2025年中国基因编辑行业市场全景分析及前景机遇研判报告
- 评审签发规章管理制度
- 诊所病历处方管理制度
- 诊疗机构连锁管理制度
- 财政票据核销管理制度
- 货代公司销售管理制度
- 货物应急响应管理制度
- 货车卸货安全管理制度
- 2024年出版专业资格考试《出版专业基础知识》中级真题及答案
- 稳定币技术挑战-洞察分析
- 《高血压的护理查房》课件
- 呼吸科患者出院指导
- 校园食堂升级服务方案
- 中医治疗协议书范本(2篇)
- 沐足行业严禁黄赌毒承诺书
- 2024年初级招标采购从业人员《招标采购法律法规》考前通关必练题库(含答案)
- 供应柴油月结算合同范本
- 2024年《风力发电原理》基础技能及理论知识考试题库与答案
- 2.10丰巢智能柜合作协议
评论
0/150
提交评论