微机原理第四章教材_第1页
微机原理第四章教材_第2页
微机原理第四章教材_第3页
微机原理第四章教材_第4页
微机原理第四章教材_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

第4章16位微处理器本章教学目的本章以16位微处理器8086/8088为中心,讲解微处理器的内部结构、地址形成、内部寄存器、工作模式、总线时序、总线操作等主要内容使学生在掌握8086CPU的基础上,进一步理解微处理器的工作原理以及与外部打交道的过程,为后面学习接口技术做准备。本章学习要求1.掌握掌握CPU的内部逻辑结构及外部引脚功能,存储器结构,最小工作模式及系统配置,CPU的典型操作和时序。CPU的内部逻辑结构。CPU的主要寄存器。标志寄存器各位的功能定义。CPU的外部引脚类型,主要引脚功能。微机中存储器组成结构,存储器的分段,逻辑地址与物理地址概念,存储器堆栈的结构特点。CPU与外围芯片的连接及典型配置情况,地址锁存器(8282)及双向总线收发器(8286)、时钟发生器(8284)的功能特性。时钟周期、总线周期及指令周期的定义,CPU读、写操作时序。8086CPU的中断的分类、中断类型码、中断向量的定义、硬件中断的响应过程。

2.理解最大工作模式;8286总线收发器;8282地址锁存器。

3.了解最大工作模式的配置,最大工作模式的总线操作。

本章主要外语词汇BIU:BusInterfaceUnit,总线接口部件EU:ExecutionUnit,执行部件Stack:堆栈NMI:Non-maskable

Interupt,非屏蔽中断INTR:InteruptRequest,可屏蔽中断请求主要内容16位微处理器概述8086/8088CPU的结构8086/8088CPU的引脚信号和工作模式8086/8088的主要操作功能4.116位微处理器概述微处理器(microprocessor)是微型计算机的运算及控制部件,也称中央处理单元(CPU)。它本身不构成独立的工作系统,因而它也不能独立地执行程序。微处理器(microprocessor)指令控制;操作控制;时序控制;数据加工CPU功能:数据总线宽度16位,地址总线宽度20位;可直接寻址空间220=1M字节单元;16位数据总线与地址总线复用8086概况:1979年推出,第一代超大规模集成电路(VLSI)微处理器,采用HMOS工艺制造,内含2.9万晶体管采用单一的+5V电源,一相时钟,时钟频率为

5MHz(8086),10MHz(8086-1),8MHz(8086-2)133条指令,指令长度1~6字节,指令最短执行时间为0.4us(平均0.5us)4.28086/8088CPU的结构8086为16位机(数据总线16位)8086与8088的比较8088为准16位机,数据总线内部16位,外部8位8086和8088CPU的内部都采用16位字进行操作及存储器寻址,两者的软件完全兼容,程序的执行也完全相同。然而,由于8088要比8086有较多的外部存取操作,所以,对相同的程序,它将执行得较慢。8086是16位数据总线,而8088是8位数据总线,在处理一个16位数据字时,8088需要两步操作而8086只需要一步。1234内部暂存器

IP

ES

SSDSCS输入/输出控制电路外部总线执行部分控制电路∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位8位8086的内部结构ALU数据总线队列总线1234561、EU(ExecutionUnit)1)、功能:负责指令执行。接受从总线接口单元的指令队列中取来的指令代码,其译码和向EU内各有关部分发出时序命令信号,协调执行指令规定的操作。2、总线接口单元BIU

(BusInterfaceUnit)

1)功能:负责与M、I/O端口传送数据。具体讲:总线接口部件要从内存取指令送到指令队列;

CPU执行指令时,要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件EU;

或把执行部件的操作结果传给指定的M或I/O口。4.2.1执行部件负责指令的执行,它从指令流队列去除指令,然后分析和执行指令。同时利用内部的寄存器和ALU对数据进行所需的处理,还要负责计算操作数的16位偏移地址。执行部件EU4个通用寄存器,即AX,BX,CX,DX;4个专用寄存器,SI(SourceIndex):源变址寄存器DI(DestinationIndex):目的变址寄存器BP(BasePointer):基址指针SP(StackPoint):堆栈指针标志寄存器(FR),微处理器状态字(ProcessorStateWord,PSW)算术逻辑部件(ALU)。EU的组成4.2.2总线接口部件BIU 根据EU计算出的16位偏移地址及16位段地址计算出20位物理地址,并根据EU请求采用计算出的20位物理地址读/写寄存器,也可根据EU请求读/写I/O设备,完成与存储器、I/O端口之间传送数据。总线接口部件BIU的功能4个段地址寄存器,即CS——16位代码段寄存器;DS——16位数据段寄存器;ES——16位附加段寄存器;SS——16位堆栈段寄存器。16位指令指针寄存器IP。20位的地址加法器。6字节的指令队列。主要组成总线接口部件BIU8086的指令队列为6个字节,8088的指令队列为4个字节。不管是8086还是8088,都会在执行指令的同时,从内存中取下一条指令或下几条指令,取来的指令就放在指令队列中。指令队列地址加法器用来产生20位地址。8086可用20位地址寻址1M字节的内存空间,但8086内部所有的寄存器都是16位的,所以需要由一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。地址加法器用假设CS=0FE00H,IP=0400H,此时指令的物理地址为0FE400H。EU部件与BIU部件在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件,进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。EU和BIU之间是通过指令流队列相互联系的EU和BIU的联系上的不同步性:指令队列空余时的填充当指令队列已满,而且执行部件又没有总线访问时,总线接口部件便进入空闲状态。在执行转移指令、调用指令和返回指令时,指令队列中的原有内容被自动消除,总线接口部件会接着往指令队列中装入另一个程序段中的指令。8086的寄存器结构AHALBHBLCHCLDHDLSPBPSIDIIPPSWCSDSSSESAXBXCXDX累加器基址计数数据数据寄存器01507815015015附加数据段堆栈段数据段代码段段寄存器指令指针状态标志控制寄存器堆栈指针基址指针

源变址目的变址地址指针寄存器变址寄存器通用寄存器:可以按字(16位)或字节(8位)形式访问MOVBX,AXINAL,20H1、通用寄存器(1)数据寄存器AX、BX、CX、DX作为通用寄存器。用来暂存计算过程中所用到的操作数,结果或其它信息。

高8位记作:AH、BH、CH、DH。低8位记作:AL、BL、CL、DL。访问形式功能AX累加器 它是算术运算的主要寄存器, 所有I/O指令都使用这一寄存器与外部设备交换数据功能实例:BX--基址寄存器

对某些I/O操作DX可用来存放I/O的端口地址(口地址

256)

MOVCX,8AGAIN:……

LOOPAGAIN

;CX-1(CX),结果0转AGAINMOVAX,[BX+03H]在计算内存储器地址时,经常用来存放基址。功能:实例:CX--可以作计数寄存器使用在循环LOOP指令和串处理指令中用作隐含计数器。功能:实例:DX可以作为数据寄存器使用。一般在双字长乘除法运算时,把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位经常用以在段内寻址时提供偏移地址,本身不能形成独立的地址码。(2)地址指针与变址寄存器:SP、BP、SI、DI

以字为单位在运算过程中存放操作数可以与SS寄存器联合使用来确定堆栈段中某一存储器单元地址,在某些间接寻址中,用来存放堆栈段内偏移地址

SP(stackpointer堆栈指针寄存器用来指示当前堆栈栈顶的偏移地址,必须与SS段寄存器联合使用确定实际地址。

BP(basepointer)——基址指针寄存器补充:堆栈(STACK)是按后进先出原则组织的一片存储区域,用来暂存一批需要回避的数据或地址。“后进先出”堆栈:暂存数据、断点信息或传送信息用途:存取原则:堆栈段的最大深度:64KB堆栈的构造一端固定,具有最大地址的单元(数据由此向上堆积) 一端浮动,指向最后被压入堆栈的数据所在存储单元(栈顶的位置随堆栈中存放数据多少而变化) 用来指示当前栈顶的位置。(压入的数据放入哪个单元或从那个单元弹出数据均由SP决定堆栈段SSBottomXXXXXXXXTopSP初始SP栈底:栈顶:堆栈指针:8086堆栈的组织该片存储区域所包含存储单元数,其值有由初始时SP的值决定(指向栈底+1单元)12H34H01954H01955H 如64KB的堆栈段不能满足需要,可通过修改SS来改变当前的堆栈段,使之指向另一片存储区域,同时SP重新赋值堆栈段:由SS存放堆栈段段基值以决定其起始地址堆栈段的长度:堆栈是按字组织的,数据的存取均为2字节操作数据在堆栈段内的存放堆栈区域的扩展:堆栈的三种基本操作SS、SP赋值(段的起始位置及长度)

SP-2→SP ;栈顶向上浮动

数据→(SS:SP)

(SS:SP)

R/M

SP+2→SP数据

;栈顶向下回落1、设置堆栈2、进栈把数据压入堆栈,在栈顶进行3、出栈从栈顶取出数据送入R/M执行堆栈指令PUSH和POP时,指令地址是由SP给出当前栈顶的偏移地址,故将SP称为堆栈指针寄存器。SP和BP在使用上有区别:BP则是用来存放位于堆栈段中的一个数据区基址的偏移地址的,故将BP称做基址指针寄存器。

SI——SourceIndexRegister源变址寄存器。

DI——DestinationIndex目的变址寄存器。一般与DS联用,用来确定数据段中某一存储单元的地址在数据串操作中,SI与DS联用,DI与ES联用变址寄存器(SI、DI)常用于变址寻址方式中的地址运算使用场合:

SI,DI具有自动增量和自动减量功能.例:MOVAX,[SI]CS——CodeSegmentRegister代码段寄存器 用来识别当前代码段(程序一般放在代码段)。2、段寄存器

段寄存器:4个16位段寄存器CS、DS、SS、ES。

用来识别当前可寻址的四个段,不可互换的使用。DS——DataSegmentRegister数据段寄存器 用来识别当前数据段寄存器。SS——StackSegmentRegister堆栈段寄存器, 用来识别当前堆栈段。ES——ExtraSegmentRegister附加段寄存器, 用来识别当前附加段。IP—InstructionPointer指令指针寄存器3、控制寄存器:IP、FLAG用来存储代码段中的偏移地址;程序运行过程中IP始终指向下一次要取出的指令偏移地址

IP要与CS寄存器相配合才能形成真正的物理地址。OFDFIFTFSFZFAFPF

015245678910CF标志寄存器状态标志共包括6位:

CF、PF、AF、ZF、SF、OF。

对控制标志位进行设置后,对其后的操作起控制作用。状态标志:用来记录程序中运行结果的状态信息作为后续条件转移指令的转移控制条件,也称为状态标志。

控制标志:控制标志位包括3位:TF、IF、DF每一个字节用一个唯一的地址码标示4.2.3存储器结构8086/8088CPU能寻址1M字节的存储单元,以8位为一个字节的顺序排列存放地址码为一个不带符号的整数表示,范围从0到220-1,习惯用十六进制表示,即00000H~FFFFFH。将存储器空间按照字节地址号顺序排列的方式称作“字节编址”。16位寄存器20位地址地址加法器20位地址的形成根据各段的用途将其定义为CS、DS、ES、SS段。并用偏移地址(距段起址的字节距离)表示被访问单元。1.存储器的分段每段最长可达64K字节各段起始地址能被16整除。(低4位为0)各段之间可分开、部分或完全重叠、可首尾相接。存储器结构(续)存储器结构(续)段地址每一个段首地址的低4位是”0”段首地址的高16位称为“段基址”,也称段地址段地址一般存放在段寄存器DS,CS,SS,ES偏移地址每一个段的容量:64KB(0000H~FFFFH)偏移地址是指一个段内的存储空间相对于段基地址的偏移段内偏移地址一般存放在IP,SP任何一个存储单元对应一个20位的物理地址,也可称为绝对地址,它是由逻辑地址变换得来的。当CPU需要访问存储器时,必须完成如下的地址运算:2.存储器中的逻辑地址和物理地址任何一个逻辑地址由段基址和偏移地址两个部分构成,它们都是无符号的16位二进制数。逻辑地址的表示:段地址:偏移地址对应于同一物理地址,可以有不同的逻辑地址物理地址=段地址×16+偏移地址物理地址是唯一的要分清段内偏移地址的来源,及其相匹配的段地址例:已知某存储单元所在的段地址为0AC08H,偏移地址为2596H,试求出该单元所在的物理地址?已知某单元的物理地址为21000H,试求该单元所对应的逻辑地址?......20000H25F60H25F61H25F62H25F63H2000H段基址逻辑地址段内偏移地址5F62H逻辑地址与物理地址已知CS、DS、SS和SS分别为1055H,250AH,8FFBH和EFF0H,试分析它们在存储器中的分布情况。是实际地址,它具有20位的地址值,并是惟一标识1MB存储空间的某一个字节的地址每一个存储单元看成是具有两种类型的地址:由段基址和偏移地址组成。程序以逻辑地址编址,而不是用物理地址。物理地址和逻辑地址物理地址:逻辑地址:指令程序一般存放在代码段(CS)中,段地址来源于代码段寄存器,偏移地址来源于指令指针IP,即

4个段寄存器分别指向4个分段的起始字节单元指令程序的物理地址=(CS)*16+(IP)进行堆栈操作时,段地址寄存器为SS,偏移地址来源于栈指针寄存器SP,即堆栈地址=(SS)*16+(SP)对于操作数,则由数据段寄存器DS或附加段寄存器ES作为段寄存器,而偏地址取决于指令的寻址方式。例,在8086CPU中,设某段寄存器的内容为1000H,试确定由该段寄存器所决定的内存段的起始地址和终止地址在8086CPU中,CS寄存器和IP寄存器的内容分别如下,试确定由CS和IP指定的内存指令地址(1)CS=1000HIP=2000H(2)CS=1234HIP=ABCDH解:10000H~1FFFFH解:1)1000H*16+2000H=12000H2)1234H*16+ABCDH=1CF2DH按信息的分段存储和分段寻址在存储器中存储的信息可以分为程序指令、数据、和计算机系统的状态等信息,为了寻址和操作的方便,存储器的空间可按信息特征进行分段存储。一般将存储器划分为程序区、数据区、和堆栈区。程序区中存储程序的指令代码堆栈区存储压入堆栈的数据和状态信息数据区中存储原始数据、中间结果和最后结果数据段寄存器DS和附加段寄存器ES存储源和目的数据区段的段地址;8086/8088CPU中通常按照信息特征来区分段寄存器的作用,如:代码段寄存器CS存储程序存储器区的段地址;堆栈段寄存器SS存储堆栈区的段地址8086/8088中设置四个段寄存器的目的除了可以扩充寻址的范围以外,还便于存储器的读/写操作在执行程序时CS指定程序的段地址,IP作为程序段内的偏移量来控制取指令的地址。1、对程序区的访问为程序单独划开的存储器区称为程序存储区。当前取指令的物理地址=代码段寄存器CS的内容左移四位加上指令指针IP的内容。堆栈操作所指的物理地址=堆栈段寄存器内容左移四位后加上堆栈指针的内容2、堆栈区的操作不同的任务程序区往往要求有对应的堆栈区,以便在执行程序时进行各自的堆栈操作。程序更新时,堆栈区也随之更新,这就需要指定堆栈段寄存器SS。不同任务的程序一般有与之对应的数据区,在执行指令时对区内的数据进行操作,需要设置数据段寄存器DS3、数据区实际操作的物理地址=数据段寄存器的内容左移四位,加上基地址寄存器BX或通过寻址获得的有效地址EA。字符串操作时,一般是对存储器中的两个数据块进行传送,需要在一条指令中同时指定源和目的两个数据区。4、字符串操作需要分别使用数据段寄存器DS和附加段寄存器ES分别指定源数据区和目的数据区的段地址,用SI和DI变址寄存器指明段内偏移量。表中所示的访问存储器时所使用的段地址可以由指令中隐含的段寄存器提供,也可以由“可更换的段寄存器”提供。访问存储器时使用的段地址寄存器和偏移地址寄存器段寄存器DS、SS、ES的内容可以通过传送类指令置入或者进行变更,但代码段寄存器不同,它的内容是当前程序指令字节地址的一部分,只能通过JMP、CALL、RET、INT和IRET等指令来改变。段内偏移地址的来源除IP、SP、SI和DI外,还可以由寻址方式求得的EA确定访问存储器类型隐含的段地址可”段更换”的段地址段内偏移地址来源取指令码CS无IP堆栈操作SS无SP字符串操作源地址DSCS,ES,SSSI字符串操作目的地址ES无DIBP用作基址寄存器时SSCS,DS,ES由指令寻址方式求得有效地址EA一般数据存取DSCS,ES,SS由指令寻址方式求得有效地址EA4.28086的总线周期是指信号高低电平(有效或无效)变化及相互间的时间顺序关系。什么是总线操作?时序(Timing):CPU时序决定系统各部件间的同步和定时总线时序描述CPU引脚如何实现总线操作总线操作是指CPU通过总线对外的各种操作8088的总线操作主要有:存储器读、I/O读操作存储器写、I/O写操作中断响应操作总线请求及响应操作什么是指令、总线和时钟周期?描述总线操作的微处理器时序有三级:指令周期总线周期时钟周期指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程。若干总线周期组成一个指令周期总线周期是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程8088的基本总线周期需要4个时钟周期4个时钟周期编号为T1、T2、T3和T4总线周期中的时钟周期也被称作“T状态”时钟周期的时间长度就是时钟频率的倒数

T1T2T3T4TiTi

T1T2T3

Tw

Tw

Tw

T4TiTi

总线周期总线周期若干个1~2个基本总线周期由4个T状态组成:T1、T2、T3、T4等待时钟周期Tw,在总线周期的T3和T4之间插入空闲时钟周期Ti,在两个总线周期之间插入动态演示任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码何时有总线周期?任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期CPU响应可屏蔽中断时生成中断响应总线周期多路总线的高4位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。总线操作的简要过程CPU往总线上发出地址信息,指出要寻址的存储单元或I/O端口地址。CPU撤消地址,使总线的低16位浮置成高阻状态,为传输数据做准备。总线的最高四位(A16~A19)用来输出本总线周期状态信息。等待状态

T1T2T3

Tw

Tw

TwT4CLKREADY前沿检测动态等待状态Tw的插入CPU总线周期采用同步时序:总线操作的同步总线操作中如何实现时序同步是关键各部件都以系统时钟信号为基准当相互不能配合时,快速部件(CPU)插入等待状态等待慢速部件(I/O和存储器)CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作4.38086/8088CPU的引脚信号和工作模式构成较大规模的应用系统,例如可以接入数值协处理器80878086和总线控制器8288共同形成系统总线信号两种组态构成两种不同规模的应用系统最小组态模式构成小规模的应用系统8086本身提供所有的系统总线信号最大组态模式两种组态下的内部操作并没有区别IBMPC/XT采用最大组态本书以最小组态展开基本原理通常在信号名称加上划线(如:MX)或星号(如:MX*)表示低电平有效两种组态利用MN/MX*引脚区别MN/MX*接高电平为最小组态模式MN/MX*接低电平为最大组态模式4.3.18086的引脚信号和功能4.1.2最小组态的引脚信号数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚 1.数据和地址引脚在访问存储器或外设的总线操作周期中,这些引脚在T1状态输出存储器或I/O端口的地址A15~A0AD15~AD0(Address/Data)地址/数据分时复用引脚,双向、三态其他时间用于传送数据D15~D0

1.数据和地址引脚(续1)这些引脚在访问存储器的T1状态输出高4位地址A19~A16A19/S6~A16/S3(Address/Status)地址/状态分时复用引脚,输出、三态在访问外设的第一个时钟周期全部输出低电平无效其他时间输出状态信号S6~S31.数据和地址引脚(续2)高8位数据总线允许/状态复用引脚(输出)BHE*/S7在总线周期的T1状态,8086在BHE*/S7引脚输出BHE信号,表示高8位数据总线D15~D8上的数据有效。在T2,T3,TW和T4状态,BHE*/S7引脚输出状态信号S7,但S7并未被赋予任何实际意义。2.读写控制引脚ALE(AddressLatchEnable)地址锁存允许,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:AD15~AD0和A19/S6~A16/S3正在传送地址信息由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来2.读写控制引脚(续1)IO/M*(InputandOutput/Memory)I/O或存储器访问,输出、三态I/O或存储器访问,输出、三态该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O口地址该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址2.读写控制引脚(续2)写控制,输出、三态、低电平有效WR*(Write)

有效时,表示CPU正在写出数据给存储器或I/O端口有效时,表示CPU正在从存储器或I/O端口读入数据

RD*(Read)读控制,输出、三态、低电平有效2.读写控制引脚(续3)IO/M*、WR*和RD*是最基本的控制信号总线周期IO/M*WR*RD*存储器读低高低存储器写低低高I/O读高高低I/O写高低高

组合后,控制4种基本的总线周期2.读写控制引脚(续4)在总线操作周期中,8086CPU会在第3个时钟周期的前沿测试该引脚如果测到高有效,CPU直接进入第4个时钟周期如果测到无效,CPU将插入等待周期TwREADY存储器或I/O口就绪,输入、高电平有效CPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。2.读写控制引脚(续5)DEN*(DataEnable)数据允许,输出、三态、低电平有效有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动DT/R*(DataTransmit/Receive)数据发送/接收,输出、三态该信号表明当前总线上数据的流向高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收)3.中断请求和响应引脚有效时,表示请求设备向CPU申请可屏蔽中断INTR(InterruptRequest)可屏蔽中断请求,输入、高电平有效该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽3.中断请求和响应引脚(续1)有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期INTA*(InterruptAcknowledge)可屏蔽中断响应,输出、低电平有效中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的中断请求已被响应、并令有关设备将中断向量号送到数据总线3.中断请求和响应引脚(续2)不可屏蔽中断请求,输入、上升沿有效主机与外设进行数据交换通常采用可屏蔽中断不可屏蔽中断通常用于处理掉电等系统故障NMI(Non-MaskableInterrupt)有效时,表示外界向CPU申请不可屏蔽中断该请求的优先级别高于INTR,并且不能在CPU内被屏蔽当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务4.总线请求和响应引脚总线保持(即总线请求),输入、高电平有效DMA控制器等主控设备通过HOLD申请占用系统总线(通常由CPU控制)HOLD有效时,表示总线请求设备向CPU申请占有总线该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权4.总线请求和响应引脚(续1)HLDA(HOLDAcknowledge)总线保持响应(即总线响应),输出、高电平有效有效时,表示CPU已响应总线请求并已将总线释放此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权5.其它引脚RESET复位请求,输入、高电平有效该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作8088复位后CS=0FFFFH、IP=0000H,所以程序入口在物理地址0FFFF0H5.其它引脚(续1)系统通过该引脚给CPU提供内部定时信号。CLK(Clock)时钟输入8086的时钟频率为:5MHz(8086)10MHz(8086-1)8MHz(8086-2)5.其它引脚(续2)Vcc电源输入,向CPU提供+5V电源接地,向CPU提供参考地电平GNDMN/MX*(Minimum/Maximum)接高电平时,8086引脚工作在最小模式;反之,8086工作在最大模式工作模式选择,输入5.其它引脚(续3)当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行TEST*测试,输入、低电平有效该引脚与WAIT指令配合使用“引脚”小结CPU引脚是系统总线的基本信号可以分成三类信号:16位数据线:D0~D1520位地址线:A0~A19控制线:ALE、IO/M*、WR*、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND有问题!“引脚”提问提问之一:CPU引脚是如何与外部连接的呢?

提问之二:CPU引脚是如何相互配合,实现总线操作、控制系统工作的呢?解答:总线形成解答:总线时序4.1.3最小模式的总线形成(1)20位地址总线——采用3个三态透明锁存器8282进行锁存和驱动(2)8位数据总线——采用数据收发器8286进行驱动(3)系统控制信号——由8086引脚直接提供最小模式下的系统配置3片8282或74LS373,用来作为地址锁存器;1片8284A,作为时钟发生器;当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,这时,要用两片8286/8287作为总线收发器。8282锁存器芯片CPU与外部交换数据需要锁存一些复用信号需要锁存地址信号需要锁存BHE信号总线收发器8286当一个系统中所含的外设接口较多时,数据总线上需要有发送器和接收器来增加驱动能力。发送器和接收器简称为收发器,也常常称为总线驱动器。8286收发器芯片是Intel系统的典型收发器芯片,8位。在数据总线为8位的8088系统中,只用1片8286就可以构成数据总线收发器,而在数据总线为16位的8086系统中,则要用两片8286。时钟发生器8284A8284A的功能:产生恒定的时钟信号,对准备信号(READY)及复位信号(RESET)进行同步外界控制信号RDY及RES信号可以在任何时候到来,8284A能把它们同步在时钟后沿(下降沿)时输出READY及RESET信号到8086CPU。8284A的振荡源一般采用晶体振荡器,也可以用外接脉冲发生器作为振荡源。此时,8284A的F/C端应接高电平。8284A输出的时钟频率为振荡源频率的1/3。4.48086/8088的主要操作功能一个微型机系统要完成各种任务,其中有一些操作是最基本的。8086的主要的基本操作有:

系统的复位和启动操作;

总线操作;

中断操作;

最小工作模式下的总线请求;

最大工作模式下的读/写操作。4.4.1系统的复位和启动操作8086/8088的复位和启动操作是在RESET引脚上加上触发信号来执行的。8086/8088要求复位信号(RESET)至少有4个时钟周期的高电平,如果是初次加电的启动,则要求有大于50μs的高电平。标志寄存器FR指令指针寄存器IPCSDSSSES指令队列其他寄存器清零0000HFFFFH0000H0000H0000H空0000H复位时内部各寄存器的值在复位的时候,代码段寄存器CS和指令指针寄存器IP分别初始化为FFFFH和0000H。所以,8086/8088在复位之后再重新启动时,便从内存的FFFF0H处开始执行指令,使系统在启动时,能自动进入系统程序。复位信号RESET从高电平到低电平的跳变会触发CPU内部的一个复位逻辑电路,经过7个时钟周期之后,CPU就被启动而恢复正常工作,即从FFFF0H处开始执行程序。4.4.2总线操作8086/8088CPU中各单元之间以及与外设的数据交换,都是通过总线来进行的。总线操作有两种情况,即总线读操作及总线写操作。总线读操作指CPU从存储器或外设端口读取数据。总线写操作指CPU把数据写入存储器或外设端口。读操作4.4.3中断操作微机系统为适应各种需要,都有一个中断系统,8086/8088是16位微处理器,它的中断系统可以处理256种不同类型的中断。8086/8088的中断分类硬件中断软件中断非屏蔽中断可屏蔽中断中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。8086/8088对256种中断都对应有一个类型码。所以,256种中断所对应的类型码为0~255。2.中断向量2.中断向量表在8086/8088微机系统的内存中,把0段的0000~03FFH区域设置为一个中断向量表。每一个中断向量占4个存储单元。中断向量的存放8086/8088的中断向量表如下图所示。已知类型号为17H的中断处理子程序存放在1234∶3456H开始的内存区域中。而17H中断对应的中断向量存放在0000∶005CH处,所以,0段005CH、005DH、005EH和005FH的内容应该是什么?例如56、34H、34H及12H。8086/8088为外部设备提供两条引线即NMI和INTR来送入中断请求信号。硬件中断从NMI引脚进入非屏蔽中断不受中断允许标志IF影响非屏蔽中断的类型号为2非屏蔽中断处理子程序的入口地址放在0段的0008H,0009H,000AH和000BH这4个单元中(1)把现场的数据立即转移到非易失性的存储器中当NMI引脚上出现中断请求时,一般采用以下措施:(2)启动备用电源非屏蔽中断INTR端引入受IF标志位影响可屏蔽中断的响应过程I

温馨提示

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

评论

0/150

提交评论