第2章-微处理器与总线_第1页
第2章-微处理器与总线_第2页
第2章-微处理器与总线_第3页
第2章-微处理器与总线_第4页
第2章-微处理器与总线_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1第2章微型计算机基础2第2章节目录2.1微处理器概述2.28088/8086微处理器章38088/8086CPU的外部引线及其功能;8088/8086CPU的内部逻辑结构(EU/BIU);8088/8086系统中存储器的组织与寻址;堆栈的概念;8088/8086的工作时序(读/写),总线周期;作业(P92):第2,3,4,5,8,9,10题。小结章42.1微处理器概述微处理器功能算术运算和逻辑运算;对指令译码、寄存并执行指令规定的操作;与存储器、I/O接口数据通信;少量数据暂存;提供定时和控制信号;响应I/O设备发出的中断。52.1微处理器概述运算器组成:算术逻辑单元(ALU);通用或专用寄存器组;内部总线。62.1微处理器概述控制器功能:指令控制;时序控制;操作控制。控制器组成:程序计数器;指令寄存器;指令译码器;时序控制部件;微操作控制部件。节72.28088微处理器2.2.18088CPU概述2.2.28088CPU外部引线及功能2.2.38088CPU的内部结构和特点2.2.48088的存储器寻址2.2.58088的工作时序节8CPU地址总线(AB)RAMI/O接口I/O设备ROM数据总线(DB)控制总线(CB)9一、概述8088、8086基本类似16位CPU、AB宽度20位差别:指令预取队列:8088为4字节,8086为6字节数据总线引脚:8088有8根,8086有16根8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送。指令系统完全相同,芯片内部逻辑结构、芯片引脚有个别差异。108086/8088微处理器结构AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU数据总线(16位)运算寄存器ALU标志寄存器EU控制电路执行部件EUCSDSSSESIP内部暂存器123456数据总线

输入/输出控制电路地址总线20位指令队列缓冲器80888086Q总线(8位)指令指针段寄存器外部总线总线接口部件BIU地址加法器11指令预取队列(IPQ)指令的一般执行过程:取指令

指令译码

读取操作数

执行指令

存放结果12串行工作方式:8088之前的CPU采用串行工作方式:取指令1执行1取操作数2执行2CPUBUS忙碌忙碌忙碌忙碌存结果1取指令21)CPU执行指令时总线处于空闲状态2)CPU存取数据或指令时要等待总线缺点:CPU无法全速运行解决:总线空闲时预取指令,使CPU减少等待。13并行工作方式:8088CPU采用并行工作方式取指令2取操作数BIU存结果取指令3取操作数取指令4执行1执行2执行3

EUBUS忙碌忙碌忙碌忙碌忙碌忙碌148088的流水线操作8088CPU包括两大部分:EU和BIUBIU不断地从存储器取指令送入IPQ,EU不断地从IPQ取出指令执行EU和BIU构成了一个简单的2工位流水线指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令

PIII为14个阶段,P4为20个阶段(超级流水线)15结论指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而提高了CPU的效率;降低了对存储器存取速度的要求168088CPU的两种工作模式(一)最小模式 也称“单处理器系统”,即在系统中只有一个8086处理器,全部的系统总线信号均由8086直接产生。

总线控制逻辑减到最少,故称最小模式。(二)最大模式也称“多处理器系统”,即系统中包含两个或多个处理器,其中一个为主处理器8086,其他的处理器为“协处理器”(CO-Processor)。17通常和8086配合使用的协处理器1、数值运算协处理器8087用硬件方法实现数值计算,如浮点运算、高精度整数运算、三角函数、对数运算等,提高系统的运算速度。2、输入/输出协处理器8089可以直接为输入/输出设备服务,使8086/8088不再承担这些工作。提高主CPU的效率,尤其在输入/输出应用较多的场合。188088在最小模式下的典型配置

8284A地址总线(20根)READYRESETALEA19~A8AD7~AD0地址锁存储器8282(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收发器8286(一片)数据总线(8根)控制总线READYRESET8088MN/MX+5VA0~A19D0~D7198086在最小模式下的典型配置

8284A地址总线(20根)READYRESETALEBHE/A19~A16AD15~AD0地址锁存储器8282(三片)BHEDENDT/RM/IOWRRDHOLDHLDAINTRINTACLK收发器8286(两片)数据总线(16根)控制总线READYRESET8086MN/MX+5VA0~A19D0~D15208086最大模式下的典型配置80868282锁存储器(三片)8286收发器(2片)8288总线控制器READYRESET8284ARESETREADYBHE/A16~A19AD0~AD15S0/S1/S2/CLKMN/MX0DENDT/RA0~A19D0~D15ALESTBBHE/OE

TMRDC/MWTC/IORC/IOWC/INTA/ALE。DEN。DT/R控制总线S0S1S221DBABINTRDWRIO/MINTACB小节22二、8088CPU的引脚及功能引脚定义的一般方法:每个引脚只传送一种信息(RD等);引脚电平的高低不同的信号(IO/M等);CPU工作于不同方式有不同的名称和定义(WR/LOCK等);分时复用引脚(AD7

~AD0等);引脚的输入和输出分别传送不同的信息(RQ/GT0等)。23引脚对比图地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086Vcc(5V)A15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)IO/M(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8088地A14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地24主要引线(最小模式下)8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模式。数据信号线(DB)与地址信号线(AB):AD7~AD0:三态,地址/数据复用线。ALE有效时为地址的低8位。地址信号有效时为输出,传送数据信号时为双向。A19~A16:三态,输出。高4位地址信号,与状态信号 S6~S3分时复用。A15~A8:三态,输出。输出8位地址信号; (8086AD15~AD8)。25地址/状态复用线A16/S3~A19/S6

S6=0——表示CPU正与总线相连;S5——指示中断允许标志位IF的状态。S3,S4组合表示段寄存器的使用。S4S3段寄存器使用情况00011011当前正在使用ES当前正在使用SS当前正在使用CS,或未用任何段寄存器当前正在使用DS26主要的控制和状态信号WR:三态,输出。写命令信号;RD:三态,输出。读命令信号;IO/M

:三态,输出。指出当前访问的是存储器还 是I/O接口。高:I/O接口,低:内存IO/MRDWR数据传输方式101I/O读110I/O写001存储器读010存储器写例:当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作。27

ALE(AddresslatchEnable):地址锁存允许信号,输出,高电平有效。 由于一部分地址线和数据线采用分时复用。在总线周期T1时,总线上先传送地址,接着传送数据。 但在一般情况下,存储器或I/O接口电路,要求在整个总线周期内保持稳定的地址信息。这样,就需要将这些地址信息保存起来。在总线周期的T1状态,ALE信号有效。 与8086/8088配套的锁存器电路为8282/8283,用ALE做锁存允许信号。28

DEN(DataEnable):数据允许,输出,三态,低电平有效

作为总线收发器(8286/8287—数据总线驱动器)的控制信号。

DT/R(DataTransmit/Receive):数据发送/接收控制,输出,三态 在使用Intel8286/82878位双向总线驱动器时,控制其传输数据的方向。

DT/R=1:CPU发送数据(向存储器或I/O端口)

DT/R=0:CPU接收数据在DMA方式时,被置为高阻状态。29主要的控制和状态信号SS0(8088的第34引脚):系统状态信号输出,与IO/M、DT/R决定最小模式下总线周期的状态。IO/MDT/RSS0数据总线操作100发中断响应信号101读I/O端口110写I/O端口111暂停000取指令001读内存010写内存011无源状态30高8位数据允许/状态BHE/S7(BUSHigh Enable/Status)复用引脚

8086有16条数据线,可用低8位传送一个字节,也可用高8位传送一个字节,还可用高8位和低8位一起传送一个字(16位)。BHE和A0就是用来区分这几类传输的。对8088来说,因为只有8位数据线,因此不需要BHE,而定义为SS0。8086的第34引脚31主要的控制和状态信号RESET:输入,为高时,CPU执行复位;复位后CPU内部寄存器被设为初值如下:寄存器名称寄存器状态标志寄存器(FR)清零指令指针寄存器(IP)0000HCS寄存器FFFFHDS寄存器0000HSS寄存器0000HES寄存器0000H指令队列空其他寄存器0000H32“准备好”信号Ready,输入 检测存储器或外设是否准备好数据传输。T1T2T3TwT4CLKREADY READY信号用于协调CPU与存储器、I/O接口之间的速度差异,由存储器或I/O接口发出。33中断请求和响应信号INTR:输入,可屏蔽中断请求输入端。高:有INTR中断请求NMI:输入,非屏蔽中断请求输入端。低高,有NMI中断请求INTA:输出,对INTR信号的响应。34总线保持信号HOLD:总线保持请求信号输入端。当CPU

以外的其他设备要求占用总线时,通过该引脚向CPU发出请求。HLDA:输出,对HOLD信号的响应。为高电平时,表示CPU已放弃总线控制权,所有三态信号线均变为高阻状态。35T1T2T3T4CLKHOLDHODAAD15-AD0,A19/S6-A16/S3CPU放弃总线控制权三态WR,RD,……如DMA方式3680868087TESTBUSY+5V*8087—Math.CO-ProcessorTEST:测试信号,输入,低电平有效。在多处理器环境中,例如具有协处理器8087的系统中,将8087的“BUSY”接至主处理器8088的TEST,每当8088执行WAIT指令时,每隔5个时钟周期采样TEST信号,直至TEST变为低电平,8088才脱离等待状态,继续执行下一条指令。TEST信号是为WAIT指令而设计的。37其他信号

CLK(clock):时钟引脚,输入。8086/8088要求始终的占空比为33%。8086/8088的标准时钟频率为4.77MHZ。

VCC,+5V电源输入引脚。

GND,地线。388088在最小模式下的典型配置

8284A地址总线(20根)READYRESETALEA19~A8AD7~AD0地址锁存储器8282(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收发器8286(一片)数据总线(8根)控制总线READYRESET8088MN/MX+5VA0~A19D0~D739地址锁存器8282(74LS373)引脚及内部结构图DI0~DI7

输入端DO0~DO7

输出端#OE允许控制(低电平有效)STB锁存信号 高电平允许(通过)低电平禁止(锁存)DQCLKDI0DO0STBOE。。。。。。。。。。。。。。。。DI7DO7接ALE接地40当DT/R=0时,BA当DT/R=1时,AB总线驱动器8286(74LS245)引脚及内部结构图接DENDEN=0OE=0A0

B0。。。。。。。OETA1A7。。。

B1

B7。。。。接DT/R828612891112181911418284A时钟发生器RESETREADYCLKOSCPCLKRESRDY1+5V等待电路14.31818MHZRESETREADYCLK14.318MHZ2.385MHZ8086/80884.77MHZ8284A428086最大模式下的典型配置80868282锁存储器(三片)8286收发器(2片)8288总线控制器READYRESET8284ARESETREADYBHE/A16~A19AD0~AD15S0/S1/S2/CLKMN/MX0DENDT/RA0~A19D0~D15ALESTBBHE/OE

TMRDC/MWTC/IORC/IOWC/INTA/ALE。DEN。DT/R控制总线S0S1S2431234567891020191817161514131211IOBCLKS1DT/RALEAENMRDCAMWTCMWTCGNDVCCS0S2MCE/PDENDENCENINTAIORCAIOWCIOWC8288引脚图地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD(无功能)HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086(AdvancedMemoryWriteCommand)提前的内存写命令小节44三、8088CPU的内部结构8088内部由两部分组成:执行单元(EU)总线接口单元(BIU)458086/8088微处理器结构AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU数据总线(16位)运算寄存器ALU标志寄存器EU控制电路执行部件EUCSDSSSESIP内部暂存器123456数据总线

输入/输出控制电路地址总线20位指令队列缓冲器80888086Q总线(8位)指令指针段寄存器外部总线总线接口部件BIU地址加法器46执行单元EU功能:执行指令

从指令队列中取指令代码译码在ALU中完成数据的运算

运算结果的特征保存在标志寄存器FLAGS中。47执行单元EU组成1、算术逻辑单元ALU(运算器)2、8个寄存器(1)数据寄存器(AX,BX,CX,DX)(2)地址指针寄存器(SP,BP)(3)变址寄存器(SI,DI)3、标志寄存器FLAGS

4、EU部分控制电路48总线接口单元BIU功能:从内存中取指令送入指令预取队列负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。49组成:1、用于存放逻辑段的段基地址寄存器。CS:代码段寄存器,用于存放指令代码DS:数据段寄存器ES:附加段寄存器,数据段和附加段用来存放 操作数SS:堆栈段寄存器,用于存放返回地址,保存寄存器内容,传递参数等。总线接口单元BIU组成502、IP:指令指针寄存器3、20位的地址加法器4、4字节(或6字节)的指令队列特点:1、具有流水线技术,8086指令队列为6字节,8088为4字节。2、地址加法器用来产生20位地址。因为8086有20根地址线,可寻址1M空间,但寄存器为16位,所以需要一个附加机构来根据16位寄存器提供的数据计算出20位的地址。51指令队列说明 1、当8086指令队列有2个字节,或者8088的指令队列有1个空字节时,BIU会自动把指令取到指令队列中。2、当EU准备执行一条指令时,会从BIU的指令队列前部取出指令的代码,然后执行。 在执行指令的过程中,如果必须访问存储器或者输入/输出设备,EU就会请求BIU,进入总线周期,完成访问内存或者输入/输出端口的操作:如果BIU空闲,就会立即响应EU的总线请求。如果BIU正忙,BIU将首先完成当前总线周期,再去响应EU发出的访问总线的请求。523、当指令队列已满,而且执行部件又没有总线访问时,总线接口部件便进入空闲状态。4、总线接口部件往指令队列装入指令时,总是按顺序进行的。在执行转移指令、调用指令和返回指令时,指令队列中己经装入的字节就没用了,将被自动消除,总线接口部件会接着往指令队列中装入另一个程序段中的指令。538088/8086的内部寄存器含14个16位寄存器,按功能可分为:数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)8个通用寄存器4个段寄存器2个控制寄存器通用寄存器与存储器的区别?54数据寄存器AX、BX、CX、DX8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用来存放参与运算的操作数或运算结果55数据寄存器特有的习惯用法AX:累加器。多用于存放中间运算结果。所有

I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放

I/O端口地址。56地址指针寄存器SP:堆栈指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。57BX与BP在应用上的区别作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。BX一般与DS或ES搭配使用;BP一般与SS搭配使用。58变址寄存器SI:源变址寄存器DI:目标变址寄存器变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。59控制寄存器IP:指令指针寄存器,其内容为下一条要执行的指令的偏移地址

FLAGS:标志寄存器状态标志:存放运算结果的特征控制标志:控制某些特殊操作,由专门的指令进行设置或清除6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF)60标志寄存器的格式及各位的含义1514131211109876543210OFDFIFTFSFZFAFPFCF状态标志方向标志中断标志跟踪标志(TraceFlag)控制标志进位标志奇偶标志半进位标志零标志符号标志溢出标志61零标志ZF(ZeroFlag):若运算结果为0,则ZF=1;否则ZF=0。进位标志CF(CarryFlag):若最高位有进(借)位,则CF=1;否则CF=0。奇偶标志PF(ParityFlag):若运算结果低8位中“1”的个数为偶数,则PF=1;否则PF=0。符号标志SF(SignFlag):与运算结果的最高位相同,当数据用补码时,负数的最高位是1。辅助进位标志AF(AuxiliarycarrryFlag):也称“半进位标志”,第3位向第4位有进(借)位;则AF=1;否则AF=0。62溢出标志OF(OverflowFlag):若运算过程中发生了“溢出”,则OF=1。定义:运算结果超出计算装置所能表示的范围,称为溢出。判断方法之一【逻辑】:溢出=最高位进位

次高位进位。控制标志(3位):每一位控制标志都对一种特定的功能起控制作用。可以通过专门的指令对其进行“置位”(Set)或“复位”(Reset)。63中断标志IF(InterruptEnableFlag):如果IF置“1”,则CPU可以接受可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。 指令系统中有两条专门的指令可以置“1”或置“0”IF标志位:STI使IF置“1”,即开放中断。CLI使IF清“0”,即关闭中断方向标志DF(DirectionFlag):用于串操作指令中的地址增量修改(DF=0)还是减量修改(DF=1)。STD,CLD。跟踪标志TF(TraceFlag):若TF=1,则CPU按跟踪方式(单步方式)执行程序。小节64四、存储器寻址物理地址8088:20根地址线,可寻址220(1MB)个存储单元;CPU送到AB上的20位的地址称为物理地址。存储器的操作完全基于物理地址。物理地址..60000H60001H60002H60003H60004H...12HF0H1BH08H内部寄存器均为16位,寻址空间216(64KB)

0000H~FFFFH。存不下20位地址。?????65分段处理:将内存分为若干可重叠的逻辑段,每段大小<=64KB;段内单元地址=本段首地址(20位)+段内偏移量(16位)?20位首地址仍无法存放,故规定低4位均为0,也不必存。高16位做为存储器段的起始地址—段基址。0000段基地址(16位)段首地址××ו••×××66分段处理:“段基址”存放在段寄存器CS、DS、SS和ES中。“偏移量”存放在寄存器IP或SP中。“段基址”和“偏移量”(均为16位)构成存储单元的逻辑地址(段基址:偏移量

),在程序设计时,使用的是逻辑地址。逻辑地址可以转换为物理地址(或绝对地址或有效地址EA)。方法如下:

物理地址=段基址16+偏移量67逻辑地址可以转换为物理地址(或绝对地址或有效地址EA)。物理地址=段基址X16+偏移量段基址段内偏移物理地址+16位20位000016位偏移量68段基值150偏移量150000030物理地址190逻辑地址物理地址段基址偏移量地址加法器15069……段的起始地址偏移量要访问的单元段最小的段?其段基址?最大64KB70CPU的启动复位后CS=FFFFH,IP=00000H,程序从FFFF0H处开始执行。FFFFFHFFFF0H……16个字节……FFFEFHLJMP71则物理地址计算如下42320

H66H+)42386

H设(CS)=4232H,(IP)=66H......42320H66H42386H5231FH

段起址段终址64K64K(2)1672[例]

已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作数,其偏移地址=0204H,

1)画出各段在内存中的分布;

2)指出各段首地址;

3)该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS

CSDSES解:

各段分布及段基址见右图。操作数的物理地址为:250AH×10H+0204H=252A4H73注意:1、每个存储单元有唯一的物理地址,但它却可由不同的“段基址”和“偏移量”组成,即可有多个逻辑地址。例如:1200H:0345H12345H, 1100H:1345H12345H2、一般情况下,段基址与偏移量寄存器配合如下:

代码段寄存器CS与IP;

堆栈段寄存器SS与SP;

数据段和附加段寄存器DS、ES的偏移量 有多种方式,取决于指令的寻址方式。3、由BIU中的地址加法器来完成计算工作,产生20位的物理地址。74堆栈及堆栈段的使用内存中一个按FILO方式操作的特殊区域每次压栈和退栈均以WORD为单位SS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆栈指针堆栈用于存放返回地址、过程参数或需要保护的数据常用于响应中断或子程序调用75堆栈操作SPSS压栈前低地址高地址12HSSF0HSP压栈后高地址低地址SS出栈后SP高地址低地址12F0H低字节高字节小节76(1)执行一条指令所需要的时间称为指令周期。五、8088/8086CPU的工作时序指令的一般执行过程:

温馨提示

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

评论

0/150

提交评论