版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章8086微处理器,8086 CPU概述 8086 CPU内部结构 8086存储器组织 8086输入/输出组织 8086堆栈 8086 CPU引脚及功能 8086最大/最小工作模式 8086总线时序,2.18086/8088概述,高性能的第三代微处理器,8086 封装在标准40条引脚双列直插式管壳内(DIP),内含29000个晶体,有16位数据线和20条地址线。 工作频率:8086为5M HZ , 8086-2为8M HZ , 8086-1为10M HZ 8088CPU与8086异同:准16位微处理器,其内部寄存器、内部运算器以及内部操作都与8086基本相同,不同之处是外部的区别,8088
2、外部数据总线为8位。 推出8088原因:兼容已有的一整套intel外围设备接口芯片。,分析直接寻址的范围,可访问的输入/输出接口地址范围,1M 64K,一、8086CPU的内部结构组成 8086CPU由两部分组成: 指令执行部件(EU,Execution Unit) 总线接口部件(BIU,Bus Interface Unit),2.2、 8086CPU的内部结构,8086CPU的内部结构,执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。,总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等
3、4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或IO端口读取操作数参加EU运算或存放运算结果等。,EU和BIU的操作原则,lBIU中的指令队列有2个或2个以上字节为空时,BIU自动启动总线周期,取指填充指令队列。直至队列满,进入空闲状态。 lEU每执行完一条指令,从指令队列队首取指。系统初始化后,指令队列为空,EU等待BIU从内存取指,填充指令队列。 lEU取得指令,译码并执行指令。若指令需要取操作数或存操作结果,需访问存储器或I/O,EU向BIU发出访问总线请求。,l当BIU接到EU的总线请求,若正忙(正在执行取指总线周期),则必须
4、等待BIU执行完当前的总线周期,方能响应EU请求;若BIU空闲,则立即执行EU申请总线的请求。 lEU执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列被自动清除,BIU根据本条指令执行情况重新取指和填充指令队列。 l空闲状态,8086CPU与一般CPU区别,一般CPU工作方式 8086CPU工作方式,取指,执指,取指,执指,取指,执指,取指,执指,取指,执指,取指,执指,通用寄存器 专用寄存器 段寄存器 标志寄存器FR 指令指针寄存器IP,二、 8086CPU的寄存器结构,指令执行部件(EU)设有 4个通用寄存器: AX BX CX DX 4个专用寄存器: SP BP SI DI
5、,BH BL,CH CL,DH DL,AH AL,AX BX CX DX SI DI BP SP,通用寄存器 AX(Accumulator Register) 累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。 BX(Base Register) 基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。,CX(Counter) 将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指令中作计数用。 DX(Data Register) DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途
6、。,专用寄存器 SI(Source Index) 源变址寄存器多用于存放源操作数存储单元的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据。 DI(Destination Index) 目标变址寄存器多用于存放目的操作数存储单元的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中也可放数据。,BP(Base Pointer) 基址指针用于存放内存的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。 SP(Stack Pointer ) 堆栈指针用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。,寄存器的特殊用途和隐含性质 在指令中没有明显的标出,而这些寄存器参加操作,称之为“隐含寻址”
7、。 具体的:在某类指令中,某些通用寄存器有指定的特殊用法,编程时需遵循这些规定,将某些特殊数据放在特定的寄存器中,这样才能正确的执行这些指令。采用“隐含”的方式,能有效地缩短指令代码的长度。,2、段寄存器 总线接口部件BIU设有4个16位段寄存器 CS(Code Segment),代码段寄存器中存放程序代码段起始地址的高16位。 DS(Data Segment),数据段寄存器中存放数据段起始地址的高16位。 SS(Stack Segment),堆栈段寄存器中存放堆栈段起始地址的高16位。 ES(Extended Segment),扩展段寄存器中存放扩展数据段起始地址的高16位。,3、标志寄存器
8、FR,标志寄存器FR中共有9个标志位,可分成两类: 状态标志 表示运算结果的特征,它们是 CF、PF、AF、ZF、SF和OF 控制标志 控制CPU的操作,它们是IF、 DF和TF。,标志寄存器FR,FR中的状态标志,CF(Carry Flag):进位标志位 CFl,表示本次运算中最高位(D15或D7)有进位(加法运算时)或有借位(减法运算时)。CF标志可通过STC指令置位,通过CLC指令复位(清除进位标志),还可通过CMC指令将当前CF标志取反。 PF(Parity Flag):奇偶校验标志位 PF1,表示本次运算结果中有偶数个“l”,PF0,表示本次运算结果中有奇数个“1”。,AF(Auxi
9、liary Carry Flag):辅助进位标志位。AFl,表示运算结果的8位数据中,低4位向高4位有进位(加法运算时)或有借位(减法运算时),这个标志位只在十进制运算中有用。 ZF(Zero Flag):零标志位 ZF1,表示本次运算结果为零,否则即运算结果非零时,ZF0。,SF(Sign Flag):符号标志 SF1,表示本次运算结果的最高位(第7位或第15位)为“l”,否则SF0。 OF(Overflow F1ag):溢出标志,FR寄存器的控制标志,IF(Interrupt Flag):中断标志位 IF1,表示允许CPU响应可屏蔽中断。IF标志可通过STI指令置位,也可通过CLI指令复位
10、。 DF(Direction Flag):方向标志位 在串操作指令中,若DF0,表示串操作指令地址指针自动增量;DF1,表示地址指针自动减量。DF标志位可通过STD指令置位,也可通过CLD指令复位。 TF(Trap Flag):单步标志位,4、指令指针寄存器 IP IP :BIU要取指令的地址。,两个存储体采用字节交叉编制方式,2.4、 8086存储器组织,8086/8088系统有20根地址总线,它可以直接寻址的存储器单元数为220=1Mb 而微处理器中所有的寄存器都是16位的 如何实现16位的存储单元存放20位的地址空间? 存储器分段 由于CPU内部的寄存器都是16位的,为了能够提供20位的
11、物理地址,系统中采用了存储器分段的方法。规定存储器的一个段为64KB,由段寄存器来确定存储单元的段地址,由指令提供该单元相对于相应段起始地址的16位偏移量。这样,系统的整个存储空间可分为16个互不重叠的逻辑段。存储器的每个段的容量为64KB,并允许在整个存储空间内浮动,即段与段之间可以部分重叠、完全重叠、连续排列,非常灵活。,与存储单元地址相关的几个概念 物理地址:一个存储单元的实际地址(20位)。物理地址与存储单元是一一对应关系。(20202H) 逻辑地址:是指段地址和偏移地址,是指令中引用的形式地址。一个逻辑地址只能对应一个物理地址,而一个物理地址可以对应多个逻辑地址。(2000:0202
12、H) 段地址:是指一个段的起始地址,最低4位为零,一般将其有效数字16位存放在段寄存器中。(2000H) 偏移地址:段内存储单元相对段地址的距离(16位)。同一个段内,各个存储单元的段地址是相同的,偏移地址是不同的。(0202H) 物理地址的计算方法 物理地址=段地址+偏移地址 =段寄存器内容10H+偏移地址 取指令物理地址=(CS)10H+(IP) 堆栈操作物理地址=(SS)10H+(SP)/(BP的表达式) 存储器操作数物理地址=(DS)/(ES)10H+偏移地址,物理地址的计算方法,存储器分段的特点 (1)在程序代码量、数据量不是太大的情况下,可使它们处于同一段内,即使它们在64Kb的范
13、围内,这样可以减少指令长度,提高指令运行速度; (2)内存分段为程序的浮动分配创造了条件; (3)物理地址与逻辑地址并不是一一对应的; 2000:0202H=2010:0102H=20202H (4)各个分段之间可以重叠。 特殊的内存区域 8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如: 中断矢量区:00000H003FFH共1K字节,用以存放256种中断类型的中断矢量,每个中断矢量占用4个字节,共2564=1024=1K; 显示缓冲区:B0000HB0F9FH约4000(25802)字节,是单色显示器 的显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码
14、;B8000HBBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏幕显示象素的代码。 启动区:FFFF0HFFFFFH共16个单元,用以存放一条无条件转移指令的代码,转移到系统的初始化部分。,CS、DS、SS和其他寄存器组合指向存储单元的示意图,8086存储体的结构 8086将1M字节存储体分为两个库,每个库的容量都是512K字节。其中与数据总线D15D8相连的库全由奇地址单元组成,称高字节库或奇地址库, 并用BHE信号作为库选信号;另一个库与数据总线的D7D0相连,由偶地址单元组成,称低字节库或偶低址库,利用A0作为库选信号。显然,只需A19A1共19位地址用来作为两个库内
15、的单元寻址。,8086存储体的结构 在组成存储系统时,总是使偶地址单元的数据通过AD0AD7传送,而奇地址单元的数据通过AD8AD15传送,显然,并不是所有总线周期都存取总线高字节,只有存取规则字,或奇地址的字节,或不规则字的低八位,才进行总线高字节传送。,2.28086系统的储存器组织,一、8086存储器结构 8086系统中的存储器是一个最多1M个8位数量的字节序列,即可寻址的存储空间为1M字节,系统为每个字节分配一个20位的物理地址(对应16进制的地址范围从00000HFFFFFH)。,00000H,00001H,0000FH,FFFFFH,(一)、数据在内存的位置 字节、字、双字及其地址
16、 (二)、8086CPU对字/字节的读操作 16位读 从偶地址读,二、8086存储器的分体结构 8086系统中,存储器是分体结构,1M字节的存储空间分成两个512K字节的存储体。 一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址方式,D0D7,D8D15,00000H,00002H,00004H,FFFFEH,00001H,00003H,00004H,FFFFFH,三、存储器的分段 为什么分段 8086存储器分4个段 段基地址与段寄存器 偏移地址的产生 逻辑地址、物理地址,段基地址和偏移地址组成了逻辑地址 格式为:段基地址:偏移地址,60002H,00H,12H,6000
17、0H,0 0 0 0,段基地址(16位),段首地址, , ,物理地址=段基地址16+偏移地址,物理地址的形成,8086分段的好处 1、解决了16位地址寄存器对20位物理地址的寻址问题 2、实现了程序代码的浮动装配 8086复位后程序运行的起始地址,段寄存器使用约定,四、堆栈段的使用 所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是“先进后出”或“后进先出”的方式。 8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节。段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定,堆栈地址由高向低增长,栈底设在存储器的高地址区。 8086堆栈是
18、递减型的“满”堆栈。,三、8086CPU的管脚及功能 8086是16位CPU。它采用高性能的N沟道,耗尽型负载的硅栅工艺(HMOS)制造。由于受当时制造工艺的限制,部分管脚采用了分时复用的方式,构成了40条管脚的双列直插式封装,1、 8086的两种工作方式 最小模式:系统中只有8086一个处理器,所有的控制信号都 是由8086CPU产生(MN/MX=1)。 最大模式:系统中可包含一个以上的处理器,比如包含协处 理器8087。在系统规模比较大的情况下,系统控 制信号不是由8086直接产生,而是通过与8086配 套的总线控制器等形成(MN/MX=0)。,最小模式下的引脚说明 (1) AD15AD0
19、 (Address Data Bus): 地址/数据复用信号,双向,三态。在T1状态(地址周期)AD15AD0上为地址信号的低16位A15A0;在T2 T3状态(数据周期)AD15AD0 上是数据信号D15D0。,三总线结构 数据线DB 地址线AB 控制线CD,(2) A19/S6A16/S3 (Address/Status): 地址/状态复用信号,输出。在总周期的T1状态A19/S6A16/S3上是地址的高4位。在T2T4状态,A19/S6A16/S3上输出状态信息。,(3)BHE# /S7 (Bus High Enable/Status): 数据总线高8位使能和状态复用信号,输出。在总线周
20、期T1状态,BHE#有效,表示数据线上高8位数据有效。在T2T4状态BHE # /S7 输出状态信息S7。S7在8086中未定义。,(4)INTR( Interrupt Request) 中断请求信号,由外部输入,电平触发,高电平有效。INTR有效时,表示外部设备向CPU发出中断请求,CPU在每条指令的最后一个时钟周期对INTR进行测试,一旦测试到有中断请求,并且当中断允许标志IF1时,则暂停执行下条指令转入中断响应周期。,(5) NMI( NonMaskable Interrupt Request) 不可屏蔽中断请求信号。由外部输入,边沿触发,正跳沿有效。CPU一旦测试到NMI请求信号,待当
21、前指令执行完就自动从中断入口地址表中找到类型2中断服务程序的入口地址,并转去执行。(6) RD# (Read) 读信号, 三态输出,低电平有效,表示当前CPU正在读存储器或IO端口。,(7) WR# (Write) 写信号,三态输出,低电平有效,表示当前CPU正在写存储器或IO端口。 (8)READY 准备就绪信号。由外部输入,高电平有效,表示CPU访问的存储器或IO端口己准备好传送数据。当READY无效时,要求CPU插入一个或多个等待周期Tw,直到READY信号有效为止。,(9)TEST# 测试信号。由外部输入,低电平有效。当CPU执行WAIT指令时(WAIT指令是用来使处理器与外部硬件同步
22、),每隔5个时钟周期对TEST进行一次测试,若测试到该信号无效,则CPU继续执行WAIT指令,即处于空闲等待状态;当CPU测到TEST输入为低电平时,则转而执行WAIT的下一条指令。由此可见,TEST对WAIT指令起到了监视的作用。,(10)RESET 复位信号。由外部输入,高电平有效。RESET信号至少要保持4个时钟周期,CPU接收到该信号后,停止进行操作,并对标志寄存器(FR)、IP、DS、SS、ES及指令队列清零,而将CS设置为FFFFH。当复位信号变为低电平时,CPU从FFFF0H开始执行程序,由此可见,采用8086CPU计算机系统的启动程序就保持在开始的存储器中。,(11)MIO#
23、(MemoryIO ) 存储器或IO端口访问信号。三态输出,MIO#为高电平时,表示当前CPU正在访问存储器,MIO# 为低电平时,表示当前CPU正在访问IO端口。 (12)INTA# (Interrupt Acknowledge) 中断响应信号。向外部输出,低电平有效,表示CPU响应了外部发来的INTR信号。,(13)ALE(Address Latch Enable) 地址锁存使能信号,输出,高电平有效。用来作为地址锁存器的锁存控制信号。 (14)DEN# (Data Enable) 数据使能信号,输出,三态,低电平有效。用于数据总线驱动器的控制信号。,(15)DT/R#(Data Tran
24、smit/Receive): 数据驱动器数据流向控制信号,输出,三态。在8086系统中,通常采用8286或8287作为数据总线的驱动器,用DT/R#信号来控制数据驱动器的数据传送方向。当DT/R#1时,进行数据发送;DT/R#0时,进行数据接收。,(16)HOLD(Hold Request) 总线请求信号。由外部输入,高电平有效器向CPU请求使用总线。 (17)HLDA(Hold Acknowledge) 共享总线的处理总线请求响应信号。向外部输出,高电平有效。,(18)MN/MX(Minimum/Maximum Mode Control): 最大最小模式控制信号,输入。MN/MX1(5V),
25、CPU工作在最小模式。MN/MX0(接地), CPU则工作在最大模式。 (19)GND 地。 (20) VCC 电源,接5V。,最大模式下的引脚说明 当8086CPU工作在最大模式系统时,有8个管脚重新定义 。 (1)S2#、S1#、S0#(Bus Cycle Status,最小模式为M/IO#、DT/R#、DEN#): 总线周期状态信号,输出。这三个信号的组合表示当前总线周期的类型。在最大模式下,由这三个信号输入给总线控制器8288,用来产生存储器、I/O的读写等相关控制信号。如下表:,(2)LOCK# 封锁信号。 三态输出,低电平有效。LOCK有效时表示CPU不允许其它总线主控者占用总线。
26、这个信号由软件设置。当在指令前加上LOCK前缀时,则在执行这条指令期间LOCK保持有效,即在此指令执行期间,CPU封锁其它主控者使用总线。 (3)QS1、QS0(Instruction Queue Status,最小模式为ALE、INTA#): 指令队列状态信号,输出。QS1,QS0组合起来表示前一个时钟周期中指令队列的状态,以便从外部对芯片的测试。,(4)RQ#/GT0# ,RQ#/GT1# (RequestGrant) 总线请求信号请求同意信号。双向,低电平有效,当该信号为输入时表示其它主控者向CPU请求使用总线;当为输出时表示CPU对总线请求的响应信号。两条线可同时与两个主控者相连,同时
27、,RQ#/GT0#优先级高于RQ#/GT1#。,(5)QS1、QS0(Instruction Queue Status): 指令队列状态信号,输出。QS1,QS0组合起来表示前一个时钟周期中指令队列的状态,以便从外部对芯片的测试。,8086/8088微处理器最小模式和最大模式,为了尽可能适应各种各样的使用场合,在设计8086 CPU芯片时, 使它们可以在两种模式下工作,即最小模式和最大模式。 最小模式 所谓最小模式,就是系统中只有一个8086/8088微处理器,在这种情况下,所有的总线控制信号,都是直接由CPU产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于小规模的微机应用系统。 MN
28、/MX端接+5V,决定了工作模式; 有一片8284A,作为时钟信号发生器; 有三片8282或74LS273,用来作为地址信号的锁存器; 当系统中所连的存储器和外设端口较多时,需要增加数据总线的驱动能力,这时,需用2片8286/8287作为数据总线收发器。,最大模式 所谓最大模式,是指系统中至少包含两个微处理器,其中一个为主处理器,即8086/8086CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。 该模式适用于大中型规模的微机应用系统。 最小模式所拥有的配置; 有一片8288总线控制器来对CPU发出的控制信号进行变换和组合,以得到对存储器或I/O 端口的读/写信号和对锁存器82
29、82及数据总线收发器8286的控制信号。 有8259A(可选)用以对多个中断源进行中断优先级的管理,但如果中断源不多,也可以不用中断优先级管理部件。,最大模式 与8086/8088CPU配合工作的协处理器有两类,一类是数值协处理器8087另一类是输入/输出协处理器8089。 8087是一种专用于数值运算的协处理器,它能实现多种类型的数值运算,如高精度的整型和浮点型数值运算,超越函数(三角函数、对数函数)的计算等,这些运算若用软件的方法来实现,将耗费大量的机器时间。换句话说,引入了8087协处理器,就是把软件功能硬件化,可以大大提高主处理器的运行速度。 8089协处理器,在原理上有点象带有两个D
30、MA通道的处理器,它有一套专门用于输入/输出操作的指令系统,但是8089又和DMA控制器不同,它可以直接为输入/输出设备服务,使主处理器不再承担这类工作。所以,在系统中增加8089协处理器之后,会明显提高主处理器的效率,尤其是在输入/输出操作比较频繁的系统中。,2.8 8086的操作和总线时序,什么是时序? 时序是计算机操作运行的时间顺序。 为什么要研究时序? 进一步了解在微机系统的工作过程中,CPU各引脚上信号之间的相对时间关系; 深入了解指令的执行过程; 在程序设计时,选择合适的指令或指令序列,以尽量缩短程序代码的长度及程序的运行时间; 对于学习各功能部件与系统总线的连接及硬件系统的调试,
31、都十分有意义,因为CPU与存储器、I/O端口协调工作时,存在一个时序上的配合问题; 更好地处理微机用于过程控制及解决实时控制的题。,几个基本概念 指令周期:一条指令从其代码被从内存单元中取出到其所规定的操作执行完毕,所用的时间,称为相应指令的指令周期。 总线周期:是指CPU与存储器或外设进行一次数据传送所需要的时间。 时钟周期:又称为T状态,是一个时钟脉冲的重复周期,是CPU处理动作的基本时间单位。它是由主频来确定,如8086的主频为5MHz,则一个时钟周期为200ns。 等待周期:是在一个总线周期的T3和T4之间,CPU根据Ready信号来确定是否插入TW,插入几个TW。 空闲周期:是指在二个总线周期之间的时间间隔(总线处在空闲状态)。若为3个时钟周期,则空闲周期为3个Ti。 时钟周期(T)作为基本时间单位,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026兰州理工合金粉末有限责任公司招聘2人备考题库及答案详解(必刷)
- 2026年财务数据安全与报表传输加密
- 2026重庆市建设监理协会招聘备考题库及答案详解(名校卷)
- 2026云南天权建设集团有限公司招聘10人备考题库含答案详解(黄金题型)
- 都江堰市人力资源和社会保障局公开补员招聘编外人员备考题库(41人)附答案详解(基础题)
- 2026年项目质量管理计划制定与质量保证措施
- 2026宁波市海曙区面向2026年普通高校应届毕业生选聘紧缺人才20人备考题库及参考答案详解1套
- 2026年送配电线路工 GIS 设备安装与调试配合
- 2026四川达州市大巴山文化旅游发展有限公司面向社会招聘正式员工2人备考题库附答案详解(典型题)
- 2026河南新乡高新投资集团有限公司招聘4人备考题库含答案详解(模拟题)
- 2025年校医考试题库及答案讲解
- 机器人技术机械臂
- 医院培训课件:《临床输血安全管理》
- 医疗垃圾分类培训考核试题(附答案)
- (国网)社会单位一般作业人-网络信息安全准入考试复习题及答案
- 常识题目及答案大全初中
- 2025年陕西高中学业水平合格考试地理试卷试题(含答案)
- 国际高中入学考-数学试题(英语试题)
- 2022省级政府和重点城市一体化政务服务能力评估报告
- 《小学语文新课程标准》
- 护理法律法规与纠纷防范培训
评论
0/150
提交评论