《2 8086微处理器及其结构.ppt》由会员分享,可在线阅读,更多相关《2 8086微处理器及其结构.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、主要内容 第二章8086微处理器及其结构8086/8088CPU 的组成EU和BIU的作用内部寄存器的分类、名称及功能8086/8088系统存储器的分段、物理地址的形成和堆栈的概念;系统配置及工作时序。第二章第二章 80868086微微处处理器及其理器及其结结构构主要内容:重点:8086CPU 的组成、内部寄存器名称及功能、8086/8088系统存储器的分段、物理地址的形成和堆栈的概念;难点:工作时序8086内部结构 第二章8086微处理器及其结构第一节第一节 8086/8088微处理器的内部结构微处理器的内部结构8086微处理器使用+5V电源,40条引脚双列直插式封装,时钟频率为5MHz10
2、MHz,中断功能:中断源256个有16根数据线和20根地址线,可直接寻址的内存地址空间达lMB。8086微处理器的特点是:通过设置指令队列缓冲器,实现并行流水线工作方式;对内存空间实行分段管理,将内存分为4类段并设置了段寄存器,以实现对1MB空间的寻址;支持多处理器系统;有最小和最大两种工作模式。8086内部结构 第二章8086微处理器及其结构8086与8088的主要区别:8086为典型的16位的微处理器,它具有16位的内部数据总线和16位的外部数据总线。8088却具有16位的内部数据总线和8位的外部数据总线,因而称为准16位机。相同之处:均具有20位地址总线,可寻址的内存地址空间为1M字节,
3、可寻址的I/O地址空间为64k字节,二者具有完全兼容的指令系统等。8086内部结构 第二章8086微处理器及其结构8086CPU由两个独立的功能部件构成,它们是:指令执行部件EU(ExecutionUnit)总线接口部件BIU(BusInterfaceUnit)两者可并行操作。8086内部结构 第二章8086微处理器及其结构1、EU(Execution Unit)执行单元)执行单元(1)、)、功能功能:负责指令执行和形成访问存储器或负责指令执行和形成访问存储器或I/O端口的有效地址。端口的有效地址。(2)、)、组成:组成:q 4个通用寄存器:个通用寄存器:AX、BX、CX、DXq 4个专用寄存
4、器:个专用寄存器:BP、SP、SI、DI,q 标志寄存器(标志寄存器(FR,或或PSW):):9个标志位,其中个标志位,其中6个条件标志位用于存放结果状态,个条件标志位用于存放结果状态,q 算术逻辑单元:算术逻辑单元:16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算,位加法器,用于对寄存器和指令操作数进行算术或逻辑运算,q EU 控制系统:控制系统:接受接受从总线接口单元的从总线接口单元的指令队列中取来的指令代码指令队列中取来的指令代码,对其译码和向对其译码和向 EU 内各有关部分内各有关部分发出时序命令信号发出时序命令信号,协调执行指令规定的操作协调执行指令规定的操作。8086内部
5、结构 第二章8086微处理器及其结构2、总线接口单元、总线接口单元 BIU(Bus Interface Unit)(1)功能:功能:负责与负责与 M、I/O 端口传送数据端口传送数据。(2)组成组成4 个段地址寄存器(个段地址寄存器(CS、DS、ES、SS),),16位指令指针寄存器位指令指针寄存器IP,20位的地址加法器:位的地址加法器:段地址段地址 16+偏移地址物理地址偏移地址物理地址6字节(字节(8086)的指令队列)的指令队列,总线控制电路总线控制电路:负责处理器与外界总线的联系负责处理器与外界总线的联系8086内部结构 第二章8086微处理器及其结构8086CPU外部三组总线:外部
6、三组总线:AB:20 位地址总线位地址总线,A19A0DB:16位双向数据总线位双向数据总线,D15 D0CB:一组控制总线一组控制总线(3)二点说明二点说明 指令队列指令队列8086 的指令队列为的指令队列为6个字节个字节,8086在执行指令的同时从内存中取下一条或几条指令,取来的指令在执行指令的同时从内存中取下一条或几条指令,取来的指令放在指令队列中,使放在指令队列中,使 BIU 具有预取指令的功能,具有预取指令的功能,是一种先进先出是一种先进先出(FIFO)的数据结构)的数据结构。指令执行顺序指令执行顺序 顺序指令执行顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。:指令队列存
7、放紧接在执行指令后面的那一条指令。执行转移指令执行转移指令:BIU 清除指令队列中的内容,从新的地址取入指令,清除指令队列中的内容,从新的地址取入指令,立即送往执行单元,然后再从新单元开始重新填满队列。立即送往执行单元,然后再从新单元开始重新填满队列。8086内部结构 第二章8086微处理器及其结构8086/8088取指部分与执行部分是分开的。取指部分与执行部分是分开的。在一条指令的执行过程中可以取出下一条(或多条)指令,指令在一条指令的执行过程中可以取出下一条(或多条)指令,指令 在在指令队列中排队;指令队列中排队;在一条指令执行完成后在一条指令执行完成后,就可以立即执行下一条指令,减少就可
8、以立即执行下一条指令,减少CPU为取为取指令而等待的时间,提高指令而等待的时间,提高CPU的利用率和整个运行速度。的利用率和整个运行速度。8086/8088微处理器微处理器:BIU和和EU分开,取指和执行可以重迭,分开,取指和执行可以重迭,大大减少了等待取指所需的时间,提高大大减少了等待取指所需的时间,提高CPU的利用率。的利用率。重迭操作技术:重迭操作技术:一方面提高了整个执行速率,一方面提高了整个执行速率,另一方面降低了与之相配的存储器的存取速度的要求另一方面降低了与之相配的存储器的存取速度的要求。8086内部结构 第二章8086微处理器及其结构8088的指令执行过程8086内部结构 第二
9、章8086微处理器及其结构AHAHALALBHBHBLBLCHCHCLCLDHDHDLDLSPSPBPBPSISIDIDIIPIPFlagsFlagsCSCSDSDSSSSSESESAXAXBXBXCXCXDXDX累加器累加器基址基址计数计数数据数据数据寄存器数据寄存器0 015150 07 78 815150 015150 01515附加数据段附加数据段堆栈段堆栈段数据段数据段代码段代码段段寄存器段寄存器指令指针指令指针状态标志状态标志控制寄存器控制寄存器堆栈指针堆栈指针基址指针基址指针 源变址源变址目的变址目的变址指针寄存器指针寄存器变址寄存器变址寄存器通通用用寄寄存存器器段寄存器段寄存器
10、段寄存器段寄存器:4个个16位段寄存器位段寄存器CS、DS、SS、ES。用来用来识别当前可寻址的四个段,不可互换的使用。识别当前可寻址的四个段,不可互换的使用。CSCode Segment Register 代码段寄存器代码段寄存器 用来识别当前代码段(程序一般放在代码段)。用来识别当前代码段(程序一般放在代码段)。DSData Segment Register数据段寄存器数据段寄存器 用来识别当前数据段寄存器。用来识别当前数据段寄存器。SSStack Segment Register堆栈段寄存器,堆栈段寄存器,用来识别当前堆栈段。用来识别当前堆栈段。ESExtra Segment Regis
11、ter附加段寄存器附加段寄存器,用来识别当前附加段。用来识别当前附加段。8086内部结构 第二章8086微处理器及其结构标志寄存器(FR,或PSW)1、状态标志(6个):CF进位标志.0:无进位,1:有进位PF奇偶标志.0:奇;1:偶AF辅助进位.0:无进位,1:有进位ZF零标志.0:非零;1:是零SF符号标志.0:正数;1:负数OF溢出标志.0:无溢出;1:有溢出*:各个状态标志的含义以及任何利用各个标志位8086内部结构 第二章8086微处理器及其结构状态标志状态标志:用来记录程序中运行结果的用来记录程序中运行结果的状态信息状态信息作为作为后续条件转移指令的转移控制条件。后续条件转移指令的
12、转移控制条件。也称为条件码。也称为条件码。包括包括6位:位:CF、PF、AF、ZF、SF、OF。OF(Overflow Flag)溢出标志(一般指补码溢出)溢出标志(一般指补码溢出)OF=1:在运算过程中,如操作数超过了机器表示的范围称为:在运算过程中,如操作数超过了机器表示的范围称为溢出溢出。OF=0:在运算过程中,如操作数未超过了机器能表示的范围称为在运算过程中,如操作数未超过了机器能表示的范围称为 不溢出。不溢出。字节允许范围字节允许范围 -128+127,字运算范围字运算范围 -32768+32767。8086内部结构 第二章8086微处理器及其结构 SF(Sign Flag)符号标志
13、符号标志 SF=1:记录运算结果的:记录运算结果的符号为负符号为负。SF=0:记录运算结果的:记录运算结果的符号为正。符号为正。ZF(Zero Flag)零标志零标志 ZF=1:运算结果:运算结果为为0。ZF=0:运算结果运算结果不为不为0。CF(Carry Flag)进位标志进位标志 CF=1:记录运算时记录运算时从最高有效位产生进位值。从最高有效位产生进位值。CF=0:记录运算时:记录运算时从最高有效位不产生进位值从最高有效位不产生进位值。8086内部结构 第二章8086微处理器及其结构 AF(Auxiliary Carry Flag)辅助进位标志辅助进位标志AF=1:记录运算时记录运算时
14、第第3位(半个字节)产生进位值。位(半个字节)产生进位值。AF=0:记录运算时记录运算时第第3位(半个字节)不产生进位值。位(半个字节)不产生进位值。PF(Parity Flag)奇偶标志奇偶标志 PF=1:结果操作数结果操作数低低8位中有偶数个位中有偶数个1。PF=0:结果操作数结果操作数低低8位中有奇数个位中有奇数个1。用来为机器中传送信息时可能产生的代码出现情况提供检验条件。用来为机器中传送信息时可能产生的代码出现情况提供检验条件。8086内部结构 第二章8086微处理器及其结构例31:两数相加0100001101000101B+)0010001000011001BCF=00110010
15、101011110B运算结果对各状态标志位的影响:SF ZF PF AF CF OF 0 0 0 0 0 0 正数 非零 奇数 无进位 无溢出 8086内部结构 第二章8086微处理器及其结构例32:两数相减0101010000111010B)1111111000000000BCF=10101011000111010B运算结果对各状态标志位的影响:SF ZF PF AF CF OF 0 0 1 0 1 0 正数 非零 偶数 无 有 无溢出 进位8086内部结构 第二章8086微处理器及其结构标志位为1时的符号为0时的符号OFOV(overflow)NV(notoverflow)DFDN(dow
16、n)UPIFEI(enable)DI(disenable)SFNG(negative)PL(plus)ZFZR(zero)NZ(notzero)AFAC(auxiliarycarry)NA(notauxiliary)PFPE(parityevennumber)PO(parityoddnumber)CFCY(carry)NC(notcarry)标志寄存器中的状态标志的表示符号8086内部结构 第二章8086微处理器及其结构2、控制标志(3个)对控制标志位进行设置后对控制标志位进行设置后,对其后的操作起控制作用。对其后的操作起控制作用。控制标志位包括控制标志位包括3位位:跟踪标志跟踪标志TF、中断
17、标志、中断标志IF、方向标志、方向标志DF。TF(Trap Flag)跟踪跟踪(陷阱陷阱)标志位标志位 TF=1,每执行一条指令后,自动产生一次内部中断,每执行一条指令后,自动产生一次内部中断,使使CPU处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。TF=0,CPU正常工作,不产生陷阱正常工作,不产生陷阱。8086内部结构 第二章8086微处理器及其结构IF(Interrupt Flag)中断标志中断标志 位位 IF=1,允许外部可屏蔽中断允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。可以响应可屏蔽中断请求。IF=0
18、,关闭中断关闭中断。CPU禁止响应可屏蔽中断请求。禁止响应可屏蔽中断请求。IF的状态对不可屏蔽中断和内部软中断没有影响。的状态对不可屏蔽中断和内部软中断没有影响。DF(Direction Flag)方向标志位方向标志位 DF=1,每次每次串处理操作串处理操作后使变址寄存器后使变址寄存器SI和和DI减量减量,使串处理从高地址向低地,使串处理从高地址向低地址方向处理。址方向处理。DF=0,每次每次串处理操作串处理操作后使变址寄存器后使变址寄存器SI和和DI增量增量,使串处理从低地址向高地使串处理从低地址向高地址方向处理。址方向处理。DF方向标志位是在串处理指令中控制处理信息的方向标志位是在串处理指
19、令中控制处理信息的方向方向用的。用的。8086内部结构 第二章8086微处理器及其结构控制信息控制信息:由系统程序或用户程序由系统程序或用户程序根据需要用指令来设置的。根据需要用指令来设置的。状态信息状态信息:由中央处理器由中央处理器,根据计算结果自动设置的,根据计算结果自动设置的,机器提供了设置状态机器提供了设置状态信息指令信息指令,必要时必要时,程序员可以用这些指令来建立状态信息程序员可以用这些指令来建立状态信息。存储器结构 第二章8086微处理器及其结构一、存储器的组成8086/8088CPU能寻址1M字节的存储单元。每个存储单元存放8位二进制数,即一个字节,且这些存储单元是顺序排放的。
20、每一个存储单元用唯一的一个地址码标识(20位二进制数),这个地址码标识称为物理地址。3.3 存储器结构一个存储单元中存放的信息称为该存储单元的内容,如图3-13表示,在0002H地址单元存储的信息为34H,即0002H单元的内容为34H,表示为:0002H34H或(0002H)34H。存储器结构 第二章8086微处理器及其结构512k8(位位)偶地址偶地址存储体存储体(A0=0)512k8(位位)奇地址奇地址存储体存储体(A0=1)FFFFE=2202158700000100003000050000000002000042201=FFFFF18086 系统中存储器的结构 将8086系统中1M字
21、节的储存空间分成两个512k字节的存储体,一个存储体中包含偶数地址,另一个存储体中包含奇数地址,两个存储体之间采用字节交叉编制方式。对于任何一个存储体,只需19位地址码(A1A19)就够了,另一个地址码A0 用来区分当前访问哪一个存储体,即A0=0表示访问偶地址存储体,A0=1表示访问奇地址存储体。存储器结构 第二章8086微处理器及其结构A0操操 作作00同时访问两个存储体,读同时访问两个存储体,读/写一个字的信息写一个字的信息01只访问奇地址存储体,读只访问奇地址存储体,读/写高字节的信息写高字节的信息10只访问偶地址存储体,读只访问偶地址存储体,读/写低字节的信息写低字节的信息11无访问
22、存储体操作无访问存储体操作8086系统存储器与总线连接,当8086系统中,另设一个总线高位有效控制信号 ,当 有效时,选定奇地址存储体,体内地址由A1A19确定;当A0=0时,选定偶地址存储体,体内地址由A1A19确定。一个非常重要的概念:规则字:在内存中,当存放一个字的时候,按照高字节存放在奇地址中,低字节放在偶地址中的原则存放。(通常简记为:奇高偶低).10000H10001H10002H10003H.例:从10000开始的存储单元按照规则字的原则存放两个字数据5A3BH,7100H3B5A0071高字节:5A低字节:3B存储器结构 第二章8086微处理器及其结构二、存储器分段存储器结构
23、第二章8086微处理器及其结构8086/8088 系统中,对整个存储空间寻址,需要20位长的地址码而CPU内部可以提供地址的寄存器BX、IP、SP、BP、SI和DI及算术逻辑运算单元都是16位,其寻址能力为64k字节。因此在8086/8088系统中,把整个存储空间分成许多逻辑段,这些逻辑段容量不能超过64k字节,各个逻辑段之间可以紧密相连,也可以相互重叠(完全重叠或者部分重叠)。在8086/8088存储器中,把16个字节的存储空间称作一节(Paragraph),为了简化操作,要求各个逻辑段从节的起始边界开始,也就是保证段的首地址的低4位地址码总是为“0”。段首地址的高16位地址码称作段基址,段
24、基址可以存放在代码段存储器CS、堆栈段寄存器SS、数据段寄存器DS或扩展段寄存器ES中。段内任一存储单元的地址可以用相对于段首址的16位偏移量来表示,这个偏移量称为当前段内的偏移地址,也称有效地址,可用系统中的16位通用寄存器来存放。三、存储器中的逻辑地址和物理地址物理地址用全部20位地址线表示例:22AD0H逻辑地址段基地址:偏移地址例:2100H:1AD0H(32位)(高16位)(低16位)存储器结构 第二章8086微处理器及其结构物理地址=段基址16+偏移地址如:2100 段基地址+1AD0 偏移地址 22AD00存储器结构 第二章8086微处理器及其结构 逻辑地址来源逻辑地址来源操作指
25、令段基址偏移地址正常来源其它来源取指令CS无IP堆栈操作SS无SP存/取变量DSCS、ES、SS有效地址EA取源串DSCS、ES、SSSI存/取目标串ES无DI通过BP间接寻址SSCS、ES、DS有效地址EA 特殊的内存区域特殊的内存区域8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如:中断矢量区:00000H003FFH共1K字节,用以存放256种中断类型的中断矢量,每个中断矢量占用4个字节,共2564=1024=1K 显示缓冲区:B0000HB0F9FH约4000(25802)字节,是单色显示器的显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码;B80
26、00H BBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏 幕显示象素的代码。启动区:FFFF0HFFFFFH共16个单元,用以存放一条无条件转移指令 的代码,转移到系统的初始化部分。存储器结构 第二章8086微处理器及其结构8086 CPU引脚及功能 第二章8086微处理器及其结构1AD15AD0 分时复用的地址/数据总线。2AD19/S6、A18/S5,A17/S4,A16/S33 /S7 总线高位有效信号。和AD0编码的含义无效无效1 11 1低低8 8位位数据总线上进行数据总线上进行字节字节传送传送0 01 1高高8 8位位数据总线上进行数据总线上进行字节字节传送传
27、送1 10 01616位位数据总线上进行数据总线上进行字字传送传送0 00 0总线使用情况总线使用情况ADAD0 03.2 8086/8088 CPU引脚及功能8086 CPU引脚及功能 第二章8086微处理器及其结构8086的系统配置 第二章8086微处理器及其结构最小模式系统8086的系统配置 第二章8086微处理器及其结构最小模式系统8086的系统配置 第二章8086微处理器及其结构最小模式系统总线周期(也称机器周期):CPU访问一次存储器或I/O设备所需要的时间称为总线周期。等待周期:因存储器或I/O设备速度慢引起的。8086CPU的内部时序 第二章8086微处理器及其结构3.3 80
28、86微处理器的工作时序在8086/8088CPU中,每个总线周期至少包含4个时钟周期(T1T4)。80868086读总线周期时序读总线周期时序8086CPU的内部时序 第二章8086微处理器及其结构T1周期:BIU将地址AD15AD0和A19/S6A16/S3连同总线高位有效信号BHE一起送上总线,在地址锁存允许信号ALE的控制下,可将地址锁存到8282/8283地址锁存器中,然后输出到地址总线上,由M/IO信号确定是访问存储器还是访问I/O端口。80868086读总线周期时序读总线周期时序8086CPU的内部时序 第二章8086微处理器及其结构T2周期:CPU撤销输出的地址信息,同时RD信号
29、有效,启动被选的存储器或I/O端口。DT/R为低电平,DEN也为低电平,使8286处于反向传送(即信息由数据总线传向CPU)。8086CPU的内部时序 第二章8086微处理器及其结构80868086读总线周期时序读总线周期时序T3周期:CPU继续提供状态信息,并且继续维持、M/IO及DT/R、DEN信号为有效电平。若CPU在T3开始时检测到READY为无效,则8086CPU在T3周期结束后不应立即进入T4周期,而应插入一个Tw周期。以后在每一个Tw周期的开始都要检测READY引脚电平,只有检测到READY为高电平时,才在这个Tw周期后进入T4周期。8086CPU的内部时序 第二章8086微处理器及其结构80868086读总线周期时序读总线周期时序8086CPU的内部时序 第二章8086微处理器及其结构80868086读总线周期时序读总线周期时序80868086写总线周期时序写总线周期时序8086CPU的内部时序 第二章8086微处理器及其结构