




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上次课复习,1、什么是冯、诺依曼机? 2、微机性能指标主要有哪几各方面? 3、习题12、13,本章知识点: 1、掌握8086CPU内部构造(编程结构) 2、掌握8086CPU各管脚的具体功能以及系统配置 3、掌握8086存储器的体系结构,第二章 8086系统结构,第二章 8086系统结构,由于制造工艺的原因,微处理器的结构受到几个方 面的限制: 1. 引脚数限制 2. 芯片面积限制 3. 器件速率限制 由于上述限制,使16位微处理器基本结构具有如下 特点:,2. 单总线、累加器结构 3. 可控三态电路 4. 总线分时复用,1. 引脚功能复用,Intel 8086 CPU是16位微处理器,外型为
2、双列直 插式,有40个引脚。8086型微处理器的时钟频率为5 MHz;它有16根数据线和20根地址线,直接寻址空间 为220Byte,即为1MB。,8088 CPU内部结构与8086基本相同,但对外数 据总线只有8根,称为准16位微处理器。,2-1 8086 CPU结构,微型计算机工作时,总是先从存储器中取指令,需要的话再取操作数,然后执行指令,送结果。8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU是并行工作的。总线接口部件BIU完成取指令,读操作数、送结果,所有与外部的操作由其完成。而指令执行部件EU从BIU的指令队列中取出指令,并且读出指令,不必直接访问存储器或I/
3、O端口。,一、8086 CPU的内部结构,1. 总线接口部件BIU(Bus Interface Unit) 总线接口部件BIU是8086 CPU与外部(存储器 和I/O端口)的接口,它提供了16位双向数据总线和 20位地址总线,完成所有外部总线操作。 BIU具有下列功能:地址形成、取指令、指令 排队、读/写操作数和总线控制。它由下列各部分组 成:,(1)4个16位段地址寄存器,(2)16位指令指针寄存器IP:存放下一条要执行 指令的偏移地址。,(3)20位物理地址加法器:将16位逻辑地址变换 成20位物理地址,实际上完成加法操作。,(4)6字节指令队列:预放6个字节的指令代码。,(5)总线控制
4、逻辑:发出总线控制信号。,2. 指令执行部件EU(Execution Unit) 指令执行部件EU完成指令译码和执行指令。 它由下列各部分组成:,(1)算术逻辑运算单元ALU:完成8位或16位的二 进制运算,16位暂存器可暂存参加运算的操作 数。,(2)标志寄存器PSW:存放ALU运算结果特征。,(3)寄存器组 。,(4)EU控制器:取指令控制和时序控制部件。,3. 8086 CPU的工作过程,二、寄存器结构,寄存器结构在计算机中起了重要的作用,它的 存取速度比存储器快得多,这样可以相当于存储单 元,用来存放运算过程中所需要的操作数地址、操 作数及中间结果。8086微处理器内部包含有4组16位
5、 寄存器,它们分别是通用寄存器组,指针和变址寄 存器,段寄存器,指令指针及标志位寄存器。,1. 通用寄存器组(特殊用途见书表2-1) 8086/8088 CPU在指令执行部件EU中有4个16 位通用寄存器,它们是AX,BX,CX,和DX,用 以存放16位数据或地址。也可分为8个8位寄存器来 使用,低8位是AL、BL、CL和DL,高8位为AH、 BH、CH和DH,只能存放8位数据,不能存放地址。,通用寄存器 AX(Accumulator Register) 累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。 BX(Base Register) 基
6、址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。,CX(Counter) 将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指令中作计数用。 DX(Data Register) DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。,2. 指针和变址寄存器 8086/8088 CPU中,有一组4个16位寄存器,它们 是基址指针寄存器BP,堆栈指针寄存器SP,源变址寄 存器SI,目的变址寄存器DI。这组寄存器存放的内容 是某一段内地址偏移量,用来形成操作数地址,主要 在堆栈操作和变址运算中使用。,3. 段寄存器,8086/80
7、88 CPU可直接寻址1MB的存储器空间, 直接寻址需要20根地址线,而所有的内部寄存器都是 16位的,只能直接寻址64KB,因此采用分段技术来解 决。将1MB的存储器空间分成若干个逻辑段,每段最 长64KB,这些逻辑段在整个存储空间中可浮动。4个 段寄存器给出相应逻辑段的首地址,称为“段基址”。,SI(Source Index) 源变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据。 DI(Destination Index) 目标变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中也可放数据。 BP(Base Pointer) 基址指针用于
8、存放内存的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。 SP(Stack Pointer ) 堆栈指针用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。,总线接口部件BIU设有4个16位段寄存器 CS(Code Segment),代码段寄存器中存放程序代码段起始地址的高16位。 DS(Data Segment),数据段寄存器中存放数据段起始地址的高16位。 SS(Stack Segment),堆栈段寄存器中存放堆栈段起始地址的高16位。 ES(Extended Segment),扩展段寄存器中存放扩展数据段起始地址的高16位。,例2-1 若当前SS=3500H,SP=4000H,说
9、明堆栈段在 存储器中的20位物理地址。,解:物理地址SS*16+SP=39000H,4. 指令指针寄存器IP 8086/8088 CPU中设置了一个16位指令指针寄存 器IP,用来存放将要执行的下一条指令现行代码段中 的偏移地址。程序运行中,它由BIU自动将其修改, 使IP始终指向下一条将要执行的指令的地址,因此它 是用来控制指令序列的执行流程的,是一个重要的寄 存器。8086程序不能直接访问IP,但可以通过某些指 令修改IP的内容。,5. 标志寄存器PSW 16位标志寄存器PSW用来存放运算结果的特征, 常用作后续条件转移指令的转移控制条件。其中7位没 有用,9个标志位分成两类:一类是状态标
10、志,表示运 算后结果的状态特征,它影响后面的操作。状态标志 有6个:CF、PF、AF、ZF、SF和OF。另一类是控制 标志,用来控制CPU操作,控制标志有3个:TF、IF 和DF。,习题1: 习题2: 习题5:,上次课复习,本次课主要内容,8086cpu管脚特征 8086系统存储器特征(存储器分段结构、分体结构、堆栈操作) 8086系统配置:最小模式与最大模式的区别 最小模式下8086CPU的工作时序,2-2 8086 CPU的引脚及其功能,8086/8088 CPU根据它的基本性能,应包括20条 地址线,16根数据线,加上控制信号,电源和地线, 芯片的引脚比较多。但由于制造工艺的限制,808
11、6/ 8088 CPU芯片采用40条引脚的双列直插式封装,因 此部分引脚采用了分时复用的方式。 另外8086/8088 CPU可以工作在两种工作模式: 最小模式和最大模式。最小模式用于单机系统,系统 中所需要的控制信号全部由8086直接提供。最大模式 用于多处理机系统,系统中所需要的控制信号由总线 控制器8288提供。这样,24脚31脚的8条引脚在两种 工作模式中具有不同的功能。,8086引脚特征: 具有分时复用总线功能的引脚:AD0AD15、A16/S3A19/S6 、BHE/S7 ; 具有三态性的引脚: AD0AD15、A16S3A19S6 、BHE/S7 、RD、WR、M/IO、DT/R
12、、DEN、INTA等; 最大模式下和最小模式下含义不同的引脚:24腿31腿; 8086和8088不同的引脚:28腿,39腿,28腿,34腿;,一、8086/8088 CPU在最小模式中引脚定义,最大模式下的24到31引脚 8086/8088引脚结构 QS1、QS0(Instruction Queue Status,24、25):指令队列状态信号输出引脚,这两个信号的组合给出了前一个T状态中指令队列的状态,以便于外部8088/8086CPU内部指令队列的动作跟踪。,最大模式下的24到31引脚 S0、S1、S2(26、27、28,三态):总线周期状态信号输出引脚,低电平的信号输出端,这些信号组合起
13、来,可以指出当前总线周期中,所进行数据传输过程的类型,总线控制器8288利用这些信号来产生对存储单元、I/O端口的控制信号。,LOCK (Lock,29,三态):总线封锁输出信号引脚,低电平有效,当该引脚输出低电平时,系统中其它总线部件就不能占用系统总线。信号是由指令前缀LOCK产生的,在LOCK前缀后面的一条指令执行完毕之后,便撤消信号。此外,在8088/8086的2个中断响应脉冲之间,信号也自动变为有效的低电平,以防止其它总线部件在中断响应过程中,占有总线而使一个完整的中断响应过程被中断。,RQ/GT0、RQ/GT1(Request/Grant,31、30):总线请求信号输入/总线允许信号
14、输出引脚,这两个信号端可供CPU以外的两个处理器,用来发出使用总线的请求信号和接收CPU对总线请求信号的应答。这两个引脚都是双向的,请求与应答信号在同一引脚上分时传输,方向相反。其中31脚比的30脚优先级高。,8086和8088CPU的不同之处(参书) 1、8086指令队列长度为6个字节,8088为4个。8086要在指令队列中至少出现2个空闲字节时才预取后续指令,而8088只要出现一个空闲字节BIU就会自动访问存储器; 2、8088CPU中,BIU总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与专用寄存器组之间的数据总线宽度也是8位,而EU的内部总线是16位,这样,对16位数的存储器
15、读/写操作要两个读/写周期才可以完成; 3、8086和8088有若干引脚信号不同,分别是28腿,39腿,28腿,34腿;,2-3 8086 存储器组织,一、存储器地址的分段 1. 存储器地址的分段 在存储器中是以字节为单位存储信息的,每个存 储单元有唯一的地址来确定。8086/8088系统有20根地 址线可寻址1MB字节的存储空间,即对存储器寻址要 20位物理地址,而8086为16位机,CPU内部寄存器只 有16位,可寻址64KB。因此8086系统把整个存储空间 分成许多逻辑段,每段容量不超过64KB。8086系统对 存储器的分段采用灵活的方法,允许各个逻辑段在整 个存储空间中浮动,这样在程序
16、设计时可使程序保持 相对的完整性。段和段之间可以是连续的,也可以是 分开的或重叠的。,2. 物理地址的形成 8086系统将段地址放在段寄存器中,称为“段基 址”。有4个段寄存器,分别位代码段寄存器CS,数据 段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。 段内“偏移地址”指出了从段地址开始的相对偏移 位置。它可以放在指令指针寄存器IP中,或16位通用 寄存器中,如何从16位段地址和16位偏移地址得到20 位地址呢?首先说明两个概念。 逻辑地址:存储器的任一个逻辑地址由段基址和 偏移地址组成,都是无符号的16位二进制数,程序设 计时采用逻辑地址。 物理地址:存储器的绝对地址,从00000H
17、FFFFFH,是CPU访问存储器的实际寻址地址。物理 地址段基址16偏移地址。,3. 逻辑地址来源 由于访问存储器的操作类型不同,BIU所使用的 逻辑地址来源也不同,取指令时,自动选择CS寄存器 值作段基址,偏移地址由IP来制定,计算出取指令的 物理地址。当堆栈操作时,段基址自动选择SS寄存器 值,偏移地址由SP来制定。当进行读/写存储器操作数 或访问变量时,则自动选择DS或ES寄存器值作为段基 址,此时,偏移地址要由指令所给定的寻址方式来决 定,可以是指令中包含的直接地址,可以是地址寄存 器中的值,也可以是地址寄存器的值加上指令中的偏 移量。注意的是当用BP作为基地址寻址时,段基址由 堆栈寄
18、存器SS提供,偏移地址从BP中取得。,二、8086存储器的分体结构,8086系统中,1MB的存储空间分成两个存储体: 偶地址存储体和奇地址存储体,各为512KB,示意图 如图2-10所示:,当A0=0时,选择访问偶地址存储体,偶地址存储体与 数据总线低8位相连,从低8位数据总线读/写一个字节。 当 0时,选择访问奇地址存储体,奇地址存储体 与数据总线高8位相连,由高8位数据总线读/写一个字 节。当A0=0、 0时,访问两个存储体,读/写一 个字。A0和功能组合如表28。,存储器中存放的信息称为存储单元的内容,例如 存储单元10002H中的内容为22H,表示(10002H)= 22H。一个字在存
19、储器中按相邻两个字节存放,存入 时以低位字节在低地址,高位字节在高地址的次序存 放,字单元的地址以低位地址表示。例(10002H)= 3322H,(10001H)2211H在内存中放的位置如下 图所示。,从中看出,一个字可以从偶地址开始存放,也可 以从奇地址开始存放,但8086 CPU访问存储器时,都 是以字为单位进行的,并从偶地址开始。若读/写一个 字节,只启动某个存储体,只有相应的8位数据在数据 总线上有效,即启动偶地址存储体,低8位数据线有效, 或启动奇地址存储体,高8位数据线有效,另外8位数 据被忽略了,图211(a)、(b)给出了示意图。,CPU读/写一个字时,若字单元地址从偶地址
20、开始,只需访问一次存储器,低位字节在偶地址单 元,高位字节在奇地址单元。若字单元地址从奇地 址开始,CPU要两次访问存储器,第一次取奇地址 上数据(偶地址8位数据被忽略),第二次取偶地址 上数据(奇地址8位数据被忽略),图211(c)、 (d)给出了示意图。因此为了加快程序运行速度, 编程时注意从存储器偶地址开始存放字数据,这种 存放方式也称“对准存放”。,课堂练习: 习题9、10,三、堆栈的概念 所谓堆栈是在存储器中开辟一个区域,用来存放 需要暂时保存的数据。堆栈段是由段定义语句在存储 器中定义的一个段,它可以在存储器1MB空间内浮动, 堆栈容量小于等于64KB。段基址由堆栈寄存器SS指定,
21、 栈顶由堆栈指针SP指定,根据堆栈构成方式不同,堆 栈指针SP指向的可以是当前栈顶单元,也可以是栈顶 上的一个“空”单元,一般采用SP指向当前栈顶单元。 堆栈的地址增长方式一般是向上增长,栈底设在存储 器的高地址区,堆栈地址由高向低增长。,例2-3 若当前SS=C000H,SP=1000H,指出当前栈顶 在存储器中的位置。,堆栈的工作方式是“先进后出”,用入栈指令 PUSH和出栈指令POP可将数据压入堆栈或从堆栈中弹 出数据,栈顶指针SP的变化由CPU自动管理。堆栈以 字为单位进行操作,堆栈中的数据项以低字节在偶地 址,高字节在奇地址的次序存放。当执行PUSH指令时, CPU自动修改指针SP-
22、2SP。使SP指向新栈顶,然后 将低位数据压入(SP)单元,高位数据压入(SP+1) 单元。当执行POP指令时,CPU先将当前栈顶SP(低 位数据)和SP+1(高位数据)中的内容弹出,然后再 修改指针,使SP+2SP,SP指向新栈顶。,例2-4 上例中若AX3322H,BX=1100H,CX=6655H, 执行指令PUSH AX,PUSH BX,再执行指令POP CX, 此时堆栈中内容发生什么变化,AX,BX,CX中的内 容是什么?,两点注意: (1)先进入的内容要后弹出,保证返回寄存器内容 不发生错误。 (2)PUSH和POP的指令要成对,若不匹配的话,会 造成返回主程序的地址出错。,练习:
23、习题12,第二章第三次课内容概要,什么是最小模式、最大模式? 8086系统复位后的寄存器状态? 时钟周期、总线周期、指令周期的基本概念以及关系 8086读写工作时序,根据使用目的不同,8086/8088系统可以有最小 模式和最大模式两种系统配置方式,两种方式的选 择不是由程序进行控制的,而是由硬件设定的。,2-4 8086 系统配置,最小模式:即单处理器系统,所有控制信号由 CPU提供。 最大模式:即多处理器系统,控制信号由总线 控制器提供 。,一、最小模式系统 8086 CPU构成的最小模式系统的典型配置如图 2-14所示:,图2-14 8086最小模式系统配置,最小模式操作过程:,1. 读
24、存储器操作过程,2. 读I/O端口操作过程,3. 写存储器操作过程 4. 写I/O端口操作过程,返回,返回,返回,最大模式(注意对比24-31号管脚) 所谓最大模式,是指系统中至少包含两个微处理器,其中一个为主处理器,即8086/8088CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。该模式适用于大中型规模的微机应用系统。 最大模式包含如下模块: 最小模式所拥有的配置; 有一片8288总线控制器来对CPU发出的控制信号进行变换和组合,以得到对存储器或I/O 端口的读/写信号和对锁存器8282及数据总线收发器8286的控制信号。 有8259A(可选)用以对多个中断源进行中断优先级
25、的管理,但如果中断源不多,也可以不用中断优先级管理部件。,与8086/8088CPU配合工作的协处理器有两类,一类是数值协处理器8087另一类是输入/输出协处理器8089。 8087是一种专用于数值运算的协处理器,它能实现多种类型的数值运算,如高精度的整型和浮点型数值运算,超越函数(三角函数、对数函数)的计算等,这些运算若用软件的方法来实现,将耗费大量的机器时间。换句话说,引入了8087协处理器,就是把软件功能硬件化,可以大大提高主处理器的运行速度。 8089协处理器,在原理上有点象带有两个DMA通道的处理器,它有一套专门用于输入/输出操作的指令系统,但是8089又和DMA控制器不同,它可以直
26、接为输入/输出设备服务,使主处理器不再承担这类工作。所以,在系统中增加8089协处理器之后,会明显提高主处理器的效率,尤其是在输入/输出操作比较频繁的系统中。,指令周期:执行一条指令所需的时间称为指令周期。 不同指令的指令周期的长短是不同的,一 个指令周期由几个总线周期组成。,2.4.3 8086 CPU时序,总线周期:8086 CPU中,BIU完成一次访问存储器或 I/O端口操作所需要的时间,称作一个总线 周期。一个总线周期由几个T状态组成。,时钟周期:CPU的时钟频率的倒数,也称T状态。,在8086/8088 CPU中,每个总线周期至少包含4个 时钟周期(T1T4),一般情况下,在总线周期的T1 状态传送地址,T2T4状态传送数据。8086的主要操 作时序有以下几种:,一、系统的复位和启动,8086/8088 CPU通过RESET引脚上的触发信号来引 起8086系统复位和启动,复位信号RESET至少维持4个 时钟周期的高电平。当RESET引脚信号变成高电平
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论