微机原理与接口技术专项培训课件_第1页
微机原理与接口技术专项培训课件_第2页
微机原理与接口技术专项培训课件_第3页
微机原理与接口技术专项培训课件_第4页
微机原理与接口技术专项培训课件_第5页
已阅读5页,还剩521页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术开始微机原理与接口技术开始1微机原理与接口技术微处理器汇编语言接口第一章概论(预备知识)第二章8086微处理器第三章寻址方式与指令系统第四章汇编语言程序设计第五章~第十一章接口计数器\定时器串并行接口中断\DMA控制器存储器总线微机原理与接口技术微处理器汇编语言接口第一章概论(预备知识2第一章概述1.1微型计算机的发展1.2微型机的分类1.3微型机系统的组成1.4微型计算机中数的编码与字符表示(重点)1.5评估微型机性能的主要指标1.6微型计算机的应用1.7浮点数表示法(补充)习题提问第一章概述1.1微型计算机的发展31.1微型计算机的发展1.1.1微型计算机的发展史

发展历史:电子管、晶体管、集成电路、大规模和超大规模集成电路发展方向:微型化、智能化、高性能、低成本1.1微型计算机的发展1.1.1微型计算机的发展史41.1微型计算机的发展1.1.2微型计算机的发展特点

数据总线宽度(如Pentium的64位数据线)、集成度、时钟频率;精简指令集技术(针对复杂指令集而言)、数字协处理(如进行数值运算的8087协处理器)和二级高速缓存技术;Pentium中采用的超标量结构双路执行流水线技术(Pentium能同时驱动两个总线周期,一个机器周期中执行多条指令)、分支预测技术、强化分支预测等。如IF条件THENGOTO……ELSEGOTO……数据总线负责整个系统的数据流量的大小,而数据总线宽度则决定了CPU与二级缓存、内存以及输入/输出设备之间一次数据传输的信息量。1.1微型计算机的发展1.1.2微型计算机的发展特点51.2微型机的分类分类按机器组成分:位片式、单片式和多片式按制造工艺分:MOS(金属氧化物半导体)型和双极型按字长分:4位、8位、16位、32位和64位按结构分:单片型、单板型和微型机从操作系统角度分:单用户型和多用户型1.2微型机的分类分类6组成硬件系统:软件系统:CPU(运算器和控制器)、存储器、输入/输出设备系统软件、支撑软件(各种编译程序)、应用软件冯.诺依曼的结构:运算器、控制器、存储器、输入设备、输出设备1.3微型机系统的组成输入设备存储器运算器输出设备控制器组成CPU(运算器和控制器)、存储器、输入/输出设备系统软件7数的编码与字符表示(1)1.4.1进位计数制与转换(B→其它、其它→B、O\H→D、D→O\H

)各种数制的基数某种进制数的基本组成数字二进制(B):0、1八进制(O):0、1、2、3、4、5、6、7十进制(D):0~9十六进制(H):0~9、A、B、C、D、E、F各种数制之间的相互转换方法:1011110.101B=___O=___H=___D296D=___B65535D=____B0FFH=____D136.55E.A94.6251001010001111111111111111255数的编码与字符表示(1)1.4.1进位计数制与转换(B→其8数的编码与字符表示(2)1.4.2计算机中数的表示计算机中的数是用二进制表示的,有时要处理的全部是正数就没有符号问题,如表示地址的数,这样的数称为无符号数。无符号数的表示很简单,8位无符号数表示的数的范围为0~255;16位表示0~65535

有符号数中数的符号也用二进制位表示,一般用最高有效位表示符号,最高位是0为正数,最高位是1为负数。符号数最常用的三种编码方式:原码、反码与补码(电脑中一般是用补码和反码来表示数)数的编码与字符表示(2)1.4.2计算机中数的表示9数的编码与字符表示(3)1、原码:实际上是数值化的符号位加上真值的绝对值8位原码表示的数的范围是:16位原码表示的数的范围是:-127~+127-32767~+32767数的编码与字符表示(3)1、原码:实际上是数值化的符号位加上10数的编码与字符表示(4)2、反码:一个负数的原码符号位不动,其余位取反。正数原玛与反码相同。8位反码表示的数的范围是:16位反码表示的数的范围是:-127~+127-32767~+32767数的编码与字符表示(4)2、反码:一个负数的原码符号位不动,113、补码:一个负数的补码由其反码末位加1求得。正数补码与原码同。8位补玛表示的数的范围是:16位补玛表示的数的范围是:数的编码与字符表示(5)-128~+127-32768~+327673、补码:一个负数的补码由其反码末位加1求得。正数补码与原码12试题例2:写出+127和–127的8位原码、反码、补码+127:原=反=补=01111111-127:原=11111111反=10000000补=10000001例3:存在二进制编码11111101,求解下列各题将11111101看作一个普通的二进制数,则其代表的十进制数是();若[x]原=11111101,则x=()若[x]反=11111101,则x=()若[x]补=11111101,则x=()253-125-2-3试题例2:写出+127和–127的8位原码、反码、补码131.4.3字符表示法

ASCII码的表示(用7位二进制编码表示?个字符)8421BCD码(二-十进制码)

计算机中还有一种数值数据的表示方法:每一位十进制数用4位二进制数表示,称为二进制编码的十进制数-----BCD码或称二—十进制编码。它具有二进制形式,又具有十进制特点。四位二进制可表达十六种状态,BCD码只需要十种,所以有6中冗余,从16种状态中选取10个状态表示十进制数0~9的方法很多,可以产生多种BCD码。1281.4.3字符表示法12814十进制数8421码00000100012001030011401005010160110701118100091001十进制数8421码000001000120010300114151.5评估微型机性能的主要指标1.5.1字长字长决定了计算机内部一次可以处理的二进制代码位数.字长与速度、字长与计算精度的关系如何?1.5.2指令执行时间指令执行时间的长短反映计算机速度的快慢,根据指令的格式执行不同指令需要的时间不同,因此就如何测量计算机运行速度的问题,有如下几种方法:1.直接给出CPU的时钟频率,即主频2.根据不同类型指令出现的频率乘上不同的系数,求平均值3.以执行时间最短的指令为标准来估算运算速度決定着运算器、通用寄存器和数据总线的位数CPU内部的时钟频率,是CPU进行运算时的工作频率。一般来说,主频越高,一个时钟周期里完成的指令数也越多,CPU的运算速度也就越快。但由于内部结构不同,并非所有时钟频率相同的CPU性能一样。什么是超频?1.5评估微型机性能的主要指标1.5.1字长決定着运算器16什么是主频、外频、倍频、超频?

主频,就是CPU的时钟频率,简单说是CPU运算时的工作频率(1秒内发生的同步脉冲数)的简称。单位是Hz(赫兹)。它决定计算机的运行速度,随着计算机的发展,主频由过去MHZ发展到了现在的GHZ(1G=1024M)。通常来讲,在同系列微处理器,主频越高就代表计算机的速度也越快,但对与不同类型的处理器,它就只能作为一个参数来作参考。另外CPU的运算速度还要看CPU的流水线的各方面的性能指标。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。因此主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。说到处理器主频,就要提到与之密切相关的两个概念:倍频与外频。什么是主频、外频、倍频、超频?主频,就是CP17什么是主频、外频、倍频、超频?外频是CPU的基准频率,单位也是Hz(赫兹)。外频是CPU与主板之间同步运行的速度,而且目前的绝大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态;

什么是主频、外频、倍频、超频?外频是CPU的基准18什么是主频、外频、倍频、超频?倍频即主频与外频之比的倍数。主频、外频、倍频,其关系式:主频=外频×倍频。早期的CPU并没有“倍频”这个概念,那时主频和系统总线的速度是一样的。随着技术的发展,CPU速度越来越快,内存、硬盘等配件逐渐跟不上CPU的速度了,而倍频的出现解决了这个问题,它可使内存等部件仍然工作在相对较低的系统总线频率下,而CPU的主频可以通过倍频来无限提升(理论上)。我们可以把外频看作是机器内的一条生产线,而倍频则是生产线的条数,一台机器生产速度的快慢(主频)自然就是生产线的速度(外频)乘以生产线的条数(倍频)了。什么是主频、外频、倍频、超频?倍频即主频与外19什么是主频、外频、倍频、超频?超频:目前CPU的生产可以说是非常精密的,以至于生产厂家都无法控制每块CPU到底可以在什么样的频率下工作,厂家实际上就已经自己做了次测试,将能工作在高频率下的CPU标记为高频率的,然后可以卖更高的价钱。但为了保证它的质量,这些标记都有一定的富余,也就是说,一块工作在600MHZ的CPU,很有可能在800MHZ下依然稳定工作,为了发掘这些潜在的富余部分,我们可以进行超频。现在的厂商基本上都已经把倍频锁死,要超频只有从外频下手,通过倍频与外频的搭配来对主板的跳线或在BIOS中设置软超频,从而达到计算机总体性能的部分提升。所以在购买的时候要尽量注意CPU的外频。back什么是主频、外频、倍频、超频?超频:目前CP201.5评估微型机性能的主要指标1.5.3内部存储器容量(衡量单位是什么?)1.5.4外部设备配置字节1.5评估微型机性能的主要指标1.5.3内部存储器容量(211.6微型计算机的应用科学计算信息管理系统工业控制过程(实时控制)网络通信技术智能仪器表与家用电器计算机辅助设计与制造1.6微型计算机的应用科学计算22补充数的定点表示和浮点表示1.数的定点表示法2.数的浮点表示法补充数的定点表示和浮点表示1.数的定点表示法231.数的定点表示法规定一个固定的小数点的位置,并把用这种方法表示的数称为定点数。MSB表示最高有效位,LSB表示最低有效位。当小数点固定在MSB的前面时,定点数为纯小数,当小数点固定在LSB的后面时,定点数为纯整数。符号MSB…LSB1.数的定点表示法规定一个固定的小数点的位置,并把用这种24数的浮点表示法将一个二进制数用一种普通形式表示为:2E×F,其中E表示阶码,F称为尾数。我们把用阶码和尾数表示的数称为浮点数。前半部分e0e1e2……为阶码,其中e0为阶符后半部分N0M-1M-2……为尾数,其中N0为尾符阶码通常为带符号的整数,尾数通常为带符号的纯小数。例:写出二进制数-110.0011在计算机中的浮点数形式。设阶码取4位补码,尾数是8位原码。解:-110.0011=-0.1100011×2+3浮点数形式为:e0e1e2……N0M-1M-2……001111100011数的浮点表示法将一个二进制数用一种普通形式表示为:2E×F25浮点数规格化为了使浮点数有一个标准形式,也为了充分利用尾数的有效数位提高运算精度,一般采用浮点数的规格化表形式。所谓规格化是指尾数M的最高位M-1=1必须是有效数字位。对于原码尾数,无论是正数、负数,M-1=1时是规格化形式;若尾数是补码,当N是正数时,M-1=1,N是负数时,M-1=0才是规格化形式。可以发现,尾数是补码时的规格化形式,尾数最高位与符号位相反。浮点数运算过程中,一旦运算结果出现非规格化形式,立即移动尾数,将其转换成规格化形式,与此同时,阶码相应有所加或减,保证N值不变。浮点数规格化为了使浮点数有一个标准形式,也为了充分利用尾数的26第一章习题开始第一章习题开始27各种数制之间的相互转换方法:1011110.101B=___O=___H=___D296D=___B4532D=___B4098D=___B65535D=____B0FFH=____D例2:写出+127和–127的8位原玛、反码、补码例3:存在二进制编码11111101,求解下列各题将11111101看作一个普通的二进制数,则其代表的十进制数是();若[x]原=11111101,则x=()若[x]反=11111101,则x=()若[x]补=11111101,则x=()各种数制之间的相互转换方法:例2:写出+127和–127的28例4:D8H=11011000B,看作无符号数时,其代表的十进制数为?,看作是符号数的补码时,代表的十进制数是?例4:D8H=11011000B,看作无符号数时29例:某计算机运算结果如下所示,阶码是4位以2为底的补码,尾数取8位定点小数(含符号位)问:(1)若该尾数是原码时,求其计算机中规格化形式(2)若尾数是补码,求其规格化形式011011111001例:某计算机运算结果如下所示,阶码是4位以2为底的补码,尾30001010010000解(1)因为尾数是原码,最高位M-1=1,所以已经是规格化形式了(2)因为尾数是补码,尾符和M-1都是1,所以不是规格化形式。尾数左移,低位补0,相当于小数位右移,直到M-1=0为止,因为尾数移动4位,阶码需减4,由0110变为0010,由此得到规格化形式为001010010000解(1)因为尾数是原码,最高位M-1318086的编程结构8086的工作模式及引脚功能最小模式系统8086的操作和时序8086的存储器及I/O组织内容回顾习题提问第二章8086微处理器8086的编程结构第二章8086微处理器32基础知识:8086字长为16位,内存空间为1M2.1.18086的编程结构编程结构是指从程序员和使用者的角度看到的结构。8086CPU由执行部件EU(ExecutionUnit)和总线接口部件BIU(BusInterfaceUnit)两部分组成(如图所示)。基础知识:8086字长为16位,内存空间为1M33地址加法器,用于产生20位物理地址。假设CS=8200H,IP=1234H,则当前指令所在内存的物理地址为83234H指令队列缓冲器用于解决以往CPU取指令期间,运算器的等待问题从指令队列缓冲器取出指令,进行译码,产生各种控制信号,控制各部件的工作内存外设地址加法器,用于产生20位物理地址。假设CS=8200H,I341、执行部件EU功能:负责指令的执行组成:通用寄存器组专用寄存器组算术逻辑运算单元ALU标志寄存器FR内部控制逻辑EU寄存器是指在指令执行过程中用于临时存放数据或结果的寄存单元1、执行部件EU功能:负责指令的执行35(1)通用寄存器

4个16位的通用寄存器:AX、BX、CX、DX。也可看作是8个8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL。AX(AH、AL)累加器:有些指令约定AX或AL寄存器为累加器,如乘法、除法、输入/输出指令等。BX(BH、BL)基址寄存器:可用作间接寻址的地址寄存器和基地址寄存器,BH、BL可用作8位数据寄存器。CX(CH、CL)计数器:在循环和串操作中充当计数器,指令执行后,CX寄存器内容自动变化。DX(DH、DL)数据寄存器:除用作通用寄存器外,在I/O指令中用作口地址寄存器,乘除指令中做辅助累加器。(1)通用寄存器4个16位的通用寄存器:AX36(2)专用寄存器组

8086CPU除有4个16位的通用寄存器外,还有4个16位专用寄存器,分别是:基数指针寄存器BP(BasePointerRegister)堆栈指针寄存器SP(StackPointerRegister)源变址寄存器SI(SourceIndexRegister)目的变址寄存器DI(DestinationIndexRegister)BP、SP常用来指示相对于段起始地址的偏移量。BP一般用于访问堆栈段任意单元,SP用于访问堆栈段栈顶单元。SI、DI可用作寄存器间接地址、相对寻址、基址变址寻址、相对基址变址寻址寄存器,访问数据段任意单元。(2)专用寄存器组8086CPU除有4个16位37(3)算术逻辑单元(ALU)

完成16位或者8位的算术逻辑运算。(3)算术逻辑单元(ALU)完成16位或者8位38(4)标志寄存器(FlagRegister)标志寄存器共有16位,其中7位未用,内容如下:1514131211109876543210OFDFIFTFSFZFAFPFCF

根据功能,8086的标志分为条件标志和控制标志。条件标志(6位)用于寄存程序运行的状态信号(由硬件根据运算结果自动设定),这些标志往往用作后续指令判断的依据;控制标志(3位)由软件设定,用于串处理的方向控制、中断响应允许控制及单步陷阱控制。进位标志,当加法最高位产生进位或减法最高位产生借位时,CF=1,否则CF=0辅助进位标志(半进位),字节运算时低半个字节向高半个字节有进位或借位时,AF=1奇偶标志,若运算结果的低8位操作数中有偶数个1,PF=1,否则PF=00标志,当运算结果为0时,ZF=1符号标志,接受运算结果最高位的值,当最高位为1时,SF=1,表示该数是负数陷阱标志,用于单步操作,TF=1时,每条指令执行后产生陷阱,进入系统控制程序中断允许标志,IF=1时允许可屏蔽中断,IF=0则禁止。该标志可由中断控制指令设置或清除方向标志,在串处理指令中,用于控制串处理的方向。当DF=0时,每次操作后变址寄存器SI、DI自动增量,处理方向由低地址向高地址;当DF=1时自动减量。该标志由方向控制指令设置或清除溢出标志,当运算结果超出了机器所能表示的数的范围时,会产生溢出,这时OF=1,否则OF=0(4)标志寄存器(FlagRegister)标志寄存器共有39有关溢出的判断方法

通常CF用于无符号数运算结果的溢出判断,而OF则用于有符号数运算结果的溢出判断。若两个正数相加(或正数减负数)结果为负,或两个负数相加(或负数减正数)结果为正数,则OF=1;当正数与负数相加时不会产生溢出,OF=0。例如:

11001010则CF=PF=AF=+01111000ZF=SF=OF=

0101000011001010则CF=PF=AF=+0110110101110010

ZF=SF=OF=有关溢出的判断方法通常CF用于无符号数运算结402、总线接口部件BIU(1)段寄存器8086CPU内部数据结构是16位,即所有的寄存器都是16位的,而其外部寻址空间(即内存大小)为1MB,需要?条地址线。在寻址方式中经常用16位寄存器存放存储器地址00001H00003H00005HFFFFFH00000H00002H00004HFFFFEH很明显,16位地址能够表示_____个单元,只占1M空间的_____,那么剩下的单元我们该如何访问呢?2064K1/16为了解决这一问题,在8086中对内存采取了段式管理,共分4种段:1.代码段(存放程序代码)2.数据段(存放程序运行时所需数据)3.堆栈段4.附加段(附加数据段)2、总线接口部件BIU(1)段寄存器00001H00000H412、总线接口部件BIU00001H00003H00005HFFFFFH00000H00002H00004HFFFFEH1M内存的地址范围为:00000HFFFFFH00000H~FFFFFH16位寄存器的编址范围为:0000H~FFFFH因为:XXXXH+XXXXHXXXXXHSO:使用两个地址的加和来构成实际地址(物理地址)也就是:段地址×16+偏移地址=物理地址段地址存放在四个段寄存器:CS、DS、SS、ES里面;偏移量根据不同的寻址方式存放在程序计数器IP或其他寄存器(如BX、BP、SI、DI等)2、总线接口部件BIU00001H00000H1M内存的地址42例如:给定的某个逻辑段段地址为3008H,段内偏移地址为002FH,则其对应的真正物理地址为:3008H×16+002FH=300AFH在内存中的实际存放为:……30080H0000H0001H……002FH……我们可以看出,在3008H段中,第一个单元的地址为30080H,即:3008H×16+0000H=30080H最后一个单元的地址为:3008H×16+FFFFH=4007FH…………4007FHFFFFH……因此,XXXXH段的地址范围为:XXXXH×16+0000H~XXXXH×16+FFFFH即一个段的最大为0000H~FFFFH=64K例如:……30080H0000H0001H……002FH……43内存节、内存节与段地址的关系

任何一个段的段地址左移4位后,其最低4位都是0,例如00000H、00010H、00020H、00030H…000F0H、00100H、00110H、00120H、……F43D0H等都可假设为是一个段地址左移4位后的结果。大家观察,上面所列举的每相邻的两个地址编码之间的间隔是多少个字节?在8086中将1MB空间以16个字节为一个内存节,共分成64k个节。每个节的首地址的最低4位都是0,例如从22480H——2248FH的内存空间即为一个内存节,这样的内存节的首地址的高16位部分即可作为一个段的段地址,也就是说一个段的首地址一定是某个内存节的首地址。内存节、内存节与段地址的关系任何一个段的段地44段寄存器刚才提到,在8086中设有4个段寄存器CS代码段寄存器(编写的程序代码需存放在内存中,此时需要把其首地址的高16位存放在CS中,例如若CS值为3000H,则意味着当前运行的程序存放在内存地址30000H开始的单元中,)DS数据段寄存器(例如存放一个数组的数据,若DS=2488H,则说明该数组存放在24880H开始的内存单元中)SS堆栈段寄存器ES附加段寄存器若某个段寄存器内容为23F0H,而段的长度为64K,则其结束地址为:23F00H+07FFFH=2BEFFH段寄存器刚才提到,在8086中设有4个段寄存器若某个段寄存器45指令指针寄存器IP用于存放当前指令的偏移地址,该寄存器一定与代码段寄存器结合使用……CS(2200H)指令10000H(IP)0001H指令20002H0003H0004H指令30005H0006H指令40007H根据条件转移到指令20008H指令50009H000AH指令指针寄存器IP用于存放当前指令的偏移地址,该寄463、总线接口部件和执行部件的管理

由于指令队列缓冲器的存在,实现了EU与输入/输出接口部件的并行工作,从而提高了效率。总线接口部件与EU互相配合工作,其动作有以下几方面管理原则:当8086指令队列中有两字节空闲时,总线接口部件自动从内存中将指令取到指令队列中,每当EU要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。EU要花几个时钟周期执行指令。执行指令中若要访问内存或I/O设备,EU就向总线接口部件申请总线周期,若BIU总线空闲,则立即响应;若BIU正在取一条指令,则待取指令操作完成后响应EU的总线请求当指令队列已满,EU又没有申请总线时,BIU进入空闲状态当遇到转移、调用及返回指令时,自动清除指令队列缓冲器中已有指令,从新地址开始,重新填充指令队列,以适应新的指令执行顺序3、总线接口部件和执行部件的管理由于指令队列474、8086微处理器的总线周期

计算机是由一串脉冲控制进行工作的,这一串脉冲称为计算机的时钟,每个脉冲称为一个时钟周期或一个T状态,若干个时钟周期完成一个基本操作,称为一个总线周期。CPU有若干种典型操作,构成相应的总线周期。如存储器读总线周期、存储器写总线周期、I/O读总线周期、I/O写总线周期等。完成一条指令所需的时间称为指令周期,一个指令周期通常需要若干个总线周期(包括取指令和执行指令的总线周期)。在8086中,一个最基本的总线周期一般由4个时钟周期组成,或者称为T1状态、T2状态、T3状态、T4状态。有时根据需要在T3与T4之间插入若干个等待状态TW,如下图所示:1个总线周期=4(+n)个时钟周期1个指令周期=n个总线周期4、8086微处理器的总线周期计算机是由一串48

T1状态:CPU向地址总线上发送地址信息(如图所示)(若是取指令周期,则发送指令的地址,若是取操作数则送操作数地址),指出要寻址的内存单元地址或I/O端口地址。这期间CPU还要送出地址锁存信号ALE,在ALE的下降沿将内存单元地址或I/O端口地址打入地址锁存器(因为地址与数据总线是分时复用的)

T2状态:CPU从总线上撤消有效地址,使地址总线低16位呈高阻状态,为数据传输做准备。总线高4位(A19~A16)输出总线周期的状态信息,用以表示中断允许状态及正在使用的段寄存器名称。T状态T1状态:CPU向地址总线上发送地址信息(如49100001111……1地址加法器送出20位地址,如10000111110100110101…………87D35H……地址译码器87D35H1地址加法器送出20位地址,如10000111110100150T状态T3状态:A19~A16上状态信息不变,地址总线低16位上出现CPU要写出的数据或准备读入的数据。若外设或内存来不及与总线交换数据,以便在T4状态下结束该总线周期,则应通过其自身的READY信号,在T3

前沿(下降沿)之前向CPU申请插入等待状态TW。CPU在T3及TW的前沿查询READY信号,查到高电平则结束等待状态,进入下一状态。否则继续插入TW。T4状态:总线周期结束T状态T3状态:A19~A16上状态信息不变,地址总线低1512.1.28086的工作模式及引脚功能1、8086的工作模式8086CPU提供了两种工作模式:最小工作模式和最大工作模式。工作在何种模式,将根据需要由硬件连接决定。最小工作模式:系统中只有8086一个微处理器。在这种系统中,所有的总线控制信号都直接由8086产生。系统中总线控制逻辑电路最少。最大工作模式:系统中包括两个以上处理器,其中一个8086做主处理器,其他处理器称为协处理器。与8086协同工作的协处理器有用于数值运算的协处理器8087,输入/输出协处理器8089。配置协处理器的系统,主处理器不用处理费时的复杂运算和I/O设备服务,提高了主处理器的运行效率。2.1.28086的工作模式及引脚功能1、8086的工作模52CLK:时钟信号,输入RESET:复位信号,输入。8086要求复位信号至少维持4个时钟周期的高电平,以完成CPU内部寄存器的复位操作。复位信号出现,CPU就结束当前的操作,进入复位操作,即将FR、IP、DS、SS、ES及指令队列清0,将CS置为FFFFH,当复位信号降为低电平时,CPU从FFFF0H地址开始执行指令。所以系统程序在该物理地址单元放一条转移指令转移到引导程序的入口。2、8086的引脚功能AD15~AD0在T1状态输出地址信号,在T2、T3状态,若为总线读周期则总线浮空,若为总线写周期,则总线上输出数据。NMI:非屏蔽中断,输入,该信号为一个由低到高的上升沿有效信号。它不受中断允许标志IF的影响。一旦产生NMI信号,CPU处理完一条指令后,立即进入非屏蔽中断处理。最小/最大模式控制信号,输入。该引脚接+5V时,CPU工作在最小模式,接地工作在最大模式A19/S6~A16/S3地址状态复用引脚,输出。在总线周期的T1状态,A19~A16输出最高4位地址信号,在T2、T3、TW、T4状态,S6~S3输出状态信息,意义如下:S6为0表示8086CPU占用总线。S5表明中断允许标志IF的设置情况,若IF=1,则为允许可屏蔽中断,S5=1;若IF=0,则为禁止可屏蔽中断,S5=0。S4、S3指明正在使用的段寄存器,组合情况如右表:S3S4含义00正在使用ES01正在使用SS10正在使用CS11正在使用DSINTR:可屏蔽中断,输入。高电平有效。CPU在每条指令的最后一个时钟周期对INTR信号进行采样,当INTR为高电平时,若IF=1,则在一条指令结束后即响应中断请求,进入中断处理。RD:读信号,三态,输出。低电平有效。在CPU执行读操作时,RD在T2、T3、TW期间有效。到底是读存储器还是读I/O端口还取决于M/IO信号。M/IO为高时,读存储器,否则读I/O端口。READY:准备好信号,输入,高有效。当CPU访问存储器或I/O设备,而存储器或I/O设备来不及在T4结束数据传输时,就应在T3之前提供一个低电平READY信号。BHE/S7:高8位数据允许/状态复用引脚,输出。在T1状态该引脚输出BHE信号(低电平有效),表示高8位数据线D15~D0上数据有效。CLK:时钟信号,输入2、8086的引脚功能AD15~AD053BHE/S7:高8位数据允许/状态复用引脚,输出。在T1状态该引脚输出BHE信号(低电平有效),表示高8位数据线D15~D8上数据有效。说明:数据线低8位对应内存单元的偶地址部分,高8位对应内存单元的奇地址部分(奇偶地址如何划分?),即偶地址存放低字节数据,奇地址存放高字节数据;而且一个完整的总线周期中,从内存中读写数据的顺序都是从低字节开始到高字节共16位。BHE与A0合起来可向总线上存储器接口传送下表所示信息:请思考:上表中为何不能出现1与1的组合?从偶地址开始读/写一个字AD15~AD0从偶地址开始读写一个字节AD7~AD0从奇地址开始读/写一个字节AD15~AD801AD15~AD810AD7~AD0BHE/S7:高8位数据允许/状态复用引脚,输出。在T1状态542.1.3最小模式系统最小模式系统处理器?个,MN/MX引脚接向?1、最小模式下第24~31脚信号功能(1)WR:写信号,输出(2)M/IO:存储器或I/O设备控制信号,输出WR、RD及M/IO三个信号合起来决定系统中数据传输的方向,见下表I/O读I/O写存储器读存储器写2.1.3最小模式系统最小模式系统处理器?个,MN/MX引55(3)HOLD:总线保持请求信号,输入。当系统中其他部件需要占用总线时,通过该引脚向CPU发出申请。(4)HLDA:总线保持响应信号,输出。当CPU查询到HOLD信号时,若是允许其他部件占用总线,则在当前总线周期结束时,于T4状态从HLDA引脚发出高电平响应信号。同时CPU的所有三态总线(如读写控制信号、存储器/输入输出控制信号等)进入浮置状态,申请部件接收到HLDA后即可接管总线,直到操作完成,撤消HOLD信号,CPU才重新接管总线。(5)INTA:中断响应信号,输出。外设申请可屏蔽中断,IF=1时,CPU响应,需在两个连续的中断响应周期发两个INTA负脉冲信号。第一个通知外设其中断请求已被响应,第二个通知该设备将中断类型码送上数据总线(所有的中断都有自己的中断类型码)(3)HOLD:总线保持请求信号,输入。当系统中其他部件需要56(6)ALE:地址锁存允许信号,输出。在任何一个总线周期的T1状态,ALE都输出有效信号,来表示当前在地址数据复用总线上输出的是地址信息,供地址锁存器对地址进行锁存。(7)DEN:数据允许信号,输出。当CPU要发送或接受一个数据时,该引脚输出有效信号,控制数据总线收发器输出允许信号。(8)DT/R:数据收发方向控制信号,输出。低表示接收数据,高表示发送数据,用于控制数据总线收发器的数据传送方向。在DMA方式下,该引脚也被浮置为高阻态。(6)ALE:地址锁存允许信号,输出。在任何一个总线周期的T57分组记忆:组1-数据/地址复用引脚T1状态下的AD0~AD19(A0~A19)T2、3、4状态下的AD0~AD15(D0~D15)S3~S6(A16~A19)组2-中断引脚不可屏蔽中断NMI可屏蔽中断INTRS5/A17INTA组3-总线保持引脚总线保持请求HOLD总线保持响应HLDA组4-数据传输引脚读写控制RDWRM/IO数据传输允许DEN数据收发方向DT/R其它-GNDVCCMN/MXALETESTREADYRESETBHE/S78086最小模式下的引脚功能与WAIT指令配合使用,可实现与外设同步工作分组记忆:8086与WAIT指令配合使用,可实现与外设同步工583片8282地址锁存器用于20位地址和BHE信号锁存。以满足整个总线读写周期地址一直有效的要求。2、最小模式下的系统配置一片8284A时钟发生器产生时钟信号CLK,同时对外部READY和系统RESET信号进行同步2片8286总线驱动器(总线收发器),当系统的存储器和外设较多时用于提高数据总线的驱动能力3片8282地址锁存器用于20位地址和BHE信号锁存。以满足59(1)8284A与8086的连接晶体振荡器8284A内部振荡器产生自激振荡,在CLK端输出占空比为1/3的时钟脉冲。上电复位及按钮复位信号送其RES输入端,经8284同步后送8086。来自内存或外设的等待请求信号送RDY1,经8284同步后送8086的READY引脚。PCLK输出占空比为1/2的时钟脉冲,用作外部时钟(1)8284A与8086的连接晶体振荡器8284A内部振荡60(2)8282与8086的连接在T1状态,总线上输出地址信号及BHE信号,而在T2~T4状态,总线用于传送数据,此时BHE信号也失效。因地址信号一直有效,故8282的输出允许端OE要接地。在T1状态,CPU输出地址锁存允许信号ALE,将ALE接向8282的选通输入端STB。当ALE=1时,8282输出跟随输入变化,用ALE的下降沿将总线上已经稳定的信号锁入82828282左侧T1状态时打开,ALE下降沿(T1状态结束时)时关闭。8282右侧始终打开(OE端始终为低),向外传送地址。(2)8282与8086的连接在T1状态,总线上输出地址信号61(3)8286与8086的连接数据线的连接;输出使能端OE端接向8086数据输出使能端DEN。T端接向数据发送/输入端DT/R。当OE=1时,控制门关,8286两端均为高阻态。数据传送方向受T端控制,当T=1时,数据从A传向B。(3)8286与8086的连接数据线的连接;输出使能端OE端622.1.58086的操作和时序8086CPU的主要操作有:系统的复位和启动最小模式下读写总线操作中断操作最小模式下的总线保持2.1.58086的操作和时序8086CPU的主要操作有:638086系统的复位和启动

8086的复位和启动是通过RESET引脚上高电平信号实现的。一旦RESET变高(至少要保持4个时钟周期),则立即停止指令执行。若RESET一直持续高则8086一直处于复位状态。复位操作包括:(1)所有通用、专用、标志寄存器、ES、DS、SS、指令队列缓冲器及IP都清0,而CS被置为0FFFFH,故复位信号消失后,程序从0FFFF0H(CS×16+IP)处开始执行。(2)所有三态总线变为高阻态,三态总线包括:AD15~AD0、A19/S6~A16/S3、BHE/S7、S2(M/IO)、S1(DT/R)、S0(DEN)、LOCK(WR)、RD、INTA等。而ALE、HLDA、QS0、QS1等降为低电平,RQ/GT0、RQ/GT1升为高电平8086系统的复位和启动8086的复位和启动641、复位操作时序图1)某个时钟周期上升沿检测到外部RESET信号为高2)将内部RESET信号置为高电平3)在2)完成后再过半个时钟周期的不工作状态,将所有三态总线变为高阻态,且在RESET信号失效前一直处于高阻态。注:不管CPU原来处于何种状态,对RESET信号的响应是立即进行的。1、复位操作时序图1)某个时钟周期上升沿检测到外部RESET652.1总线读周期2.1总线读周期66读内存读I/O端口T1状态开始前T1状态:地址状态地址输出高八位地址有效T2状态:准备状态状态输出高阻状态(为接收数据作准备)T3状态:数据状态数据输入T4状态:结束读内存读I/O端口T1状态开始前T1状态:地址状态地址67第一周期:CPU输出BHE信号、ALE信号,及地址A0---A19第一周期:CPU输出BHE信号、ALE信号,及地址A0---68第二周期:A19/S6---A16/S3,BHE/S7输出状态S7---S3;同时RD和DEN变有效(低电平)。第二周期:A19/S6---A16/S3,BHE/S7输出状69第三周期

:数据输入第三周期

:数据输入70第四周期:

从AD15---AD0读入数据,并使RD

信号和DEN信号处于无效状态。第四周期:

从AD15---AD0读入数据,并使RD

信号和712.2总线写周期2.2总线写周期721.十六位数据引脚T2状态时,读周期为高阻态,写周期为数据输出状态.3.DT/R在读周期为低电平,写周期为高电平2.读周期用RD引角,写周期用WR1.十六位数据引脚T2状态时,读3.DT/R在读周期为低电平733、中断操作中断分为硬中断(外部中断)和软中断(内部中断)。软中断:因内部设置条件而改变程序执行流程的过程。是程序中的一条指令,在编程时已经安排好其位置,无随机性。硬中断:因外部事件而改变程序流程的过程,具有随机性。硬中断又分可屏蔽中断INTR、非屏蔽中断NMI。对INTR中断请求是否响应受?影响,而对NMI中断请求是否响应则与其无关。IF/S53、中断操作中断分为硬中断(外部中断)和软中断(内部中断)。74中断服务程序

由于中断请求出现的随机性,现行程序无法对中断源进行服务,需要针对具体的中断源预先编好相应的中断服务程序,并将所有的服务程序存放在内存中以便需要时随机调用。存放服务程序的存储空间不要求连续,CPU只需取得中断服务程序的入口地址便可转到相应的服务程序,关键是如何组织服务程序的入口地址。……中断服务程序X…………中断服务程序Y…………中断服务程序Z……2000:0230H2400:0462H3720:8800H中断服务程序由于中断请求出现的随机性,现行程序75中断向量

我们把中断服务程序的入口地址称为中断向量。

中断向量包括中断服务程序的段地址和偏移量。8086系统最多有256个中断,对应256个中断服务程序。系统将256个中断向量构成一个一维表,即中断向量表,存放在内存最低端开始的一段连续区间。每个中断向量共占(?)个字节,其中段地址占(?)个字节,放在内存的高地址单元,偏移量占(?)个字节放在相应的低地址单元,256个中断向量共占(?)个单元,即占用了0段的0000H~(?)区域。422102403FFH中断向量我们把中断服务程序的入口地址称为中断76中断向量表

256个中断在中断向量表中的排列序号称为其中断类型码(从0到?)。中断类型码是访问向量表的依据,只需将类型码乘4便得到相应中断服务程序的入口地址所在单元的地址。即:中断类型码类型码乘4的结果是?的地址;在该地址所对应的单元中存放的内容是?……IPLIPHCSLCSH……0080H0081H0082H0083H80H12H00H20H中断向量中断服务程序的首地址如中断类型号为20H的中断所对应的中断服务程序首地址就放在0段的0080H开始的4个单元中,其中0000:0080H,0000:0081H中存放偏移量0000:0082H,0000:0083H中存放段地址若中断服务程序的首地址是2000:1280H则在内存中是如何存放的?中断向量表256个中断在中断向量表中的排列序77中断服务程序中断向量(中断服务程序入口地址4个字节)中断向量表12……..n中断服务程序1中断服务程序2中断服务程序3中断向量1中断向量n中断向量2中断类型号如何找到中断服务程序首地址?在INTA的第二个低电平得到中断类型号;中断类型号×4(偏移量)中断类型号×4+2(段地址),得到中断向量;段地址*16+偏移量=中断服务程序首地址;依据首地址找到中断服务程序。中断服务程序中断向量中断向量表1中断服务程序1中断服务程序278中断服务程序中断服务程序中断服务程序21H已知:中断类型号为27H27H*4=9CH35H14H23H0000:009CH偏移量:3521H段地址:2314H26661H(2314:3521H)中断服务程序中断服务程序中断服务程序中断服务程序21H已知:中断类79硬中断的响应与处理第一个INTA信号用途如何?第二个呢?通知外设中断被响应请外设送上中断类型码硬中断的响应与处理第一个INTA信号用途如何?通知外设中断被80

8086CPU得到中断类型号后进入中断处理过程。首先要找到中断服务程序首地址,同时将标志寄存器FR及断点处IP和CS入栈保护,清除IF和TF,然后将服务程序首地址送入IP和CS,执行中断服务程序。中断服务程序中除了其主体内容外,在程序开头都要把中断服务程序内所用到的寄存器入栈保护,以免其内容被破坏。在程序结束时还要将其内容弹出,以恢复相应的寄存器内容。中断服务程序最后安排中断返回指令IRET,执行到该指令,CPU就会自动将保存在堆栈中的FR、IP和CS值弹出,使程序回到中断前的地址开始继续执行(如图所示)。……3000:0254H正在执行的程序……2000:0100H中断服务程序……8086CPU得到中断类型号后进入中断处理过81中断响应过程中的总线周期共使用7个总线周期完成中断响应过程:两个中断响应周期,取得中断类型码一个总线写周期,将标志寄存器入栈两个总线写周期,将IP和CS入栈两个总线读周期,从中断向量表获取中断向量。中断响应过程中的总线周期共使用7个总线周期完成中断响应过程:82软中断的响应与处理

8086系统中提供了直接调用中断处理子程序的手段,这就是中断指令。通过中断指令使CPU执行中断服务程序的方法叫软件中断。软中断的类型号是由中断指令(INTn)本身提供的(如INT21H),这样,CPU对中断类型号是从指令流中直接读得。软中断的响应不受IF影响。如果在执行软中断时来了可屏蔽中断请求,并且这之前已经使得IF=1,则CPU会在当前指令执行完后响应可屏蔽中断请求。即若IF=1,可屏蔽中断能插入软中断执行过程中。软中断的响应与处理8086系统中提供了直接调834、最小模式下的总线保持

系统中有多个总线驱动模块时,CPU以外的总线驱动模块必须通过总线申请信号HOLD向CPU提出总线申请。CPU在各种周期中,每个T状态的上升沿查询HOLD,当查到HOLD为高时,则在本总线周期结束后给予响应,即给出HLDA信号,让出全部数据总线、状态及控制总线控制权。总线申请模块接到HLDA后接管总线,操作完成后将HOLD降为低。CPU查到后收回总线控制权。在CPU让出总线后,EU照样可从指令队列中取出指令执行,直到需总线操作或指令队列空为止。T1指空闲状态的T14、最小模式下的总线保持系统中有多个总线驱动842.1.68086的存储器及I/O组织1、8086存储器的组织(1)存储器地址8086地址线有()条,地址范围是()~(),存储器空间是(),为了用16位的寄存器寻址20位的存储空间,引入了分段的概念。分段后,一个存储单元地址可以用段地址和偏移地址两部分表示。段地址由CS、DS、SS、ES提供,而偏移地址可由IP、SP、BP、SI、DI、BX等提供。存储单元物理地址的计算方法如下:物理地址=段地址×16+偏移量例如:CS=32F0H,IP=0100H,则物理地址为()2000000HFFFFFH1M33000H2.1.68086的存储器及I/O组织1、8086存储器的85(2)8086存储器的结构当传送一个字节数据时,数据总线上只有8位有效,这取决于指令中给出的那个字节的对应端口或内存单元地址是奇还是偶。奇则高8位有效。偶则低8位有效。(2)8086存储器的结构当传送一个字节数据时,数据总线上只86上面箭头有效下面箭头有效两个箭头都有效中间两个箭头有效一个完整的总线周期中,从内存中读写数据的顺序都是从低字节开始到高字节共16位。上面箭头有效下面箭头有效两个箭头都有效中间两个箭头有效一个完87从偶地址开始读/写一个字AD15~AD0从偶地址开始读写一个字节AD7~AD0从奇地址开始读/写一个字节AD15~AD801AD15~AD810AD7~AD0一个总线周期中,从内存中读写数据的顺序都是从低字节到高字节读共16位。从偶地址开始读/写一个字AD15~AD00882、8086的I/O组织8086系统中对外部设备的端口编址采用了与存储器非统一编址方式,即端口所使用的寻址空间与存储器并不冲突,有专用的输入指令IN和输出指令OUT用于对端口的寻址。外设端口的地址空间为64KB(地址线16位,编址范围0000~FFFFH)两个编址相邻的8位端口可以组成一个16位端口,指令系统中包含了对8位端口和16位端口的输入输出指令。实际上8086中只使用了10位端口地址A9~A0共1KB空间2、8086的I/O组织8086系统中对外部设备的端口编址采89第二章内容回顾第二章内容回顾90CPU执行部件(EU)CPU:运算器、寄存器、控制器以及总线接口部件总线接口部件(BIU)CPU执行部件(EU)CPU:运算器、寄存器、控制器以及总线91寄存器控制器内部总线运算器执行部件(EU)通用寄存器组专用寄存器组标志寄存器内部控制电路(EU)算术逻辑单元(ALU)完成8位或16位算术逻辑运算执行部件:负责指令的执行。寄存器控制器内部总线运算器执行部件(EU)通用寄存器组专用寄921.E4DAH+93FBH=?计算结果并根据结果置FR中各标志位的值。E4DAH+93FBHCF=PF=AF=ZF=SF=OF=2.CPU对可屏蔽中断是否响应取决于哪个标志位的值3.若DF标志位为0,(SI)=0100H,则执行完一次后(SI)=?Exercises:IF0101H1.E4DAH+93FBH=?E4DAHCF=93总线接口部件:负责CPU与存储器、输入/输出设备间数据的传送,包括对存储器读写数据操作、对I/O接口的读写操做以及取指令操作。(1)段寄存器(2)地址加法器(3)指令队列缓冲器(4)输入/输出控制电路(总线控制逻辑)(5)指令指针寄存器(IP)(6)内部暂存器总线接口部件:(1)段寄存器(2)地址加法器(3)指令队列缓941M内存空间需要使用____条地址线8086中对内存采用了

管理方式,以保证能使用16位寄存器寻址1M的地址空间?一个段的大小不能超过____个字节?为什么?什么是内存节?一个内存节有

个字节?物理地址=

+

?Exercises:20段式64K16段地址×16偏移量1M内存空间需要使用____条地址线Exercises:2095执行部件与总线接口部件的管理

什么情况下总线接口部件开始取指令?当EU执行指令过程中需要访问内存或I/O,应该向?申请总线,如何响应?8086微处理器的总线周期

T1:地址周期T2:准备周期T3:数据周期T4:结束周期执行部件与总线接口部件的管理8086微处理器的总线周期968086最小模式下的引脚功能分组记忆:组1-数据/地址复用引脚T1状态下的AD0~AD19(A0~A19)T2、3、4状态下的AD0~AD15(D0~D15)S3~S6(A16~A19)组2-中断引脚不可屏蔽中断NMI可屏蔽中断INTRS5/A17INTA组3-总线保持引脚总线保持请求HOLD总线保持响应HLDA组4-数据传输引脚读写控制RDWRM/IO数据传输允许DEN数据收发方向DT/R其它-GNDVCCMN/MXALETESTREADYRESETBHE/S7与WAIT指令配合使用8086分组记忆:与WAIT指令配合使用972、最小模式下的系统配置2、最小模式下的系统配置982.1.58086的操作和时序8086CPU的主要操作有:系统的复位和启动最小模式下读写总线操作中断操作最小模式下的总线保持2.1.58086的操作和时序8086CPU的主要操作有:99复位操作都包括哪些具体操作?1)所有通用、专用、标志寄存器、ES、DS、SS、指令队列缓冲器及IP都清0,而CS被置为0FFFFH,故复位信号消失后,程序从0FFFF0H(CS×16+IP)处开始执行。(2)所有三态总线变为高阻态,复位操作都包括哪些具体操作?1)所有通用、专用、标志寄存器、100读内存读I/O端口T1状态开始前T1状态:地址状态地址输出高八位地址有效T2状态:准备状态状态输出高阻状态T3状态:数据状态数据输入T4状态:结束读内存读I/O端口T1状态开始前T1状态:地址状态地址1011.十六位数据引脚T2状态时,读周期为高阻态,写周期为数据输出状态.3.DT/R在读周期为低电平,写周期为高电平2.读周期用RD引角,写周期用WR1.十六位数据引脚T2状态时,读3.DT/R在读周期为低电平102中断的分类:不可屏蔽中断可屏蔽中断(1)硬中断(把因外部事件而改变流程的过程叫做硬中断)(2)软中断(因内部意外条件而改变程序执行流程的过程叫做异常,又称内部中断或软中断)区别:软中断的产生与硬件完全没有关系,不具有随机性中断的分类:不可屏蔽中断可屏蔽中断(1)硬中断(把因外部事件103中断向量表与中断服务程序的调入:

中断需根据中断服务程序执行.8086用0段的

内存区存放各种中断的服务程序首地址,这段内存区称为

。0~3FFH中断向量表中断向量表与中断服务程序的调入:0~3FFH中断向量表104

一个中断服务程序首地址占

个字节,共有

个服务程序,每个占

个内存单元,共占

内存空间。

各种中断在中断向量表中的排列序号称为

。中断向量表425641024(1k)中断类型号中断类型号×4

得到相应的中断服务程序首地址的存放单元位置。其中前两个字节放偏移量,后两个字节放段地址。一个中断服务程序首地址占个字节,共105硬中断的响应与处理:当INTR信号有效时,若中断允许标志IF=1,则CPU执行万当前指令后,进入可屏蔽中断响应周期。其响应时序如左图所示:第一个负脉冲第二个负脉冲(将中断类型码送上总线)硬中断的响应与处理:当INTR信号有效时,第一个负脉冲第二个106软中断的响应与处理:

(1)8086CPU软中断的中段类型号是由中断指令本身提供的。这样,CPU对中断类型号是从指令流中直接获得,与可屏蔽中断不同;(2)软中断的响应不受中断允许标志位IF的影响;(3)如果在软中断执行过程中来了硬中断请求,则在当前指令执行完后,响应硬中断。软中断的响应与处理:107过程:(1)每个T状态的上升沿查询HOLD,查到高电平时,在本总线周期后给与响应;(2)向提出总线申请的模块给出应答信号HLDA,让出全部数据/地址总线、状态及控制总线控制权;(3)总线申请模块接到HLDA高电平信号后,即可接管总线;(4)总线操作完成后,将HOLD降为低电平;(5)CPU检测到HOLD为低后,收回总线控制权,HLDA置低。

(注:见书31页)过程:1088086的编址范围是00000H~FFFFFH,共1M字节的空间.物理地址的计算公式如下:

物理地址=段地址×16+偏移量其中段地址16位二进制位(4位16进制位),由:提供.而偏移量则一般由BX(基址寄存器)、BP(基数指针寄存器)、SP(堆栈指针寄存器)、SI(原变址寄存器)、DI(目的变址寄存器)和IP(指令计数器)提供。CS(代码段寄存器):主要用于存放指令.DS(数据段寄存器):主要用于存放操作数.SS(堆栈段寄存器):主要用于存放堆栈内容.ES(附加段寄存器):主要用于存放操作数.8086的编址范围是00000H~FFFFFH,共1M字1098086的存储器结构:8086系统中将1MB的存储空间分成2个512KB的存储体。一个存储体中存放偶数地址;一个存储体中存放奇数地址。用A0

来区分两个存储体。因此对任何一个存储体的访问只需要19位地址码(A19~A1)。8086的存储器结构:8086系统中将1MB的存110存储体与总线的连接A0为0时偶地址存储体有效,读/写低八位数据线!BHE为0时高8位数据线有效,因此奇地址存储体有效存储体与总线的连接A0为0时偶地址存储体有效,读/写低八位数111当传送1个字节的数据时,数据总线上只有8位有用,其余8位忽略。如果从偶地址开始读/写数据总线,忽略高8位,只读低8位;如果从奇地址开始读/写数据总线,忽略低8位,只读高8位。从偶地址开始读/写一个字,数据总线16位全部使用,一次完成。从奇地址开始读/写一个字,使用两个总线周期。第一个周期,忽略低8位,读/写高8位;第二个周期,忽略高8位,读/写低8位。当传送1个字节的数据时,数据总线上只有8位有用,其余8位忽略112第二章习题第二章习题1131.E4DAH+93FBH=?计算结果并根据结果置FR中各标志位的值。E4DAH+93FBHCF=PF=AF=ZF=SF=OF=2.CPU对可屏蔽中断是否响应取决于哪个标志位的值3.若DF标志位为0,(SI)=0100H,则执行完一次后(SI)=?Exercises:1.E4DAH+93FBH=?E4DAHCF=1141M内存空间需要使用____条地址线8086中对内存采用了

管理方式,以保证能使用16位寄存器寻址1M的地址空间?一个段的大小不能超过____个字节?为什么?什么是内存节?一个内存节有

个字节?物理地址=

+

?Exercises:1M内存空间需要使用____条地址线Exercises:115Exercises:可用来存放偏移地址的寄存器有哪些?,其中只能与CS段对应的是______,只能与堆栈段SS对应的是______我们所编写的程序代码存放在内存单元的什么段中?若我们要从其中取出指令:ADDAX,3246H,则该指令所在的物理地址该如何寻找?若一条非转移指令的长度为2个字节,在代码段中的偏移地址为42D4H,则该指令执行后的IP值为_______若给定某个单元的物理地址是3A224H,而该单元对应的偏移地址是2344H,则该内存单元所在段的段地址是_______若某个内存单元的物理地址是86488H,不同情况下所在的段地址分别是8250H和7800H,则其所对应的偏移地址分别是_______和______。该物理地址能否属于7548H的段中?EU和BIU之间如何配合工作?EU在执行过程中从寄存器中获得数据比从存储器中获得数据快()IPBPSPCS:段地址;IP:偏移量42D6H(3A224H–2344H)/16=37EEH3F88HE488H86488H–75480H=11008H>FFFFH不能对Exercises:可用来存放偏移地址的寄存器有哪些?,其中116什么是时钟周期、总线周期和指令周期?一个总线周期至少由4个时钟周期组成。()一个指令周期中往往包含多个总线周期。()指令周期中对取指令周期和执行周期的划分主要是根据EU和BIU各自的

温馨提示

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

评论

0/150

提交评论