![法学洪8086CPU结构讲课讲稿_第1页](http://file4.renrendoc.com/view/ac522bd6dd9d558fe11f70c7f61a3e02/ac522bd6dd9d558fe11f70c7f61a3e021.gif)
![法学洪8086CPU结构讲课讲稿_第2页](http://file4.renrendoc.com/view/ac522bd6dd9d558fe11f70c7f61a3e02/ac522bd6dd9d558fe11f70c7f61a3e022.gif)
![法学洪8086CPU结构讲课讲稿_第3页](http://file4.renrendoc.com/view/ac522bd6dd9d558fe11f70c7f61a3e02/ac522bd6dd9d558fe11f70c7f61a3e023.gif)
![法学洪8086CPU结构讲课讲稿_第4页](http://file4.renrendoc.com/view/ac522bd6dd9d558fe11f70c7f61a3e02/ac522bd6dd9d558fe11f70c7f61a3e024.gif)
![法学洪8086CPU结构讲课讲稿_第5页](http://file4.renrendoc.com/view/ac522bd6dd9d558fe11f70c7f61a3e02/ac522bd6dd9d558fe11f70c7f61a3e025.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
法学洪8086CPU结构2.1.1
8086的功能结构内部暂存器
IP
ES
SSDSCS控制电路外部总线控制电路∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位AB16位DB8位段寄存器
1.执行部件EU——负责执行指令。对指令译码、分析并发出控制命令,执行算术和逻辑运算。包含:
①算术逻辑运算单元ALU运算器,用于8位、16位二进制算术和逻辑运算,计算寻址存储器所需的16位偏移量。②通用寄存器组AX、BX、CX、DX、SP、BP、SI、DI。③标志寄存器16位的寄存器,反映运算结果的状态特征和控制标志。④控制电路负责从BIU的指令队列缓冲器中取指令,并对指令译码,并向EU内部各部件发出控制命令。2.总线接口部件BIU负责CPU对存储器和外设进行的信息交换,提供总线地址,将数据和指令存放到目的单元。包含:
①地址加法器和段寄存器
1个20位地址加法器、用于形成20位的物理地址。
②16位指令指针IP
指令指针IP用来存放下一条要执行指令的偏移地址。
③指令队列缓冲器
当EU正在执行指令中,且不需占用总线时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入1个6字节的指令队列寄存器,该队列寄存器按“先进先出”的方式工作,并按顺序取到EU中执行。④总线控制逻辑电路2.1.28086的寄存器结构
8086的寄存器都为16位,分为:通用数据寄存器 : AX、BX、CX、DX 地址指针和变址寄存器:BP、SP、DI、SI段寄存器: CS、SS、DS、ES指令指针和标志寄存器 IP、PSW
掌握通用寄存器的作用,熟悉PSW中各个标志的含义,才能正确地使用微机解决实际问题。通用数据寄存器8086的16位通用寄存器是:
AX BX CX DX
4个16位数据寄存器都可以分成高8位和低8位两个独立的寄存器,它们是:
AHBHCHDHALBLCLDL 对其中某个8位寄存器的操作,并不影响它所对应的另外一个8位寄存器。各寄存器的用法是:数据寄存器用来存放参加运算和运算结果的操作数的,每个寄存器又有它们各自的专用目的:AX——16位累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;AL为8位累加器。BX——基址寄存器,常用来做基址指针,指向一批连续存放操作数的基地址。CX——计数器,作为循环和串操作等指令中的隐含计数器。DX——数据寄存器,用来存放外设端口的16位地址,或双字长数据的高16位。变址寄存器变址寄存器常用于存储器寻址时提供地址SI是源变址寄存器DI是目的变址寄存器在串操作类指令中,SI和DI具有特别的功能指针寄存器指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器,指示栈顶的偏移地址。BP为基址指针寄存器,表示数据在堆栈段中的基地址指令指针寄存器IP指令指针寄存器IP,指示代码段指令的偏移地址IP寄存器是一个专用寄存器,用户不能直接访问。段寄存器CS代码段寄存器
计算机通过CS:IP寄存器联合使用来读取程序存储器的指令代码,从而控制指令序列的执行流程。
DS数据段寄存器计算机通过DS:BX/SI/DI寄存器联合使用来存取数据区(RAM)的临时数据。SS堆栈段寄存器计算机通过SS:SP/BP寄存器联合使用以确定堆栈段中的存储单元地址。ES附加段寄存器计算机通过ES:DI寄存器联合使用来存取附加段的数据。标志寄存器标志(FLAGS)是用于存放ALU执行完算术和逻辑运算后的状态标志和控制标志的寄存器。反映指令执行结果或控制指令执行形式。8086处理器中各种常用的标志形成了一个16位的标志寄存器FLAGS(也称程序状态字PSW寄存器)。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0控制标志反映结果状态反应运算过程标志的作用标志分成两类:状态标志——用来记录程序运行结果的状态信息,许多指令的执行都将自动地改变它。
CF
OF
AF
SF
ZF
PF控制标志——可由用户根据需要用指令进行设置,用于控制处理器的具体工作方式。
DF
IF
TF进位标志CF当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0。例如(以8位运算为例):3AH+7CH=B6H 没有进位:CF=0AAH+7CH=(1)26H 有进位:CF=1符号标志SF运算结果最高位为1,则SF=1;否则SF=0。3AH+7CH=B6H 最高位D7=1:SF=186H+7CH=00H 最高位D7=0:SF=0奇偶标志PF当运算结果最低字节中“1”的个数为零或偶数时,PF=1;否则PF=0。3AH+7CH=B6H=10110110B,结果中有5个1,是奇数,则PF=0 注意:PF标志仅反映最低8位中“1”的个数是偶或奇,即使是进行16位字操作。辅助进位标志AF运算时D3位(低半字节)有进位或借位时,AF=1;否则AF=0。例如:3AH+7CH=B6H D3向前有进位:AF=1溢出标志OF若算术运算的结果有溢出,则OF=1;否则OF=0。例:3AH+7CH=B6H 产生溢出:OF=1AAH+7CH=(1)26H 没有溢出:OF=0
什么是溢出?溢出和进位有什么区别?处理器怎么处理,程序员如何运用?如何判断是否溢出?零标志ZF若算术运算的结果为0,则ZF=1;否则ZF=0举例如:(AX)=734AH(BX)=5289H求(AX)+(BX)=?0111001101001010+0101001010001001----------------------------------------1011010111010011ZF=0PF=0(低8位)SF=1CF=0OF=1AF=1(低4位)方向标志DF用于串操作指令中,控制地址的变化方向:设置DF=0,串操作后存储器地址自动增量;设置DF=1,串操作后存储器地址自动减量。中断允许标志IF用于控制外部可屏蔽中断是否可以被处理器响应:设置IF=1,则允许中断;设置IF=0,则禁止中断陷阱标志TF用于控制处理器是否进入单步执行方式:设置TF=0,处理器正常工作;设置TF=1,处理器每执行一条指令就中断一次2.1.38086的工作模式和引脚特性8086CPU可工作在两种不同的模式最小模式单处理器模式,只有1个主控制器构成小规模的应用系统8088CPU本身提供所有的系统总线信号最大模式多处理器模式,8086为主处理器,可以接入数值协处理器8087和输入输出协处理器8089构成大规模的应用系统8086和总线控制器8288共同形成系统总线信号2.8086的工作模式3.8086的引脚特性12345678910111213141516171819204039383736353433323130292827262524232221
GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15AD16/S3AD17/S4AD18/S5AD19/S6BHE/S7MN/MX*RD*HOLD(RQ)*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M/IO*(QS2
)DT/R*(QS1)DEN(QS0
)ALEINTATEST*READYRESET80868086CPU为双列直插40引脚的芯片两种模式利用MN/MX*引脚区别MN/MX*接高电平为最小模式MN/MX*接低电平为最大模式两种组态下的内部操作并没有区别IBMPC/XT采用最大最小两种模式的信号分为:除读写控制引脚和总线请求和响应引脚不同而数据和地址引脚相同、中断请求和响应引脚相同其它引脚也相同Vcc电源输入,向CPU提供+5V电源GND接地,向CPU提供参考地电平MN/MX*组态选择,输入接高电平时,8086引脚工作在最小组态;反之,8086工作在最大组态1、最小模式下的引脚信号数据和地址引脚AD15~AD0:地址/数据分时复用引脚,双向A19/S6~A16/S3:地址/状态分时复用,输出、三态ALE地址锁存允许,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:AD7~AD0和A19/S6~A16/S3正在传送地址信息由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来RESET复位信号,输入、高电平有效该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作8086复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0HCLK时钟输入,系统通过该引脚给CPU提供内部定时信号。8086的标准工作时钟为5MHzIBMPC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns
M/IO*
I/O/存储器访问选择,输出、三态该引脚输出低电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O口地址该引脚输出高电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址
WR*写控制,输出、三态、低电平有效表示CPU正在写出数据给存储器或I/O端口M/IO*、WR*和RD*是最基本的控制信号组合后,控制4种基本的总线周期总线周期M/IO*WR*RD*存储器读低高低存储器写低低高I/O读高高低I/O写高低高RD*读控制,输出、三态、低电平有效表示CPU正在从存储器或I/O端口读入数据
DEN*数据允许,输出、三态、低电平有效表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动DT/R*数据发送/接收,输出、三态该信号表明当前总线上数据的流向高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收)BHE*/S7高8位数据总线允许/状态复用引脚(参看表2-3)READY
存储器或I/O口准备就绪信号输入、高电平有效在总线操作周期中,8088CPU会在第3个时钟周期的前沿测试该引脚:如果测到高有效,CPU直接进入第4个时钟周期,否则将插入等待周期TwCPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。TEST*测试,输入、低电平有效当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效继续测试;如果有效,则程序恢复运行在使用协处理器8087时,通过该引脚和WAIT指令,可使8088与8087的操作保持同步
INTR可屏蔽中断请求和响应引脚)可屏蔽中断请求,输入、高电平有效有效时,表示请求设备向CPU申请可屏蔽中断并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽INTA*可屏蔽中断响应,输出、低电平有效表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期NMI非屏蔽中断请求,输入、上升沿有效该请求的优先级别高于INTR,并且不能在CPU内被屏蔽,当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务
HOLD总线请求,输入、高电平有效表示总线请求设备向CPU申请占有总线HLDA总线响应,输出、高电平有效表示CPU已响应总线请求并已将总线释放此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线待到总线请求信号HOLD有效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权
“引脚”小结CPU引脚是系统总线的基本信号可以分成三类信号:16位数据线:D0~D1520位地址线:A0~A19控制线:ALE、IO/M*、WR*、DT/R*
、DEN、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、MN/MX、GND为兰色信号线在最大模式下有不同的定义2、最大模式下的引脚信号S2、S1、S0:总线周期状态信号,为最大模式下连接8288总线控制器的信号线,在执行不同指令的总线周期有6种不同的控制信号输出。见表2-4P27QS1、
QS0指令队列状态信号,表2.5p47RQ/GT0、RQ/GT1总线请求/总线允许LOCK总线封锁信号S2*、S1*、S0*的编码意义S2*S1*S0*CPU的工作状态000中断响应001I/O读010I/O写011暂停100取指101存储器读110存储器写111过渡状态对比2、最小组式的系统组成(P27)1、8086的系统组成(1)20位地址总线—采用3片8282锁存器提供(2)16位数据总线—采用2片8286数据收发器进行驱动(3)系统控制信号—由引脚直接或由8288总线控制器提供(最大模式)(4)时钟、复位、准备好信号--由时钟发生器8284提供2.28086的系统组成和总线时序3、最大组式的系统组成⑴
系统地址总线采用三态锁存器74LS373⑵
系统数据总线通过三态双向缓冲器74LS245形成和驱动⑶系统控制总线主要由总线控制器8288形成MEMR*、MEMW*、IOR*、IOW*、INTA*(4)中断控制器8259形成中断响应控制线系统总线信号MEMR*MEMW*IOR*IOW*INTA*DMA控制器AENBRDAEN’*AEN*CENA19~A12A11~A8A7~A0D16~D0AD7~AD0A11~A8A19/S6~A16/S3A15~A1274LS24574LS37374LS373GGG*DIR74LS3738086OE*8288DT/R*DENALES2*~S0*S2*~S0*MN/MX*OE*E*MRDC*AMTW*IORC*AIOWC*INTA*74LS373同8282具有三态输出的TTL电平锁存器LE电平锁存引脚OE*输出允许引脚DQCQSR上升沿锁存:用负脉冲触发锁存74LS245同82868位双向缓冲器,控制端连接在一起,低电平有效可双向导通,输出与输入同相E*=0,导通DIR=1A→BDIR=0A←BE*=1,不导通ABTOE*物理存储器是指实际的存储器芯片存储器内每1个存储单元存放8位2进制树8086CPU有20条地址线最大可寻址空间为220=1MB物理地址范围从00000H~FFFFFH为地址空间一个存储单元除具有一个唯一的物理地址编号1MB的内存分为偶地址和奇地址两个区域。4.8086的存储器组织与分段1)物理存储器和地址空间8086系统的存储体结构
通常将8086CPU的地址线、数据线、读写线与内存条小板上对应存储器芯片引脚对应相连接,设计出具含有偶地址区和奇地址区的存储体结构。512KB需要19根地址线8086CPU有16位数据线,每次与内存传送的数据为16位(1个字)或8位(1个字节)。字长是16位,数据以字节为单位按地址存放,一个字存入存储器占有相继的二个单元:若低位字节存入低地址,高位字节存入高地址则为规则字,相反为非规则字。字单元的地址采用它的低地址来表示。例: 字单元:(0004H)=1234H, 字节单元:(0004H)=34H规则字的存取操作可以在1个总线周期内完成非规则字的存取操作需要2个总线周期才能完成存储器的分段结构和物理地址的形成8088有20条地址总线,直接寻址能力为220=1M字节。用16进制数表示1M字节的地址范围应为00000H~FFFFFH。称为物理地址1、存储器的分段结构
程序员在编制程序时把存储器划分成逻辑段。段内地址16位,每个段的大小最大可达64KB;当然可以根据需要来确定段大小,可以是1,100,1000等在64K范围内的任意字节数。IBMPC机对段的起始地址有限制,段必须从任一小段的首地址开始。从0地址开始每16字节为一小段物理地址是对应每个物理存储单元都有一个唯一的20位编号,从00000H~FFFFFH。逻辑地址是程序中出现的16位段基地址和段内偏移地址。是CPU中的20位地址加法器将段寄存器和通用寄存器中的16位地址码计算后由20位地址线上送出的。2.8086内部20位物理地址形成逻辑地址——段地址:偏移地址物理地址的形成:物理地址=段基地址*16(左移4位)+偏移地址=(CS,DS,SS,ES)*10H+(IP,BX,SI,DI,BP,SP,)逻辑段段基址偏移地址物理地址计算可替换段代码段CSIP(CS)16d+(IP)无堆栈段SSSP,BP(SS)16d+(SP、BP)无数据段DSBX、SI、DI、有效地址EA(DS)16d+(BX、SI)(DS)16d+EACS,ES,SS附加段ESDI(ES)16d+(DI)无编程各逻辑段的物理地址获得的方法如下:每个存储单元都有一个唯一20位物理地址,但可有多个逻辑段地址和偏移地址在指令执行时由地址加法器形成。例如:物理地址:00200H 逻辑地址:0000H:0200H 逻辑地址:0020H:0000H2.2.28086的总线时序时序是指信号高低电平(有效或无效)变化及相互间的时间顺序关系。总线时序描述CPU引脚如何实现总线操作CPU时序决定系统各部件间的同步和定时总线操作是指CPU通过总线对外的各种操作8086的总线操作主要有:存储器读、I/O读操作存储器写、I/O写操作中断响应操作总线请求及响应操作时钟周期:一个时钟脉冲时间称为一个时钟周期。时钟周期由计算机的主频决定,是CPU的定时基准,例如,8086的主频为5MHz则1个时钟为200ns。总线周期:8086CPU通过总线与存储器或外设交换信息,存取一个字节(字)基本操作所需的时间。即一个总线周期完成一个基本的操作,由四个时钟周期组成,分别称为T1、T2、T3和T4状态。当需要延长总线周期时需要插入等待状态Tw指令周期:一条指令从开始取指令到最后执行完毕所需的时间称为一个指令周期。1个指令周期由若干个总线周期组成。(1)最小组态的总线读操作
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状态——前沿读取数据,完成数据传送存储器写总线周期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状态——完成数据传送I/O读总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输入数据S6~S3READY(高电平)IO/M*RD*0000T1状态——输出16位I/O地址A15~A0IO/M*输出高电平,表示I/O操作;ALE输出正脉冲,表示复用总线输出地址T2状态——输出控制信号RD*T3和Tw状态——检测数据传送是否能够完成T4状态——前沿读取数据,完成数据传送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状态——完成数据传送插入等待状态Tw同步时序通过插入等待状态,来使速度差别较大的两部分保持同步在读写总线周期中,判断是否插入Tw1.在T3的前沿检测READY引脚是否有效2.如果READY无效,在T3和T4之间插入一个等效于T3的Tw,转13.如果READY有效,执行完该T状态,进入T4状态2.5.3最大组态的读总线时序111101A15~A8A1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色低碳分布式光储充一体化综合利用项目可行性研究报告写作模板-申批备案
- 2025-2030全球草酸镥水合物行业调研及趋势分析报告
- 2025年全球及中国游戏插画行业头部企业市场占有率及排名调研报告
- 2025-2030全球单通道凝血分析仪行业调研及趋势分析报告
- 2025-2030全球EPROM 存储器行业调研及趋势分析报告
- 2025年全球及中国3,4,5-三甲氧基甲苯行业头部企业市场占有率及排名调研报告
- 2025年全球及中国代谢物定制合成服务行业头部企业市场占有率及排名调研报告
- 2025-2030全球低扭矩滚子轴承行业调研及趋势分析报告
- 2025年全球及中国汽车差速器锥齿轮行业头部企业市场占有率及排名调研报告
- 2025-2030全球高压电动车轴行业调研及趋势分析报告
- 2024年云南省公务员考试【申论县乡卷、行测、事业单位招聘】3套 真题及答案
- 湖南省长沙市长郡教育集团2024-2025学年七年级上学期期末考试英语试题(含答案)
- 2024上海市招聘社区工作者考试题及参考答案
- 2024-2025学年人教版三年级(上)英语寒假作业(九)
- 《招标投标法》考试题库200题(含答案)
- 立春气象与健康
- 河南退役军人专升本计算机真题答案
- 室内空气治理技术培训
- Q∕SY 06342-2018 油气管道伴行道路设计规范
- 物业管理企业用工风险与防范对策
- 拜耳法氧化铝生产工艺流程框图
评论
0/150
提交评论