




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章
80X86微处理器HenanUniversityofTechnology引言微处理器是微机的核心部件;尽管后来的PC机的微处理器的功能和结构变化很大,但从基本概念、结构和指令格式上来说,仍然是8086/8088的延续和提高;因此,我们重点讲解8086/8088CPU的结构。内容提要
80X86微处理器简介
8086/8088微处理器
8086/8088存储器和I/O组织§3.180X86微处理器简介几个概念集成度是指CPU芯片中所包含的晶体管数主频是指芯片所使用的主时钟频率,它直接影响计算机的运行速度数据总线是计算机中各个组成部件间进行数据传送时的公共通道内数据总线宽度是指CPU芯片内部数据传送的宽度(位数)外数据总线宽度是指CPU与外部交换数据时的数据宽度。地址总线是在对存储器或I/O端口进行访问时,传送由CPU提供的要访问的存储单元或I/O端口的地址信息的总线,其宽度决定了处理器能直接访问的主存容量大小为了满足微型计算机对存储器系统高速度、大容量、低成本的要求,目前,微型计算机系统采用三级存储器组织结构。当前正在执行的程序或要使用的数据必须从外存调入主存后才能被CPU读取并执行。
Cache是面向CPU的存储器,用来存放CPU比较频繁访问的数据和代码。高速缓冲存储器(Cache)
微处理器CPU
主存储器(主存)
外存储器(外存)Cache的最大特点是存取速度快,但容量较小,将当前使用频率较高的程序和数据通过一定的替换机制从主存放入Cache,CPU在取指令或读取操作数时,同时对Cache和主存进行访问,如果Cache命中,则终止对主存的访问,直接从Cache中将指令或数据送CPU处理,由于Cache的速度比主存快得多,因此,Cache的使用大大提高了CPU读取指令或数据的速度。80386之前的CPU都没有Cache。80386CPU内无Cache,而由与之配套使用的Intel82385Cache控制器实现CPU之外的Cache管理。80486之后的CPU芯片内部都集成了一至多个Cache。内容提要
80X86微处理器简介
8086/8088微处理器
8086/8088存储器和I/O组织§3.2
8086/8088微处理器InteL8086CPU
16位微处理器,外型为双列直插式,有40个引脚;
时钟频率有3种:8086型微处理器为5MHz,8086—2型为8MHz,8086—1型为10MHz;
8086CPU有16根数据线和20根地址线,直接寻址空间为220,即为1M字节。有64个I/O端口。
8088CPU内部结构与8086基本相同(但对外数据总线只有8条,称为准16位微处理器)。8086的内部结构内部暂存器
IP
ES
SS
DS
CS输入/输出控制电路外部总线执行部分控制电路∑ALU标志寄存器
AHAL
BHBLCHCL
DHDL
SP
BP
SI
DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位16位返回123456§3.2
8086/8088微处理器一、8086/8088内部结构8086的内部结构从功能分成两个单元总线接口单元BIU(BusInterfaceUnit)——管理8086与系统总线的接口,负责CPU对存储器和外设进行访问执行单元EU(ExecutionUnit)——负责指令的译码、执行和数据的运算两个单元相互独立,分别完成各自操作两个单元可以并行执行,实现指令取指和执行的流水线操作§3.2
8086/8088微处理器一、8086/8088内部结构执行单元EU功能:执行指令包括以下部件:
算术逻辑单元(ALU)
8个通用寄存器
1个标志寄存器
EU控制电路从指令队列中取出指令译码在ALU中完成数据运算保存运算结果,并把特征保存在标志寄存器FLAGS中§3.2
8086/8088微处理器一、8086/8088内部结构总线接口单元BIU包括以下部件:
20位的地址加法器4个段寄存器1个指令地址寄存器(指令指针寄存器)1个暂存寄存器总线接口逻辑电路6(4)字节的指令队列功能:物理地址形成、取指令、指令排队、读/写操作数、总线控制。内部暂存器
IP
ES
SS
DS
CS输入/输出控制电路外部总线∑地址加法器指令队列总线接口部件(BIU)20位8位16位123456§3.2
8086/8088微处理器一、8086/8088内部结构
BIU和EU作为CPU的两大部件,虽然不是同步工作的,但是它们相互配合,并行工作,提高了效率。1、EU和BIU的操作原则
传统的CPU执行指令的过程是:取指令->执行指令->再取指令->……,串行执行。
8086是把“取指令”和“执行指令”分别由BIU和EU两个部件来完成。当EU正在执行指令时,BIU可以从内存中取出指令字节,放在指令队列中。这样,使得“取指令”和“执行指令”的操作在时间上是并行的。举例串行执行方式早期的CPU:执行指令采用串行执行方式注意两点:1)CPU访问内存(存取数据或指令)时要等待总线操作的完成2)CPU执行指令时总线和内存处于空闲状态缺点:CPU和总线/内存不能同时运行——效率?解决:总线空闲时预取指令,使CPU需要指令时能立刻得到取数据1执行1取数据2CPU总线和内存忙碌存结果1忙碌取指令2忙碌忙碌执行2…译码1取指令1忙碌译码2存结果2忙碌空闲空闲空闲空闲空闲空闲空闲空闲空闲空闲空闲§3.2
8086/8088微处理器二、8086/8088寄存器结构1.寄存器的作用:存放运算过程中所需要的操作数地址、操作数及中间结果。3.寄存器的分类:2.寄存器的特点:存取速度比存储器快得多。
通用寄存器组
指针和变址寄存器
段寄存器
指令指针及标志位寄存器。§3.2
8086/8088微处理器二、8086/8088寄存器结构数据寄存器:AX、BX、CX、DX共4个,它们即是16位寄存器,每个寄存器又可以分开当作两个8位寄存器使用:AXAH,ALBXBH,BLCXCH,CLDXDH,DL这4个寄存器的一般用途是存放参与运算的操作数或运算结果。除此之外,它们也有一些习惯用法。AHALBHBLCHCLDHDL§3.2
8086/8088微处理器二、8086/8088寄存器结构1、通用寄存器§3.2
8086/8088微处理器二、8086/8088寄存器结构
数据寄存器特有的习惯用法AX:累加器。用于存放中间运算结果。最常用。BX:基址寄存器。在访问内存时,用于存放内存单元的偏移地址(寄存器间接寻址);CX:计数寄存器。用于在循环指令中存放循环或重复次数;DX:数据寄存器。可存放一般数据,还用于在32位乘除法运算时,存放数据的高16位,AX低16位;I/O指令中存放I/O端口地址。§3.2
8086/8088微处理器二、8086/8088寄存器结构地址指针寄存器:SP、BPSP(StackPointer):堆栈指针寄存器,其内容为堆栈栈顶单元的偏移地址。BP(BasePointer):基址指针寄存器,常用于存放堆栈内的偏移地址。这两个寄存器都默认与堆栈段寄存器(SS)联合使用§3.2
8086/8088微处理器二、8086/8088寄存器结构
两个基址寄存器:BX与BP在应用上的区别作为通用寄存器:
二者均可用于存放操作数,参与各种运算。作为基址寄存器,在默认情况下:
BX用于寻址数据段(即存放数据段的偏移地址);
BP用于寻址堆栈段(即存放堆栈段的偏移地址)。与段寄存器的搭配使用时,在默认情况下:
BX与数据段寄存器DS搭配使用;
BP与堆栈段寄存器SS搭配使用。§3.2
8086/8088微处理器二、8086/8088寄存器结构变址寄存器:SI、DISI:源变址寄存器(SourceIndex)DI:目标变址寄存器(DestinationIndex)字符串操作指令中,SI存放源操作数的偏移地址,DI存放目标操作数的偏移地址。§3.2
8086/8088微处理器二、8086/8088寄存器结构2、段寄存器段寄存器:CS、DS、ES、SSCS(CodeSegment),代码段寄存器中存放程序代码段起始地址的高16位。DS(DataSegment),数据段寄存器中存放数据段起始地址的高16位。SS(StackSegment),堆栈段寄存器中存放堆栈段起始地址的高16位ES(ExtendedSegment),扩展段寄存器中存放扩展数据段起始地址的高16位。§3.2
8086/8088微处理器20位地址加法器一个存储单元具有两种地址属性:物理地址和逻辑地址。物理地址8086/8088:20根地址线,可寻址220(1MB)个存储单元CPU送到AB上的20位地址称为物理地址
8086/8088存储空间内部暂存器
IP
ES
SS
DS
CS输入/输出控制电路外部总线∑地址加法器指令队列总线接口部件(BIU)20位8位16位123456物理地址..60000H60001H60002H60003H60004H...存储器的操作完全基于物理地址。8088/8086的地址总线宽度为20位,所以访问内存时必须指定一个20位的地址。问题:8088/8086的内部总线和内部寄存器均为16位,如何指定20位地址?解决:存储器分段39HF0H00H12H§3.2
8086/8088微处理器8086/8088存储空间
存储器分段低地址高地址段基址段基址段基址段基址最大64KB,最小16B段i-1段i段i+1把内存分为若干个不大于64KB的段,则访问时只要指定16位的段基址(段号)和16位的段内偏移量即可。§3.2
8086/8088微处理器8086/8088存储空间§3.38086/8088存储器和I/O组织
存储的段结构8086对逻辑段的要求是:只能从模16地址开始一个段,即段地址低4位均为0,为xxxx0H形式;省略最低四位0,即可用16位的段寄存器存储。每段最大不超过64KB。8086对每个段不要求必须是64KB,不要求各段之间完全分开、即可以重叠。1MB空间最多能分成多少个段?1MB空间最少能分成多少个段?§3.38086/8088存储器和I/O组织
存储的段结构1MB空间最多能分成多少个逻辑段? 每隔16个存储单元就可以开始一个段,所以1MB最多可以有:220÷16=216=64K个段1MB空间最少能分成多少个逻辑段? 每隔64K个存储单元开始一个段,所以1MB最少可以有:220÷216=16
个段§3.38086/8088存储器和I/O组织
存储的段结构逻辑地址由两个16位数构成,其形式为:段的起始地址:段内的偏移地址(16位段地址):(16位偏移量)分隔符物理地址14700H逻辑地址1460H:100H地址加法器
将16位的逻辑地址转换为20位的物理地址,具体操作过程为:先将段寄存器提供的16位段地址左移四位,低位补0,恢复为20位地址,然后与由各种寻址方式提供的16位偏移地址相加,即得到20位的物理地址。§3.38086/8088存储器和I/O组织
存储的段结构物理地址:20位逻辑地址:段基址(段寄存器的内容)16位偏移地址(字节距离)16位段基址16位偏移地址16位物理地址20位0000+§3.28086/8088微处理器二、8086/8088寄存器结构3、控制寄存器控制寄存器:IP、FLAGSIP:指令指针寄存器,其内容为下一条要执行的指令的偏移地址FLAGS:标志寄存器(状态/控制标志)16位寄存器,只用其中的9位,对应9个标志状态标志:存放运算结果的特征(6个:CF,SF,AF,PF,OF,ZF)控制标志:控制某些特殊操作(3个:IF,TF,DF)§3.28086/8088微处理器二、8086/8088寄存器结构
CF(CarrvFlag):进位标志位。最高位有进位或借位时,CF=1。
PF(ParityFlag):奇偶校验标志位
运算结果低8位中有偶数个“1”时,PF=1;
有奇数个“1”时,PF=0。
AF(AuxiliaryFlag):辅助进位标志位。低字节的低4位向高4位进位或借位时,AF=1。(BCD数运算)
ZF(ZeroFlag):全零标志位。运算结果为0时,ZF=1,否则ZF=0。
SF(SignFlag):符号标志位。运算结果为正时,SF=1,否则SF=0。
OF(OverflowFlag):溢出标志位。运算过程中产生溢出时,OF=1。
对带符号数,字节运算结果的范围为-128~+127,字运算结果的范围为-32768~+32767,超过此范围为溢出。§3.28086/8088微处理器二、8086/8088寄存器结构
TF(TrapFlag):单步标志位。TF=1时,则每执行完一条指令,就自动产生一次内部中断,使用户能逐条跟踪程序进行调试。IF(InterruptFlag):中断标志位IF=1时,允许CPU响应可屏蔽中断;
IF=0时,即使外部设备有中断申请,CPU也不响应。
DF(DirectionFlag):方向标志位。控制串操作中地址指针变化方向,DF=0,地址指针自动增量,即由低地址向高地址进行串操作;
DF=1,地址指针自动减量,即由高地址向低地址进行串操作。同时,能够反映除符号位外的数值部分最高位的进位状态。是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。
进位:是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。
溢出:溢出及其判断方法CF—符号位进位状态当符号位向前有进位时,CF=1否则,CF=0;
当该位向前有进位时,DF=1否则,DF=0。
DF—数值部分最高位的进位状态OF=1,说明结果溢出;OF=0,则结果未溢出;
四、8086/8088引脚及其功能§3.28086/8088微处理器说明:1、符号/,(),*2、引脚号12345678910111213141516171819204039383736353433323130292827262524232221
GND
AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15AD16/S3AD17/S4AD18/S5AD19/S6BHE*/S7MN/MX*RD*HOLD(RQ*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M/IO*(S2*
)DT/R*(S1*
)DEN*(S0*
)ALE(QS0)INTA*(QS1)TEST*READYRESET8086外部特性表现在其引脚信号上,要特别注意:引脚功能——指引脚信号的定义、作用;通常采用英文单词或其缩写表示信号流向——输出?输入?双向?有效方式——高/低电平;上升/下降沿有效(触发)三态能力——低电平、高、高阻
就是从端点量去,对电源端呈现非常高的阻抗值,这时流经的电流非常小,可判定为断路(CPU不再控制该引脚)四、8086/8088引脚及其功能§3.28086/8088微处理器§3.28086/8088微处理器四、8086/8088引脚及其功能1.8086/8088CPU芯片:包括16条数据线、20条地址线(低16位和数据线复用)、17根控制线、电源和地线。
概述2.8086/8088的工作模式:最小模式(单机系统):系统中所需要的控制信号全部由8086直接提供;最大模式(多处理机系统):系统中所需要的控制信号由总线控制器8288提供。24~31脚的8条引脚在两种工作模式中具有不同的功能。8088外形四、8086/8088引脚及其功能§3.28086/8088微处理器引脚信号的表示方法8086/8088的两种组态模式最小组态模式构成小规模的应用系统8088本身提供所有的系统总线信号最大组态模式构成较大规模的应用系统,例如可以接入数值协处理器8087,或构成多CPU系统;8088和总线控制器8288共同形成系统总线信号多CPU系统还用到输入输出协处理器8089和总线仲裁器8289两种组态构成两种不同规模的应用系统33脚:MN/MX§3.28086/8088微处理器(Minimum/Maximum)最小组态的引脚信号数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚 §3.28086/8088微处理器四、8086引脚及其功能1.数据和地址引脚AD15~AD0(Address/Data)地址/数据分时复用引脚,双向、三态在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低16位地址A15~A0其他时间用于传送16位数据D15~D0
§3.28086/8088微处理器最小组态的引脚信号A19/S6~A16/S3(Address/Status)地址/状态分时复用引脚,输出、三态这些引脚在访问存储器的第一个时钟周期输出高4位地址A19~A16在访问外设的第一个时钟周期全部输出低电平无效其他时间输出状态信号S6~S31.数据和地址引脚(续)§3.28086/8088微处理器最小组态的引脚信号S6=0,表明8086当前连在总线上;
S5=0,禁止一切可屏蔽中断;
S5=1,允许可屏蔽中断;
S4S3:指示当前正在使用哪一个段寄存器?ALE(AddressLatchEnable)地址锁存允许,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:AD15~AD0和A19/S6~A16/S3正在传送地址信息由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来2.读写控制引脚§3.28086/8088微处理器最小组态的引脚信号IO/M*(InputandOutput/Memory)I/O或存储器访问,输出、三态该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O口地址该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址2.读写控制引脚(续1)最小组态的引脚信号§3.28086/8088微处理器WR*(Write)写控制,输出、三态、低电平有效有效时,表示CPU正在写出数据给存储器或I/O端口RD*(Read)读控制,输出、三态、低电平有效有效时,表示CPU正在从存储器或I/O端口读入数据2.读写控制引脚(续2)最小组态的引脚信号§3.28086/8088微处理器IO/M*、WR*和RD*是最基本的控制信号组合后,控制4种基本的总线周期总线周期IO/M*WR*RD*存储器读低高低存储器写低低高I/O读高高低I/O写高低高2.读写控制引脚(续3)最小组态的引脚信号§3.28086/8088微处理器READY
存储器或I/O口就绪,输入、高电平有效在总线操作周期中,8086CPU会在第3个时钟周期的前沿测试该引脚
如果测到高有效,CPU直接进入第4个时钟周期
如果测到无效,CPU将插入等待周期TwCPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。2.读写控制引脚(续4)最小组态的引脚信号§3.28086/8088微处理器总线周期DEN*(DataEnable)数据允许,输出、三态、低电平有效有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动DT/R*(DataTransmit/Receive)数据发送/接收,输出、三态该信号表明当前总线上数据的流向高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收)2.读写控制引脚(续5)最小组态的引脚信号§3.28086/8088微处理器BHE*/S7(BusHighEnable/Status),8088没有高8位数据总线允许/状态信号。三态、输出、低电平有效16位数据传送时,在T1状态,用BHE*指出高8位数据总线上数据有效,用AD0地址线指出低8位数据线上数据有效。见P44表3.5在T2-T4状态,S7输出状态信息(在8086芯片设计中,S7末赋于实际意义,作为备用),被置成高阻状态。2.读写控制引脚(续6)最小组态的引脚信号§3.28086/8088微处理器表3.5BHE与地址引脚A0编码的含义A0数据总线的使用情况0011010116位字传送(偶地址开始的两个存储器单元的内容)在数据总线高8位(D15D8)和奇地址单元间进行字节传送在数据总线低8位(D7D0)和偶地址单元间进行字节传送无效INTR(InterruptRequest)可屏蔽中断请求,输入、高电平有效有效时,表示请求设备向CPU申请可屏蔽中断若IF=1,当前指令执行完毕后立即响应中断,转去执行相应中断服务程序若IF=0,?可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽3.中断请求和响应引脚最小组态的引脚信号§3.28086/8088微处理器INTA*(InterruptAcknowledge)可屏蔽中断响应,输出、低电平有效有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期INTA*实际上发出两个连续的负脉冲信号,第一个负脉冲通知外设接口,它发出的中断请求已被允许;外设接口接到第2个负脉冲后,将中断类型号放到数据总线上,以便CPU根据中断类型号到内存的中断向量表中找出对应中断的中断服务程序入口地址,从而转去执行中断服务程序。3.中断请求和响应引脚(续1)最小组态的引脚信号§3.28086/8088微处理器NMI(Non-MaskableInterrupt)不可屏蔽中断请求,输入、上升沿有效有效时,表示外界向CPU申请不可屏蔽中断该请求的优先级别高于INTR,并且不能在CPU内被屏蔽当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务主机与外设进行数据交换通常采用可屏蔽中断不可屏蔽中断通常用于处理掉电等系统故障3.中断请求和响应引脚(续2)最小组态的引脚信号§3.28086/8088微处理器HOLD总线保持(即总线请求),输入、高电平有效有效时,表示总线请求设备向CPU申请占有总线该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权DMA控制器等主控设备通过HOLD申请占用系统总线(通常由CPU控制)4.总线请求和响应引脚最小组态的引脚信号§3.28086/8088微处理器HLDA(HOLDAcknowledge)总线保持响应(即总线响应),输出、高电平有效有效时,表示CPU已响应总线请求并已将总线释放此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权4.总线请求和响应引脚(续1)最小组态的引脚信号§3.28086/8088微处理器RESET复位请求,输入、高电平有效该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作8086复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H5.其它引脚最小组态的引脚信号§3.28086/8088微处理器表3.4复位后内部寄存器的状态
内部寄存器状态标志寄存器IPCSDSSSES指令队列缓冲器其余寄存器0000H0000HFFFFH0000H0000H0000H空0000HCLK(Clock)时钟输入系统通过该引脚给CPU提供内部定时信号。8086的标准工作时钟为5MHzIBMPC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns5.其它引脚(续1)最小组态的引脚信号§3.28086/8088微处理器Vcc电源输入,向CPU提供+5V电源GND接地,向CPU提供参考地电平5.其它引脚(续2)最小组态的引脚信号§3.28086/8088微处理器TEST*测试,输入、低电平有效该引脚与WAIT指令配合使用当CPU执行WAIT指令时,每隔5个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行也就是说,WAIT指令使CPU产生等待,直到引脚有效为止在使用协处理器8087时,通过引脚和WAIT指令,可使8086与8087的操作保持同步5.其它引脚(续3)最小组态的引脚信号§3.28086/8088微处理器CPU引脚是系统总线的基本信号可以分成三类信号:16位数据线:D0~D1520位地址线:A0~A19控制线:
ALE、IO/M*、WR*、RD*、READY
INTR、INTA*、NMI,HOLD、HLDA
RESET、CLK、Vcc、GND有问题!“引脚”小结§3.28086/8088微处理器提问之一:CPU引脚是如何与外部连接的呢?
解答:总线形成提问之二:CPU引脚是如何相互配合,实现总线操作、控制系统工作的呢?解答:总线时序(第3.3.3节)“引脚”提问§3.28086/8088微处理器最小组态的总线形成§3.28086/8088微处理器(1)20位地址总线——采用3个三态透明锁存器8282进行锁存和驱动(2)16位数据总线——采用数据收发器8286进行驱动(3)系统控制信号——由8086引脚直接提供图3.88086最小方式系统结构BHEOET地址信息只在第一个时钟周期出现,过去就没了。因此,必须将地址信息暂存起来,才能在总线周期的后续时钟周期读取存储器或外设信息。锁存器可当此任。(1)地址总线形成——锁存器8282采用3个8282进行锁存和驱动Intel8282是三态、透明锁存器Intel8282具有三态输出的透明锁存器TTL工作电平,8入8出STB
锁存控制,高电平有效OE*
输出允许每一位都是一个三态锁存器,8个三态锁存器的控制端连在一起Transistor-TransistorLogicstrobe,闸门outputenable*三态输出:输出控制信号有效时,允许数据输出,DO端可以是高或低电平;无效时,不允许数据输出,输出呈高阻状态透明?锁存器的输出能够跟随输入端的变化而变化(STB端有效时)。8位双向缓冲器,用来控制数据收发控制端连接在一起,低电平有效可以双向导通输出与输入同相OE*=0,导通
T=1A→BT=0A←BOE*=1,不导通每一位都是一个双向三态门,8位具有共同的控制端
Intel8286*(2)数据总线的形成—数据收发器8286图3.88086最小方式系统结构BHEOET系统总线信号AD7~AD0A15~A8A19/S6~A16/S3+5V8088ALE8282STB8282STB8282STB8286T-OEMN/-MXIO/-M-RD-WRDT/-R-DEN-OE-OE-OEA19~A16A15~A8A7~A0D7~D0IO/-M-RD-WR§3.28086/8088微处理器最大组态的总线形成⑴系统地址总线采用三态透明锁存器8282锁存⑵系统数据总线通过三态双向缓冲器8286形成和驱动⑶系统控制总线主要由总线控制器8288形成MEMR*、MEMW*、IOR*、IOW*、INTA*最大组态的总线形成8086的数据/地址等引脚在最大组态与最小组态时相同有些控制信号不相同,主要是用于输出操作编码信号,由总线控制器8288译码产生系统控制信号:S2*、S1*、S0*——3个状态信号LOCK*——总线封锁信号QS1、QS0——指令队列状态信号RQ*/GT0*、RQ*/GT1*——2个总线请求/同意信号§3.28086/8088微处理器最大组态的引脚定义S2*、S1*、S0*的编码意义S2*S1*S0*CPU的工作状态
000中断响应
001
I/O读
010
I/O写
011暂停
100取指
101存储器读
110存储器写
111过渡状态T3或Tw状态检测到ready信号为高电平时的短暂状态§3.28086/8088微处理器最大组态的引脚定义当LOCK*为低电平时,系统中其他总线主设备就不能获得总线的控制权而占用总线。DMA(DirectMemoryAccess)期间,为高阻态。
LOCK*(Lock):引脚29,总线封锁信号,输出QS1、QS0(InstructionQueueStatus):引脚24、25,指令队列状态信号QS1QS0含义00110101无操作从指令队列的第一字节中取走代码队列为空除第一字节外,还取走了后续字节中的代码§3.28086/8088微处理器最大组态的引脚定义RQ*/GT1*、RQ*/GT0*(Request/Grant):引脚30、31,总线请求信号(输入)/总线请求允许信号(输出)。可供8086以外的2个总线主设备向8086发出使用总线的请求信号RQ(相当于最小方式时的HOLD信号);8086在当前总线周期结束后让出总线,发出总线请求允许信号GT(相当于最小方式的HLDA信号),此时,外部总线主设备便获得了总线的控制权;RQ/GT0比RQ/GT1的优先级高。8288提供的其它控制信号MRDC*(MemoryReadCommand)MWTC*
(MemoryWriteCommand)IORC*(I/OReadCommand)IOWC*(I/OWriteCommand)INTAAMWC:ADVANCEDMEMORYWRITECOMMAND,提前存储器写,AMWC比MWTC约提前一个时钟周期,功能一样
AIOWC:提前IO写§3.28086/8088微处理器最大组态的引脚定义内容提要
80X86微处理器简介
8086/8088微处理器
8086/8088存储器和I/O组织§3.38086/8088存储器和I/O组织8086/8088存储空间存储器是计算机存储信息的地方。掌握数据存储格式,以及存储器的分段管理对以后的汇编程序设计非常重要你能区别寄存器、存储器(主存)、外存(包括硬盘、光盘、磁带等存储介质)吗?§3.38086/8088存储器和I/O组织8086/8088存储空间寄存器、内存储器和外存储器的区别寄存器是微处理器(CPU)内部暂存数据的存储单元,以名称表示,例如:AX,BX..….等存储器也就是平时所说的主存,也叫内存,可直接与CPU进行数据交换。主存利用地址区别外存主要指用来长久保存数据的外部存储介质,常见的有硬盘、光盘、磁带、U盘等。外存的数据只能通过主存间接地与CPU交换数据程序及其数据可以长久存放在外存,在运行需要时才进入主存§3.38086/8088存储器和I/O组织8086/8088存储空间数据的存储格式计算机中表示信息的单位有:位(bit)、字节(byte)、字(word)、双字(doubleword)等在存储器中,信息的存储单位是:字节;即每个存储单元的内容是一个字节。最低有效位LSB(LeastSignificantBit):指数据的最低位,即D0位;最高有效位MSB(MostSignificantBit):指数据的最高位,对应字节、字、双字分别指D7、D15、D31位。双字D0D31字D0D15字节D0D7LSBMSB§3.38086/8088存储器和I/O组织8086/8088存储空间存储单元及其存储内容每个存储单元都有一个编号——存储器地址例如:右图中,0002H单元存放有一个数据34H,表示为[0002H]=34H如何存储一个字或双字呢?00000H00001H00002H00003H00004H00005H34H12H56H78H00006HD7D0低地址小端方式§3.38086/8088存储器和I/O组织8086/8088存储空间00000H00001H00002H00003H00004H00005H34H12H56H78H00006HD7D0低地址多字节数据在存储器中占据多个连续的存储单元:存放时,低字节存于低地址,高字节存于高地址;多字节数据占据的地址空间用它的低地址来表示。2号“字”单元: [0002H]=1234H2号“双字”单元: [0002H]=78561234H8086/8088处理器的“低对低、高对高”的存储形式,被称为“小端方式(littleendian)”。存储器的分段管理逻辑地址的表示——段地址:偏移地址地址偏移量(xxxxH)段首(xxxx0H)低址段尾某逻辑段某寻址单元§3.38086/8088存储器和I/O组织
存储的段结构段地址说明逻辑段在存储器中的起始位置,为模16地址:xxxx0H,省略低4位后,可用1个16位数来表示,该地址可被存放在不同的段寄存器CS/SS/DS/ES中。偏移地址说明寻址单元距离段首的偏移量,因每段长度不超过64KB,所以偏移地址也可用1个16位数来表示。一个存储单元可以拥有多个逻辑地址,但只可能拥有一个唯一的物理地址。逻辑地址 1460:100、1380:F00物理地址 14700H14700H§3.38086/8088存储器和I/O组织
存储的段结构程序的指令序列必须安排在代码段(CS);程序使用的堆栈一定在堆栈段(SS);程序中的数据默认是安排在数据段(DS),也经常安排在附加段(ES),尤其是串操作的目的区必须是附加段。数据的存放比较灵活,实际上可以存放在任何一种逻辑段中。
程序中如何指明数据所在的逻辑段呢?如何分配各个逻辑段?没有指明时,一般的数据访问在DS段;若使用BP访问存储器,则在SS段。各逻辑段容量小于或等于64KB,可相互独立,也可重叠。各个逻辑段独立的实例各个逻辑段重叠的实例例:已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF4H,
DS所指示的段有一操作数,其偏移地址=0204H。1)画出各段在内存中的分布。
2)指出各段的物理起始地址。
3)该操作数的物理地址=?10550H250A0H2EF00H8FF40HCSSSDSES解:自己画操作数的物理地址为:250AH×10H+0204H=252A4H存储的段结构§3.38086/8088存储器和I/O组织§3.38086/8088存储器和I/O组织8086存储器的分体结构实际上,8086的1MB存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。§3.38086/8088存储器和I/O组织8086存储器的分体结构图3.138086存储器高低位库的连接§3.38086/8088存储器和I/O组织8086存储器的分体结构8086存储器高低库位选择§3.38086/8088存储器和I/O组织8086存储器的分体结构
分体结构读写操作8086CPU访问存储器时,对于字节型数据,无论它存放在偶地址的低位库,还是奇地址的高位库,均可通过一个总线周期完成数据的读/写操作。从偶地址读一个字节从奇地址读一个字节§3.38086/8088存储器和I/O组织8086存储器的分体结构若字单元地址从偶地址开始,只需访问一次存储器(规则存放)从偶地址读一个字若字单元地址从奇地址开始,需访问两次存储器(不规则存放)从奇地址读一个字字型数据尽量规则存放
8086/8088系统和外部设备之间是通过I/O接口电路来联系的。每个I/O接口都有一个或几个端口。在微机系统中每个端口分配一个地址号,称为端口地址。一个端口通常为I/O接口电路内部的一个寄存器或一组寄存器。8086/8088的I/O组织
8086/8088CPU用地址总线的低16位作为对8位I/O端口的寻址线,所以8086/8088系统可访问的8位I/O端口有65536(64K)个。两个编号相邻的8位端口可以组成一个16位的端口。一个8位的I/O设备既可以连接在数据总线的高8位上,也可以连接到数据总线的低8位上。8086/8088的I/O组织需要说明的是,8086/8088CPU的I/O指令可以用16位的有效地址A15A0来寻址0000FFFFH共64K个端口,但IBMPC系统中只使用了A9A010位地址来作为I/O端口的寻址信号,因此,其I/O端口的地址仅为0003FFH共1K个。8086/8088的I/O组织§3.38086/8088存储器和I/O组织
堆栈操作1.堆栈的定义堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据。2.堆栈段构成及特点堆栈段由段定义语句在存储器中定义的一个段,段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定,SP指向当前栈顶单元。§3.38086/8088存储器和I/O组织
堆栈操作3.堆栈的工作方式及特点①工作方式:“先进后出”,指令为PUSH、POP,栈顶指针SP的变化由CPU自动管理。②操作特点:以字为单位进行操作,每访问一次堆栈就能压入/弹出一个字。③地址增长方式一般是向上增长:栈底设在存储器的高地址区,堆栈地址由高向低增长。§3.38086/8088存储器和I/O组织
堆栈操作执行PUSH指令时,CPU自动修改指针SP-2SP。使SP指向新栈顶,然后将低位数据压入(SP)单元,高位数据压入(SP+1)单元。当执行POP指令时,CPU先将当前栈顶SP(低位数据)和SP+1(高位数据)中的内容弹出,然后再自动修改指针,使SP+2SP,SP指向新栈顶。【注意】:先进入的内容要后弹出,PUSH和POP指令要成对。§3.38086/8088存储器和I/O组织
堆栈操作【例】.假如当前SS=C000H,SP=1000H,若AX=3322H,BX=1100H,CX=6655H,执行指令PUSHAX,PUSHBX,再执行指令POPCX,此时堆栈中内容发生什么变化,AX,BX,CX中的内容是什么?8086微处理器时序§3.38086/8088存储器和I/O组织时序(Timing)描述各信号随时间变化的规律及信号间相互关系。总线时序描述总线操作中相关信号的时序;它由总线主控设备产生。总线时序决定了CPU控制总线期间,系统各部件应遵守的定时规则。总线操作是指CPU通过总线对外进行的各种操作什么是总线操作?8086微处理器时序§3.38086/8088存储器和I/O组织总线周期(BusCycle)是指CPU通过总线与外部(存储器或I/O端口)进行一次数据交换的过程,即完成一次总线操作的时间;指令周期?
是指一条指令经取指、译码、操作数读写直到指令完成所需要的时间。通常需要一个或多个总线周期:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工程造价专员资格试题及答案
- 2025年血型分析仪器试剂合作协议书
- 室内拆墙施工方案
- 检修环保施工方案
- 创业指导导师合同3篇
- 医院药材采购合同3篇
- 代销商协议书3篇
- 劳动合同期限是多长时间3篇
- 代签委托书在证券交易中的应用3篇
- 安全宣传我行动2篇
- 项目部施工管理实施计划编制任务分工表
- 【2021部编版语文】-三年级下册第七单元教材解读--PPT课件
- 橙色黑板风小学生知识产权科普PPT模板
- 电网公司变电设备带电水冲洗作业实施细则
- 中国供销合作社标识使用手册课件
- Q∕CR 9218-2015 铁路隧道监控量测技术规程
- 甲状腺解剖及正常超声切面ppt课件
- 上海市城市地下空间建设用地审批及房地产登记试行规定
- 蠕墨铸铁项目可行性研究报告写作范文
- “V”法铸造工艺及应用
- 高二年级学业水平考试备考实施方案
评论
0/150
提交评论