已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 16位和32位微处理器,基本要求 :,8086微处理器的编程结构 8086微处理器的寄存器 8086微处理器的操作时序 中断、中断分类、中断向量、中断响应、中断屏蔽 8086的最小模式、最大模式工作方式,最小模式下的存储器配置 8086的存储器编址、存储器的分段结构 8086的IO编址 80386 的功能部件 80386微型机的三种工作方式,32位微型机中指令流水线和地址流水线和实现 32微型机中的两级存储管理 逻辑地址到线性地址的转换 逻辑地址到物理地址的转换 线性地址到物理地址的转换 Pentium采用的CISC和RISC技术 分支预测技术的设计思想和实现方法,Pentium的技术特点 Pentium的主要部件 Pentium的主要信号 Pentium的总线状态和总线周期,2.1 16位微处理器8086,2.1.1 8086的编程结构 16位处理器16位数据宽度,内部寄存器,ALU都是16位的。 地址总线20位,以字节为单位对存储器进行编制,可寻址220 1M字节。 为了充分利用Intel原来8位的外围接口芯片,Intel在16位8086的基础上,还推出了外部数据总线位8位的8088处理器内部与8086基本相同是16位,外部数据总线8位,地址总线20位。 所谓编程结构面向程序设计和应用角度的CPU结构。,6,8086的编程结构,从功能上,8086分为两部分,即 总线接口部件(bus interface unit,BIU) 执行部件(execution unit,EU),1. 总线接口部件,(1)总线接口单元BIU的任务:,依据EU的请求,完成CPU与存储器、CPU与I/O设备之间的信息传送。 读指令当指令队列出现空字节(8088 有1个空字节,8086 有2个空字节)时,从内存取出后续指令。BIU取指令时,并不影响EU的执行,两者并行工作,大大提高了CPU的执行速度。 读操作数EU需要从内存或外设端口读取操作数时,根据EU给出的地址从内存或外设端口读取数据供EU使用。 写操作数EU的运算结果、数据或控制命令等由BIU送往指定的内存单元或外设端口。,9, 4个16位段寄存器:代码段寄存器CS(Code Segment)、数据段寄存器DS(Data Segment)、堆栈段寄存器SS(Stack Segment)和附加数据段寄存器ES(Extra Segment); 一个16位的指令指针寄存器IP(Instruction Pointer); 一个20位地址加法器; 6字节指令队列缓冲器; 一个与EU通讯的内部寄存器以及总线控制电路等。,(2)总线接口单元(BIU)的组成,10, 段寄存器 8086CPU的地址引脚有20根,能提供20位的地址信息,可直接对1M个存储单元进行访问。 但CPU内部可用来提供地址信息的寄存器都是16位的, 那么如何用16位寄存器实现20位地址的寻址呢?,(3)寄存器简介,11,8086/8088采用了分段结构的内存管理的方法。,将指令代码和数据分别存储在 代码段 数据段 堆栈段 附加数据段 (简城附加段) 中, 每一段最大64KB(216个字节),可用16位的地址寄存器管理。,12,这些段的段基地址分别由段寄存器 CS、DS、SS、ES 提供, 而代码或数据在段内的偏移地址则由有关寄存器或立即数给出。,13,代码段寄存器CS:存储程序当前使用的代码段的段地址。代码段用来存放程序的指令代码。下一条要读取指令在代码段中的偏移地址由指令指针寄存器IP提供; 数据段寄存器DS:用来存放程序当前使用的数据段的段地址。一般来说,程序中所用到的原始数据、中间结果以及最终结果都存放在数据段中;,14,堆栈段寄存器SS:用来存放程序当前所使用的堆栈段的段地址。堆栈是在存储器中开辟的一个特定区域; 附加数据段寄存器ES:用来存放程序当前使用的附加数据段的段地址。附加数据段通常用于存放字符串操作时的目的字符串。,15,程序员在编写汇编语言源程序时,应该按照上述规定将程序的各个部分放在规定的段内。 每个源程序必须至少有一个代码段, 而数据段、堆栈段和附加数据段则根据程序的需要决定是否设置。,16,指令指针寄存器 指令指针寄存器IP:用来存放下一条要读取的指令在代码段中的偏移地址。 IP在程序运行中能自动加1修正,从而使其始终存放的是下一条要读取的指令在代码段的偏移地址。由于CS和IP的内容决定了程序的执行顺序,因此程序员不能直接用赋值指令对其内容进行修改。有些指令能使IP和CS的值改变(如跳转指令)或使其值压入堆栈或从堆栈中弹出恢复原值(如子程序调用指令和返回指令)。,17,(4) 20位地址加法器 8086/8088CPU在对存储单元进行访问以读取指令或读/写操作数时,必须在地址总线上提供20位的地址信息,以便选中对应的存储单元。 CPU的寄存器都是16位(段基址寄存器和偏移地址都是)。 那么,CPU是如何产生20位地址的呢? CPU提供的用来对存储单元进行访问的20位地址是由BIU中的地址加法器产生的。,18,存储器中每个存储单元的地址可有以下两种表示方式: 逻辑地址:其表达形式为“段地址:段内偏移地址” 的地址。 段内偏移地址又称为“有效地址EA(Effective Address)。 在读指令时,段地址由代码段寄存器CS提供,当前要读取指令在代码段中的偏移地址由指令指针寄存器IP提供; 在读取或存储操作数时,根据具体操作,段地址由DS、ES或SS提供,段内偏移地址由指令给出。,19,物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。 物理地址的形成过程如图所示。,20,21,段寄存器内容左移四位后(相当于乘以10H),与16位段内偏移地址,在BIU中的地址加法器中进行相加,形成一个20位的物理地址。这就是由逻辑地址求出物理地址的方法。由逻辑地址求物理地址的公式为: 物理地址=段地址10H+段内偏移地址,例如:假设当前(CS)=1000H,取出当前指令后指令指针(IP)=4052H,求下一条指令的地址。 1000H 左移4位后为:10000H, 它与4052H相加 10000+4052=14052h。 下一条指令所在存储单元的物理地址为14052H。,22,(5) 指令队列缓冲器 8086的指令队列有6个字节,8088的指令队列有4个字节。 对8086而言,当指令队列出现2个空字节, 对8088而言,指令队列出现1个空字节时, BIU就自动执行一次取指令操作,将下一条要执行的指令(1个字)从内存单元读入到指令队列。 指令队列采用“先进先出”原则,按顺序存放,并按顺序取到EU中去执行。 指令队列的引入使得EU和BIU可并行工作,即BIU在读指令时,并不影响EU单元执行指令,EU单元可以连续不断地直接从指令队列中取到要执行的指令代码,从而减少了CPU为取指令而等待的时间,提高了CPU的利用率,加快了整机的运行速度。,2. 执行部件,(1)功能 执行部件负责指令的执行 ,,24,(2)组成,由下列4部分组成: 4个通用寄存器,即AX、BX、CX、DX; 16位字长,又可以作为2个独立的8位寄存器使用。 4个专用寄存器,即 基数指针寄存器BP(Base Pointer) 堆栈指针寄存器SP(Stack Pointer) 源变址寄存器SI(Source Index) 目的变址寄存器DI(Destination Index); 标志寄存器; 算术逻辑部件(arithmetic logic unit)。,(3)标志寄存器,标志寄存器共有16位,其中7位未用,所用的各位含义如下:,根据功能,8086的标志可以分为两类: 状态标志 控制标志,状态标志有6个,即SF、ZF、PF、CF、AF和OF 符号标志SF(Sign Flag ) 零标志ZF(Zero Flag) 奇偶标志PF(Parity Flag) 运算结果低8位中1的个数为偶数,PF=1(PE),低8位中1的个数为奇数,PF=0(PO)。 进位标志CF(Carry Flag) 最高位产生进位CF=1 辅助进位标志(Auxiliary carry Flag) 溢出标志(Overflow Flag) 算术运算产生溢出8位运算结果超出-128+127 16位运算结果超出-32768+32767,28,(6)、标志寄存器 16位寄存器,其中有7位未用。,D15,D0,OF DF IF TF SF ZF AF PF CF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位 0-无进、借位,1-低8位有偶数个1 0-低8位有奇数个1,1-低4位向高4位有进、借位 0-低4位向高4位无进、借位,1-结果为0 0-结果不为0,29,0101 0100 0011 1001 + 0100 0101 0110 1010 1001 1001 1010 0011 最高位 = 1 SF=1 低八位1的个数为 4 个 PF=1 运算结果不为 0 ZF=0 低 4 位向前有进位 AF=1 最高位向前没有进位 CF=0 次高位向前有进位 ,最高位无进位 CF=0,DF=1,OF=1,最高位无进位,CF=0,向高4位有进位,AF=1,30,例: 设变量x=11101111B,y=11001000B,X=0101101000001010B,Y=01001100 10100011B,请问分别执行x+y和X+Y操作后标志寄存器中各状态位的状态如何?,11101111 +) 11001000 10110111,1,0101101000001010 0100110010100011 1010011010101101,CF=0,CF=1,DF=1,DF=1,x+y,X+Y,AF=1,CF=1,次高位进位信号DF=1 最高位进位信号CF=1 OF=CF DF=0,低8位有5个1,PF=0,低8位有6个1,PF=1,31,控制标志有3个,即 方向标志DF(direction flag) 中断允许标志IF(interrupt enable flag) 跟踪标志TF(trap flag)又称为单步标志 80X86的标志寄存器各位可以通过程序进行修改。 由于它特别重要,为防止意外被修改,因此对标志寄存器的修改有特殊的指令和方法。,3. 8086的总线周期的概念,计算机中的所有工作,都是在严格的时钟脉冲控制下进行的。 总线周期完成一次总线操作所需要的时钟周期数。 一般总线操作一次存储器读或写操作。 基本总线周期4个时钟周期。 T1,T2,T3,T4 如果存储器或外设在四个时钟周期不能完成所需要的操作,可以再T3后插入1个或多个等待周期TW。,34,典型的8086总线周期序列: 由4个基本时钟周期和若干个等待周期(可以是0个等待周期)组成。, T1状态,发地址信息 T2状态,总线的高4位输出状态信息 T3状态,高4位输出状态信息,低16位 数据 T3之后,可能插入TW(存储器或外设提供) 在T4状态,本总线周期结束。,36,2.1.2 8086的引脚信号和工作模式,最大工作模式的功能,1.最小模式和最大模式的概念,(1)最小模式: 在系统中只有一个微处理器,所有总线控制信号都有CPU直接产生。 (2)最大模式: 两个或多个微处理器(主处理器、协处理器),总线控制信号有专门的电路产生。 与8086配合的协处理器 8087:数值运算处理器 8089:输入/输出协处理器,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 写信号输出 HOLD 总线保持请求信号输入 HLDA 总线保持响应信号输出,8086 在 最 小 模 式 下 的 典 型 配 置 :,44,8086的引脚MN/nMAX=1,选择最小模式。 在最小模式下,需要一片时钟发生器IC提供时钟、复位信号、并同步外部READY信号提供给CPU。 在最小模式下,系统的全部控制信号都由8086产生。 注意在硬件连接上,地址信号一定要在外部锁存。锁存器可以使用Intel的8282,也可以使用通用的74LS373. 锁存控制信号ALE 数据信号是否需要驱动,要看外部接了多少器件。一般带负载能力8个TTL负载,如果接在AD15AD0上的逻辑电路(存储器、外设)较多,则需要用总线收发器来增加数据总线的驱动能力。 驱动可使用 8286,也可使用74LS245,45,CPU对存储器、外设的操作(读或写)由信号 M/nIO, nRD, n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞机介绍小学生
- 2026广东东莞厚街镇中心幼儿园招聘临聘教师2人备考考试试题及答案解析
- 宜宾三江汇智人力资源服务有限公司2026年1月公开招聘1名外派项目制工作人员备考考试题库及答案解析
- 2026四川凉山州越西公安招聘警务辅助30人笔试参考题库及答案解析
- 2026湖南株洲市国资委选聘市属监管企业专职外部董事备考考试题库及答案解析
- 2026黑龙江哈尔滨市侵华日军第七三一部队罪证陈列馆招聘编外人员15人备考考试试题及答案解析
- 放假线上活动策划方案(3篇)
- 2026公安部第一研究所招聘40人备考考试试题及答案解析
- 2026年上海市莘庄中学第二批教师招聘考试备考题库及答案解析
- 2026福建电广创投招标代理有限公司招聘2人笔试参考题库及答案解析
- SF-36健康调查量表(含excel版)
- 电子电气设备选型采购方案
- 洼田饮水试验科普课件
- 西湖龙井采购合同范本
- GB/T 2423.21-2025环境试验第2部分:试验方法试验M:低气压
- 集团公司职业技能等级认定管理办法
- 2024~2025学年四川省成都市武侯区九年级上学期期末语文试卷
- 吸氧并发症及护理措施
- 复发性丛集性头痛
- 宫颈息肉个案护理
- 新生儿感染护理查房
评论
0/150
提交评论