610 likes | 827 Views
本章主要学习内容. 8086CPU 的基本性能指标 8086/8088CPU 的内部结构及其寄存器结构 8086CPU 的外部引脚特性 8086CPU 的存储器和 I/O 组织 8086 的时钟和总线概念及其最小 / 最大工作方式. 本章学习目标:. 能够正确描述微处理器的主要性能指标 了解 8086 的内部结构并说明每一部分的功能及工作原理 记住 8086 的寄存器结构 , 并说明它们的主要用途 知道 8086 的引脚特性及其中某些引脚在两种工作方式下的功能定义 , 什么是最大方式和最小方式 . 能说出 8086 与 8088 的不同之处
E N D
本章主要学习内容 • 8086CPU的基本性能指标 • 8086/8088CPU的内部结构及其寄存器结构 • 8086CPU的外部引脚特性 • 8086CPU的存储器和I/O组织 • 8086的时钟和总线概念及其最小/最大工作方式 微机原理第二章 IA-32结构的微处理器(1)
本章学习目标: • 能够正确描述微处理器的主要性能指标 • 了解8086的内部结构并说明每一部分的功能及工作原理 • 记住8086的寄存器结构,并说明它们的主要用途 • 知道8086的引脚特性及其中某些引脚在两种工作方式下的功能定义,什么是最大方式和最小方式. • 能说出8086与8088的不同之处 • 掌握8086最小方式下的总线时序 • 能够正确描述8086的存储器组织和IO端口组织. 微机原理第二章 IA-32结构的微处理器(2)
学习重点及难点 • 学习重点: • 8086微处理器的组成及其寄存器结构; • 8086 微处理器的存储器组织和I/O端口组织 • 学习难点 • 8086微处理器的存储器组织和I/O端口组织 微机原理第二章 IA-32结构的微处理器(3)
2.1 微处理器的性能描述(1) • 字长:指它在交换、加工和存放信息时,其信息位的最基本的长度,它决定一次传送的二进制的位数。 • 字长由微处理器对外数据总线的条数决定。8086的外部数据总线有16条,所以其字长为16。 微机原理第二章 IA-32结构的微处理器(4)
2.1 微处理器的性能描述(2) • 指令数:指一种微处理器能执行的指令的个数。 • 运算速度:用基本指令执行时间来衡量计算机的运算速度。 寄存器加法指令 微机原理第二章 IA-32结构的微处理器(5)
2.1 微处理器的性能描述(3) • 访存空间:访存空间是指由该微处理器构成的系统所能访问(Access)的存储单元数。此单元数是由传送地址信息的地址总线的条数决定的。 • 例如:8086有20条地址线,可表示220个地址,其访存空间为220。 微机原理第二章 IA-32结构的微处理器(6)
2.1 微处理器的性能描述(4) • 关于存储容量 • 1Byte=8bit • 1页面=28B • 1KB=210B • 1MB=210KB • 1GB=210MB • 1TB=210GB 微机原理第二章 IA-32结构的微处理器(7)
2.1 微处理器的性能描述(5) • 高速缓存 • 扩展阅读: 了解高速缓存http://www2.ccw.com.cn/1996/2/139418.shtml • 虚拟存储空间 • 能否构成多处理器系统 • 工艺形式及其他 微机原理第二章 IA-32结构的微处理器(8)
2.2 8086/8088微处理器 2.2.1 8086的内部结构 2.2.2 8086的寄存器结构 2.2.3 8086的引脚特性 2.2.4 8086与8088比较 2.2.5 8086的时钟与总线周期的概念 2.2.6 8086/8088的工作方式 2.2.7 8086/8088的总线操作时序 2.2.8 存储器组织 2.2.9 I/O端口组织 微机原理第二章 IA-32结构的微处理器(9)
8086的内部结构 2.2 8086/8088微处理器 微机原理第二章 IA-32结构的微处理器(10)
2.2.2 8086的寄存器结构 • 通用寄存器组 • 数据寄存器(AX、BX、CX、DX) • 指针寄存器 • 堆栈指针寄存器SP • 基址指针寄存器BP • 变址寄存器 • 源变址寄存器SI • 目的变址寄存器DI 微机原理第二章 IA-32结构的微处理器(11)
2.2.2 8086的寄存器结构 • 段寄存器:8086CPU共有4个16位的段寄存器,用来存放每一个逻辑段的段起始地址。 • CS:代码段寄存器 • DS:数据段寄存器 • SS:堆栈段寄存器 • ES:附加段寄存器 微机原理第二章 IA-32结构的微处理器(12)
2.2.2 8086的寄存器结构 • 状态标志寄存器F(9个状态标志位) • 状态标志:状态标志用来反映EU执行算术和逻辑运算以后的结果特征。 微机原理第二章 IA-32结构的微处理器(13)
2.2.2 8086的寄存器结构 • 控制标志位:控制CPU的操作 微机原理第二章 IA-32结构的微处理器(14)
2.2.2 8086的寄存器结构 • 指令指针寄存器IP • 16位寄存器,存放EU要执行的下一条指令的偏移地址。该寄存器的内容只有在执行转移类指令时才会由转移地址改变。 微机原理第二章 IA-32结构的微处理器(15)
2.2.3 8086的引脚特性 • 在学习8086引脚特性时,我们应特别注意以下一些问题: • 信号的功能 • 信号分类的观点:按照3总线的分类的观点将各引脚信号分为数据总线DB、地址总线AB、控制总线CB,这样有利于对信号功能的理解。 微机原理第二章 IA-32结构的微处理器(16)
2.2.3 8086的引脚特性 • 信号的流动方向:指的是引脚信号相对于CPU流动的方向。可以有输入(IN)、输出(OUT)、双向(IN/OUT)三种情况。 • 信号的有效形式:指的是引脚信号是什么电平有效。可能是高电平有效,或低电平有效,还可能是上升沿有效,或下降沿有效。 • 信号多功能、分时使用的情况 微机原理第二章 IA-32结构的微处理器(17)
2.2.3 8086的引脚特性 • 8086引脚的分类 • 地址/数据总线 • 地址/状态总线 • 控制总线 • 电源和地址 • 其它控制线 微机原理第二章 IA-32结构的微处理器(18)
地址/数据总线 AD15~AD0(双向,三态):分时复用的地址总线低16位A15-A0和数据总线D15-D0。在进行DMA时,这些线处于浮空状态,即输出高阻态。 • 地址/状态总线A19/S6,A18/S5,A17/S4,A16/S3(输出,三态):A19~A16是地址总线的高4位;S6~S5是状态信号。 微机原理第二章 IA-32结构的微处理器(20)
控制总线 • BHE(Bus High Enable)/S7: 总线高8位开放/状态信号(输出,三态) ,BHE 在T1状态输出,其有效表示CPU要使用数据总线的高8位,即D15-D8进行数据传输。S7信号8086 作为备用,目前暂无定义。 微机原理第二章 IA-32结构的微处理器(21)
RD读控制信号(输出,三态,低电平有效):有效时,表示8086正在通过总线进行数据的读(输入)操作,可能是读存储器或读I/O设备。RD读控制信号(输出,三态,低电平有效):有效时,表示8086正在通过总线进行数据的读(输入)操作,可能是读存储器或读I/O设备。 微机原理第二章 IA-32结构的微处理器(22)
READY等待状态控制(输入,高电平有效):在总线操作周期中,8086CPU会在第3个时钟周期的前沿测试该引脚READY等待状态控制(输入,高电平有效):在总线操作周期中,8086CPU会在第3个时钟周期的前沿测试该引脚 • 如果测到高有效,CPU直接进入第4个时钟周期 • 如果测到无效,CPU将插入等待周期Tw • CPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。 微机原理第二章 IA-32结构的微处理器(23)
TEST等待测试(输入,低电平有效) • 当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行 • 也就是说,WAIT指令使CPU产生等待,直到引脚有效为止 微机原理第二章 IA-32结构的微处理器(24)
INTR中断请求(输入,高电平有效) • 这是可屏蔽中断请求输入线。有效时,表示请求设备向CPU申请可屏蔽中断 • 该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽 微机原理第二章 IA-32结构的微处理器(25)
NMI非屏蔽中断请求(输入,上升沿触发) • 有效时,表示外界向CPU申请不可屏蔽中断 • 该请求的优先级别高于INTR,并且不能在CPU内被屏蔽 • 当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务 主机与外设进行数据交换通常采用可屏蔽中断 不可屏蔽中断通常用于处理掉电等系统故障 微机原理第二章 IA-32结构的微处理器(26)
RESET复位信号(输入,高电平有效) • 该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作 • 8088复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H 微机原理第二章 IA-32结构的微处理器(27)
CLK系统时钟(输入) • 此引脚输入的脉冲就是CPU工作的主频时钟,我们经常说的时钟周期就是指此脉冲的周期,主频就是指的它的频率。 • 该时钟信号的低/高之比常采用2:1(占空度:1/3)。 • 各种处理器产品都规定了此时钟频率的范围,例如最早的8086主频最高为4.77MHZ。 微机原理第二章 IA-32结构的微处理器(28)
电源线和地线GND • Vcc线接入的电压为+5V±15%; 8O86有两条GND,均应接地。 • 其它控制线: 24~31脚 • 这些控制线的功能将根据方式控制线MN/MX所处状态而确定。 微机原理第二章 IA-32结构的微处理器(29)
2.2.4 8088与8086比较 微机原理第二章 IA-32结构的微处理器(30)
2.2.68086/8088的工作方式 • 最小工作方式 • 系统中只有8086一个微处理器,是一个单微处理器系统。在这种系统中,所有的总线控制信号都直接由8086CPU产生,系统中的总线控制逻辑电路被减到最少。 • 当把8086的33脚MN/MX接+5V时,8086CPU就处于最小工作方式了 (图示) 微机原理第二章 IA-32结构的微处理器(31)
最小方式下,24~31号引脚的定义 • M/IO:存储器或IO端口访问信号,三态输出 • WR:写信号,三态输出,低电平有效。 • HOLD:总线请求信号,输入,高电平有效 • HLDA:总线请求响应信号,输出,高电平有效。 • INTA:中断响应信号,输出,低电平有效。 • ALE:地址锁存允许信号,输出,高电平有效。 • DEN:数据允许信号,三态输出,低电平有效。 • DT/R:数据发送/接收控制信号,三态输出。 微机原理第二章 IA-32结构的微处理器(32)
最大工作方式 • 当把8086的33脚MN/MX接地时,这时的系统处于最大工作方式。最大工作方式是相对最小工作方式而言的,它主要用在中等或大规模的8086系统中。在最大方式系统中,总是包含有两个或多个微处理器,是多微处理器系统。其中必有一个主处理器8086,其他的处理器称为协处理器 。(图示) 微机原理第二章 IA-32结构的微处理器(33)
最大方式下,24~31号引脚的定义 • QS1、QS2:指令队列状态信号,输出。 微机原理第二章 IA-32结构的微处理器(34)
最大方式下,24~31号引脚的定义 • S2、S1、S0:总线周期状态信号,三态输出。 微机原理第二章 IA-32结构的微处理器(35)
最大方式下,24~31号引脚的定义 • RQ/GT0、RQ/GT1:总线请求信号(输入)/总线请求允许信号(输出),双向,低电平有效。 • LOCK:总线封锁信号,三态输出,低电平有效。 微机原理第二章 IA-32结构的微处理器(36)
2.2.5 8086的时钟和总线周期的概念 • CPU是一个复杂的时序数字逻辑,其所有的操作都必须在统一的时钟下完成。由片外输入CLK引脚的时钟脉冲信号,是系统定时的基本脉冲,其频率称为主频,其周期称为时钟周期,有时时钟周期又称为T状态。时钟周期是CPU执行各种操作的最小时钟单位。 • 时序,就是指CPU执行各种操作时,引脚信号随时钟而变化的顺序和时间长短的安排 。 微机原理第二章 IA-32结构的微处理器(37)
总线周期,指的是8086CPU通过总线,执行一次访问存储器或访问I/O端口的操作或操作的时间。若执行的是数据输出(从CPU),则称为"写"总线周期;若执行的是数据输入(到CPU),则称为"读"总线周期。总线周期,指的是8086CPU通过总线,执行一次访问存储器或访问I/O端口的操作或操作的时间。若执行的是数据输出(从CPU),则称为"写"总线周期;若执行的是数据输入(到CPU),则称为"读"总线周期。 • 在8086中,一个最基本的总线周期由4个时钟周期组成, 因此基本总线周期用T1,T2,T3,T4表示。(典型的总线周期) • 指令周期。指令周期指的是CPU执行一条指令的时间。由于CPU执行一条指令的时间并不固定,因此指令周期也不是一个常数,它随不同的指令而变化。 微机原理第二章 IA-32结构的微处理器(38)
8086/8088的总线操作时序 • 8086最小方式下的总线读操作 (有TW,无TW) • 8086最小方式下的总线写操作 • 8088的总线读/写操作时序 微机原理第二章 IA-32结构的微处理器(39)
2.2.8 存储器组织——存储器的标准结构 • 存储器按字节组织,按字节分配地址 • 当存放的数为一个字(16位,2个字节)时,则将字的高位字节放在高地址中,将低位字节存放在低地址中; • 当存放的数是双字形式(地址指针数据)时,则将低字(偏移量)存放在较低地址中,高字(段基址)存放在较高地址中 。 微机原理第二章 IA-32结构的微处理器(40)
对存放的字,其低位字节可以在奇数地址中(即从奇数地址开始存放),这种方式为非规则存放,这样存放的字为非规则字;对存放的字,其低位字节可以在奇数地址中(即从奇数地址开始存放),这种方式为非规则存放,这样存放的字为非规则字; • 若是低位字节在偶数地址中(即从偶数地址开始存放)为规则存放,这样存放的字称为规则字。 微机原理第二章 IA-32结构的微处理器(41)
若一个字是规则存放,则对它的存取可在一个总线周期完成,而非规则字的存取则需二个总线周期。若一个字是规则存放,则对它的存取可在一个总线周期完成,而非规则字的存取则需二个总线周期。 • A0=0:同时选中高位库和低位库,传送2字节; • A0=1:只选中高字节,传送1字节 微机原理第二章 IA-32结构的微处理器(42)
例1: 从10000H开始的内存单元存放有“A”到“G”的ASCII码,请画出存储示意图。 • 例2:有三个字数据,分别是1268H,0A132H,3630H,存储在21001H开始的单元,并连续存放,请画出存储示意图。 微机原理第二章 IA-32结构的微处理器(44)
2.2.8 存储器组织——存储器分段 连续排列 完全重叠 部分重叠 C段 D段 E段 断开排列 微机原理第二章 IA-32结构的微处理器(45)
2.2.8 存储器组织——实际地址和逻辑地址 • 实际地址(又称物理地址)是指CPU和存储器进行数据交换时在地址总线上出现的地址码,对8086来说,是用20位二进制数或5位十六进制数表示的代码。是唯一能代表存储空间每个字节单元的地址。 • 逻辑地址由两部分组成:段地址和偏移量。后者是指存储单元所在的位置离段起始地址(基址)的偏移距离,又称偏移地址。基址和偏移地址都用无符号的16位二进制数或4位十六进制数表示。 • 物理地址=段基址 * 16 +偏移地址。 • 段基址:CS、DS、ES、SS。 • 偏移地址:IP、DI、SI、BP、SP等。 微机原理第二章 IA-32结构的微处理器(46)
分段编址的好处 • 程序中的指令只涉及16位地址,减短了指令长度,提高了执行程序的速度。 • 在程序执行过程中,不需要在1M空间中去寻址,多数情况下只在一个较小的存储器段中运行。 • 多数指令运行时,并不涉及段寄存器的值,而只涉及16位的偏移量。也为程序的浮动装配创造了条件。 • 程序设计者完全不用为程序装配在何处而去修改指令,统一交由操作系统去管理就行了。 微机原理第二章 IA-32结构的微处理器(47)
2.2.8 存储器组织——堆栈 • 堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。 • 堆栈:在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用“先进后出”的规则 。 • 堆栈的组织:堆栈指示器SP,它总是指向堆栈的栈顶堆栈的伸展方向既可以从高地址向低地址,也可以从低地址向高地址。8086/8088的堆栈的伸展方向是从高地址向低地址。 • 演示 微机原理第二章 IA-32结构的微处理器(48)
I/O端口组织 • I/O端口 • 一个n位的端口实际上是存取数据的一个n位寄存器。在系统设计时,要为每个端口分配一个地址,称为端口地址或端口号。 微机原理第二章 IA-32结构的微处理器(49)
统一编址 ————存储器映射方式 • I/O端口地址置于1MB的存储器空间中,在整个存储空间中划出一部分空间给外设端口 ,端口和存储单元统一编址。 • 优点:无需专门的I/O指令,对端口操作的指令类型多,从而简化了指令系统的设计。 • 缺点:端口占用存储器的地址空间,使存储器容量更加紧张,同时端口指令的长度增加,执行时间较长,端口地址译码器较复杂。 微机原理第二章 IA-32结构的微处理器(50)