微型计算机原理与接口技术微处理器_第1页
微型计算机原理与接口技术微处理器_第2页
微型计算机原理与接口技术微处理器_第3页
微型计算机原理与接口技术微处理器_第4页
微型计算机原理与接口技术微处理器_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型计算机原理与接口技术

主编何超中国水利水电出版社

8086/8088CPU的组成、引脚功能和工作模式。时序基本概念。微处理器的发展历程,主流CPU及其最新技术。第2章微处理器

2.1微处理器概述2.1.1CPU的基本概念中央处理器(CPU,CentralProcessingUnit),是整个计算机系统的核心,负责整个系统指令的执行,对数据信息进行数学与逻辑运算和处理、数据的存储与传送以及对内对外输入与输出的控制,并实现本身运行过程的自动化。

MPU:

即微型化的中央处理器。早期微处理器以MPU表示,以区别于大型主机的多芯片CPU。

CPU有通用CPU和嵌入式CPU之分,通用和嵌入式的分别,主要是根据应用模式的不同而划分的。。

2.1.2CPU的功能CPU的主要功能是控制计算机运行存储在主存储器中的程序,完成人们对问题的求解工作,运行程序就是执行指令序列。其基本功能主要如下。1.指令控制

CPU的首要任务就是控制各条程序的执行,保证程序严格按规定执行。2.操作控制一条指令的执行需要若干个微操作命令信号,通过这些微操行信号作用于CPU内部及外部的不同部件上,完成指令功能。因此,操作控制的功能是协调各个工作部件按指令完成规定任务的基础。3.时间控制

CPU执行每一条指令都有严格的时间顺序。例如对各种操作信号的产生时间、稳定时间、撤销时间及相互之间的关系都应有严格的要求。4.数据加工

CPU能够根据指令功能的要求,完成对数值数据的算术运算、逻辑变量的逻辑运算及其他非数值数据的处理。对数据的输入、加工处理以及输出数据是CPU的基本功能。5.中断处理

CPU能对其内部或外部的中断(异常)做出响应,进行相应的处理。6.其他功能除以上各种功能之外,CPU具有其他功能。例如CPU能对直接存储器存取请求做出响应,能对复位信号做出响应并将复位启动的入口地址送入PC中等。

2.1.3CPU的组成1.CPU的内核从结构上说,任何CPU都包括运算器(算术逻辑运算单元ArithmeticLogicUnit,ALU)、控制器(ControlUnit,CU)和寄存器(Register)三个主要组成部分。(1)运算器:

1)算术逻辑运算单元ALU2)浮点运算单元FPU(FloatingPointUnit)(2)控制器:

1)指令控制器

2)时序控制器

3)总线控制器

4)中断控制器

(3)内部寄存器组1)运算寄存器2)数据寄存器DR(DataRegister)3)地址寄存器AR(AddressRegister)4)标志寄存器FR(FlagRegister)5)程序计数器PC(ProgramCounter)6)通用寄存器组7)专用寄存器

2.CPU的外核(1)解码器(DecodeUnit)作用:是把长度不定的x86指令转换为长度固定的指令,并交由内核处理。解码:分为硬件解码和微解码。硬件解码:对于简单的x86指令,速度较快;微解码:对于复杂的x86指令,并把它分成若干条简单指令,速度较慢且很复杂。

(2)一级缓存和二级缓存(Cache)

一级缓存和二级缓存是为了缓解较快的CPU与较慢的存储器之间的矛盾。一级缓存:(L1)通常集成在CPU内核二级缓存:

(L2)以较快于存储器的速度运行

2.1.4指令系统指令系统指的是CPU所能够处理的全部指令的集合。CISC(ComplexInstructionSetComputer,复杂指令系统指令集计算机)RISC(ReducedInstructionSetComputer,精简指令系统指令集计算机)EPIC(ExplicitlyParallelInstructionComputers,显式并行指令系统指令集计算机)

2.1.5CPU的架构和封装方式(1)CPU的架构CPU构架是按CPU的安装插座类型和规格确定的。目前常用的CPU按其安装插座规范可分为Socketx和Slotx两大构架。以Intel处理器为例,Socket构架的CPU中分为Socket370、Socket423和Socket478三种,分别对应IntelPIII/Celeron处理器和P4处理器。Slotx架构的CPU中可分为Slot1、Slot2两种,分别使用对应规格的Slot槽进行安装。其中Slot1是早期IntelPII、PIII和Celeron处理器采取的构架方式,Slot2是尺寸较大的插槽,专门用于安装PⅡ和PⅢ序列中的工作组服务器上的Xeon(至强)处理器。

(2)CPU的封装方式

所谓封装是指安装半导体集成电路芯片用的外壳,通过芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的插槽与其他器件相连接。它起着安装、固定、密封、保护芯片及增强电热性能等方面的作用。

CPU的封装方式取决于CPU安装形式,最早的是DIP(双列直插式)封装。而80286封装是一种被称为PGA(引脚网格阵列)的正方形包装。通常采用Socket插座安装的CPU使用PGA(栅格阵列)的形式进行封装,而采用SlotX槽安装的CPU则全部采用SEC(单边接插盒)的形式进行封装。

2.1.6CPU主要技术参数1)位(bit)

位是计算机所能处理的最小数据单位,位只能有两种状态:“0”和“1”。Bit通常缩写为b。2)字节(byte)、KB、MB、GB和TB■1字节包含8个二进制(8bit)位,通常写为B。字节是计算机存储器容量的基本单位。■在计算机中,K通常代表210,即1024。■

1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB1.位、字节和字长

3)字(word):字在不同的场合有不同的含义。一种是在计算机编程语言中,一个字代表2个字节,即16位;另一种是在计算机硬件中,字是CPU与(I\O)设备和存储器之间传送数据的基本单位。2.CPU外频与主频外频:每个计算机的主板上均有一个按固定频率产生时钟信号的装置,称为主时钟CLK,主时钟的频率叫外频,是为CPU提供的基准时钟频率,即CPU与外部进行数据传输时使用的频率,也叫做系统总线频率。主频:CPU的内核实际运行频率被称为主频,主频的高低直接影响CPU的运算速度,即CPU每秒钟运算的次数。倍频:可使CPU的内核实际运行频率比外频提高数倍,按倍频系数乘以外频而来。

4.高速缓冲存储器(L1和L2Cache)的容量和速率目的:为了解决高速CPU和慢速内存之间的速度匹配问题。普遍在CPU和常规主存之间增设一级或二级高速小容量存储器,称为高速缓冲存储器,简称Cache,其速度比内存大一个数量级,大体与CPU的处理速度相当。在Cache中存放着最近访问或将要访问的指令和数据。作用:提高计算机速度起关键作用。说明:

CPU的L2Cache分芯片内部安装和外部安装两种。设在CPU芯片内的L2Cache运行速度与主频相同,而采用PⅡ方式安装在CPU芯片外部的L2Cache运行频率一般为主频的1/2,因此其效率要比芯片内的L2Cache要低。

3.前端总线(FSB)频率

前端总线也就是CPU总线,一般主板上前端总线频率与内存总线频率相同。内存总线频率指主存的工作频率,也由主板提供,很多情况下等于外频。但现在一些主板提供内存异步技术,使内存工作频率和CPU外频不同,更先进的CPU如IntelP4、AMD的K7等更可以使FSB数倍于系统总线频率。

2.1.7CPU主流技术术语浅析1.流水线技术2.超流水线和超标量技术3.过程调用和中断技术4.乱序执行技术5.动态执行技术6.指令特殊扩展技术7.处理器的体系结构(IA)与微体系结构8、超线程技术9、向量机

2.1.8微型计算机的存储器组织1、存储器组织的实模式

以8086/8088CPU为例,其有20条地址线,因而其发出的地址信号是20位二进制数,由于每个地址对应1个存储单元,故存储单元的地址也是20位二进制数(由于20位二进制数写起来太长,所以人们一般改用等价的十六进制表示,即5位十六进制数)。20位二进制数可表示220=1MB,因而8086/8088系统中存储单元的个数最多为1MB,即8086/8088的寻址空间为1MB。

分段,即将1MB的内存从逻辑上分为若干个小块,每个小块称为1个段。分段是逻辑上的概念,不是将内存硬件进行了物理分隔,所以不同的程序可以使用不同的的分段方法,而不会对物理内存造成影响。

分段以后,对每个段的存储单元用16位数从0开始重新进行编址,这个地址称为段内偏移量,简称为偏移量。16位二进制数最多能寻址的空间为216=64KB,故1个段不能多于64K个存储单元。当段长度达到64KB时,偏移量的范围从0000H~FFFFH。

段内偏移量是16位的,解决了运算和存储的问题,但它仅描述了1个存储单元距离段内首单元的位置偏移,并不能用来绝对定位1个存储单元。但若知道了段内首单元的20位物理地址,配合偏移量则可实现对段内任一存储单元的绝对定位。存储器的分段:为寻址方便,对1M内存空间引入分段的方法

规则1:

规则2:

1个段只有1个段基址,但每个单元各有自己的偏移量。

1个段必须从物理地址的最末4位二进制数全为0(即十六进制数最末1位数为0)的单元开始。这样,段首单元只有前16位需要描述,这16位数称为段基址。

段基址后再补上4个0(即乘以十六进制的10H),就是这个段首单元的物理地址。00000H00001H12340HFFFFEHFFFFFH0000H0001H0002HFFFFH………………存储器分段实际物理地址这4位为段基址偏移量

逻辑地址:程序中用来描述存储单元位置的地址称为逻辑地址。

逻辑地址的表示:段基址:偏移量如1374:0000H,

1374:0001H等。逻辑地址向物理地址的转换公式:

物理地址=段基址╳

10H+偏移量例如:逻辑地址1374:0003H表示的存储单元的物理地址为:1374╳10H+0003H=13743H(1)段的长度<=64K(2)段只能从物理地址低4位二进制数全为0的单元开始。分段的规则:

注意:(1)内存可分为多个段。(2)段长度可在1~64K个单元之间。

(3)段之间可以重叠,重叠部分的存储单元将有两个或更多个逻辑地址,但由这些逻辑地址运算出的物理地址是惟一的。

2、存储器组织的保护模式简介

保护模式同实模式的根本区别是正在运行中的程序进程中,其内存受保护与否。

80286内存寻址有两种方式:保护模式和实模式。系统启动时处理器处于实模式,只能访问1M内存空间,经过处理可以进入保护模式,可访问16M内存空间,但要从保护模式回到实模式必须重启机器。

3.堆栈

堆栈是在内存中开辟的按后进先出原则组织的一个特别存储区域,主要用于子程序调用等操作中,从主程序的哪一步离开,到哪里去找子程序入口地址,……,这些信息都要做个记号,保存在堆栈中(压栈),以便返回;返回时,找回记号(出栈)。

寄存器,其中装“户口簿”图2-2例2-1的分段情况图

[例2.1]

若用户程序的分段情况为:代码段需要8K(2000H)存储区,数据段需要2K(800H)存储区,堆栈段需要256个字节的存储区。假定操作系统从02000H单元开始分配存储区,则此时分段情况如图2-2所示。

2.28086/8088微处理器

Intel8086/8088采用HMOS工艺制造,29000个晶体管、40引脚、双列直插式。数据总线:8086:16位,8088:8位。地址总线:20位,部分与数据线复用。内存空间:20位、直接寻址1MB空间。寻址方式:7种基本的寻址方式。

指令系统:100条基本指令除能完成数据传送、算数运算、逻辑运算、控制转移和处理器控制功能外,内部还设有硬件乘除法与串处理指令电路。时钟频率:8088:4.7MHz/8086:5MHz/8086-2:8MHz。中断功能:内外部中断源多达256个。工作模式:支持单处理器、多处理器两种模式。

2.2.18086的编程结构8086编程结构如下页图所示,8086分为两个部分:1、总线接口部件

BIU(BusInterfaceUnit)2、执行部件EU(ExecutionUnit)编程结构:从程序员和使用者的角度来看的结构。

8086CPU内部结构示意图20位地址加法器4个16位的段地址寄存器16位的指令指针寄存器IP6字节的指令队列缓冲器总线控制部件EU执行单元的控制电路8个16位的寄存器16位的标志寄存器FR1个数据暂存寄存器代码段寄存器

数据段寄存器

堆栈段寄存器

扩展段寄存器

1个16位的算术逻辑单元ALU堆栈指针寄存器SP目的变址寄存器DI源变址寄存器SI基数指针寄存器BP

8086微处理器内部有14个16位寄存器,这14个寄存器分为三大类。8086寄存器通用寄存器数据寄存器变址寄存器指针寄存器AX

累加器BX

基数寄存器CX

计数寄存器DX

数据寄存器SP

堆栈指针寄存器BP

基址指针寄存器SI

源变址寄存器DI

目的变址寄存器段寄存器CS

代码段寄存器DS

数据段寄存器SS

堆栈段寄存器ES

附加段寄存器控制寄存器IP

指令指针寄存器FLAG标志寄存器8086寄存器结构

1、通用寄存器

通用寄存器用途比较广泛,一般用在算术和逻辑运算指令中,用来存放算术运算的源/目的操作数,某些通用寄存器还常用来存放存储器操作数的地址。通用寄存器共8个,包括数据寄存器4个,指针寄存器2个和变址寄存器2个。(1)数据寄存器

数据寄存器有4个,这4个寄存器比较特殊,每个均既可作为1个16位寄存器使用,又可作为两个8位寄存器使用。当用作16位时,称为AX、BX、CX、DX。当用作8位时,高8位分别称为AH、BH、CH、DH,低8位分别称为AL、BL、CL、DL。(2)指针寄存器

指针寄存器有两个,均是16位寄存器。堆栈指针SP用以指出在堆栈操作中栈顶的位置,入栈(PUSH)和出栈(POP)指令要用到这一位置。基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。(3)变址寄存器

在字符串处理中,被处理的数据称为源操作数,它们的偏移地址存放在源变址寄存器SI中,而处理后的字符串的偏移地址则放在目的变址寄存器DI中。

8个通用寄存器一般均可用来存放指令的操作数或保存运算结果,但在某些操作中又必须专用某个寄存器,如I/O操作时必须使用

AX,循环指令中必须使用CX。指针和变址实际上是相同的概念,都是存储单元地址,一般指令中用来存放存储单元的地址可作用BX、BP、SI、DI之一,但字符串操作指令中必须使用SI和DI,而堆栈操作中必须使用SP来存放栈顶单元地址。2、段寄存器

段寄存器是专用寄存器,用在存储器访问时存放段的基址。3、控制寄存器(1)指令指针寄存器

指令指针寄存器IP中存放着下一条要取出指令的偏移地址,它具有自动加1功能,每取出1B的指令机器码,它就自动加1,使它指向下一个要取的内存单元。这个寄存器由CPU内部使用,CPU正是利用此寄存器才确保程序中的指令能依次执行。程序中不可访问此寄存器,但某些指令具有隐含改变IP的功能,如转移、循环、调用子程序等指令。(2)标志寄存器

标志寄存器(FlagRegister)共有16位,其中7位未用。标志寄存器内容如图2-5所示。OFDFIFTFSFZFAFPFCFD15D4D3D2D1D0D9D8D7D6D5D14D13D12D11D10

这9个标志位按功能分为6个条件标志和3个控制标志。条件标志用于存放程序运行的状态信息,由硬件自动设定。控制标志由软件设定,用于中断、串操作等控制。4、标志寄存器图2-5标志寄存器结构图OF:溢出标志。反映带符号数运算结果是否超过机器所能表示的数值范围,对字节运算为

128~+127,对字运算为

32768~+32767。若超过上述范围称为“溢出”,OF置1;否则,置0。SF:符号标志。反映运算结果的符号。若结果为负数,即最高位为1时,SF置1;否则,置0。SF取值与运算结果最高位一致。(1)条件标志ZF:零标志。反映运算结果是否为零。若结果为零,ZF置1;否则,置0。AF:半进位标志。反映一个8位量的低4位向高4位有无进位或借位。有则置1;否则,置0。用于BCD码算术运算指令。PF:奇偶标志。反映操作结果的低8位中“1”的个数的奇偶性。若“1”的个数为偶数,PF置1;否则,置0。CF:进位标志。反映算术运算后最高位出现进位或借位的情况。有则置1;否则,置0。移位和循环指令也会改变CF的值。

标志寄存器(FlagRegister)共有16位,其中7位未用。标志寄存器内容如图2-5所示。OFDFIFTFSFZFAFPFCFD15D4D3D2D1D0D9D8D7D6D5D14D13D12D11D104、标志寄存器图2-5标志寄存器结构图(1)控制标志DF:方向标志。进行字符串操作时,每执行一条串操作指令,对地址会进行一次自动调整,由DF决定地址是增还是减。若DF为1,则为减,否则为增。IF:表示系统是否允许“外部可屏蔽中断”(其含义见后述“中断”内容)。若IF为1,表示允许;否则表示不允许。IF对非屏蔽中断和内部中断请求不起作用。该标志可由中断控制指令设置或清除。TF:陷阱标志。TF为1时,CPU每执行完一条指令,便自动产生一个内部中断,可以利用它对程序进行逐条检查。程序调试过程中的“单步执行”就是利用这个标志。分析【例2.2】

6.8086的存储体结构8086CPU对应的1MB存储空间可分为两个512KB的地址存储体,其中由奇数地址的存储单元组成的称为高字节体(或奇体),和数据总线高8位D15~D8相连;由偶数地址的存储单元组成的称为低字节体(或偶体),和数据总线低8位D7~D0相连。规则字:低位字节放在低偶地址单元,高位字节放在较高奇地址单元非规则字:高位字节放在低偶地址单元,低位字节放在高奇地址单元特殊情况:1、如一个数据的高8位全部是0,只有低8位有非0的数据,为节省内存,只用一个字节;2、有时只需要存取一个数据的高8位,也会涉及到奇偶规则问题。

D7~D0D15~D8BHESELD7~D0A18~A0高字节体(或奇体)

512KB

SELD7~D0A18~A0低字节体(或偶体)

512KB

A0A19~A18086存储器的连接图

7.8086的总线操作时序的概念时钟周期:(T状态)在微机系统中,CPU是在时钟脉冲CLK的统一控制下,按节拍有序地执行指令序列。时钟脉冲的重复周期称为时钟周期,时钟周期又叫T状态,是CPU的时间基准,时序系统中的最小时间单位,由计算机主频决定。如:8086主频是

5MHz,则其时钟周期是?

1/5MHZ=0.2×10-6s=200ns指令周期:执行一条指令的全过程,从取指令开始,经过分析指令、对操作数寻址,然后执行指令,保存操作结果,这个过程称为指令执行周期,简称指令周期。不同指令的指令周期不一定是等长的。总线周期:完成一次读/写操作所需要的时间称为总线周期,又称机器周期。

一个指令周期又细分为若干个总线周期,而一个总线周期又由若干个时钟周期组成。一个指令周期=n*总线周期(n>=1)一个总线周期=n*时钟周期(n>=1)注意:

8086系统总线周期至少由四个时钟周期组成(T1~T4)

7.8086的总线操作时序的概念

空闲状态时钟周期(Ti):若在完成一个总线周期后不发生任何总线操作,则填入空闲状态时钟周期(Ti),两个总线周期之间插入几个Ti与执行的指令有关。等待周期(Tw):若存储器或I/O端口在数据传送中不能以足够快的速度作出响应,会发出一个请求延长总线周期的信号到8086CPU的READY引脚,8086收到该请求后,则在T3与T4间插入一个或若干个等待周期(Tw,也是时钟周期),加入Tw的个数与请求信号的持续时间长短有关。7.8086的总线操作时序的概念

2.2.28086的工作模式和引脚功能8086有两种工作模式:最小模式最大模式

最小模式:系统中只有1个微处理器,在这种系统中,8086直接产生所有的总线控制信号,系统所需要的外加总线控制逻辑部件最少。最小模式适用于由单微处理器组成的小系统。

最大模式:系统中含有2个或多个微理器,其中1个为主处理器8086,其他的处理器称为协处理器,它们是协助主处理器工作的。常见的有8087、8089两种。

引脚特性:8086CPU采用双列直插式的封装形式,具有40条引脚。分时复用:有一部分引脚采用分时复用(如地址/数据总线),即在不同时钟周期内,引脚的作用不同;双重功能:一部分引脚在最小模式和最大模式下的作用不同。所以有一部分引脚具有双重功能。模式转换:33号引脚MN/用于确定配置方式,当MN/引脚接+5V电压时,8086工作在最小模式下;当MN/引脚接地时,8086工作在最大模式下。

图2-68086的引脚信号(括号中为最大模式下的名称)8086cpuGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET(1)AD0~AD15(AddressDataBus):双向/三态。这16条线是多路转换的地址/数据总线的复用引脚。在一个总线周期的第一个时钟周期里,这些引脚表示地址的低16位。在其他的时钟周期,这些引脚都用作数据总线。

(2)A16/S3~A19/S6(Address/Status):输出三态。4条地址/状态复用引脚,在一条指令执行的第一个时钟周期内用作地址线,其余时钟周期输出系统的状态信息。

(3)BHE//S7(BusHighEnable/Status):输出/三态。在读、写以及中断响应的时序中,若为低电平,在数据总线的高8位上有数据传送。在其他的时钟周期,这条引脚用来输出S7的信息,S7实际没有定义,/S7将维持其第一周期的输出电平。若为高电平。此引脚无意义,不起作用。(4)RD:输出/三态。当CPU从存储单元或输入/输出设备读出数据时,信号为低。由M/引线指明所访问的是存储器还是I/O设备。M/为高,读存储器,否则读I/O端口。(5)READY:输入。当存储器(或输入/输出设备)的读写操作已准备就绪或预计可按时完成时,就通过此线向CPU发一个高电平信号,使READY有效,表示可以在正常时序内完成数据传送操作。否则,存储器(或输入/输出设备)就在某个合适的时间(总线周期的中间,如时钟周期T3之前)通过此线向CPU发一个低电平信号,则8086将插入TW时钟周期而处于“等待”状态,一直到READY电平升高为止。

(6)TEST:输入。只有8086的WAIT指令才使用它,在执行WAIT指令时,8086将停止操作,处于等待状态,直到输入电平变低时才结束WAIT指令。

8086cpuGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET图2-68086的引脚信号(括号中为最大模式下的名称)(7)INTR:输入。可屏蔽中断请求信号,CPU在每条指令执行的最后一个时钟周期将采样这个信号。如果允许中断位IF为1,而且INTR为高,则8086将进入一个中断响应的时序,并且转移到相应的中断服务程序中,否则执行下一条指令。INTR是高电平触发的输入信号。(8)NMI:输入。不可屏蔽中断请求信号,它是上升沿触发的输入信号。如果NMI从低电平变高,则8086将完成当前指令的执行,然后把控制转移到不可屏蔽中断服务程序。不可屏蔽中断服务程序的地址放在存储单元00008H起的4个字节中。对于这种中断,IF标志位是不能禁止的。这就是“不可屏蔽”的含义。

图2-68086的引脚信号(括号中为最大模式下的名称)8086cpuGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET(9)RESET:输入。系统复位信号,由8284时钟发生器同步后送给CPU,加电源时,RESET高电平信号至少要持续50s。

和A0对数据访问的控制作用

和A0这两个信号,用来配合读/写操作,指出当前的16位数据总线中哪几位有效,如表2-2所示。

图2-68086的引脚信号(括号中为最大模式下的名称)8086cpuGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET最小模式下的引脚信号意义

(10)DEN:输出/三态。最小模式下,它的功能为。(DataEnable)用来控制8286总线缓冲器,即允许缓冲器工作。(11)DT/R:输出/三态。控制8286总线缓冲器数据传送的方向。若DT/为高,收发器就把数据放到系统总线上去,对于CPU来说是输出数据;若为低,收发器就把数据从系统总线上取回,对于CPU来说是读入数据。(12)M/IO:输出/三态。最小模式下引脚功能为M/。若为高,则访问存储器;为低,则访问是输入/输出设备。(13)ALE(QS0):输出。最小模式下功能为ALE。当有效的存储器地址出现在地址/数据总线上时,将输出一个ALE高电平脉冲用于地址锁存器的锁存信号。(14)INTA:输出/三态。最小模式下引脚功能为。当8086执行一个中断响应时序时,输出为低,作为中断响应信号。。(15)HOLD:输入/双向。最小模式下HOLD()的功能为HOLD(保持)。外部逻辑把HOLD引线置为高电平时,8086将在完成当前总线周期以后进入保持状态,让出总线。作为响应,8086会在HLDA线上输出高电平。(16)HLDA:输出/双向。最小模式下引脚功能为HLDA,HLDA是HOLD的响应信号。当HLDA信号升高时,8086使系统总线浮空而让出总线。(17)WR:输出/三态。最小模式下,引脚功能为。在向存储器或I/O端口写数据时,发出低电平脉冲,其后沿用于写入数据。

8086CPU最小模式下的典型配置

外部晶体振荡器产生的振荡信号经8284A分频后,作为主频信号CLK提供给8086。同时将外部的准备好信号READY和复位信号RESET整理后送往8086。8282功能说明:

8282的作用是在地址锁存信号ALE控制下经8282锁存后输出8086的20位地址信号A19~A16,AD15~AD0,以及高位字节允许信号。8286功能说明:

8086CPU在8286的控制下实现16位数据线AD15~AD0双向数据传送。8284A功能说明:8086CPU最小模式下的典型配置

2.最大工作模式8086cpuGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET图2-68086的引脚信号(括号中为最大模式下的名称)S1,S2,s3:8288总线控制器将它们转换成I/O和存储器的数据传送控制信号,用于控制数据读写以及控制8282锁存器和8286收发器。QS0,QS1:两者一起提供8086指令队列状态,在多处理器中使用。当QS0=QS1=0时,对指令队列无操作。当QS0=0,QS1=1时,从指令队列的第一个字节取走代码。当QS0=1,QS1=0时,指令队列为空。当QS0=1,QS1=1时,从指令队列取走前两个字节代码。GT0,GT1:总线请求保持信号输入/总线请求允许信号输出,双向、低电平有效。其含义与最小模式下HOLD和HLDA两信号相同。LOCK:总线封锁信号。低电平有效,阻止8086在执行指令过程中失掉系统总线控制权。

在最大控制模式下工作时,控制信号是通过8288总线控制器提供的。最大模式用于中、大型的系统。

S2、S1、S0和总线具体操作之间的对应关系

8086CPU最大工作模式下的典型配置

最大模式系统示例

包含两个处理器8086和8087的连接示意图,进一步说明主处理器和协处理器之间的协调工作问题和对总线的共享控制问题。

2.2.38086的总线时序

8086CPU的总线周期主要有以下几种:最小模式下的总线读写,包括存储器读写和I/O读写。最大模式下的总线读写,包括存储器读写和I/O读写。中断周期。最小模式下的总线保持。最大模式下的总线请求/允许。最大模式与最小模式的总线读写周期操作在逻辑上基本相同,只是在最大模式下要同时考虑CPU发出的信号和总线控制器发出的信号。

1、最小模式下的总线周期时序(1)读周期的时序(见图2-11)图2-118086读总线周期

一个基本的读周期一般包含如下几个状态:T1状态:M/信号有效,指出读内存还是I/O。高为读内存,低为读I/O。CPU送出20位地址信号,高4位通过A16/S3~A19/S6,低16位通过AD0~AD15,需锁存。ALE输出信号作为地址锁存信号;信号低电平有效,表示高8位数据总线上信息可用,信号也同样要被锁存到地址锁存器中。T2状态:地址信号消失,AD15-AD0进入高阻状态为读入数据作准备。T3状态:若存储器和外设速度足够快,此时CPU接收数据。Tw状态:如果存储器和外设速度较慢,还要在T3之后插入一个或几个Tw。Tw不是必须的。T4状态:一个总线周期结束,数据从总线上撤销,数据、地址总线均进入高阻状态。

(2)写周期的时序取代:即写操作取代了读操作。:读周期中为低电平,控制数据从总线进入CPU;写周期中为高电平,控制数据从CPU进入总线。图2-128086写总线周期DT/

2、最大模式下的总线周期时序读操作允许

每个T状态的时序操作:1)控制信号在最大模式下由总线控制器8288产生,在T1期间,ALE信号将地址锁存;由状态信号判断为读操作,DT/R输出低电平。2)在T2期间,8086将AD15~AD0切换到数据总线;然后输出信号DEN=1(相位与最小模式下相反),接通数据收发器,允许数据输出到8086。3)在读周期的T3状态开始时,8086采样READY,若其为有效电平,进入T4状态。8086读取数据,一次读操作完成。在T4之前的时钟周期信号(如T3)的上升沿,8086就发出过渡的状态信息s0s1s2=111,使各信号在T4周期恢复初态(无源状态)。一旦进入无源状态就意味着很快可以启动一个新的总线周期。4)等待状态Tw的插入过程与最小模式时相同。

(2)最大模式下的总线写存储器操作

最大模式下的总线写存储器操作要完成的功能也是要将CPU输出的数据写入指定的存储器单元或I/O端口。写操作允许图2-148086最大模式下的总线写操作时序

1)在T1期间,8086发出地址和状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论