版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 16位和32位微处理器 2.1 16位8086/8088微处理器2.2 32位微处理器803862.3 32位微处理器Pentium2.4 Itanium微处理器概述教学重点微处理器的一般性特点内部编程结构的两大组成部分总线接口部件和执行部件的相互协调关系2.1 16位8086/8088微处理器2.1.1 8086/8088CPU的编程结构2.1.2 8086/8088的引脚信号和工作模式2.1.3 8086的操作和时序2.1.4 8086的存储器编址和I/O编址2.1 16位8086/8088微处理器 1、引言 8086/8088微处理器是Intel公司推出的第三代CPU芯片,它们的
2、内部结构基本相同,都采用16位结构进行操作及存储器寻址,但外部性能有所差异,两种处理器都封装在相同的40脚双列直插组件(DIP)中。 2、8086微处理器的一般性能特点 16位的内部结构,16位双向数据信号线;20位地址信号线,可寻址1M字节存储单元;较强的指令系统;利用第16位的地址总线来进行I/O端口寻址,可寻址64K个I/O端口;中断功能强,可处理内部软件中断和外部中断,中断源可达256个;单一的5V电源,单相时钟5MHz。2.1 16位8086/8088微处理器2.1.1 8086/8088CPU的编程结构 编程结构是指从程序员和使用者的角度看到的结构,亦可称为功能结构。 2.1 16
3、位8086/8088微处理器 从功能上来看,8086/8088CPU可分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。如图所示2.1.1 8086/8088CPU的编程结构8088的内部结构1 2 3 4 内部暂存器 IP ES SS DS CS输入/输出控制电路总线执行部分控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件 (EU)总线接口部件 (BIU)16位20位8位8位1. 总线接口部件(BIU)功能:负责与存储器及I/O接口之间的数据
4、传送操作。包括 如图所示具体来看,完成取指令送指令队列;CPU执行指令时,总线接口部件配合执行部件的动作,从指定的内存单元或I/O端口取操作数,将数据传送给执行部件,或者将执行部件的操作结果送内存单元或者I/O端口。组成: 段寄存器(DS、CS、ES、SS); 16位指令指针寄存器IP(指向下一条要取出的指令代码); 20位地址加法器(用来产生20位地址); 6字节(8088为4字节)指令队列缓冲器 。 2.1.1 8086/8088CPU的编程结构 8086/8088的指令队列分别为6/4个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。 地址
5、加法器用来产生20位物理地址。8086/8088可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。 例如:CS0FE00H,IP0400H,则表示要取指令代码的物理地址为0FE400H。 总线接口部件(BIU)两点说明:2.1.1 8086/8088CPU的编程结构2. 执行部件(EU)功能:负责指令的执行 。 组成: 4个通用寄存器,即 AX、BX、CX、DX ; 4个专用寄存器,即 BP、SP、SI、DI ; 标志寄存器 ; ALU(算术逻辑单元) 。 如图所示2.1.1 8086/80
6、88CPU的编程结构 总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务:每当8086的指令队列中有两个空字节,或8088的指令队列中有一个空字节时,BIU就会自动把指令取到指令队列中。每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者IO端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者IO端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。在执行转移指令、
7、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。3. BIU与EU的动作协调原则如图所示 从上述BIU与EU的动作管理原则中,不难看出,它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086/8088可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令译码执行指令的串行工作方式,大大提高了工作效率,这正是8086/8088获得成功的原因之一。 2.1.1 8086/8088CPU的编程结构4. 8086/8088CPU内部
8、寄存器 8086/8088内部的寄存器可以分为通用寄存器和专用寄存器两大类,专用寄存器包括指针寄存器、变址寄存器等 通用寄存器 指针寄存器变址寄存器 控制寄存器段寄存器 标志寄存器 2.1.1 8086/8088CPU的编程结构通用寄存器 4个16位的通用寄存器还可以分成高8位和低8位两个独立的寄存器,这样又形成8个通用的8位寄存器 AX: AH AL BX: BH BL CX: CH CL DX: DH DL 其中AX称为累加器,BX称为基址寄存器,CX称为计数寄存器,DX称为数据寄存器,这些寄存器在具体使用上有一定的差别,如表12所示。 8086/8088CPU内部寄存器 表1-2 内部寄
9、存器主要用途寄存器 用 途 AX 字乘法,字除法,字I/O AL 字节乘,字节除,字节I/O,十进制算术运算 AH 字节乘,字节除 BX转移CX 串操作,循环次数 CL变量移位,循环控制 DX 字节乘,字节除,间接I/O 2.1.1 8086/8088CPU的编程结构 8086/8088CPU内部寄存器 指针寄存器 两个16位的指针寄存器SP和BP,其中SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置; BP是基数指针寄存器,通常用于存放基地址。变址寄存器 两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式。 段寄存
10、器 系统中共有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。这些段寄存器的内容与有效的地址偏移量一起,可确定内存的物理地址。通常CS划定并控制程序区,DS和ES控制数据区,SS控制堆栈区。2.1.1 8086/8088CPU的编程结构控制寄存器 IP、标志寄存器是系统中的两个16位控制寄存器,其中IP是指令指针寄存器,用来控制CPU的指令执行顺序,它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,
11、会产生段间的程序转移。 标志寄存器的内容被称为处理器状态字PSW,用来存8086/8088CPU在工作过程中的状态。 8086/8088CPU内部寄存器 2.1.1 8086/8088CPU的编程结构标志寄存器 8086/8088内部标志寄存器的内容,又称为处理器状态字PSW。其中共有9个标志位,可分成两类:一类为状态标志,一类为控制标志。 其中状态标志表示前一步操作(如加、减等)执行以后,ALU所处的状态,后续操作可以根据这些状态标志进行判断,实现转移;控制标志则可以通过指令人为设置,用以对某一种特定的功能起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式的可控制性。图22标志寄存器
12、8086/8088CPU内部寄存器 2.1.1 8086/8088CPU的编程结构状态标志:6个SF符号标志位,当运算结果的最高位为1,该标志位置1,否则清0。即与运算结果的最高位相同。ZF零标志位,运算结果为0时,该标志位置1,否则清0。PF奇偶标志位,当运算结果的低8位中l的个数为偶数时,则该位置1,反之为0。CF进位标志位,做加法时最高位出现进位或做减法时最高位出现借位,该位置1,反之为0。AF半进位标志位,做字节加法时,当低四位有向高四位的进位,或在做减法时,低四位有向高四位的借位时,该标志位就置1。通常用于对BCD算术运算结果的调整。OF溢出标志位,当运算过程产生溢出时,会使OF为1
13、。标志寄存器2.1.1 8086/8088CPU的编程结构控制标志:3个DF方向标志位,若该位置1,则串操作指令的地址修改为自动减量方向,反之,为自动增量方向。IF中断允许标志位,若该位置1,则处理器可以响应可屏蔽中断,否则就不能响应可屏蔽中断。TF陷阱标志位(单步标志位、跟踪标志)。当该位置1时,将使8086/8088进入单步工作方式,通常用于程序的调试。标志寄存器2.1.1 8086/8088CPU的编程结构2.1.1 8086/8088CPU的编程结构5. 8086/8088的总线周期的概念 一个最基本的总线周期有4个状态,即T1状态、T2状态、T3状态和T4状态。 在T1状态,CPU往
14、多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。 在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。总线的最高4位(A19A16)用来输出本总线周期状态信息。 在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。 在T3,T4期间,数据在CPU和存储器或I/O端口之间传输。若这两个时钟周期为外部逻辑提供的时间不足以响应访问要求,即数据未准备好,则在T3和T4之间可插入1n个等待周期Tw来延长总线周期。 在T4状态,总线周期结束。习题与思考: 18086/8088
15、CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的? 28086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位?3总线接口部件有哪些功能?请逐一说明。4总线接口部件由哪几部分组成?58086的执行部件有什么功能?由哪几部分组成?2.1.1 8086/8088CPU的编程结构2.1 16位8086/8088微处理器2.1.2 8086/8088的引脚信号和工作模式 教学重点8086/8088的两种工作模式; 8086/8088CPU的外部结构,即引脚信号及其功能。2.1.2 8086/8088的引脚信号和工作模式 1最小模式和最大
16、模式的概念 所谓最小模式,就是系统中只有一个8088/8086微处理器,在这种情况下,所有的总线控制信号,都是直接由8088/8086CPU产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。 最大模式是相对于最小模式而言的,最大模式用在中、大规模的微机应用系统中,在最大模式下,系统中至少包含两个微处理器,其中一个为主处理器,即8086/8086CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。 与8088/8086CPU配合工作的协处理器有两类,一类是数值协处理器8087,另一类是输入/输出协处理器8089。8087是一种专用于数值运算的协处理器,它
17、能实现多种类型的数值运算,如高精度的整型和浮点型数值运算,超越函数(三角函数、对数函数)的计算等,这些运算若用软件的方法来实现,将耗费大量的机器时间。换句话说,引入了8087协处理器,就是把软件功能硬件化,可以大大提高主处理器的运行速度。8089协处理器,在原理上有点象带有两个DMA通道的处理器,它有一套专门用于输入/输出操作的指令系统,但是8089又和DMA控制器不同,它可以直接为输入/输出设备服务,使主处理器不再承担这类工作。所以,在系统中增加8089协处理器之后,会明显提高主处理器的效率,尤其是在输入/输出操作比较频繁的系统中。 两种工作模式构成两种不同规模的应用系统最小模式构成小规模的
18、应用系统8088本身提供所有的系统总线信号最大模式构成较大规模的应用系统,例如可以接入数值协处理器80878088和总线控制器8288共同形成系统总线信号2.1.2 8086/8088的引脚信号和工作模式 1最小模式和最大模式的概念两种工作模式利用MN/MX*引脚区别MN/MX*接高电平为最小模式MN/MX*接低电平为最大模式两种工作模式下的内部操作并没有区别IBM PC/XT采用最大模式本书以最小模式展开基本原理通常在信号名称加上划线(如:MX)或星号(如:MX*)表示低电平有效2.1.2 8086/8088的引脚信号和工作模式 1最小模式和最大模式的概念2.1.2 8086/8088的引脚
19、信号和工作模式 28086/8088的引脚信号和功能(1) 引言 如图所示,是8088CPU的外部结构,即引脚信号图,注意:在不同的工作模式下,其中一部分引脚的名称和功能可能不一致。 8088/8086CPU芯片都是双列直插式集成电路芯片,都有40个引脚,其中32个引脚在两种工作模式下的名称和功能是相同的,还有8个引脚在不同的工作模式下,具有不同的名称和功能。 如图所示 图2-4 8086/8088CPU引脚功能2.1.2 8086/8088的引脚信号和工作模式 外部特性表现在其引脚信号上,学习时请特别关注以下几个方面: 引脚的功能 信号的流向 有效电平 三态能力指引脚信号的定义、作用;通常采
20、用英文单词或其缩写表示信号从芯片向外输出,还是从外部输入芯片,或者是双向的起作用的逻辑电平高、低电平有效上升、下降边沿有效输出正常的低电平、高电平外,还可以输出高阻的第三态2.1.2 8086/8088的引脚信号和工作模式 28086/8088的引脚信号和功能12345678910111213141516171819204039383736353433323130292827262524232221 GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCCAD15AD16 / S3AD17
21、 / S4AD18 / S5AD19 / S6SS0* (HIGH)MN / MX*RD*HOLD (RQ)*/ GT0*)HLDA (RQ1* /GT1*)WR* (LOCK*)M / IO ( S2* )DT / R* ( S1* )DEN ( S0 )ALEINTATEST*READYRESET80882.1.2 8086/8088的引脚信号和工作模式 分类学习这40个引脚(总线)信号数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚2.1.2 8086/8088的引脚信号和工作模式 (2) 两种模式下,名称和功能相同的32个引脚 VCC 电源,输入,第40脚 808
22、8/8086CPU采用单一的+5V电压 GND 接地引脚,第1、20脚 向CPU提供参考地电平,有两个接地引脚。 (2) 两种模式下,名称和功能相同的32个引脚 AD15AD0(Address Data Bus) 地址/数据复用信号输入/输出引脚,双向工作 第216脚分别为AD14AD0,第39脚为AD15。 分时输出低16位地址信号及进行数据信号的输入/输出。在8088中,高8位地址线实际上不作复用,只输出地址,称为A15A8。 (2) 两种模式下,名称和功能相同的32个引脚A19/s6A15/s3(Address/Status Bus) 地址/状态复用信号输出引脚, 输出 第3538脚分别
23、为A19/s6A15/s3,这些引脚在总线周期的T1状态输出地址的最高4位,在总线周期的T2、T3、Tw和T4状态时,用来输出状态信息。其中s6为0用以指示8086/8088CPU当前与总线连通;s5为1表明8086/8088CPU可以响应可屏蔽中断;s4、s3共有四个组态,用以指明当前正在使用哪个段寄存器,如表2.1所示,00ES,01SS,10CS,11DS。表2.1 s4、s3的代码组合和对应的含义s4 s3 含义 00 当前正在使用ES 01 当前正在使用SS 10 当前正在使用CS,或者未用任何段寄存器 11当前正在使用DS (2) 两种模式下,名称和功能相同的32个引脚 /S7(B
24、us High Enable/Status)高8位数据允许/状态复用信号输出引脚,输出。分时输出有效信号,在T1状态,表示高8为数据线D15D8上的数据有效;在T2、T3、T4及Tw状态,输出S7 状态信号,但S7未定义任何实际意义。利用 信号和AD0信号,可知系统当前的操作类型,具体规定见表2.2所示。表2.2 和A0的代码组合和对应的操作A0操作所用数据引脚00从偶地址单元开始读/写一个字AD15 AD001从奇地址单元或端口读/写一个字节AD15 AD810从偶地址单元或端口读/写一个字节AD7 AD011无效-01 从奇地址开始读/写一个字(在第一个总线周期将低8位数据送到AD15 A
25、D8,下一个周期将高8位数据送到AD7 AD0 )AD15 AD010 (2) 两种模式下,名称和功能相同的32个引脚 NMI (Non-Maskable Interrupt) 非屏蔽中断输入引脚INTR(Interrupt Request)可屏蔽中断请求信号,输入,第18引脚 非屏蔽中断信号是一个由低到高的上升沿。这类中断不受中断允许标志IF的影响,也不能用软件进行屏蔽。每当NMI端进入一个正沿触发信号时,CPU就会在结束当前指令后,执行对应于中断类型号为2的非屏蔽中断处理程序。可屏蔽中断请求信号为高电平有效。CPU在执行每条指令的最后一个时钟周期会对INTR信号进行采样,若CPU的中断允许
26、标志IF为1,并且又接受到INTR信号, CPU就结束当前指令,响应中断请求,执行一个中断处理子程序。 (Read) (2) 两种模式下,名称和功能相同的32个引脚用以指明要执行一个对内存单元或I/O端口的读操作,具体是读内存单元,还是读I/O端口,取决于控制信号 。RD读输出信号,第32脚,输出 CLK(Clock) 时钟信号输入,第19脚,输入 时钟信号的方波信号,占空比约为33%,即1/3周期为高电平,2/3周期为底电平,8088/8088的时钟频率(又称为主频)为4.77MHz,即从该引脚输入的时钟信号的频率为4.77MHz。时钟信号为CPU和总线控制逻辑电路提供定时手段。 (2) 两
27、种模式下,名称和功能相同的32个引脚 Reset (Reset) 复位信号输入,第21脚,输入,高电平有效 8088/8086CPU要求复位信号至少维持4个时钟周期才能起到复位的效果,复位信号输入之后,CPU结束当前操作,并对处理器的标志寄存器、IP、DS、SS、ES寄存器及指令队列进行清零操作,而将CS设置为0FFFFH。当复位信号变为低电平时,CPU从FFFF0H开始执行程序。 READY(Ready) “准备好”信号输入,第22脚,输入,高电平有效 “Ready”输入引脚,接收来自于内存单元或I/O端口向CPU发来的“准备好”状态信号,表明内存单元或I/O端口已经准备好进行读写操作。该信
28、号是协调CPU与内存单元或I/O端口之间进行信息传送的联络信号。CPU在每个总线周期的T3状态开始对READY信号进行采样。若检测到READY为低电平,则在T3状态之后插入等待状态Tw。在Tw状态,CPU也对READY进行采样,如READY仍为低电平,则会继续插入Tw,直到READY变为高电平后,才进入T4状态,完成数据传送过程。在8088系统中,该引脚为 ,用来与 、 一起决定8088芯片当前总线周期的读写操作, TEST (2) 两种模式下,名称和功能相同的32个引脚 (Test) 测试信号输入,第23脚,低电平有效 TEST信号与WAIT指令结合起来使用,CPU执行WAIT指令后,处于等
29、待状态,当TEST引脚输入低电平时,系统脱离等待状态,继续执行被暂停执行的指令。 MN/MX(Minimum/Maximum Model Control) 最小/最大模式设置信号输入,第33脚 该输入引脚电平的高、低决定了CPU工作在最小模式还是最大模式,当该引脚接+5V时,CPU工作于最小模式下,当该引脚接地时,CPU工作于最大模式下。 (3) 最小模式下的2431引脚 当8088/8086CPU的 引脚固定接+5V时,CPU处于最小模式下,这时候剩余的2431共8个引脚的名称及功能如下: (Interrupt Acknowledge) INTA中断响应信号输出,第24脚,低电平有效 该引脚
30、是CPU响应中断请求后,向中断源发出的认可信号,用以通知中断源,以便提供中断类型码,该信号为两个连续的负脉冲。第一个负脉冲通知外设的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码, CPU便可得到有关中断请求的详尽信息。ALE(Address Lock Enable) (3) 最小模式下的2431引脚 地址锁存允许信号,输出,第25脚,高电平有效CPU通过该引脚向地址锁存器8282/8283发出地址锁存允许信号,把当前地址/数据复用总线上输出的是地址信息,锁存到地址锁存器8282/8283中去。注意:ALE信号不能被浮空。 (Data Enable)
31、DEN数据允许信号,输出,第26脚,低电平有效 为总线收发器8286/8287提供一个控制信号,表示CPU当前准备发送或接收一项数据。 (3) 最小模式下的2431引脚 (Data Transmit/Receive) RDT/数据收发控制信号,输出,第27脚 CPU通过该引脚发出控制数据传送方向的控制信号,在使用8286/8287作为数据总线收发器时, 信号用以控制数据传送的方向,当该信号为高电平时,表示数据由CPU经总线收发器8286/8287输出,否则,数据传送方向相反。 (Memory/Input &Output) MIO/存储器/ I/O端口选择信号,第28脚,输出 这是CPU区分进行
32、存储器访问还是I/O访问的输出控制信号。在8086中,当该引脚输出低电平时,表明CPU要进行I/O端口的读写操作,低位地址总线上出现的是I/O端口的地址;当该引脚输出低电平时,表明CPU要进行存储器的读写操作,地址总线上出现的是访问存储器的地址。注意:在8088中,该引脚为 ,正好相反。IO/ M (3) 最小模式下的2431引脚 (Write) WR写控制信号,输出,第28脚,低电平有效, WR有效时,表示CPU当前正在进行存储器或I/O写操作。与M/IO配合实现对存储单元、I/O端口所进行的写操作控制。 HOLD (Hold Request) 总线保持请求信号输入,第31脚,高电平有效 这
33、是系统中的其它总线部件向CPU发来的总线请求信号输入引脚。HLDA(Hold Acknowledge) 总线保持响应信号输出,第30引脚,高电平有效 当HELD有效时,表示CPU认可其他总线部件提出的总线占用请求,准备让出总线控制权。同时,所有与三态门相接的CPU的引脚呈现高阻状态,从而让出了总线。图2.4 最小模式下的系统典型配置 如图2-4所示,是8088/8086在最小模式下的典型配置,它具有以下几个方面的特点。 端接+5V,决定了CPU的工作模式;有一片8284A,作为时钟信号发生器;有一片8282或74LS273,用来作为地址信号的锁存器;当系统中所连的存储器和外设端口较多时,需要增
34、加数据总线的驱动能力,这时,需用2片8286/8287作为总线收发器。AD0AD1AD2AD3AD4AD5AD6AD7ALEDI0 DO0 DI1 DO1DI2 8 DO2DI3 2 DO3 DI4 8 DO4DI5 2 DO5DI6 DO6DI7 DO7OE STBAD8AD9AD15A16A17A18A19BHEDI0 DO0 DI1 DO1 8282DI7 DO7OE STB 8282OE STB地址数据数据8086图2.5 8282锁存器和8086的连接 AD0AD1AD2AD3AD4AD5AD6AD7A0 B0 A1 B1A2 8 B2A3 2 B3 A4 8 B4A5 6 B5A6
35、 B6A7 B7OE TDENDT/R数据总线8088图2.6 8286收发器和8088的连接 RESETREADY8086/8088CLKCLK RDY READY RES RESETEFIF/CX1 X28284A510510控制总线图2.7 8284A和8086/8088的连接 (4) 最大模式下的2431引脚 当8088/8086CPU的 引脚固定接地时,CPU处于最大模式下,这时候剩余的2431共8个引脚的名称及功能如下:XMMN/ QS1、QS0(Instruction Queue Status) 指令队列状态信号,输出,第24和25脚 这两个信号的组合给出了前一个T状态中指令队列
36、的状态,以便于外部8088/8086CPU内部指令队列的动作跟踪,如下表所示:QS0QS1含 义00无操作 01从指令队列的第一个字节取走代码 10队列为空 11除第一个字节外,还取走了后续字节中的代码(4) 最大模式下的2431引脚 S2 、 S1 、S0 (bus cycle status )总线周期状态信号输出,第28、27、26脚,低电平的信号这些信号组合起来,可以指出当前总线周期中,所进行数据传输过程的类型,总线控制器8288利用这些信号来产生对存储单元、I/O端口的控制信号。S2、S1、S0与具体物理过程之间的对应关系,如表2-5所示。表2-5 S2、S1、S0的状态编码性能100
37、中断响应101读I/O端口110写I/O端口111暂停000取指001读存储器010写存储器011无作用(无源状态)(4) 最大模式下的2431引脚 (Lock) LOCK总线封锁输出信号,第29脚,低电平有效 当该引脚输出低电平时,系统中其它总线部件就不能占用系统总线。LOCK信号是由指令前缀LOCK产生的,在LOCK前缀后面的一条指令执行完毕之后,便撤消LOCK信号。此外,在8088/8086的2个中断响应脉冲之间, LOCK信号也自动变为有效的低电平,以防止其它总线部件在中断响应过程中,占有总线而使一个完整的中断响应过程被中断。RQGTGT 、 (Request/Grant) 0/RQ1
38、/(4) 最大模式下的2431引脚总线请求信号输入/总线允许信号输出,第30、31脚 这两个信号端可供CPU以外的两个处理器,用来发出使用总线的请求信号和接收CPU对总线请求信号的应答。这两个引脚都是双向的,请求与应答信号在同一引脚上分时传输,方向相反。其中RQ/GT0比RQ/GT1的优先级高。图 2.8 8086在最大模式下的典型配置如图2-8所示,是8088/8086在最大模式下的典型配置。最大模式和最小模式在配置上的主要差别在于在最大模式下,要用8288总线控制器来对CPU发出的控制信号进行变换和组合,以得到对存储器或I/O 端口的读/写信号和对锁存器8282及总线收发器8286的控制信
39、号。最大模式系统中,需要用总线控制器来变换与组合控制信号的原因在于:在最大模式的系统中,一般包含2个或多个处理器,这样就要解决主处理器和协处理器之间的协调工作,和对系统总线的共享控制问题,8288总线控制器就起了这个作用。 在最大模式的系统中,一般还有中断优先级管理部件。8259A用以对多个中断源进行中断优先级的管理,但如果中断源不多,也可以不用中断优先级管理部件。(5) 相关问题的说明8088/8086的数据线与地址线、状态线是分时复用的,即在某一时刻,总线上出现的是输出地址信息,在另一时刻,总线上是所需读、写的数据信息,或状态信息。 除了个别引脚外,8088/8086的控制信号引脚的定义是
40、一致的,有差别的是,8088的第18脚为IO/M,8086为IO/M,主要是为了使前者能与8位微处理器8080/8085 相兼容的缘故。 8088的第34引脚为SS0,8086为BHE/S7,这是因为8086有16根数据线,可以用高、低8位总线分别进行一个字节的传送,也可以同时进行两个字节的传送,BHE正是为了指明这几类操作而设置的,而8088的数据线只有8根,就不存在这一要求,因此就不需要BHE引脚了。 Reset引脚是复位信号输入端,系统启动或在系统运行过程中,CPU在接收到Reset信号后,会使系统复位。复位后,CPU处于如下状态: CPU的标志寄存器、指令指针寄存器IP、段寄存器DS、
41、ES、SS和指令队列均被清零,码段寄存器CS被置为FFFFH,CPU将从0FFFF0H处开始执行指令。 CPU与内存、I/O端口之间在时间上的匹配主要靠“READY”信号。 信号与(或)配合使用,指明从内存或者I/O端口读信息。 高4位地址线与状态线分时复用,在T1状态,输出地址信息,在其余状态,输出状态信息。(6) 8086/8088CPU的引脚分类8086/8088CPU的40个引脚可以分成下列几大类:(1)数据/地址复用线、地址线、地址/状态复用线AD0 AD7 、AD8 AD15、A16 A19/S3 S6;(2)常规信号GND(2个)、 、CLK;(3)常用信号ALE、 、 、 ;(
42、4)中断INTR、NMI、 ;(5) 、READY、RESET;(6)HOLD、HLDA;(7) (8086) (8088)、 、 、 。习题与思考:18086/8088系统中为什么一定要有地址锁存器?需要锁存哪些信息?2若8086CPU工作于最小模式,试指出当CPU完成将AH的内容送到物理地址为91001H的存储单元操作时,以下哪些信号应为低电平:M/IO 、RD、WR 、BHE/S7、DT/R。若CPU完成的是将物理地址91000H单元的内容送到AL中,则上述哪些信号应为低电平。3什么是引脚的分时复用?请说出8086/8088CPU有哪些引脚是分时复用引脚?其要解决的问题是什么?4试说明8
43、086/8088工作在最大和最小模式下系统基本配置的差异。2.1.2 8086/8088的引脚信号和工作模式 2.1.3 8086的操作和时序教学重点与微机系统工作过程定时相关的三种周期;时序的基本概念,研究时序的意义;两种工作模式下的典型时间序列分析。 2.1 16位8086/8088微处理器2.1.3 8086的操作和时序一、 相关的基本概念1. 什么是时序?时序是计算机操作运行的时间顺序。时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系CPU时序决定系统各部件间的同步和定时总线时序描述CPU引脚如何实现总线操作2.1.3 8086的操作和时序什么是总线操作?2
44、.1.3 8086的操作和时序2. 为什么要研究时序可以进一步了解在微机系统的工作过程中,CPU各引脚上信号之间的相对时间关系。由于微处理器内部电路、部件的工作情况,用户是看不到的,通过检测CPU引脚信号线上,各信号之间的相对时间关系,是判断系统工作是否正常的一种重要途径;(2)可以深入了解指令的执行过程;(3) 可以使我们在程序设计时,选择合适的指令或指令序列,以尽量缩短程序代码的长度及程序的运行时间。因为对于实现相同的功能,可以采用不同的指令或指令序列,而这些指令或指令序列的字节数及执行时间有可能不相同的。(4) 对于学习各功能部件与系统总线的连接及硬件系统的调试,都十分有意义,因为CPU
45、与存储器、I/O端口协调工作时,存在一个时序上的配合问题。(5)才能更好地处理微机用于过程控制及解决实时控制的题,3. 指令周期、总线周期及时钟周期2.1.3 8086的操作和时序 微机系统的工作,必须严格按照一定的时间关系来进行,CPU定时所用的周期有三种,即指令周期、总线周期和时钟周期。(1) 指令周期 一条指令从其代码被从内存单元中取出到其所规定的操作执行完毕,所用的时间,称为相应指令的指令周期。由于指令的类型、功能不同,因此,不同指令所要完成的操作也不同,相应地,其所需的时间也不相同。也就是说,指令周期的长度因指令的不同而不同。(2) 总线周期 我们把CPU通过总线与内存或I/O端口之
46、间,进行一个字节数据交换所进行的操作,称为一次总线操作,相应于某个总线操作的时间即为总线周期。虽然,每条指令的功能不同,所需要进行的操作也不同,指令周期的长度也必不相同。但是,我们可以对不同指令所需进行的操作进行分解,它们又都是由一些基本的操作组合而成的。如存储器的读/写操作、I/O端口的读/写操作、中断响应等,这些基本的操作都要通过系统总线实现对内存或I/O端口的访问的。不同的指令所要完成的操作,是由一系列的总线操作组合而成的,而线操作的数量及排列顺序因指令的不同而不同。 8088的总线操作,就是8088CPU利用总线(AB、DB、CB)与内存及I/O端口进行信息交换的过程,与这些过程相对应
47、的总线上的信号变化的相对时间关系,就是相应总线操作的时序。2.1.3 8086的操作和时序总线操作是指CPU通过总线对外的各种操作8088的总线操作主要有:存储器读、I/O读操作存储器写、I/O写操作中断响应操作总线请求及响应操作CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti描述总线操作的微处理器时序有三级指令周期 总线周期 时钟周期什么是指令、总线和时钟周期?2.1.3 8086的操作和时序(3) 时钟周期 时钟周期是微机系统工作的最小时间单元,它取决于系统的主频率,系统完成任何操作所需要的时间,均是时钟周期的整数倍。时钟周期又称为T状态。时钟周期是基本定时脉冲的两个沿之间的时间
48、间隔,而基本定时脉冲是由外部振荡器产生的,通过CPU的CLK输入端输入,基本定时脉冲的频率,我们称之为系统的主频率。例如8088CPU的主频率是5MHz,其时钟周期为200ns。一个基本的总线周期由4个T状态组成,我们分别称为T1T44个状态,在每个T状态下,CPU完成不同的动作。2.1.3 8086的操作和时序4. 8086/8088微机系统的主要操作 8086/8088微机系统,能够完成的操作有下列几种主要类型 系统的复位与启动操作; 暂停操作; 总线操作;(I/O读、I/O写、存贮器读、存贮器写) 中断操作; 最小模式下的总线保持; 最大模式下的总线请求/允许。二、 典型的8086时序分
49、析 2.1.3 8086的操作和时序1引言 指令所执行的操作,可以分为内部操作和外部操作。不同的指令其内、外部操作是不相同的,但这些操作可以分解为一个个总线操作。即总线操作的不同组合,就构成了不同指令的不同操作,而总线操作的类型是有限的,我们如果能够明确不同种类总线操作的时序关系,且可以根据不同指令的功能,把它们分解为不同总线操作的组合,那么,任何指令的时序关系,我们就都可以知道了。2.1.3 8086的操作和时序2最小模式下的典型时序 CPU为了与存贮器或I/O端口进行一个字节的数据交换,需要执行一次总线操作,按数据传输的方向来分,可将总线操作分为读操作和写操作两种类型;按照读/写的不同对象
50、,总线操作又可分为存贮器读/写与I/O读/写操作,下面我们就最小模式下的总线读/写操作时序,来进行具体分析。 2.1.3 8086的操作和时序(1) 最小模式下的总线读操作时序 时序如图211所示,一个最基本的读周期包含有4个状态,即T1、T2、T3、T4,在存储器和外设速度较慢时,要在T3之后可插入1个或几个等待状态Tw。图 2.11 8086读周期时序BHE输出高为读内存 低为读I/O A15 A0S6 S3T4T3T2T1ALECLKA19/S6 A16/S3BHE/S7AD15 AD0数据输入A19 A16M/IORDTw(1n)DT/RDEN 首先M/IO有效,用来指出本次读周期是存
51、贮器读还是I/O读,它一直保持到整个总线周期的结束即T4状态。地址线信号有效,高4位通过地址/状态线A19/S6 A16/S3送出,低16位通过地址/数据线AD15 AD0送出,用来指出操作对象的地址,即存贮器单元地址或I/O端口地址。ALE有效,在最小模式的系统配置中我们讲过,地址信号通过地址锁存器8282锁存,ALE即为8282的锁存信号,下降沿有效。BHE(对8088无用)有效,用来表示高8位数据总线上的信息有效,现在通过传送的是有效地址信息,BHE常作为奇地址存贮体的选通信号,因为奇地址存贮体中的信息总是通过高8位数据线来传输,而偶地址体的选通则用A0。当系统中配有总线驱动器时,T1使
52、DT/R变低,表示本周期为读周期,并通知总线驱动器接收数据(DT/R 接收 T)。 T1状态(1) 最小模式下的总线读操作时序图示(1) 最小模式下的总线读操作时序 T2状态高四位地址/状态线送出状态信息,S6S6。低16位地址/数据线浮空,为下面传送数据准备。BHE/S7引脚成为S7 (无定义)。RD有效,表示要对存贮器/I/O端口进行读。DEN有效,使得总线收发器(驱动器)可以传输数据(DEN 接收 OE )。图示(1) 最小模式下的总线读操作时序 T3状态在基本总线周期的T3状态,内存单元或者I/O端口将数据送到数据总线上,CPU通过AD15AD0接收数据。图示(1) 最小模式下的总线读
53、操作时序 Tw状态 若存贮器或外设速度较慢,不能及时送上数据的话,则通过READY线通知CPU,CPU在T3的前沿(即T2结束末的下降沿)检测READY,若发现READY0,则在T3结束后自动插入1个或几个Tw,并在每个Tw的前沿处检测READY,等到READY变高后,则自动脱离Tw进入T4。 图示(1) 最小模式下的总线读操作时序 T4状态在T4与T3(或Tw)的交界处(下降沿),CPU对数据总线进行采样,从而获得数据,并使各控制及状态线进入无效 图示图 2.12 8086写周期的时序BHE输出高为读内存 低为读I/O A15 A0S6 S3T4T3T2T1ALECLKA19/S6 A16/
54、S3BHE/S7AD15 AD0数据输入A19 A16M/IOWRTw(1n)DT/RDEN T1状态(2) 最小模式下的总线写操作时序基本上同读周期,只有此时DT/R为高不是低。 T2状态与读周期有两点不同:(1) RD变成WR;(2) A15A0不是浮空,而是发出要写入存储器或IO端口的数据图示 T3状态(2) 最小模式下的总线写操作时序在T3状态,CPU继续提供状态信息和数据,并且继续维持WR、M/IO及DEN信号为有效电平。 Tw状态若CPU在T3状态的一开始未收到“准备好”信号,那么,会在状态T3和T4之间插入1到n个Tw,直到在某个Tw的前沿处,CPU采样到“准备好”信号后为止。图
55、示(2) 最小模式下的总线写操作时序 T4状态在T4状态,CPU认为存储器或I/O端口已经完成数据写入,因而,数据从数据总线上被撤除,各控制信号线和状态信号线也进入无效状态。此时,DEN信号进入高电平,从而使总线收发器不工作。图示3最大模式下的典型时序(1) 最大模式下的总线读周期图 2.13 最大模式下的读操作时序BHE输出S2=1,S1=0,S0=1A15 A0S6 S3T4T3T2T1ALECLKA19/S6 A16/S3BHE/S7AD15 AD0数据输入A19 A16S2S0MRDCTw(1n)DENS2=1,S1=1,S0=1S7D15 D0或IORC ( S2=0,S1=0,S0
56、=1)DT/R(1) 最大模式下的总线读周期 基本同最小模式,不同的是ALE、DT/R是由总线控制器发出的。 T1状态 在T1状态,CPU将地址的低16位通过AD15AD0发出,地址的高4位通过A19/S6 A16/S3发出,总线控制器从ALE引脚上输出一个正向的地址锁存脉冲,系统中的地址锁存器利用这一脉冲将地址锁存起来,此外,总线控制器还为总线收发器提供数据传输方向控制信号DT/R。图示(1) 最大模式下的总线读周期 T2状态 不同的是此时RD变成MRDC或IORC,送到存贮器或I/O端口。在T2状态,CPU输出状态信号S7S3;总线控制器在T2状态的时钟上升沿处,使DEN信号有效,于是,总
57、线收发器启动;总线控制器还根据S2、S1、S0的电平组合发出读信号MRDC或IORC,送到存储器或者输入输出设备端口,去执行存储器读操作或者输入输出端口读操作。图示(1) 最大模式下的总线读周期 T3状态 数据已读出送上数据总线,这时S2、S1、S0111进入无源状态。若数据没能及时读出,则同最小模式一样自动插入Tw。图示(1) 最大模式下的总线读周期 T4状态数据从总线上消失,状态信号引脚S7S3进入高阻状态,而S2、S1、S0根据下一个总线周期的类型进行电平变化。图示(2) 最大模式下的总线写周期3最大模式下的典型时序 时序图如图214 所示,与上述最大模式下的总线读周期相比,就是MRDC
58、和IORC成为MWTC和IOWC;另外还有一组AMWC或AIOWC(比MWTC和IOWC提前一个T有效),这时MWTC (AMWC )或IOWC (AIOWC )取代最小模式下的WR。(2) 最大模式下的总线写周期图 2.13 最大模式下的写操作时序BHE输出S2=1,S1=1,S0=0A15 A0S6 S3T4T3T2T1ALECLKA19/S6 A16/S3BHE/S7AD15 AD0输出数据A19 A16S2S0AMWCTw(1n)DENS2=1,S1=1,S0=1S7D15 D0或AIOWC ( S2=0,S1=1,S0=0)MWTC或 IOWC ( S2=0,S1=1,S0=0)(2
59、) 最大模式下的总线写周期 T1状态同读周期。在T1状态,CPU从AD15AD0引脚上输出要写入的存储器单元或IO设备端口地址的低16位,而从A19/S6A16/S3引脚输出地址的高4位。CPU还使BHE进入低电平。总线控制器使DT/R输出高电平,以表示发送数据。(2) 最大模式下的总线写周期 T2状态在T2状态,总线控制器使DEN输出高电平,于是数据总线收发器启动。在DEN输出高电平的同时,提前的存储器写信号AMWC或者提前的IO端口写信号AIOWC也为低电平既有效电平,并一直维持到T4。在总线写周期中,CPU从T2状态开始就把数据送到数据总线上。(2) 最大模式下的总线写周期 T3状态 在
60、T3状态,总线控制器使普通的存储器写信号MWTC或者普通的输入输出端口写信号IOWC成为低电平,并且一直维持到T4。S2、S1、S0进入无源状态。 由此可见,两个提前的写信号AMWC和AIOWC比普通的写信号MWTC和IOWC超前了整整一个时钟周期,这样,一些较慢的设备或者存储器芯片就可以得到一个额外的时钟周期执行写操作。(2) 最大模式下的总线写周期 T4状态AMWC等被撤消,S2、S1、S0根据下一总线周期的性质变化,DEN失效,从而停止总线收发器的工作,其它引脚高阻。4总线空操作 前面我们曾讲过,只有在CPU与存贮器或I/O端口之间传送数据时,CPU才执行相应的总线操作,而当它们之间不传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年氰硫化锂行业分析报告及未来发展趋势报告
- 2026年玉石玻璃行业分析报告及未来发展趋势报告
- 2026年生物色素行业分析报告及未来发展趋势报告
- 2026云南玉溪市华宁县华融投资有限公司招聘2人考试备考试题及答案解析
- 2026年电子膨胀阀节能技术行业分析报告及未来发展趋势报告
- 2026年连锁酒店行业分析报告及未来发展趋势报告
- 2026年超纯水行业分析报告及未来发展趋势报告
- 2026年塔吊租赁服务行业分析报告及未来发展趋势报告
- 2026年低压熔断器行业分析报告及未来发展趋势报告
- 2026年染料中间体行业分析报告及未来发展趋势报告
- 手术室物品清点及意外处理
- 《大学生社交礼仪》课件
- 王力《古代汉语》第一册(文选第一部分)课件
- DL-T5841-2021电气装置安装工程母线装置施工及验收规范
- 戏剧与美育智慧树知到期末考试答案章节答案2024年长江人民艺术剧院
- 输液泵的使用培训课件
- 【复习资料】10398现代汉语语法修辞研究(练习测试题库及答案)
- 第五章-立地条件划分
- 说专业-物流管理专业
- 高三历史一轮复习研讨会经验交流课件
- 抖音小店出售协议书
评论
0/150
提交评论