CPU结构详解实用_第1页
CPU结构详解实用_第2页
CPU结构详解实用_第3页
CPU结构详解实用_第4页
CPU结构详解实用_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

会计学1CPU结构详解实用第2章8086CPU结构2.18086微处理器内部基本结构2.28086总线的工作周期2.38086微处理器外部基本引脚与工作模式2.48086微处理器的存储器组织2.48086微处理器的存储器组织2.6Intel80X86系列微处理器简介2.7例题解析第1页/共97页2.18086微处理器内部基本结构2.1.18086CPU的内部结构

8088的内部结构从功能分成两个单元总线接口单元BIU——管理8088与系统总线的接口,负责CPU对存储器和外设进行访问执行单元EU——负责指令的译码、执行和数据的运算两个单元相互独立,分别完成各自操作两个单元可以并行执行,实现指令取指和执行的流水线操作第2页/共97页8088的内部结构1234内部暂存器

IP

ES

SSDSCS控制电路外部总线控制电路∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位8位段寄存器第3页/共97页1.执行部件⑴EU的组成①算术逻辑运算单元它是1个16位的运算器,可用于8位、16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器所需的16位偏移量。②通用寄存器组它包括4个16位的数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。③标志寄存器它是1个16位的寄存器,用来反映CPU运算的状态特征和存放某些控制标志。④数据暂它协助ALU完成运算,暂存参加运算的数据。⑤EU控制电路它负责从BIU的指令队列缓冲器中取指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令,以完成各条指令规定的功能。第4页/共97页2.总线接口部件⑴BIU的组成总线接口单元BIU由1个20位地址加法器、4个16位段寄存器、1个16位指令指针IP、指令队列缓冲器和总线控制逻辑电路等组成。8086的指令队列由6个字节构成。①地址加法器和段寄存器地址加法器将16位的段寄存器内容左移4位,与16位偏移地址相加,形成20位的物理地址。②16位指令指针IP

指令指针IP用来存放下一条要执行指令在代码段中的偏移地址。③指令队列缓冲器当EU正在执行指令中,且不需占用总线时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入1个6字节的指令队列寄存器,该队列寄存器按“先进先出”的方式工作,并按顺序取到EU中执行。④总线控制逻辑电路第5页/共97页2.1.28086CPU寄存器结构

8086的寄存器都为16位,分为:通用寄存器

8 AX/BX/CX/DX BP/SPDI/SI

指令指针寄存器

1 IP

标志寄存器

1 PSW段寄存器

4 CS/SS/DS/ES

掌握通用寄存器的作用,熟悉PSW中各个标志的含义切实理解存储器组织和存储空间分段的概念第6页/共97页8086CPU内部寄存器如图2.2所示。

第7页/共97页通用寄存器8086的16位通用寄存器是:

AX BX CX DX SI DI BP SP

其中,前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器,它们是:

AHBHCHDHALBLCLDL

对其中某个8位寄存器的操作,并不影响它所对应的另外一个8位寄存器。第8页/共97页数据寄存器数据寄存器用来存放计算的结果和操作数每个寄存器又有它们各自的专用目的:AX——16位累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;AL为8位累加器。BX——基址寄存器,常用来做基址指针,指向一批连续存放操作数的基地址。CX——计数器,作为循环和串操作等指令中的隐含计数器。DX——数据寄存器,用来存放外设端口的16位地址,或双字长数据的高16位。第9页/共97页变址寄存器变址寄存器常用于存储器寻址时提供地址SI是源变址寄存器DI是目的变址寄存器在串操作类指令中,SI和DI具有特别的功能第10页/共97页指针寄存器指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器,指示栈顶的偏移地址。SP不能再用于其他目的,具有专用性BP为基址指针寄存器,表示数据在堆栈段中的基地址SP/BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址详见堆栈操作指令第11页/共97页指令指针寄存器IP指令指针寄存器IP,指示代码段中指令的偏移地址它与代码段寄存器CS联用,确定下一条指令的物理地址计算机通过CS:IP寄存器来取指,从而控制指令序列的执行流程IP寄存器是一个专用寄存器,用户不能直接访问。第12页/共97页标志寄存器标志(Flag)用于反映指令执行结果或控制指令执行形式。8086处理器中各种常用的标志形成了一个16位的标志寄存器FLAGS(也称程序状态字PSW寄存器)。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0控制反映结果状态反应运算过程第13页/共97页标志的作用指令的执行与标志有很大关系。标志分成两类:状态标志——用来记录程序运行结果的状态信息,许多指令的执行都将自动地改变它。

CF

OF

AF

SF

ZF

PF控制标志——可由用户根据需要用指令进行设置,用于控制处理器的具体工作方式。

DF

IF

TF第14页/共97页进位标志CF(CarryFlag)当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0。例如(以8位运算为例,8088中为16位):3AH+7CH=B6H 没有进位:CF=0AAH+7CH=26H 有进位:CF=1(1)第15页/共97页符号标志SF(SignFlag)运算结果最高位为1,则SF=1;否则SF=0。例如:3AH+7CH=B6H 最高位D7=1:SF=186H+7CH=00H 最高位D7=0:SF=0

有符号数利用最高有效位(MSB)来表示它的符号。所以,运算结果的MSB与符号标志SF相一致。(1)第16页/共97页奇偶标志PF(ParityFlag)当运算结果最低字节中“1”的个数为零或偶数时,PF=1;否则PF=0(奇校验)。例如:3AH+7CH=B6H=10110110B,结果中有5个1,是奇数,则PF=0

注意:PF标志仅反映最低8位中“1”的个数是偶或奇,即使是进行16位字操作。第17页/共97页溢出标志OF(OverflowFlag)若算术运算的结果有溢出,则OF=1;否则OF=0。例如:3AH+7CH=B6H 产生溢出:OF=1AAH+7CH=26H 没有溢出:OF=0问题:什么是溢出?溢出和进位有什么区别?处理器怎么处理,程序员如何运用?如何判断是否溢出?(1)第18页/共97页辅助进位标志AF(AuxiliaryCarryFlag)运算时D3位(低半字节)有进位或借位时,AF=1;否则AF=0。例如:3AH+7CH=B6H D3向前有进位:AF=1

这个标志主要由处理器内部使用,用于十进制算术运算的调整,用户一般不必关心。第19页/共97页方向标志DF(DirectionFlag)用于串操作指令中,控制地址的变化方向:设置DF=0,串操作后存储器地址自动增量(增址);设置DF=1,串操作后存储器地址自动减量(减址)。CLD指令复位方向标志:DF=0STD指令置位方向标志:DF=1第20页/共97页中断允许标志IF(Interrupt-enableFlag)用于控制外部可屏蔽中断是否可以被处理器响应:设置IF=1,则允许中断;设置IF=0,则禁止中断。CLI指令复位中断标志:IF=0STI指令置位中断标志:IF=1第21页/共97页陷阱标志TF(TrapFlag)用于控制处理器是否进入单步执行方式:设置TF=0,处理器正常工作;设置TF=1,处理器每执行一条指令就中断一次,中断编号为1(称单步中断)TF

也被称为单步标志。单步执行和单步调试利用单步中断可对程序进行逐条指令的调试。这种逐条指令调试程序的方法就是单步调试。第22页/共97页2.28086总线的工作周期时钟周期(ClockCycle):执行指令的一系列操作都是在时钟脉冲CLK的统一控制下逐步进行的,一个时钟脉冲时间称为一个时钟周期(ClockCycle)。时钟周期由计算机的主频决定,是CPU的定时基准,例如,8086的主频为5MHz则1个时钟为200ns。8086CPU与外部交换信息总是通过总线进行的。CPU从存储器或外设存或取一个字节或字所需的时间称为总线周期(BusCycle)。一个基本的总线周期由四个时钟周期组成,分别称为T1、T2、T3和T4时钟周期,或T状态(State)。指令周期:一条指令的执行包括取指令、分析指令和执行指令。一条指令从开始取指令到最后执行完毕所需的时间称为一个指令周期。第23页/共97页2.38086微处理器外部基本引脚与工作模式两种组态构成两种不同规模的应用系统最小组态模式构成小规模的应用系统8088本身提供所有的系统总线信号最大组态模式构成较大规模的应用系统,例如可以接入数值协处理器80878088和总线控制器8288共同形成系统总线信号第24页/共97页两种组态利用MN/MX*引脚区别MN/MX*接高电平为最小组态模式MN/MX*接低电平为最大组态模式两种组态下的内部操作并没有区别IBMPC/XT采用最大组态本书以最小组态展开基本原理第25页/共97页2.3.28086微处理器外部基本引脚12345678910111213141516171819204039383736353433323130292827262524232221

GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15AD16/S3AD17/S4AD18/S5AD19/S6SS0*(HIGH)MN/MX*RD*HOLD(RQ)*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M/IO(S2*

)DT/R*(S1*

)DEN(S0

)ALEINTATEST*READYRESET8088第26页/共97页2.两种模式下含义不同的引脚信号

⑴最小模式下的引脚信号数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚 第27页/共97页1.数据和地址引脚AD7~AD0(Address/Data)地址/数据分时复用引脚,双向、三态在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7~A0其他时间用于传送8位数据D7~D0

第28页/共97页1.数据和地址引脚(续1)A15~A8(Address)

中间8位地址引脚,输出、三态这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A15~A8第29页/共97页1.数据和地址引脚(续2)A19/S6~A16/S3(Address/Status)地址/状态分时复用引脚,输出、三态这些引脚在访问存储器的第一个时钟周期输出高4位地址A19~A16在访问外设的第一个时钟周期全部输出低电平无效其他时间输出状态信号S6~S3第30页/共97页2.读写控制引脚ALE(AddressLatchEnable)地址锁存允许,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:AD7~AD0和A19/S6~A16/S3正在传送地址信息由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来第31页/共97页2.读写控制引脚(续1)IO/M*(InputandOutput/Memory)

I/O或存储器访问,输出、三态该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O口地址该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址第32页/共97页2.读写控制引脚(续2)WR*(Write)

写控制,输出、三态、低电平有效有效时,表示CPU正在写出数据给存储器或I/O端口RD*(Read)读控制,输出、三态、低电平有效有效时,表示CPU正在从存储器或I/O端口读入数据第33页/共97页2.读写控制引脚(续3)IO/M*、WR*和RD*是最基本的控制信号组合后,控制4种基本的总线周期总线周期IO/M*WR*RD*存储器读低高低存储器写低低高I/O读高高低I/O写高低高第34页/共97页2.读写控制引脚(续4)READY

存储器或I/O口就绪,输入、高电平有效在总线操作周期中,8088CPU会在第3个时钟周期的前沿测试该引脚如果测到高有效,CPU直接进入第4个时钟周期如果测到无效,CPU将插入等待周期TwCPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。第35页/共97页2.读写控制引脚(续5)DEN*(DataEnable)

数据允许,输出、三态、低电平有效有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动DT/R*(DataTransmit/Receive)数据发送/接收,输出、三态该信号表明当前总线上数据的流向高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收)第36页/共97页2.读写控制引脚(续6)SS0*(SystemStatus0)

最小组态模式下的状态输出信号它与IO/M*和DT/R*一道,通过编码指示CPU在最小组态下的8种工作状态:1.取指 5.中断响应2.存储器读 6.I/O读3.存储器写 7.I/O写4.过渡状态 8.暂停对比第37页/共97页3.中断请求和响应引脚INTR(InterruptRequest)可屏蔽中断请求,输入、高电平有效有效时,表示请求设备向CPU申请可屏蔽中断该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽第38页/共97页3.中断请求和响应引脚(续1)INTA*(InterruptAcknowledge)可屏蔽中断响应,输出、低电平有效有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的中断请求已被响应、并令有关设备将中断向量号送到数据总线第39页/共97页3.中断请求和响应引脚(续2)NMI(Non-MaskableInterrupt)不可屏蔽中断请求,输入、上升沿有效有效时,表示外界向CPU申请不可屏蔽中断该请求的优先级别高于INTR,并且不能在CPU内被屏蔽当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务第40页/共97页4.总线请求和响应引脚HOLD总线保持(即总线请求),输入、高电平有效有效时,表示总线请求设备向CPU申请占有总线该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权第41页/共97页4.总线请求和响应引脚(续1)HLDA(HOLDAcknowledge)总线保持响应(即总线响应),输出、高电平有效有效时,表示CPU已响应总线请求并已将总线释放此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权

第42页/共97页5.其它引脚RESET复位请求,输入、高电平有效该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作8088复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H第43页/共97页5.其它引脚(续1)CLK(Clock)

时钟输入系统通过该引脚给CPU提供内部定时信号。8088的标准工作时钟为5MHzIBMPC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns第44页/共97页5.其它引脚(续2)Vcc电源输入,向CPU提供+5V电源GND接地,向CPU提供参考地电平MN/MX*(Minimum/Maximum)组态选择,输入接高电平时,8088引脚工作在最小组态;反之,8088工作在最大组态第45页/共97页5.其它引脚(续3)TEST*测试,输入、低电平有效该引脚与WAIT指令配合使用当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行也就是说,WAIT指令使CPU产生等待,直到引脚有效为止在使用协处理器8087时,通过引脚和WAIT指令,可使8088与8087的操作保持同步第46页/共97页“引脚”小结CPU引脚是系统总线的基本信号可以分成三类信号:8位数据线:D0~D720位地址线:A0~A19控制线:ALE、IO/M*、WR*、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND有问题!第47页/共97页“引脚”提问提问之一:CPU引脚是如何与外部连接的呢?

解答:总线形成提问之二:CPU引脚是如何相互配合,实现总线操作、控制系统工作的呢?解答:总线时序第48页/共97页最小组态的总线形成AD7~AD0A15~A8A19/S6~A16/S3+5V8088ALE8282STB系统总线信号A19~A16A15~A8A7~A0D7~D0IO/M*RD*WR*8282STB8282STB8286TOE*MN/MX*IO/M*RD*WR*DT/R*DEN*OE*OE*OE*(1)20位地址总线——采用3个三态透明锁存器8282进行锁存和驱动(2)8位数据总线——采用数据收发器8286进行驱动(3)系统控制信号——由8088引脚直接提供第49页/共97页最大组态的引脚定义8088的数据/地址等引脚在最大组态与最小组态时相同有些控制信号不相同,主要是用于输出操作编码信号,由总线控制器8288译码产生系统控制信号:S2*、S1*、S0*——3个状态信号LOCK*——总线封锁信号QS1、QS0——指令队列状态信号RQ*/GT0*、RQ*/GT1*——2个总线请求/同意信号第50页/共97页最大组态的总线形成系统总线信号MEMR*MEMW*IOR*IOW*INTA*DMA应答电路AENBRDAEN’*AEN*CENA19~A12A11~A8A7~A0D7~D0AD7~AD0A11~A8A19/S6~A16/S3A15~A1274LS24574LS37374LS373GGG*DIR74LS2448088OE*8288DT/R*DENALES2*~S0*S2*~S0*MN/MX*OE*E*MRDC*AMTW*IORC*AIOWC*INTA*⑴

系统地址总线采用三态透明锁存器74LS373和三态单向缓冲器74LS244⑵

系统数据总线通过三态双向缓冲器74LS245形成和驱动⑶系统控制总线主要由总线控制器8288形成MEMR*、MEMW*、IOR*、IOW*、INTA*第51页/共97页(1)20位地址总线的形成采用3个8282进行锁存和驱动Intel8282是三态透明锁存器,类似有Intel8283和通用数字集成电路芯片373三态输出:输出控制信号有效时,允许数据输出;无效时,不允许数据输出,呈高阻状态透明:锁存器的输出能够跟随输入变化

有问题!三态锁存第52页/共97页补充:三态门和D触发器三态门和以D触发器形成的锁存器是微机接口电路中最常使用的两类逻辑电路三态门:功率放大、导通开关器件共用总线时,一般使用三态电路:需要使用总线的时候打开三态门;不使用的时候关闭三态门,使之处于高阻D触发器:信号保持,也可用作导通开关第53页/共97页D触发器DQCQ电平锁存DQCQ上升沿锁存电平锁存:高电平通过,低电平锁存上升沿锁存:通常用负脉冲触发锁存负脉冲的上升沿DQCQSR带有异步置位清零的电平控制的锁存器第54页/共97页74LS273具有异步清零的TTL上升沿锁存器第55页/共97页74LS373具有三态输出的TTL电平锁存器LE电平锁存引脚OE*输出允许引脚第56页/共97页Intel8282具有三态输出的TTL电平锁存器STB电平锁存引脚OE*输出允许引脚第57页/共97页三态缓冲器三态门具有单向导通和三态的特性T为低平时:输出为高阻抗(三态)T为高电平时:输出为输入的反相TAF表示反相或低电平有效TAFTAFTAF第58页/共97页74LS244双4位单向缓冲器分成4位的两组每组的控制端连接在一起控制端低电平有效输出与输入同相第59页/共97页双向三态缓冲器三态门具有双向导通和三态的特性ABTOE*OE*=0,导通

T=1A→BT=0A←BOE*=1,不导通第60页/共97页Intel82868位双向缓冲器控制端连接在一起,低电平有效可以双向导通输出与输入同相OE*=0,导通

T=1A→BT=0A←BOE*=1,不导通第61页/共97页74LS2458位双向缓冲器控制端连接在一起,低电平有效可以双向导通输出与输入同相E*=0,导通

DIR=1A→BDIR=0A←BE*=1,不导通第62页/共97页(2)8位数据总线的形成采用数据收发器8286进行双向驱动

Intel8286是8位三态双向缓冲器,类似功能的器件还有Intel8287、通用数字集成电路245等另外,接口电路中也经常使用三态单向缓冲器,例如通用数字集成电路244就是一个常用的双4位三态单向缓冲器第63页/共97页(3)系统控制信号的形成由8088引脚直接提供因为基本的控制信号8088引脚中都含有例如:IO/M*、WR*、RD*等其它信号的情况看详图其它第64页/共97页1.存储器的分段结构8088有20条地址线,最大可寻址空间为220=1MB,可寻址的地址范围为00000H~FFFFFH该地址称物理地址硬件用20位的物理地址来对存储单元进行寻址2.4.2存储器的分段结构和物理地址的形成第65页/共97页存储器的分段管理由于8088中的地址寄存器都是16位的,用户不能直接使用20位的物理地址,编程时需要使用逻辑地址来寻址存储单元。逻辑地址由两个16位数构成,其形式为:

段的起始地址:

段内的偏移地址(16位段地址)

:(16位偏移量)

第66页/共97页存储器的分段管理8088将存储空间分为多个逻辑段(段——Segment)来进行管理,要求:段的20位的起始地址(xxxxxH)其低4位必须为0(xxxx0H),所以可以将它们省略,然后用1个16位数来表示表示段的首地址。每段长度限216=64KB,所以段内偏移地址可以用1个16位数来表示(xxxxH);所以有:

段的起始地址:段内的偏移地址(16位段地址):(16位偏移量)第67页/共97页存储器的分段管理逻辑地址的表示——段地址:偏移地址地址偏移量(xxxxH)段首(xxxx0H)低址段尾某逻辑段64KB某寻址单元第68页/共97页存储器的分段管理1MB最多可分为16个不重迭的段。实际上,两个不同的逻辑段可以交叠,或者完全重叠。一个存储单元可以拥有多个逻辑地址,但只可能拥有一个唯一的物理地址。例如:物理地址:00200H

逻辑地址:0000H:0200H

逻辑地址:0020H:0000H第69页/共97页物理地址和逻辑地址每个存储单元都有一个唯一物理地址(00000H~FFFFFH),20位,该地址在指令执行时由地址加法器形成,并进行硬件寻址。地址加法器的具体做法:段地址左移4位,然后加上偏移地址就得到20位物理地址。用户编程时采用逻辑地址,其形式为:段的首地址:段内偏移地址 它们由两个16位的无符号数构成。逻辑地址“1460H:100H”=物理地址14700H第70页/共97页数据的存储格式计算机中信息的单位有:位(bit)、字节(byte)、字(word)、双字(doubleword)等在存储器中,信息的存储单元是:字节80x86微处理器对多字节数据采用:小端方式(littleendian)存储的数据如果对齐边界,则存取速度较快第71页/共97页8086的存储格式第72页/共97页信息的表示单位位bit:存储一位二进制数:0或1。字节Byte: 8位二进制,

D7~D0。字Word: 16位/2个字节, D15~D0。双字Double:32位/4个字节,

D31~D0。最低有效位LSB(LeastSignificantBit):指数据的最低位,即D0位;最高有效位MSB(MostSignificantBit):指数据的最高位,对应字节、字、双字分别指D7、D15、D31位。第73页/共97页存储单元及其存储内容每个存储单元都有一个编号——存储器地址每个存储单元存放一个字节的内容例如:0002H单元存放有一个数据34H[0002H]=34H第74页/共97页小端方式多字节数据在存储器中占据多个连续的存储单元:存放时,低字节存于低地址,高字节存于高地址;多字节数据占据的地址空间用它的低地址来表示。例如:2号“字”单元: [0002H]=1234H 2号“双字”单元: [0002H]=78561234H80x86处理器的“低对低、高对高”的存储形式,被称为“小端方式”;相对应还存在“大端方式(bigendian)”。第75页/共97页数据的地址对齐同一个存储器地址可以表示为:字节单元地址、字单元地址、双字单元地址等等(视指令的具体情况)。 如 movwordptr[2000H],10H movbyteptr[2000H],10H将字单元安排在偶地址(xx……….xx0B),将双字单元安排在模4地址(xx………xx00B)的做法,被称为“地址对齐(Align)”。对于地址不对齐的数据,处理器访问时,需要付出额外的访问时间。要取得较高的存取速度,应该将数据的地址对齐。第76页/共97页2.58086微处理器的时序时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系。总线时序描述CPU引脚如何实现总线操作CPU时序决定系统各部件间的同步和定时什么是总线操作?第77页/共97页8086微处理器的时序(续1)总线操作是指CPU通过总线对外的各种操作8088的总线操作主要有:存储器读、I/O读操作存储器写、I/O写操作中断响应操作总线请求及响应操作CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti什么是总线周期?第78页/共97页8086微处理器的时序(续2)总线周期是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程8088的基本总线周期需要4个时钟周期,4个时钟周期编号为T1、T2、T3和T4总线周期中的时钟周期也被称作“T状态”

时钟周期的时间长度就是时钟频率的倒数当需要延长总线周期时需要插入等待状态Tw何时有总线周期?演示第79页/共97页8086微处理器的时序(续3)任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期CPU响应可屏蔽中断时生成中断响应总线周期如何实现同步?第80页/共97页8086微处理器的时序(续4)总线操作中如何实现时序同步是关键CPU总线周期采用同步时序:各部件都以系统时钟信号为基准当相互不能配合时,快速部件(CPU)插入等待状态等待慢速部件(I/O和存储器)CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作第81页/共97页最小组态的总线时序本节展开微处理器最基本的4种总线周期存储器读总线周期存储器写总线周期I/O读总线周期I/O写总线周期第82页/共97页存储器写总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输出数据A19~A16S6~S3READY(高电平)IO/M*WR*T1状态——输出20位存储器地址A19~A0IO/M*输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址T2状态——输出控制信号WR*和数据D7~D0T3和Tw状态——检测数据传送是否能够完成T4状态——完成数据传送第83页/共97页I/O写总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输出数据0000S6~S3READY(高电平)IO/M*WR*T1状态——输出16位I/O地址A15~A0IO/M*输出高电平,表示I/O操作;ALE输出正脉冲,表示复用总线输出地址T2状态——输出控制信号WR*和数据D7~D0T3和Tw状态——检测数据传送是否能够完成T4状态——完成数据传送第84页/共97页存储器读总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输入数据A19~A16S6~S3READY(高电平)IO/M*RD*T1状态——输出20位存储器地址A19~A0IO/M*输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址T2状态——输出控制信号RD*T3和Tw状态——检测数据传送是否能够完成T4状态——前沿读取数据,完成数据传送第85页/共97页I/O读总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输入数据S6~S3READY(高电平)IO/M*RD*0000T1状态——输出16位I/O地址A15~A

温馨提示

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

评论

0/150

提交评论