微机原理讲义-第1章04-10-1_第1页
微机原理讲义-第1章04-10-1_第2页
微机原理讲义-第1章04-10-1_第3页
微机原理讲义-第1章04-10-1_第4页
微机原理讲义-第1章04-10-1_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

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

文档简介

1微机原理与接口技术2普通高等教育“十一五”国家级规划教材

微型计算机原理及应用

(第二版)候晓霞王建宇编著化学工业出版社教材:3微型计算机原理及应用学习指导赵邦信林嵘编著化学工业出版社教辅:4课程内容第一章微型计算机概述第二章8086/8088指令系统

第三章汇编语言程序设计

第四章存储器系统

第五章定时与计数

第六章输入输出控制

第七章串并行通信及其接口技术

第八章总线技术第九章D/A、A/D转换与接口技术5学习并掌握先修课的有关内容课堂: 听讲与理解、适当笔记课后: 认真看书、消化记忆、完成作业实验: 充分准备、细心实验成绩: 期末考试成绩80% +平时成绩20%学习

要求学习方法建议6第一章微型计算机概述71.1微机发展概述一、微机的发展微处理器近40年的发展历程,头20年是Intel时代。每隔7、8年,处理器位数就会有一个较大的飞跃。如1971年第一片4位微处理器4004,1978年16位处理器8086,1985年32位处理器80386。计算机的发展核心部件为CPU,因此本小节主要以CPU的发展情况来分析微机的发展过程,以Intel公司的CPU为主线。8时间系列DB(内/外)AB内存备注1978808616/16201MBIBM用其制造PC机1979808816/8201MBIBM用其制造PC机19828028616/162416MB增加保护模式,处理超过1MB的内存19858038632/32324GB内存分页,模拟多个8086同时工作198980486倍频,使外部设备的发展跟上CPU主频1993Pentium超标量结构,具有超频性能9时间系列特点1996Pentiumpro(高能奔腾)片内封装了与原CPU同频运行的256KB或512KB二级缓存,支持动态预测执行1997PentiumMMx(多能奔腾)

一级缓存32KB,增加MMX(多媒体扩展指令)1997PIIPentiumpro的改进,锁定CPU的倍频数1998赛扬较好的超频性能1999PIIICPU序列号,支持SSE(单一指令多数据流扩展),大大加强在三维图像和浮点运算方面的能力2000赛扬II二级缓存与CPU之间的通道扩展到256位

10二、微型计算机的特点体积小,重量轻价格低可靠性高,结构灵活应用面广功能强,性能高1112CPU实物图13习题与思考:试述微型计算机系统与一般计算机系统的联系和差别。微型计算机系统有哪些特点?具有这些特点的根本原因是什么?141.2微机工作过程一、微机的基本结构运算器控制器存储器输入输出中央处理器俗称:CPU主机计算机硬件I/O设备冯·诺依曼计算机的5个组成部分15存储器输入设备运算器控制器输出设备键盘、扫描仪等存放程序、数据、结果运行程序,输出结果显示器、打印机等CPU16微机系统的组成

微型计算机再加上外设、电源、软件等构成微机系统。微机系统常用的外围设备有显示器、打印机、键盘等;系统软件一般包括操作系统、编译、编辑、汇编软件等。微处理器、微型计算机与微型计算机系统三者之间的关系如下

17微型计算机采用总线结构总线:连接多个功能部件或多个装置的一组公共信号线。内部总线:CPU内部各功能部件和各寄存器的连线。外部总线:又称系统总线,即连接CPU、存储器和I/O接口的总线。一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中。微型机中目前主要采用的总线有:PCI总线、ISA总线、VESA总线等。虽然总线的标准不同,但都包括三类总线:地址总线(AB)、数据总线(DB)、控制总线(CB)。18CPU插座内存条插座软驱、硬盘IDE连接器电源连接器PCI总线插槽华硕P4T主板实物照片芯片组

I/O端口1920内存读写时地址、数据、控制总线如何配合?b0为1或01.地址线控制数据线导通2.写入数据时,写入控制有效,数据线上的位信息(0或1)进入存储器。3.读出数据时,读出控制有效,存储器上的位信息(0或1)流向数据线。readwrite21对内存一个字节的操作:数据总线和控制总线是公用的,每个字节的地址信号应不同,即同一时刻只有一根地址线有效。22地址线1为0电平,地址线2为1电平,第一个存储器的存储单元中的数据与数据线相连,在控制信号的作用下进行操作。地址线1为1电平,地址线2为0电平,第二个存储器的存储单元中的数据与数据线相连,在控制信号的作用下进行操作。23地址线1为1电平,地址线2为1电平,两个存储器的存储单元中的数据与数据线都不相连。地址线1为0电平,地址线2为0电平,两个存储器的存储单元中的数据都与数据线相连,造成数据总线混乱,不能进行正确操作。由此可见,在任何时候,最多只能有一个地址线信号为024内存的容量为1M字节,即1024×1024个字节,CPU芯片不可能引出这么多的地址线,如何解决地址线单一控制的问题?地址线A0为0电平,存储单元1有效;地址线A0为1电平,存储单元2有效。一根地址线可以控制两个存储单元。25A0A1存储单元000110111有效2有效3有效4有效2-4译码器两根地址线最多可控制4个存储单元.263根地址线用3-8译码器进行寻址,共寻址8个单元4根地址线用4-16译码器进行寻址,共寻址16个单元n根地址线最多可寻址2n个单元如果一个微机的CPU有16根地址引出线,那么这个微机最多能有多大容量的存储器?64KB问:1MB容量的内存需要多少根地址线?27地址总线(AddressBus)用来传送地址的信号线地址总线的根数(位数)决定了CPU可以直接寻址的内存范围。比如,有两根地址线,每一根地址线都可以有0,1两种状态,两根地址线共有11011000这四种状态,即可寻址4个空间,4个字节。28同样,3根地址线共有8种状态,为:0000010100111001011101114根地址线共有16种状态,为:0000000100100011010001010110011110001001101010111100110111101111地址线的根数(位数)n与CPU可直接寻址范围的大小之间的关系为:内存范围=2n298位地址线直接寻址范围为256个字节。16位地址线直接寻址范围为216=64KB8086的地址总线为20位,故8086的寻址范围为220字节,即1MB。地址总线的信号总是从CPU送出,所以地址总线是单向的。地址总线上的信号除了高低电平外,还可以处于高阻(浮空)状态,称为单向、三态总线。30数据总线(DataBus)用来传送指令代码和数据的信号线,即传送的是内存中存储的内容,数据总线的位数决定CPU一次可以传输或处理多少字节的数据,这个指标也称数据总线的宽度。8086为16位微处理器,即数据总线可允许16位二进制数据一次通过,进行运算存储处理。8088的内部为16位数据总线,外部为8位数据总线目前的主流微机为64/32位数据总线。31准16位机16位机32数据总线是双向的,既可以由CPU向存储器和外设送出,又可以接收存储器和外设的数据。同时,数据总线也存在高阻(浮空)的状态,为双向、三态总线。33控制总线(ControlBus)用来传送控制信号。根据微处理器的不同或连接的芯片、设备的不同,要求的具体控制信号的时序、状态也不同,要根据实际的需要进行连接、设置。控制信号线,根据使用条件不同,有单向、双向、三态或非三态信号线。34微机的内部结构与基本功能典型8位微处理器结构用来完成算术和逻辑运算特殊的寄存器,有很多指令与其有关指示运算结果的状态存放下一条指令的地址CPU中的存储单元,8位35二、微机工作过程程序存储:将编写好的程序放入计算机的内存,程序中的每条指令是按顺序存放的。程序控制:控制器从存储器中一条一条地取出指令、分析指令、根据不同的指令向各部件发出完成该指令的控制信号。程序在计算机是以指令的形式存储的,指令是计算机可以识别的命令,是一系列的二进制代码。以8位微机为例进行说明36欲完成的任务:将整数10和20相加,将结果放入内存地址为30H的单元中。分析:在计算机中,两个数不能直接相加,首先应将一个整数10放入累加器AL中,再使AL与另一个整数20相加,结果就在AL中,然后将AL中的内容放到指定的内存单元中。37内存中相应的机器码如下:将一个数10放入AL中地址内容20H0111010021H0000101022H0011010023H0001010024H0101001125H0011000026H01000011…………30HAL中的数加上20将AL中的数放入30H单元停止操作操作码:将一个数放入AL中操作数:即将放入AL中数值有一字节、两字节和多字节指令38将一个数10放入AL中地址内容20H0111010021H0000101022H0011010023H0001010024H0101001125H0011000026H01000011…………30HAL中的数加上20将AL中的数放入30H单元停止操作汇编语言MOVAL,10ADDAL,20MOV[30H],ALHLT00011110运行后的结果汇编语言与机器一一语言对应。39程序计数器,自动加11234地址总线5678数据总线取指阶段示意40程序计数器,自动加11234地址总线567数据总线执指阶段示意完成一个指令周期41习题与思考:1.微型计算机由哪些部件组成?各部件的主要功能是什么?2.试说明程序存储及程序控制的概念。3.请说明微型计算机系统的工作过程。4.试说明微处理器字长的意义。5.什么是微处理器?什么是微型计算机?什么是微机系统?它们之间的关系如何?42431.38086/8088微处理器8086/8088是Intel公司的第三代CPU芯片,是使用最为广泛的微处理器。均为40脚双列直插芯片。20根地址线,寻址范围为220=1MB。这两种CPU根据系统规模的大小,均有两种工作模式,最大模式和最小模式,在这两种模式的工作下,个别引脚信号的定义不同。一般工作在最大模式,最小模式引脚信号的定义在括号中。448088808645468086CPU8088CPU对外是16位数据总线对外是8位数据总线每次读写一个字每次读写一个字节指令队列为6个字节指令队列为4个字节AD0~AD15为数据/地址复用线AD0~AD7为数据/地址复用线有BHE(高字节允许)信号无BHE信号,而为状态信号SS0存储器与I/O接口选通线为M/IO存储器与I/O接口选通线为M/IO47一、编程结构8086/8088CPU从功能上可分为两个部分总线接口部件BIU:BusInterfaceUnit执行部件EU:ExecutionUnit总线接口部件功能:负责与存储器、I/O传送数据执行部件的功能:完成指令的译码与执行工作。4849段寄存器8086用20位地址寻址,但内部的寄存器均为16位,所以要由段寄存器和其他寄存器相加形成20位地址进行寻址。指令队列8086在执行指令的同时,从内存中取出下一条或下几条指令放在指令队列中,这样,取指和执值分开操作,可以节省时间,连续执行指令50取指执值取指执值…………取指取指取指取指……执值执值执值执值BIU和EU同时进行,加快程序的执行速度。BIU使用指令队列电路来实现流水线操作,该队列为先进先出队列(FIFO),有两个指针,允许预取6个字节的指令代码。BIU的操作原则是:511)

每当队列中有两个字节的空间时,BIU就自动地顺序预取后续指令代码,并填入指令队列中。2)

如果指令队列已满,且EU又无请求时,BIU不执行任何总线周期,进入空闲状态。3)

当EU在执行中须向BIU申请从内存或I/O口读写操作数时,若此时BIU空闲,则会立即完成EU请求;否则BIU先完成取指令操作,然后再进行操作数的读写总线周期(执行EU)。4)

如果EU执行转移指令,则BIU清除队列机构,从新地址取得指令,并立即送给EU去执行。然后从后续指令序列中取指令填满队列。52指令指针寄存器IP:控制CPU指令的执行顺序,存放指令代码在内存中的相对地址,顺序执行时,CPU每取一个指令字节,IP自动加1。53数据寄存器4个16位数据寄存器,每个都可以分为2个8位寄存器单独使用。一般用于以下用途:AX:累加器ADDBX:基址寄存器BASECX:计数寄存器COUNTERDX:数据寄存器DATA54SP:堆栈指针寄存器,指示堆栈在内存中的相对位置。BP:基数指针寄存器,存放数据在内存中的基地址,使寻址方式更为灵活。SI:源操作数变址寄存器,存放源数据的地址。DI:目的操作数变址寄存器,存放目的数据的地址。SIDIsourcedestination55标志寄存器标志寄存器PSW:存放CPU当前的状态。16位寄存器,8088/8086用了其中的9位,标志寄存器这9位的含义在程序的编写和调试中起决定性的作用。56OFDFIFTFSFZFAFPFCF1514131211109876543210for(i=0;i<10;i++)s=s+i;MOVCX,10A1:……;开始计算……

DECCX;CX减1JNZA1;不为0,执行A1

……语句标号指令中程序的分支,转向均是通过判断标志寄存器的标志位实现的。CPU在这时去判断零标志ZF57CF:进位标志,运算器在加减法中出现进位或借位时该标志位置1。CarryFlagPF:奇偶标志,运算结果的低8位中1的个数为偶数时该标志位置1。ParityFlagAF:半进位标志,加法或减法时,位3向位4进位或借位时该标志位置1。用于BCD(十进制)运算。AuxiliaryZF:零标志,运算结果为零时该标志位置1。ZeroSF:符号标志位,当运算结果的最高位为1(负数)时该标志位置1。SignOFDFIFTFSFZFAFPFCF151413121110987654321058OFDFIFTFSFZFAFPFCF1514131211109876543210TF:单步标志,该位置1时,8088/8086进入单步运行方式,即每条指令执行完后都产生中断,供用户检查各个寄存器及内存的当前状况,通常用于调试。TrapFlsgIF:中断标志,该位置1时,8088/8086的CPU可以响应外部可屏蔽中断,否则,将外部可屏蔽中断屏蔽,即使有中断申请信号也不予理会。

InterruptFlagDF:方向标志,该位置1时,串操作指令为自动减量指令,即从高地址向低地址处理字符串。串操作指令是对内存中连续的数据进行自动成批操作。DirectionFlag59OFDFIFTFSFZFAFPFCF1514131211109876543210OF:溢出标志,在算术运算中,带符号数的运算结果超出8位或16位带符号数所能表达的范围时,该标志位置1例如:8位数运算,当100+34时,结果为134,超过8位正数的最大值127,此时,该标志位置1。Overflow100:0110010034:00100010011001000010001010000110

+两个正数相加,结果为负数,这是由正数表示范围溢出造成的正数和正数相加,负数和负数相加有可能造成溢出60OF溢出的判断方法如下:加法运算:

若两个加数的最高位为0,而和的最高位为1,则产生上溢出;若两个加数的最高位为1,而和的最高位为0,则产生下溢出;两个加数的最高位不相同时,不可能产生溢出。减法运算:若被减数的最高位为0,减数的最高位为1,而差的最高位为1,则产生上溢出;若被减数的最高位为1,减数的最高位为0,而差的最高位为0,则产生下溢出;被减数及减数的最高位相同时,不可能产生溢出。

61举例:0101010000111001+01000101011010101001100110100011CF=0、AF=1、PF=1、ZF=0、SF=1、OF=1(两正数相加结果为负)62OFDFIFTFSFZFAFPFCF1514131211109876543210是控制位,不是反映目前CPU的状态,而是由程序进行设置,使CPU根据设置的状态运行。其他标志位则是反映CPU的当前运行状态,程序可以通过判断这些标志进行转向、循环等。63二、存储器组织结构8086/8088有20根地址线,可寻址1MB空间的内存,当程序运行时,程序代码,数据等被编译程序按照一定的规则放在内存中。CPU也依据同样的规则取指、执值、存取数据、控制程序。…………程序CPU内存64程序在内存中是分段存放的,即指令代码、数据、堆栈分开存放,每段有明确的首地址,段和段之间的地址可以连续、断开、重叠。代码段(CODE):存放CPU可以运行的指令,程序代码;数据段(DATA):存放程序中定义的变量等数据;堆栈段(STACK):在程序调用时存放调用处的地址、寄存器的内容、调用的参数等,在调用完后对寄存器进行恢复;存放一些临时保存的数据;附加数据段(EXTRA):与数据段配合使用,使编程更加灵活每类段又可以由多个逻辑段组成,每个逻辑段的长度不大于64KB。65…………码段堆栈段数据段…………码段1堆栈段数据段码段2每段的长度均小于等于64KB,即16位寄存器能表示的最大范围。668086/8088有20根地址线,但每个寄存器只有16位,如何能正确地给出指令或数据的唯一的地址?内存空间的唯一地址(20位)称为物理地址是由两部分组成的:

基地址(绝对地址)×16+偏移地址(相对地址)基地址16位偏移地址0000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+20位物理地址67例如:基地址:21ABH偏移地址:1678H物理地址:21AB01678+2312823128H每一个逻辑段中,基地址是由计算机编译系统分配的,在这个逻辑段中不能改变,而偏移地址从0000H开始,最长到FFFFH,所以一个逻辑段的长度不能超过64KB。68…………码段堆栈段数据段物理地址:XXXX0H其中:XXXX为基地址…………000200010000……偏移地址从0000H起基地址与偏移地址用两个寄存器分别存放,在同一逻辑段寻址时只对偏移地址进行变动即可。69段地址寄存器段地址寄存器:分别存放正在处理的相应段的基地址。CS:CODE代码段DS:DATA数据段SS:STACK堆栈段ES:EXTRA附加段段地址寄存器的内容左移4位,与相应段的偏移地址相加,形成20位的物理地址。70其中:代码段的偏移地址是由指令指针寄存器IP给出的。这个寄存器不能由指令直接赋值。指令指针寄存器当微处理器复位时,CS中的内容为FFFFH,IP的内容为0000H,所以计算机复位后的第一条指令是从FFFF0H处开始运行的71习题与思考1.8086/8088CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的?

2.8086/8088CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位?

3.8086/8088系统中储存器的逻辑地址和物理地址之间有什么关系?表示的范围各为多少?4.已知当前数据段位于储存器的A1000H到B0FFFH范围内,问DS=?5.某程序数据段中存有两个数据字1234H和5A6BH,若已知DS=5AA0H,它们的偏移地址分别为245AH和3245H,试画出它们在储存器中的存放情况。72三、8088/8086CPU引线及其功能具有40根管脚的集成芯片。引脚分成三组,分别为地址引线、数据引线、控制引线。1.数据地址线分时复用地址引线有20条,数据引线有16条,为了减少外接引线的数目,数据引线和地址引线的低16位是分时复用的。73CPU在总线上每完成一次数据的传送称为一个总线周期。一个总线周期由4个时钟周期T1~T4组成。在8086的数据、地址复用引脚上,T1时刻出现的是地址信号,T2~T4时刻出现的是数据信号。16根信号线,有低有高,图为简化形式7475地址信号连接地址总线,数据信号连接数据总线,如何能将同一根信号线上的不同时段的信号送至不同的目的地?在8086中,随地址信号一起发出的还有第25脚的ALE信号(地址使能):AddressEnable,该信号打开地址锁存器锁存地址信号。ALE信号76T1时刻,锁存器开启,锁存地址信号至地址总线端。77地址线的高4位也是复用线:地址/状态复用线。T1时刻,发送地址信号;T2~T4时刻,输出CPU当前的状态信息,即使用状况。A16/S3~A19/S6S6:为0指示8086当前与总线相连(S6一直为0)S5:表明中断运行标志IF的当前状况。为1,当前允许可屏蔽中断请求;为0,禁止。S4,S3合起来表示当前正在使用哪一个段寄存器S3S4说明00正在使用ES01SS10CS或未使用11DS78792.最大最小工作模式最小工作模式:微机系统中只有一个CPU,所有总线控制信号都直接由8086产生,系统中总线控制逻辑电路被减少到最小。最大工作模式:微机系统中允许有两个或两个以上微处理器存在,其中一个主处理器是8086,其他的称为协处理器。与8088/8086CPU配合工作的协处理器有两类,一类是数值协处理器8087.另一类是输入/输出协处理器8089。80最大最小模式控制脚33脚是最大最小工作模式控制脚,接高电平为工作在最小模式;接低电平为工作在最大模式。81输入输出S1S2S3D1D2D3D4D5D6D7D80000111111100110111111010110111110111110111110011110111101111110111101111110111111111110一组输入对应着唯一的一根输出线有效。8212345输出地址地址选通读信号有效数据从内存输出数据上数据总线8312345输出地址地址选通写信号有效数据进入内存数据从CPU上数据总线843.CPU引脚信号详细分析8086的控制信号共有17条,一个VCC,两个GND,17+20+3=40。其中17根控制信号中,9根控制信号与最大最小模式无关(共用),8根控制线在最大模式与最小模式中分别有不同的定义。85共用控制信号19管脚时钟信号CLK,输入时钟信号时钟信号:为CPU和总线控制逻辑电路提供时序,频率4.77MHz,占空比为33%,即1/3周期高电平,2/3周期低电平。8086微机的时钟信号是由8284时钟发生器提供的。868284与8086连接电路8284可接外时钟或本地晶振。在微机系统中,接本地晶振14.31818MHz,经3分频后提供给CPU。OSC:晶振频率,提供给显示器用。PCLK:晶振6分频,供外设用。将控制总线的复位信号和"准备好"信号送入8284与时序同步后再送入CPU。87NMI(Non-MaskableInterrupt)17引脚,非屏蔽中断请求信号,输入。上升沿触发(边沿触发)。非屏蔽中断请求不受中断标志IF的影响,不能用软件控制(屏蔽),每当该端输入一个正沿触发信号时,CPU就会在当前指令周期结束后,进入中断类型号为2的中断处理程序,在8086微机中,该中断用于I/O与内存的奇偶校验。88CPU在执行每条指令的最后一个时钟周期会对INTR信号进行采样,若CPU的IF为1且INTR信号为高电平,CPU会在现行指令结束后响应中断请求,进入中断处理程序。可屏蔽中断请求18引脚,可屏蔽中断请求信号,输入。高电平有效(电平触发)。INTR(InterruptRequest)8932引脚,读信号,输出。低电平有效。CPU根据指令发出的读内存或I/O口的命令信号,具体是读内存或是读I/O口要由另外的信号决定。被读的内存或I/O端口,利用这个信号打开数据门,使数据进入数据总线供CPU读取。读信号输出9012345输出地址地址选通读信号有效数据从内存输出数据上数据总线91最大最小模式控制脚33脚是最大最小工作模式控制脚,接高电平为工作在最小模式;接低电平为工作在最大模式。33引脚,最大最小模式控制信号,输入。(Min/Max)9222引脚,准备好信号,输入。高电平有效。REDAY由所访问的内存或I/O设备发回的响应信号,高电平有效,当信号有效时,表示内存或I/O设备准备就绪,马上就可进行一次数据传输。准备好信号93CPU在每个总线周期的T3状态开始对READY信号采样,如果检测到该信号为低电平(未准备好),就插入一个等待周期Tw,在Tw状态中继续对该信号采样,如仍为低电平,则继续插入Tw,Tw状态可以插入多个,直到REDAY信号为高电平时,才进入T4状态,完成总线周期检测3次READY信号,插入2个等待周期。9423引脚,测试信号,输入。低电平有效。和WAIT指令结合使用,在CPU执行WAIT指令时,CPU处于空转状态进行等待,并每隔5个时钟周期重复检测该信号,当检测到该信号为低电平时,等待状态结束,CPU继续执行WAIT后的指令。WAIT指令和该信号是使处理器与外设同步用的测试信号95WAITMOVBX,2000HMOVAL,3XLATOUT40H,ALMOVAL,5XLATOUT40H,ALCPU空转,每5个时钟周期检测一次TEST管脚信号当TEST管脚信号为低电平,CPU继续运行下面程序9621引脚,复位信号,输入。高电平有效。RESET复位信号高电平宽度至少大于4个时钟周期。当信号有效时,CPU结束当前操作,并对CPU内的标志寄存器,IP,DS,SS,ES及指令队列清零,而将CS设置为FFFFH,当复位信号变为低电平时,CPU从FFFF0H处开始执行程序。复位信号97通常在FFFF0H处存放一条段间转移JMP指令,将指令转移到系统程序的实际开始处.9834引脚,高8位数据总线允许/状态复用引脚,输出。(BusHighEnable/Sattus)8086CPU特有信号,在8088中,该引脚或为高电平(最大模式),或与当前总线周期的读写动作有关(最小模式)。高位数据总线允许8086是16位数据总线,而8088是8位数据总线。998086存储器结构图由两片512KB的存储体构成,每片的地址总线为19位,分别接CPU地址总线的A19~A1端,数据总线为8位,奇地址存储体接CPU数据总线的高8位,偶地址存储体接CPU数据总线的低8位。100奇地址存储体的片选端接CPU的端,当为低电平时奇地址存储体输出/输入数据,即CPU高8位数据总线上有数据;偶地址存储体的片选端接CPU的A0端,当A0为低电平时偶地址存储体输出/输入数据,即CPU低8位数据总线上有数据。101是控制CPU高8位数据总线的允许信号,A0端是控制CPU低8位数据总线上的允许信号。102MOVAX,[00000010B]将内存首地址为00000010开始的一个字(两个字节)的内容送入AX中103高8位:20H低8位:A1H此时:A0为0,BHE为0MOVAX,[00000010B]即奇偶存储体同时有效,对应相同的单元001H的内容同时送上数据总线,进入AX,AX的内容20A1H。对CPU而言,地址为00000010和00000011。0010H0011HA0A1A2A3104MOVAL,[00000010B]将内存首地址为00000010开始的一个字节的内容送入AL中。105低8位:A1H此时:A0为0,BHE为1MOVAL,[00000010B]即偶存储体有效,对应的单元001H的内容送上数据总线低8位,进入AL,AL的内容A1H。对CPU而言,地址为00000010。0010H106MOVAL,[00000011B]将内存首地址为00000011开始的一个字节的内容送入AL中。107低8位:20H此时:A0为1,BHE为0MOVAL,[00000011B]即奇存储体有效,对应的单元001H的内容送上数据总线高8位,在CPU内部总线的调节下,进入AL,AL的内容20H对CPU而言,地址为00000011。0010H108MOVAX,[00000011B]将内存首地址为00000011开始的一个字(两个字节)的内容送入AX中。0000001100000100109低8位:20H首先:A0为1,BHE为0MOVAX,[00000011B]即奇存储体有效,对应的单元001H的内容送上数据总线高8位,在CPU内部总线的调节下,进入AL,AL的内容20H对CPU而言,地址为00000011。第1步高8位:A2H110低8位:20H其次:A0为0,BHE为1MOVAX,[00000011B]即偶存储体有效,对应的单元010H的内容送上数据总线低8位,在CPU内部总线的调节下,进入AH,AH的内容A2H对CPU而言,地址为00000100。AX:A220H第2步高8位:A2H111A0操作数据引脚00从偶地址开始读写一个字(16位)AD15~AD010从偶地址单元或端口读写一个字节(8位)AD7~AD001从奇地址单元或端口读写一个字节(8位)AD15~AD801从奇地址单元开始读写一个字(16位)(在第一个总线周期,将低8位数据送至AD15~AD8,在第二个总线周期,将高8位字节送至AD7~AD0。在CPU内部进行调整AD15~AD810AD7~AD0112如果要读写从奇地址单元开始的一个字,需要2个总线周期。一般读写从偶地址开始的字,地址线A0不参加存储器片内单元的选取。113在8086中,参与了地址的选取。在T2~T4及Tw状态,该引脚输出信号S7,但S7并未赋予实际的意义,S7为1。1148086/8088有8根信号线与系统工作模式有关。最小工作模式(括号内管脚定义):微机系统中只有一个CPU,所有总线控制信号都直接由8086产生,系统中总线控制逻辑电路被减少到最小。11524引脚,中断响应信号,输出,为连续两个总线周期的负脉冲。(InterruptAcknowledge)当外设向CPU申请可屏蔽中断INTR,CPU如果允许中断,则连续发出两个负脉冲给外设。第一个负脉冲通知外设已受理中断;外设在第二个负脉冲时向数据总线上发送中断类型码。中断响应信号116第1个负脉冲第2个负脉冲外设发送中断类型号进入数据总线11725引脚,地址锁存允许信号,输出。高电平有效。ALE(AddressLatchEnable)T1时刻有效,用来锁存AD复用线上的地址信号。地址锁存118T1时刻,锁存器开启,锁存地址信号至地址总线端。11926引脚,数据允许信号,输出。低电平有效。(DataEnable)T2时刻有效,延至T4,将AD复用线连接到数据总线上。数据允许使能端120121连接双向数据缓冲器的使能端,使CPU的AD复用总线与数据总线在T2~T4时刻连接,输入输出数据。12227引脚,数据收发输出方向控制信号,输出。(DataTransmit/Receive)用来控制双向数据缓冲器数据的传输方向,高电平为输出数据,低电平为输入数据,具体的高低电平由指令(软件)控制。数据方向123高电平:数据由A->B;低电平:数据由B->A12428引脚,存储器、I/O控制信号,输出。(Memory/InoutandOutput)用来控制CPU进行的是对存储器的访问还是对外部输入输出口的访问。高电平为对存储器的访问,低电平为对I/O口的访问,具体的高低电平由指令(软件)控制。存储器/IO选择125在8086微机系统中,存储器的地址与I/O口重合,即地址总线上的一个地址信号(300H),即可以访问到存储器的300H单元,又可以访问到I/O口的300H单元,读写信号也是公用的,所以读写信号必须要与信号配合使用,才能区分出所访问的对象去I/O接口去内存控制总线CPU产生126MOVAL,[30H]INAL,30H0010001127存储器读写信号12829引脚,写信号,输出(Write)低电平有效,表示CPU正在进行写存储器或I/O口的操作。写信号12931引脚,总线保持请求信号,输入。HOLD(HoldRequest)高电平有效,除CPU外其他主模块向CPU发出的请求占用总线的申请信号。总线请求13030引脚,总线保持响应信号,输出。HLDA(HoldAcknowledge)高电平有效,CPU将总线(地址、数据、控制)浮空,发信号给请求端,同意出让总线。在出让总线期间,HOLD与HLDA均为高电平,HOLD变为低电平,表示放弃对总线的占有。总线请求响应131最小工作模式最小工作模式下的系统典型配置132133MOV[80H],AX:高电平:低电平:高电平:高电平10111001011001111243356134MOVAX,[80H]:低电平:高电平:低电平:高电平001100110100111124356135INAX,80H:低电平:高电平:低电平:低电平136OUT80H,AX:高电平:低电平:高电平:低电平137:CPU(总线)操作的目的地。:CPU连接的数据缓冲器的方向控制。:操作目的地的数据方向控制。:操作目的地的数据方向控制。1388086/8088有8根信号线与系统工作模式有关。最大工作模式:微机系统中允许有两个或两个以上微处理器存在,其中一个主处理器是8086,其他的称为协处理器。在最大模式中,大部分总线控制信号由总线控制器8288产生,可以构成大规模的控制系统。139总线周期状态信号26~28引脚,总线周期状态信号,输出。这三个信号组合起来可以指出当前总线周期中所进行的数据传输过程的类型。将其送入8288进行译码,产生对存储器及I/O口访问的控制信号。(BusCycleState)140说明000输出中断响应信号INTA001读I/O端口010写I/O端口011暂停100取指令101读存储器110写存储器111无源状态1418288结构框图由总线仲裁信号控制142有源状态:对来说,在前一个总线周期的T4状态和本总线周期的T1,T2状态中,至少有一个信号为低电平,每种情况下,都对应了某一个总线操作过程,通常称为有源状态。在总线周期T3和Tw状态且READY信号为高电平时,为高电平,此时,一个总线操作过程就要结束,另一个新的总线周期还未开始,通常称为无源状态。而在总线周期的T4状态,中任何一个或几个信号的改变,都意味着下一个新的总线周期的开始。14331引脚,总线请求输入、总线请求允许信号输出,输入输出双向。(Request/Grant)CPU外的总线主设备向CPU申请总线和CPU接受申请后的应答信号。信号是双向的,方向相反。总线请求144要占有总线的主设备输送一个宽度为一个时钟周期的脉冲给CPU,表示请求使用总线。CPU在当前总线周期的T4或下一个总线周期的T1状态输出一个宽度为一个时钟周期的脉冲给该总线主设备,作为出让总线的应答信号,从下一个时钟周期开始,CPU释放总线。当外设使用完毕时,该总线主设备输出一个时钟周期的脉冲给CPU表示总线请求的结束,于是CPU在下一个时钟周期又开始控制总线。每一次总线主设备的改变都需要这样的3个脉冲,脉冲为低电平有效。在两个总线请求之间,至少要有一个空时钟周期。14530引脚,总线请求输入、总线请求允许信号输出,输入输出双向。(Request/Grant)优先级低于第31引脚总线请求14629引脚,总线封锁信号,输出。当该引脚上的信号为低电平时,总线上的其他主控设备不能占有总线。该信号由指令前缀LOCK产生,带有LOCK前缀的指令执行完后,便撤销了引脚信号。总线封锁147MOVBX,2000HMOVAL,3XLATOUT40H,ALMOVAL,5XLATOUT40H,ALLOCK指令前缀运行该指令时,LOCK管脚上的信号为低电平14824,25引脚,指令队列状态信号,输出。QS1,QS0(InstructionQueueStatus)提供了前一个时钟周期T中指令队列的状态,以便于外部对8086CPU内部指令队列的动作跟踪。指令队列状态149指令队列150QS1QS0含义00无操作01指令队列中操作码的第一个字节10队列为011指令队列中非第一个操作码字节151最大工作模式最大工作模式下的系统典型配置152习题与思考:1.8086/8088系统中为什么一定要有地址锁存器?需要锁存哪些信息?2.什么是引脚的分时复用?为什么要分时复用?请说出8086/8088CPU有哪些引脚是分时复用引脚?

3.试从内部组成、外部结构两个方面说明8086和8088之间的差别。153154155四、典型时序分析了解微处理器时序可以进一步理解微处理器指令执行的过程,掌握各部件与系统总线的连接。指令周期:执行一条指令的时间。不同的指令执行的时间是不同的,不同的指令长短也是不同的。总线周期:CPU从存储器或I/O端口存取一个字节所用的时间。总线周期包括:存储器读/写;I/O口读/写;中断响应。一般由四个时钟周期组成。时钟周期:相邻两个时钟脉冲上升沿之间的时间间隔。CPU所有的操作都以它为基准。156学习CPU时序的目的:可以进一步了解在微机系统的工作过程中,CPU各引脚上信号之间的相对时间关系。可以深入了解指令的执行过程;

可以使我们在程序设计时,选择合适的指令或指令序列,以尽量缩短程序代码的长度及程序的运行时间。因为对于实现相同的功能,可以采用不同的指令或指令序列,而这些指令或指令序列的字节数及执行时间有可能是不相同的。3.对于学习各功能部件与系统总线的连接及硬件系统的调试,都十分有意义。157最小模式下的典型时序(读数据)158T1:

地址A0~A19上线ALE:下降沿锁存地址:进入低电平,持续到T4T2:A19~A16变为S3~S7:有效,打开数据总线

温馨提示

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

评论

0/150

提交评论