《微机CH28086系统结构》由会员分享,可在线阅读,更多相关《微机CH28086系统结构(61页珍藏版)》请在金锄头文库上搜索。
1、第二章 8086系统结构12.1 8086CPU结构2.2 8086CPU的引脚及其功能2.3 8086存储器组织2.4 8086系统配置2.5 8086CPU2.6 小结2第二章2.1 8086CPU结构一、Intel 8086CPU主要特性 数据总线:16位 地址总线:20位 内存空间:CPU可直接寻址1MB内存空间 端口地址线:16位 时钟频率:5MHz、 8MHz、 10MHz工作模式:单处理器工作模式、多处理器工作模式 流水线工作方式:取指令、执行指令并行进行 兼容性:与8080、8085兼容3第二章二、8086CPU的内部结构 8086CPU内部按功能可分为两部分:1、BIU(总线
2、接口部件)功能:地址形成、取指令、指令排队、 读/写操作数、总线控制2、EU(执行部件)功能:指令译码、指令执行组成部件见下页图(教材P23 图2-1 )4第二章8086CPU的内部组成 执行单元(执行单元(EU)总线接口单元(总线接口单元(BIU) 总线控制逻辑 指令指针寄存器IP 段寄存器 地址加法器 指令队列缓冲器1、BIU5第二章执行单元(执行单元(EU)总线接口单元(总线接口单元(BIU) 算术逻辑单元(ALU) EU控制电路 寄存器组、U8086CPU的内部组成6第二章80868086EUEUBIUBIUBUSBUS取指取指1忙忙取指取指2忙忙执指执指1取指取指3忙忙执指执指2取指
3、取指4忙忙执指执指3取指取指5忙忙执指执指4ttt执指执指5忙忙3、8086的内部结构特点: 指令的提取与执行分别由BIU和EU两部件完成,二者既独立又相互配合 并行工作。7第二章工作过程动画演示8第二章 寄存器:用于存放运算过程中所需要操作数地址、操作数及中间结果;特点:在CPU内部; 存取速度比存储器快得多; 容量小;8086CPU内部有4组16位寄存器(P24 图2-2)。三、寄存器结构 9第二章目的变址寄存器目的变址寄存器 Destination IndexDestination IndexSISIDIDIBPBPSPSPAXAX 累加器累加器 AccumulatorAccumulat
4、orBX BX 基数寄存器基数寄存器BaseBaseCX CX 计数寄存器计数寄存器CountCountDX DX 数据寄存器数据寄存器DataDataAHAHBHBHCHCHDHDHALALBLCLCLDLDLIPIPPSWPSWDSDSESESSSSSCSCS数据段寄存器数据段寄存器Data SegmentData Segment附加段寄存器附加段寄存器Extra SegmentExtra Segment堆栈段寄存器堆栈段寄存器Stack SegmentStack Segment代码段寄存器代码段寄存器Code SegmentCode Segment状态标志寄存器状态标志寄存器Progra
5、m Status WordProgram Status Word指令指针寄存器指令指针寄存器Instruction PointerInstruction Pointer变址寄存器变址寄存器段寄存器段寄存器控制寄存器控制寄存器通通用用寄寄存存器器源变址寄存器源变址寄存器 Source IndexSource Index基址指针寄存器基址指针寄存器 Base PointerBase Pointer堆栈指针寄存器堆栈指针寄存器 Stack PointerStack Pointer指针寄存器指针寄存器数据寄存器数据寄存器8086CPU 寄存器组10第二章1、通用寄存器组u常用来存放参与运算的操作数或运
6、算结果u特殊用途见 P26表2-1 11第二章2、指针和变址寄存器u可作通用寄存器,存放一般操作数或运算结果u作指针和变址寄存器,用于存放某段地址偏移量12第二章3、段寄存器u 用于存放逻辑段的段基地址13第二章4、指令指针和标志位寄存器u IP存放下一条指令在现行代码段中的偏移地址u PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。14第二章状态标志:存放运算结果的特征 6个状态标志位(CF,PF,AF,ZF,SF,OF)控制标志:控制某些特殊操作 3个控制标志位(TF,IF,DF)标志位寄存器PSW具体格式:15第二章CF(进位标志):保存加法的进位和减法的借位,有进位
7、或借位时CF=1,否则CF=0PF(奇偶标志):表示计算结果低8位 1的个数是奇数还是偶数. 偶数个PF1,否则,PF0AF(辅助进位):保存加法或减法结果第4、5位之间的进位或借位。有则AF=1,否则,AF=0u 状态标志位的名称和定义如下:16第二章ZF(零标志):表示运算结果是否为零,为零则ZF1SF(符号标志):保存运算结果的算术符号。SF1,表示本次运算结果的最高位(第8位或第16位)为“1”,否则SF0。OF(溢出标志):溢出是在两个带符号数相加、减时可能产生的。溢出则OF1,否则OF=0 对无符号数操作则不用考虑溢出标志。例:P28 例2.217第二章例2.2 将5394H与-7
8、77FH两数相加,并说明标志位状态:解:设X=5394H,Y=-777FH,由:X+Y补=X补+Y补X补=0101 0011 1001 0100BY补=1111 0111 0111 1111B补=1000 1000 1000 0001B 0101 0011 1001 0100B + 1000 1000 1000 0001B 1101 1100 0001 0101BX+Y原= X+Y补补=X补+Y补补=11011B所以: X+Y=-010 0011 1110 1011B=-23EBH标志位:CF=0,PF=0,AF=0,ZF=0,SF=1,OF=018第二章TF(单步标志):T=1可使微处理器进
9、入跟踪方式,即单步调试状态。IF(中断允许标志):用来控制CPU是否能够响应可屏蔽中断。IF1表示允许CPU响应可屏蔽中断。DF(方向标志):在串操作指令中,通过 D 可选择对 DI / SI 寄存器的内容进行递增或递减方式. D=1,寄存器内容自动递减; D=0,则相反。u 控制标志位的名称和定义如下:19第二章2.2 8086CPU的引脚及其功能1、8086CPU芯片:40引脚、双列直插式封装、由于工艺限制,部分引脚采用分时复用技术;2、8086CPU有两种工作模式:最小模式:只有8086CPU一个处理器(单机系统)最大模式:有两个或多个微处理器,系统中所需要的控制信号由总线控制器8288
10、提供(多机系统)一、概述20第二章1、P29 图2-3 8086CPU外部引脚 P29P32 各引脚定义二、8086CPU在最小模式中的引脚定义21第二章2、外部引脚信号小结地址/数据线(20) A19/S6A16/S3, AD15AD0 特点:分时复用 T1:地址有效,T2T4:数据或状态有效电源、地线(3)“/ /”:两边信号电平一样,表示分时复用22第二章控制信号线(17)(1)系统控制线(CPU输出)(7) M/IO#、ALE、BHE#、RD#、WR#、DT/R#、DEN# (2)CPU控制信号(输入CPU)(5) RESET、CLK、READY、TEST#、MN/MX#(3)中断处理
11、信号(3) NMI、INTR、INTA#(4)总线保持信号(DMA方式)(2) HOLD、HLDA“/ /”:两边电平不同,表示电平不同作用不同“-”:表示低电平有效;这里用”#”代替23第二章三、8088与8086CPU的不同之处1.8088CPU指令队列长度是4个字节; (见P34)2. BIU的总线控制电路与外部交换数据的总线宽度是8位;与专用寄存器组之间的DB宽度也是8位;3.8088的外部数据总线只有8位;4.8088中,用IO/M#信号代替M/IO#信号线; (28脚)5.8088中, BHE#(34脚)信号线改为SS0#24第二章25第二章2.3 8086存储器组织1、存储器地址
12、的分段管理存储器的要求:以字节为单位存储信息, 每个存储单元有唯一的地址。分段管理的原因:8086系统有20根地址线可寻址1MB内存空间,即需要20位的物理地址,但CPU内部寄存器只有16位(只能寻址64K字节)。为扩大寻址范围,所以采取存储器的分段管理。一、存储器地址26第二章分段方法: 1MB的存储器空间分成许多逻辑空间,每一个逻辑空间是存储器中可独立寻址的一个逻辑单位,称逻辑段,每个段的长度最大64K字节。27第二章分段管理的特点:起始点可浮动;可分开或重叠;实际地址由段地址、段内偏移地址组成;段首地址必须能被16整除28第二章2、物理地址的形成逻辑地址:存储器的任一个逻辑地址由段基址和
13、偏移地址组成,程序设计时采用。物理地址:存储器的绝对地址,从00000FFFFFH,它是由逻辑地址变换而来。 即:物理地址=段基址16+偏移地址。放在段寄存器中的地址(CS、DS、ES、SS)从段地址开始的相对偏移位置(放在指令指针寄存器IP、16位通用寄存器中)29第二章物理地址的实现:用BIU中的地址加法器来实现逻辑地址到物理地址的转换;CPU访问内存时,段寄存器的内容(段基址)自动左移4位(二进制),与段内16位地址偏移量相加,形成20位的物理地址;过程如右图所示: 0000段基址1616位偏移地址1616位地址加法器物理地址2020位30第二章3、逻辑地址的来源访问存储器的操作类型不同
14、, BIU所使用的逻辑地址来源也不同。(逻辑地址的来源如下表所示)CS、SS、ESCS、SS、ES31第二章段寄存器与其他寄存器组合寻址存储单元的示意图段基址CSCS偏移地址IPIP段基址DSDS或ESESSISI,DIDI或BXBX段基址SSSSSPSP或BPBP代码段数据段堆栈段32第二章有逻辑地址DS:DI1000H:2000H,求物理地址l物理地址为: DS16+DI= 1000H10H2000H=12000H已知物理地址12345H,写出两组逻辑地址l 1000H:2345H 1234H:0005H 1001H:2335H 等等例1:33第二章 已知CS=1055H,DS=250AH
15、,ES=2EF0H, SS=8FF0H,数据段有一操作数,其偏移地址=0204H,1) 画出各段在内存中的分布 2) 指出各段首地址 3) 该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:各段分布及段首址见右图所示;操作数的物理地址为:250AH10H+0204H = 252A4H例2:34第二章1、分体结构的概念8086系统中,1MB的存储器空间分成两个存储体:偶地址和奇地址存储体,各512KB,示意图如下:二、8086存储器的分体结构35第二章A A1818AA0 0A A1818AA0 0偶地址存储体与8086数据线低8位相连,由A0控制
16、奇地址存储体与数据线高8位相连,由BHE#控制36第二章A0、BHE#功能组合如下表所示:37第二章2、分体结构的读写操作数据的存储与表示:字节数据:一个字节存储一个单元;如存储单元00100H中的内容为34H,可表示为:(00100H)=34H字数据:一个字存于相邻两个单元(小地址格式); 如:(00100H)=1234H;(00103H)=0152H一个字可以从偶地址开始存放(称规则字),也可以从奇地址开始存放(称非规则字) 。38第二章u8086CPU 访问存储器时,总是以字为单位进行,并从偶地址开始。 u读存储器示意图如下:(P39 如图2-12)332211001000000(a)从
17、偶地址开始读一个字节)从偶地址开始读一个字节33221100100001110001(b)从奇地址开始读一个字节)从奇地址开始读一个字节39第二章3322110010000100022233(c)从偶地址开始读一个字)从偶地址开始读一个字3322110010000100012211(d)从奇地址开始读一个字)从奇地址开始读一个字若字单元地址从奇地址开始,读写一个字需访问两次存储器若字单元地址从偶地址开始,读写一个字只需访问一次存储器40第二章n1、堆栈:内存中按LIFO方式操作的特殊存储区域n2、特点:用于中断或子程序调用,存放返回地址、过程参数等需要暂时保护的数据专用指令 PUSH,POP每
18、次压栈和出栈均以WORD为单位SS存放堆栈段基址,SP存放段内偏移地址,n SS:SP构成了堆栈指针CPU自动管理SP的变化三、堆栈的概念41第二章3、堆栈操作入栈:执行PUSH指令,CPU自动修改指针SP-2SP,使SP指向新栈顶;然后将低位数据压入(SP)单元,高位数据压入(SP+1) 单元。出栈:当执行POP指令时,CPU先将当前栈顶SP(低位数据)和SP+1(高位数据)中的内容弹出,然后再自动修改指针,使SP+2SP,SP指向新栈顶。【注意】:先进入的内容要后弹出,PUSH 和POP指令要成对。42第二章例:假如当前SSC000H,堆栈段64K,SP=1000H,指出当前栈顶在存储器中
19、的位置。若AX=3322H,BX=1100H,CX=6655H,执行指令PUSH AX,PUSH BX,再执行指令POP CX ,此时堆栈中内容发生什么变化,AX,BX,CX中的内容是什么?P40 例2.3、例2.4解:(1)栈顶位置,即栈顶的物理地址为: SS*10H+SP=C000H*10H+1000H=C1000H (2)执行过程及变化如下图所示:43第二章2233AX 0011BX 5566CX (a)初始状态栈底C0000C1000SP 向上增长 44第二章33221100C0FFESP (b)执行PUSH AX,PUSH BXC0000C10002233PUSH AX 0011PU
20、SH BX 5566CX (c)再执行POP CX 33221100C0000C1000SP 2233AX 0011BX 0011POP CX 45第二章堆栈指令执行过程动画演示46第二章作 业 教材P55 1、6、 9(2)、 10(4) 11(4) 、 12、1347第二章2.4 8086系统配置1、系统配置方式 最小模式(CPU的管脚MN/MX#接高电平5V) 最大模式(CPU的管脚MN/MX#接低电平或地)2、系统配置特点 最小模式是单机系统。系统中所需要的控制信号全部由8086CPU本身直接提供。 最大模式可构成多处理机系统,系统中所需要的控制信号由总线控制器8288提供。3、CPU
21、的2431 引脚意义不同一、简述48第二章n 以8086CPU构成的最小模式的基本配置,除了存储器、IO接口芯片外,还要加入:1片8284A,作为时钟发生器3片8282/8283或74LS373,作为地址锁存器n 解决引脚分时复用问题2片8286 /8287或74LS245 ,作为双向数据总线收发器n 增强CPU总线驱动能力二、最小模式系统49第二章具有三态缓冲功能的8位数据锁存器; 8282的输入和输出信号同相(8283反相)。1、地址锁存器8282/828350第二章三态8位双向数据收发器,可增加驱动能力;8286数据输入与输出同相(8287反相)。2、双向数据总线收发器8286/8287
22、51第二章产生CLK信号,做CPU内部和外部的时间基准信号3、时钟发生器8284自学52第二章4、8086CPU构成的最小模式的典型配置53第二章2.5 8086CPU时序 想要了解指令的执行过程,除了了解CPU内部结构外,还必须了解CPU时序。一、基本概念1、时序 为实现某个操作,芯片上的引脚信号在时钟信号(从CLK接入)的统一控制下,按一定的时间顺序发出有效信号,这个时间顺序就是时序。2、时序图 描述某一操作过程中芯片/总线上有关引脚信号随时间发生变化的关系图,即时序图。54第二章3、时钟周期Tn CPU的基本定时单位;时钟频率的倒数;也称T状态。 T=1/f 8086 f=5MHZ T=
23、200ns4、总线周期n BIU完成一次访问存储器或I/O端口操作所需要的时间;n 由若干个T组成;8086的基本总线周期至少由4个T组成。5、指令周期(instruction cycle)n 8086执行一条指令所需的时间,n 一般由若干个总线周期组成。55第二章二、典型时序图1、典型总线周期时序图 在80868088CPU中,每个总线周期至少包含4个时钟周期(T1T4),一般情况下,在总线周期的T1状态传送地址,T2T4状态传送数据。 56第二章8086CPU通过RESET引脚的触发信号引起系统复位和启动,RESET信号至少维持4个时钟周期的高电平。下表(P50 表2.13)是复位时各内部
24、寄存器的值。2、系统的复位和启动57第二章在复位后CS为FFFFH,IP为0000H,CPU从内存的FFFF0H处开始执行指令。因此在FFFF0H处放一条无条件转移指令,这样系统启动后就自动进入系统程序。图2.23给出复位操作时的时序。58第二章3 3、读总线周期(动画)、读总线周期(动画)、读总线周期(动画)、读总线周期(动画)最小模式下的总线操作59第二章4 4、写总线周期(动画)、写总线周期(动画)、写总线周期(动画)、写总线周期(动画)最小模式下的总线操作60第二章2.6 小结掌握:EU、BIU的功能; 寄存器结构; 各标志位的名称和含义; 存储器的分段管理技术; 堆栈的概念和操作过程理解:存储器的分体结构; 8086CPU在最小模式中的引脚定义 8086CPU最小模式系统配置 8086CPU时序的基本概念及典型时序图61第二章微机组成框图存储器存储器CPUI/O接口接口地址总线地址总线AB数据总线数据总线DB控制总线控制总线CBI/O设备设备I/O总线总线控制控制