版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 16位和位和32位微处理器位微处理器 根本要求根本要求 : 8086微处理器的编程构造 8086微处理器的存放器 8086微处理器的操作时序 中断、中断分类、中断向量、中断响应、中断屏蔽 8086的最小形式、最大形式工作方式,最小形式下的存储器配置 8086的存储器编址、存储器的分段构造 8086的IO编址 80386 的功能部件 80386微型机的三种工作方式 32位微型机中指令流水线和地址流水线和实现 32微型机中的两级存储管理 逻辑地址到线性地址的转换 逻辑地址到物理地址的转换 线性地址到物理地址的转换 Pentium采用的CISC和RISC技术 分支预测技术的设计思想和实现
2、方法 Pentium的技术特点 Pentium的主要部件 Pentium的主要信号 Pentium的总线状态和总线周期2.1 16位微处理器位微处理器80862.1.1 2.1.1 8 8086086的编程构造的编程构造 16位处理器位处理器16位数据宽度,内部存放器,位数据宽度,内部存放器,ALU都是都是16位的。位的。 地址总线地址总线20位,以字节为单位对存储器进展编制,可位,以字节为单位对存储器进展编制,可寻址寻址220 1M字节。字节。 为了充分利用为了充分利用Intel原来原来8位的外围接口芯片,位的外围接口芯片,Intel在在16位位8086的根底上,还推出了外部数据总线位的根底
3、上,还推出了外部数据总线位8位的位的8088处理处理器器内部与内部与8086根本一样是根本一样是16位,外部数据总线位,外部数据总线8位,地位,地址总线址总线20位。位。 所谓编程构造所谓编程构造面向程序设计和应用角度的面向程序设计和应用角度的CPU构造。构造。68086的编程构造从功能上,8086分为两部分,即总线接口部件bus interface unit,BIU执行部件execution unit,EU 1. 总线接口部件总线接口部件根据根据EU的恳求,完成的恳求,完成CPU与存储器、与存储器、CPU与与I/O设备设备之间的信息传送。之间的信息传送。 读指令读指令当指令队列出现空字节当指
4、令队列出现空字节8088 有有1个空个空字节,字节,8086 有有2个空字节个空字节时,从内存取出后续指令。时,从内存取出后续指令。BIU取指令时,并不影响取指令时,并不影响EU的执行,两者并行工作,的执行,两者并行工作,大大进步了大大进步了CPU的执行速度。的执行速度。 读操作数读操作数EU需要从内存或外设端口读取操作数需要从内存或外设端口读取操作数时,根据时,根据EU给出的地址从内存或外设端口读取数据供给出的地址从内存或外设端口读取数据供EU使用。使用。 写操作数写操作数EU的运算结果、数据或控制命令等由的运算结果、数据或控制命令等由BIU送往指定的内存单元或外设端口。送往指定的内存单元或
5、外设端口。9 4个个16位段存放器:位段存放器:代码段存放器代码段存放器CSCode Segment、数据段存放器、数据段存放器DSData Segment、堆、堆栈段存放器栈段存放器SSStack Segment和附加数据段存放和附加数据段存放器器ESExtra Segment; 一个一个16位的指令指针存放器位的指令指针存放器IPInstruction 一个一个20位地址加法器;位地址加法器; 6字节指令队列缓冲器;字节指令队列缓冲器; 一个与一个与EU通讯的内部存放器以及总线控制电路通讯的内部存放器以及总线控制电路。 10 段存放器段存放器 8086CPU的地址引脚有20根,能提供20位
6、的地址信息,可直接对1M个存储单元进展访问。 但CPU内部可用来提供地址信息的存放器都是16位的, 那么如何用16位存放器实现20位地址的寻址呢? 3存放器简介存放器简介118086/8088采用了分段构造的内存管理的方法。采用了分段构造的内存管理的方法。将指令代码和数据分别存储在代码段数据段堆栈段附加数据段简城附加段中, 每一段最大64KB216个字节,可用16位的地址存放器管理。 12代码段段基地址相对于段基地址的偏移量数据段段基地址相对于段基地址的偏移量这些段的段基地址分别由这些段的段基地址分别由段存放器段存放器CS、DS、SS、ES提供,提供,而代码或数据在段内的偏而代码或数据在段内的
7、偏移地址那么由有关存放器移地址那么由有关存放器或立即数给出。或立即数给出。13l 代码段存放器代码段存放器CS:存储程序当前使用的代码段的段地址。代码段用来存放程序的指令代码。下一条要读取指令在代码段中的偏移地址由指令指针存放器IP提供;l 数据段存放器数据段存放器DS:用来存放程序当前使用的数据段的段地址。一般来说,程序中所用到的原始数据、中间结果以及最终结果都存放在数据段中;14 堆栈段存放器堆栈段存放器SS:用来存放程序当前所使用的堆栈段的段地址。堆栈是在存储器中开拓的一个特定区域; 附加数据段存放器附加数据段存放器ES:用来存放程序当前使用的附加数据段的段地址。附加数据段通常用于存放字
8、符串操作时的目的字符串。15程序员在编写汇编语言源程序时,应该按照上述规定程序员在编写汇编语言源程序时,应该按照上述规定将程序的各个部分放在规定的段内。将程序的各个部分放在规定的段内。每个源程序必须至少有一个代码段,每个源程序必须至少有一个代码段,而数据段、堆栈段和附加数据段那么根据程序的需要而数据段、堆栈段和附加数据段那么根据程序的需要决定是否设置。决定是否设置。 16 指令指针存放器指令指针存放器指令指针存放器指令指针存放器IP:用来存放下一条要读取的指令在代码段中用来存放下一条要读取的指令在代码段中的偏移地址。的偏移地址。IP在程序运行中能自动加在程序运行中能自动加1修正,从而使其始终存
9、放的是下一修正,从而使其始终存放的是下一条要读取的指令在代码段的偏移地址。由于条要读取的指令在代码段的偏移地址。由于CS和和IP的内容决定的内容决定了程序的执行顺序,因此程序员不能直接用赋值指令对其内容了程序的执行顺序,因此程序员不能直接用赋值指令对其内容进展修改。有些指令能使进展修改。有些指令能使IP和和CS的值改变如跳转指令或使的值改变如跳转指令或使其值压入堆栈或从堆栈中弹出恢复原值如子程序调用指令和其值压入堆栈或从堆栈中弹出恢复原值如子程序调用指令和返回指令。返回指令。 174 4 20 20位地址加法器位地址加法器 8086/8088CPU在对存储单元进展访问以读取指令或读在对存储单元
10、进展访问以读取指令或读/写写操作数时,必须在地址总线上提供操作数时,必须在地址总线上提供20位的地址信息,以便选中位的地址信息,以便选中对应的存储单元。对应的存储单元。CPU的存放器都是的存放器都是16位段基址存放器和偏移地址都是。位段基址存放器和偏移地址都是。那么,那么,CPU是如何产生是如何产生20位地址的呢?位地址的呢? CPU提供的用来对存储单元进展访问的提供的用来对存储单元进展访问的20位地址是由位地址是由BIU中的地址加法器产生的。中的地址加法器产生的。 18 存储器中每个存储单元的地址可有以下两种表示方式:存储器中每个存储单元的地址可有以下两种表示方式:逻辑地址:逻辑地址:其表达
11、形式为表达形式为“段地址:段内偏移地址段地址:段内偏移地址 的地址。的地址。段内偏移地址又称为段内偏移地址又称为“有效地址有效地址EAEffective Address。 19物理地址物理地址:CPU与存储器进展数据交换时在地址总线上提供的20位地址信息称为物理地址。 物理地址的形成过程如下图。20015段内偏移地址段寄存器190340000 段地址左移4位20位物理地址19021段存放器内容左移四位后相当于乘以10H,与16位段内偏移地址,在BIU中的地址加法器中进展相加,形成一个20位的物理地址。这就是由逻辑地址求出物理地址的方法。由逻辑地址求物理地址的公式为: 例如:假设当前CS=100
12、0H,取出当前指令后指令指针IP=4052H,求下一条指令的地址。1000H 左移4位后为:10000H,它与4052H相加10000+4052=14052h。下一条指令所在存储单元的物理地址为14052H。10000405214052225 5 指令队列缓冲器指令队列缓冲器 8086的指令队列有的指令队列有6个字节,个字节,8088的指令队列有的指令队列有4个字节。个字节。 对对8086而言,当指令队列出现而言,当指令队列出现2个空字节,个空字节, 对对8088而言,指令队列出现而言,指令队列出现1个空字节时,个空字节时,BIU就自动执行一次取指令操作,将下一条要执行的指令就自动执行一次取指
13、令操作,将下一条要执行的指令1个字个字从内存单元读入到指令队列。从内存单元读入到指令队列。 指令队列采用指令队列采用“先进先出原那么,按顺序存放,并按顺序先进先出原那么,按顺序存放,并按顺序取到取到EU中去执行。中去执行。 指令队列的引入使得指令队列的引入使得EUEU和和BIUBIU可并行工作,即可并行工作,即BIUBIU在读指令时,在读指令时,并不影响并不影响EUEU单元执行指令,单元执行指令,EUEU单元可以连续不断地直接从指令队单元可以连续不断地直接从指令队列中取到要执行的指令代码,从而减少了列中取到要执行的指令代码,从而减少了CPUCPU为取指令而等待的为取指令而等待的时间,进步了时间
14、,进步了CPUCPU的利用率,加快了整机的运行速度。的利用率,加快了整机的运行速度。2. 2. 执行部件执行部件 1 1功能功能执行部件负责指令的执行执行部件负责指令的执行 ,242 2组成组成由以下由以下4部分组成:部分组成: 4 4个通用存放器,即个通用存放器,即AXAX、BXBX、CXCX、DXDX; 1616位字长,又可以作为位字长,又可以作为2 2个独立的个独立的8 8位存放器使用。位存放器使用。 4 4个专用存放器,即个专用存放器,即 基数指针存放器基数指针存放器BPBPBase PointerBase Pointer 堆栈指针存放器堆栈指针存放器SPSPStack Pointer
15、Stack Pointer 源变址存放器源变址存放器SISISource IndexSource Index 目的变址存放器目的变址存放器DIDIDestination IndexDestination Index; 标志存放器;标志存放器; 算术逻辑部件算术逻辑部件arithmetic logic unit。3标志存放器标志存放器标志存放器标志存放器共有共有1616位,其中位,其中7 7位未用,所用的各位含位未用,所用的各位含义如下:义如下:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 015 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O
16、FOFDFDFIFIFTFTFSFSFZFZF AFAF PFPF CFCF根据功能,8086的标志可以分为两类:状态标志控制标志 状态标志有6个,即SF、ZF、PF、CF、AF和OF 符号标志SFSign Flag 零标志ZFZero Flag 奇偶标志PFParity Flag 运算结果低8位中1的个数为偶数,PF=1PE,低8位中1的个数为奇数,PF=0PO。 进位标志CFCarry Flag 最高位产生进位CF=1 辅助进位标志Auxiliary carry Flag 溢出标志Overflow Flag 算术运算产生溢出8位运算结果超出-128+127 16位运算结果超出-32768+
17、32767286、标志存放器、标志存放器16位存放器,其中有位存放器,其中有7位未用。位未用。D15D0 OF DF IF TF SF ZF AF PF CF进进借借位位标标志志奇奇偶偶标标志志半半进进借借位位标标志志零零标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志溢溢出出标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位无进、借位位无进、借位1-结果为结果为00-结果不为结果不为0290101 0100 0011 1001
18、+0100 0101 0110 10101001 1001 1010 0011最高位最高位 = 1 SF=1低八位低八位1的个数为的个数为 4 个个 PF=1运算结果不为运算结果不为 0 ZF=0低低 4 位向前有进位位向前有进位 AF=1最高位向前没有进位最高位向前没有进位 CF=0次高位向前有进位次高位向前有进位 ,最高位无进位最高位无进位 CF=0,DF=1,OF=115 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O D I T S Z A P C 101011最高位无进位,CF=0向高4位有进位,AF=130例:例: 设变量设变量x=11101111B,y=
19、11001000B,X=0101101000001010B,Y=01001100 10100011B,请问分别执,请问分别执行行x+y和和X+Y操作后标志存放器中各状态位的状态如何?操作后标志存放器中各状态位的状态如何? 11101111 + 11001000 10110111 1自动丢失0101101000001010 0100110010100011 1010011010101101CF=0CF=1DF=1DF=1x+yX+YAF=1CF=1次高位进位信号DF=1最高位进位信号CF=1OF=CF DF=0低8位有5个1,PF=0低8位有6个1,PF=131状态状态位位执行执行x+y后后执行
20、执行X+Y后后CF最高位最高位D7向前有进位,向前有进位,CF=1最高位最高位D15向前没有进位,向前没有进位,CF=0PF1的个数为偶数的个数为偶数(6),PF=11的个数为奇数的个数为奇数(5位位),PF=0AF低低4位向前有进位,位向前有进位,AF=1低低 4 位 向 前 没 有 进 位 ,位 向 前 没 有 进 位 ,AF=0ZF计算结果不为计算结果不为0,ZF=0计算结果不为计算结果不为0,ZF=0SF最高位最高位D7为为1,SF=1最高位最高位D15为为1,SF=1OFCF DF=0,没有溢出,没有溢出,OF=0CF DF=1,结果溢出,结果溢出,OF=1控制标志有3个,即 方向标
21、志DFdirection flag 中断允许标志IFinterrupt enable flag 跟踪标志TFtrap flag又称为单步标志80X86的标志存放器各位可以通过程序进展修改。由于它特别重要,为防止意外被修改,因此对标志存放器的修改有特殊的指令和方法。3. 8086的总线周期的概念的总线周期的概念 计算机中的所有工作,都是在严格的时钟脉冲控制下进展的。 总线周期完成一次总线操作所需要的时钟周期数。 一般总线操作一次存储器读或写操作。根本总线周期4个时钟周期。T1,T2,T3,T4 假如存储器或外设在四个时钟周期不能完成所需要的操作,可以再T3后插入1个或多个等待周期TW。34典型的
22、8086总线周期序列:由4个根本时钟周期和假设干个等待周期可以是0个等待周期组成。 T1状态,发地址信息 T2状态,总线的高4位输出状态信息 T3状态,高4位输出状态信息,低16位 数据 T3之后,可能插入TW存储器或外设提供 在T4状态,本总线周期完毕。362.1.2 8086的引脚信号和工作形式的引脚信号和工作形式最大工作形式的功能1.最小形式和最大形式的概念最小形式和最大形式的概念1最小形式:在系统中只有一个微处理器,所有总线控制信号都有CPU直接产生。 2最大形式:两个或多个微处理器主处理器、协处理器,总线控制信号有专门的电路产生。 与8086配合的协处理器8087:数值运算处理器80
23、89:输入/输出协处理器2. 8086/8088的引脚信号和功能的引脚信号和功能注意点:注意点: 8086/8088的数据线和地址线复用的数据线和地址线复用 8086有有16根数据线根数据线 第第21脚脚RESET为输入复位信号为输入复位信号 第第22引脚为引脚为“准备好准备好READY信号信号 RD:指示读,:指示读, WR:指示写操作:指示写操作 高高4位地址和状态线复用位地址和状态线复用 各引脚信号: GND、V地和电源 AD15AD0地址/数据复用 A19/S6A16/S3 地址/状态复用 BHE/S7 高8位数据总线允许/状态复用 NMI非屏蔽中断输入 INTR可屏蔽中断恳求信号输入 RD读信号输出 CLK时钟输入 RESET复位信号输入 READY “准备好信号输入 TEST测试信号输入 MN/MX最小和最大形式控制输入 带#的信号表示低电平有效3. 最小形式最小形式 引脚信号: INTA中断响应信号输出 ALE地址锁存允许信号输出 DEN数据允许信号 DT/R数据收发信号输出 M/IO存储器/输入输出控制信号输出 WR写信号输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肌筋膜疼痛综合征的推拿理疗
- 大连理工大学出版社说课稿-2025-2026学年中职中职专业课电子商务类73 财经商贸大类
- 品质异常处理SOP|从发现到关闭
- 血液透析中的抗凝治疗与护理
- 初中2025年说课稿学习主题班会
- 上海音乐学院《安装工程计价》2025-2026学年第一学期期末试卷(B卷)
- 2025年动力电池回收产业链金融风险案例与防范
- 上海音乐学院《Android 移动平台开发》2025-2026学年第一学期期末试卷(A卷)
- 上海震旦职业学院《安全经济原理与实践》2025-2026学年第一学期期末试卷(B卷)
- 初中科技创新展示主题班会2025说课稿
- 2025年内蒙古鄂尔多斯市康巴什区事业单位考试题及答案解析
- 培训餐厅服务员
- 心脏外科患者伤口护理
- 2026年工业无人机焊接技术报告
- 《城市体检工作手册》(试行)下载
- 2025年甘肃钢铁职业技术学院辅导员考试真题
- 屋顶光伏施工技术规范
- 2025年国家义务教育质量监测小学四年级劳动教育国测模拟测试题及答案
- 第节深圳市中考英语听说考试概述
- 2026年山东省菏泽一中自主招生物理试卷试题(含答案详解)
- ICMP协议课件教学课件
评论
0/150
提交评论