版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统原理与实验嵌入式系统原理与实验 1第第2 2章章 80868086微机系统原理和结构微机系统原理和结构 2.12.18086 CPU8086 CPU结构与功能结构与功能2.22.28086 CPU8086 CPU的引脚及其总线结构的引脚及其总线结构2.32.380868086存储器组织存储器组织2.42.48086CPU8086CPU时序时序2.52.58086CPU8086CPU寻址方式和指令系统寻址方式和指令系统2.62.68086CPU8086CPU的中断系统的中断系统嵌入式系统原理与实验嵌入式系统原理与实验 22.18086 CPU结构与功能结构与功能8086 CPU8086
2、 CPU概述概述 19771977年,年,IntelIntel率先推出了率先推出了1616位微处理器位微处理器80868086,能并行处理能并行处理1616位数据,它需要位数据,它需要1616位的存储器,位的存储器, 1616位位DBDB,1616位外设。位外设。19791979年年IntelIntel研制研制了了80888088,称为,称为准准1616位机位机。l引脚功能复用引脚功能复用l单总线、累加器结构单总线、累加器结构l可控三态电路可控三态电路l总线分时复用总线分时复用嵌入式系统原理与实验嵌入式系统原理与实验 3一、一、 结构特点结构特点l指令流水线指令流水线 l存储器的分段结构存储器
3、的分段结构 l支持用于浮点运算的协处理器及多微处理器系统支持用于浮点运算的协处理器及多微处理器系统 l指令方面和结构设计支持使用该微处理器构成一指令方面和结构设计支持使用该微处理器构成一个共享总线的多微处理器系统个共享总线的多微处理器系统 嵌入式系统原理与实验嵌入式系统原理与实验 4二、二、 编程结构(功能结构)编程结构(功能结构)BIUBIU功能:功能:地址形成地址形成取指令取指令指令排队指令排队读读/ /写操作数写操作数总线控制总线控制EUEU功能:功能:指令译码指令译码执行指令执行指令嵌入式系统原理与实验嵌入式系统原理与实验 5三、三、 寄存器结构寄存器结构嵌入式系统原理与实验嵌入式系统
4、原理与实验 6通用寄存器通用寄存器 : :每一个数据寄存器都是每一个数据寄存器都是1616位位寄存器,但又可将高寄存器,但又可将高8 8位和位和低低8 8位分别作为两个独立的位分别作为两个独立的8 8位寄存器使用。位寄存器使用。 AX AX:常用于存放算术逻辑运算中的操作数。所有的:常用于存放算术逻辑运算中的操作数。所有的I/OI/O指指令都使用累加器与外设接口传送信息。令都使用累加器与外设接口传送信息。 BXBX:常用来存放访问内存时的基地址。:常用来存放访问内存时的基地址。 CXCX:在循环和串操作指令中用做计数器。:在循环和串操作指令中用做计数器。 DXDX:在寄存器间接寻址的:在寄存器
5、间接寻址的I/OI/O指令中存放指令中存放I/OI/O端口的地址。端口的地址。 在做双字长乘、除法运算时,在做双字长乘、除法运算时,DXDX与与AXAX合起来存放一个双合起来存放一个双字长数字长数(32(32位位) ),其中,其中DXDX存放高存放高1616位,位,AXAX存放低存放低1616位。位。嵌入式系统原理与实验嵌入式系统原理与实验 7指针指针和变址和变址寄存器寄存器: : SPSP:在堆栈操作中用来存:在堆栈操作中用来存放栈顶的偏移地址,永远指放栈顶的偏移地址,永远指向堆栈的栈顶。向堆栈的栈顶。BPBP:基地址指针寄存器。一般也常用来存放访问内:基地址指针寄存器。一般也常用来存放访问
6、内存时的基地址。但它通常是与存时的基地址。但它通常是与SSSS寄存器配对使用寄存器配对使用(BX(BX通常是与通常是与DSDS寄存器配对使用寄存器配对使用) )。SISI、DIDI:它们常常在变址寻址方式中作为索引指针。:它们常常在变址寻址方式中作为索引指针。在字符串操作指令中,要求用在字符串操作指令中,要求用SISI作为源变址寄存器,作为源变址寄存器,存放源操作数的偏移地址;存放源操作数的偏移地址;DIDI作为目标变址寄存器,作为目标变址寄存器,存放目标操作数的偏移地址。存放目标操作数的偏移地址。嵌入式系统原理与实验嵌入式系统原理与实验 8段寄存器段寄存器: : CSCS:代码段存放的是当前
7、执行:代码段存放的是当前执行程序的指令代码。程序的指令代码。CSCS的内容是代的内容是代码段的段基地址,它和指令指针码段的段基地址,它和指令指针IPIP一起决定下一条所要执行指令一起决定下一条所要执行指令的物理存储地址。的物理存储地址。DSDS:数据段通常用来存放数据和字符。:数据段通常用来存放数据和字符。DSDS存放当前数据段存放当前数据段的段基地址。的段基地址。ESES:附加段是一个附加数据段,主要用在字符串操作时作为:附加段是一个附加数据段,主要用在字符串操作时作为目标地址使用。目标地址使用。ESES的内容就是加段的段基地址。的内容就是加段的段基地址。SSSS:堆栈是在存储器中开辟的一个
8、特殊存储区,用于存放当:堆栈是在存储器中开辟的一个特殊存储区,用于存放当前暂时不用但又需要保存的数据和地址。如在子程序调用或前暂时不用但又需要保存的数据和地址。如在子程序调用或响应中断时需要保存返回主程序的地址和进入子程序后将要响应中断时需要保存返回主程序的地址和进入子程序后将要改变其值的寄存器的内容。改变其值的寄存器的内容。嵌入式系统原理与实验嵌入式系统原理与实验 9指令指针寄存器指令指针寄存器: : IPIP用来存放下一条要执行指令的偏移地址。用来存放下一条要执行指令的偏移地址。CPUCPU取指取指令时总是以令时总是以CSCS的内容为段基地址,以的内容为段基地址,以IPIP为段内偏移地为段
9、内偏移地址。当址。当CPUCPU从从CSCS段偏移地址为段偏移地址为(IP)(IP)的内存单元中取出的内存单元中取出指令代码的一个字节后,指令代码的一个字节后,IPIP自动加自动加1 1,指向指令代码,指向指令代码的下一个字节。的下一个字节。遇到过程调用、转移及返回等指令时,系统将根据程遇到过程调用、转移及返回等指令时,系统将根据程序确定新的序确定新的IPIP的内容,使其不再加的内容,使其不再加1 1。用户程序不能直接访问用户程序不能直接访问IP(IP(指令的操作数不能是指令的操作数不能是IP)IP)。 嵌入式系统原理与实验嵌入式系统原理与实验 10标志寄存器:也称程序状态字标志寄存器:也称程
10、序状态字(PSW)(PSW),是一个,是一个1616位寄位寄存器,但只使用了其中的存器,但只使用了其中的9 9位,包括位,包括6 6个状态标志位和个状态标志位和3 3个控制标志位。个控制标志位。嵌入式系统原理与实验嵌入式系统原理与实验 11(1) (1) 条件标志条件标志(6(6个个) ):反映指令执行后运算结果特征反映指令执行后运算结果特征. .nCF(CF(进位标志进位标志): CF=D): CF=D7CY7CY或或DD15CY15CY 执行算术运算指令后,结果的最高位执行算术运算指令后,结果的最高位( (字节时为字节时为DD7CY7CY或字为或字为DD15CY15CY) )向更高位产生进
11、位向更高位产生进位/ /借位,则借位,则CF=1CF=1,否则,否则CF=0CF=0。该标。该标志主要用于多字节加、减运算。志主要用于多字节加、减运算。n例例: 3FH+0B4H 0BFH+0B4H: 3FH+0B4H 0BFH+0B4H 0011 1111 1011 1111 0011 1111 1011 1111 + 1011 0100 + 1011 0100 + 1011 0100 + 1011 0100 1111 0011;CF=0 1 0111 0011;CF=1 1111 0011;CF=0 1 0111 0011;CF=1注注: :对对CFCF操作有三条专用指令操作有三条专用指令
12、: : STC STCCF=1; CF=1; CLCCLCCF=0; CF=0; CMCCMCCF=CFCF=CF嵌入式系统原理与实验嵌入式系统原理与实验 12例例: : 38H+49H38H+49H 0011 1000 0011 1000 + 0100 1001 + 0100 1001 1000 0001 ;AF=1; 1000 0001 ;AF=1;若视为若视为BCDBCD运算,则应调整。运算,则应调整。nPF(PF(奇偶校验标志奇偶校验标志): PF=D): PF=D7 7 DD0 0 运算结果的低运算结果的低8 8位中位中“1”1”的个数为偶数,则的个数为偶数,则PF=1PF=1,否则
13、,否则PF=0PF=0。该标志主要用于检测数据通信中是否发生错误。该标志主要用于检测数据通信中是否发生错误。nAF(AF(辅助进位标志辅助进位标志): AF=D): AF=D3CY3CY 字节运算中,低字节运算中,低4 4位向高位向高4 4位有进位或借位时位有进位或借位时, ,则则AF=1,AF=1,否则否则AF=0AF=0。该标志主要用于。该标志主要用于BCDBCD码运算的调整指令中。码运算的调整指令中。嵌入式系统原理与实验嵌入式系统原理与实验 13nZF(ZF(零标志零标志): ZF=D): ZF=D7 7+D+D0 0或或DD1515+D+D0 0 运算结果为运算结果为0 0,则,则ZF
14、=1ZF=1,否则,否则ZF=0ZF=0。 结果非结果非0 0,则,则ZF=0ZF=0。nSF(SF(符号标志符号标志) SF=D) SF=D7 7或或DD1515 运算结果为正数,则运算结果为正数,则SF=0SF=0;为负数;为负数, ,则则SF=1SF=1。 如如:3FH+0B4H=0F3H:3FH+0B4H=0F3H的的SF=1SF=1 而而:0BFH+B4H=173H:0BFH+B4H=173H的的SF=0SF=0嵌入式系统原理与实验嵌入式系统原理与实验 14n OF(OF(溢出标志溢出标志): OF=D): OF=D7CY7CY DD6CY6CY或或DD15CY15CY D D14C
15、Y14CY当有符号数运算结果超出了机器所能表示的范围时,当有符号数运算结果超出了机器所能表示的范围时,则则OF=1OF=1,否则,否则OF=0OF=0。如如:3FH+0B4H=0F3H:3FH+0B4H=0F3H中中OF=0OF=0而而:0BFH+0B4H=173H:0BFH+0B4H=173H中中OF=1OF=1n注意注意:实际上机器把所有数都当无符号数运算,把结果都实际上机器把所有数都当无符号数运算,把结果都当有符号数来设置标志。当有符号数来设置标志。n以上以上6 6个标志为指令执行后的结果标志,可作为控制转移的个标志为指令执行后的结果标志,可作为控制转移的条件。条件。嵌入式系统原理与实验
16、嵌入式系统原理与实验 15例:例: 假设执行一条加法指令,计算假设执行一条加法指令,计算5439H+476AH5439H+476AH后各状态标志位的状态为何后各状态标志位的状态为何? ?解:解: 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 + 0 1 0 0 0 1 1 1 0 1 1 0 l 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1则执行这条加法指令后标志寄存器的状态为:则执行这条加法指令后标志寄存器的状态为:CF=0,PF=1,AF=1,ZF=0,SF=1,OF=1。嵌入式系统原理与实验嵌入式系统原理与实验 16CFCF和和OFOF的进
17、一步讨论:的进一步讨论:nCF表示无符号数运算结果是否超出范围;表示无符号数运算结果是否超出范围;OF表示有表示有符号数运算结果是否超出范围符号数运算结果是否超出范围n处理器对两个操作数进行运算时,按照无符号数求处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志得结果,并相应设置进位标志CF;同时,根据是否;同时,根据是否超出有符号数的范围设置溢出标志超出有符号数的范围设置溢出标志OFn程序员决定标志位的使用。如果将参加运算的操作程序员决定标志位的使用。如果将参加运算的操作数认为是无符号数:数认为是无符号数:CF;认为是有符号数:;认为是有符号数:OFn判断运算结果是否溢出
18、:当两个相同符号数相加,判断运算结果是否溢出:当两个相同符号数相加,而运算结果的符号与原数据符号相反时,产生溢出。而运算结果的符号与原数据符号相反时,产生溢出。其他情况下,则不会产生溢出。其他情况下,则不会产生溢出。 嵌入式系统原理与实验嵌入式系统原理与实验 17(2) (2) 控制标志控制标志-控制控制CPUCPU的状态的状态。nDF(DF(方向标志方向标志): ): 控制字符串操作中地址的步进方向。控制字符串操作中地址的步进方向。 DF=0DF=0,地址增址;,地址增址;DF=1DF=1,地址减址。,地址减址。 专门用于专门用于DFDF的指令的指令: : CLDCLDDF=0DF=0; S
19、TDSTDDF=1DF=1nIF(IF(中断允许标志中断允许标志): ): 控制控制CPUCPU是否开中断。是否开中断。IF=1IF=1,允许,允许CPUCPU响响应外部可屏蔽中断。应外部可屏蔽中断。IF=0IF=0,禁止,禁止CPUCPU响应外部可屏蔽中断。响应外部可屏蔽中断。 两条关于两条关于IFIF的专用指令的专用指令: :CLICLIIF=0IF=0; STISTIIF=1IF=1 nTF(TF(跟踪标志跟踪标志): ): TF=1TF=1,CPUCPU处于单步工作方式,即处于单步工作方式,即CPUCPU每执每执行一条指令就自动地发生一个内部中断,行一条指令就自动地发生一个内部中断,C
20、PUCPU转去执行一个转去执行一个中断程序,常用于程序调试,又称为陷井标志。中断程序,常用于程序调试,又称为陷井标志。TF=0TF=0,CPUCPU正常执行程序。正常执行程序。 嵌入式系统原理与实验嵌入式系统原理与实验 18CPUCPU的引脚:的引脚:地址线与数据线,地址线与数据线,控制与状态线,控制与状态线,电源与定时线。电源与定时线。2.28086 CPU的引脚及其总线结构的引脚及其总线结构一、一、 8086 CPU的引脚的引脚嵌入式系统原理与实验嵌入式系统原理与实验 1980868086的两种工作模式的两种工作模式n最小模式:单微处理器模式,最小模式:单微处理器模式,CPUCPU仅支持由
21、少量设备组成的单仅支持由少量设备组成的单微处理器系统,小系统所需要的微处理器系统,小系统所需要的全部控制信号都由全部控制信号都由CPUCPU直接提供。直接提供。n最大模式:多微处理机模式,最大模式:多微处理机模式,系统中除了有系统中除了有8086 CPU8086 CPU之外,之外,还可以接另外的处理器构成多微还可以接另外的处理器构成多微处理器系统。处理器系统。当当MN/MX =1MN/MX =1时,时,80868086工作工作在最小模式;当在最小模式;当MN/MX =0MN/MX =0时,时,80868086工作在最大模式。两种工工作在最大模式。两种工作模式下的部分引脚具有不同的作模式下的部分
22、引脚具有不同的功能。功能。嵌入式系统原理与实验嵌入式系统原理与实验 2080868086在两种工作模式下的公用引脚:在两种工作模式下的公用引脚: 1)1)地址数据总线:地址数据总线:80868086有有2020位位地址线,地址线,1616位数据线,采用分时复位数据线,采用分时复用方式,共同占用用方式,共同占用2020根引脚。根引脚。ADAD0 0ADADl5l5 地址、数据分时复用的地址、数据分时复用的双向信号线,三态。当双向信号线,三态。当ALE=1ALE=1时,时,这些引脚上传输的是地址信号;当这些引脚上传输的是地址信号;当DEN=0DEN=0时,这些引脚上传输的是时,这些引脚上传输的是数
23、据信号。数据信号。A A1616AAl9l9/S/S3 3SS6 6 分时复用的地址分时复用的地址/ /状态信号线,三态输出。在状态信号线,三态输出。在80868086访问存储器时,读访问存储器时,读/ /写总线周期的写总线周期的第一个机器周期第一个机器周期T T1 1,从这,从这4 4个引脚个引脚上送出最高上送出最高4 4位地址位地址A A1616AAl9l9。而在。而在总线周期的其他机器周期,这总线周期的其他机器周期,这4 4个个引脚送出状态信号引脚送出状态信号S S3 3SS6 6。S S4 4S S3 3当前正在使用的段寄存器当前正在使用的段寄存器0 00 0ESES0 01 1SSS
24、S1 10 0CSCS或未使用任何段寄存器或未使用任何段寄存器1 11 1DSDSS5S5:取中断允许标志的状态:取中断允许标志的状态S6S6:0 0,表明,表明80868086在总线上;否则为在总线上;否则为1 1嵌入式系统原理与实验嵌入式系统原理与实验 212) 2) 控制总线:共有控制总线:共有1616根,其中两种根,其中两种工作模式共用的有工作模式共用的有8 8根引脚。根引脚。MN/MXMN/MX:工作方式控制输入。为:工作方式控制输入。为高电平时,高电平时,CPUCPU工作在最小模式;工作在最小模式;为低电平时,为低电平时,CPUCPU处于最大模式。处于最大模式。RDRD:读选通信号
25、,三态,低电平有:读选通信号,三态,低电平有效。有效时,表示效。有效时,表示CPUCPU正在对存正在对存储器或储器或I/OI/O接口进行读操作。接口进行读操作。READYREADY: “ “准备好准备好”信号输入引脚,信号输入引脚,高电平有效。有效时,表示存储高电平有效。有效时,表示存储器或器或I/OI/O设备已准备好,设备已准备好,CPUCPU可可以进行数据传送。以进行数据传送。INTRINTR: 可屏蔽中断请求输入信号,可屏蔽中断请求输入信号,高电平有效。高电平有效。CPUCPU在每条指令的在每条指令的最后一个周期采样该信号,以决最后一个周期采样该信号,以决定是否进入中断响应周期。可用定是
26、否进入中断响应周期。可用软件屏蔽。软件屏蔽。嵌入式系统原理与实验嵌入式系统原理与实验 22TESTTEST:测试信号输入引脚,低电测试信号输入引脚,低电平有效。当平有效。当CPUCPU执行执行WAITWAIT指令指令时,每隔时,每隔5 5个时钟周期对此引脚个时钟周期对此引脚进行一次测试。若为高电平,进行一次测试。若为高电平,CPUCPU则继续处于空转状态进行等则继续处于空转状态进行等待,直到引脚变为低电平后,待,直到引脚变为低电平后,CPUCPU才结束等待状态,继续执行才结束等待状态,继续执行下一条指令。下一条指令。 NMINMI:非屏蔽中断请求输入信号,:非屏蔽中断请求输入信号,上升沿触发。
27、这个引脚上的中断上升沿触发。这个引脚上的中断请求信号不能用软件屏蔽,请求信号不能用软件屏蔽,CPUCPU在当前指令执行结束后就进入中在当前指令执行结束后就进入中断过程。断过程。RESETRESET:系统复位输入信号,高电:系统复位输入信号,高电平有效。为使平有效。为使CPUCPU完成内部复位完成内部复位过程,该信号至少要在过程,该信号至少要在4 4个时钟个时钟周期内保持有效。当周期内保持有效。当RESETRESET返返回低电平时,回低电平时,CPUCPU将重新启动。将重新启动。标志寄存器标志寄存器FR0000H指令寄存器指令寄存器IP0000H代码段寄存器代码段寄存器CSFFFFH数据段寄存器
28、数据段寄存器DS0000H堆栈段寄存器堆栈段寄存器SS0000H附加段寄存器附加段寄存器ES0000H指令队列指令队列空空嵌入式系统原理与实验嵌入式系统原理与实验 23BHE/SBHE/S7 7:分时复用的控分时复用的控制状态信号线,三态制状态信号线,三态输出。在总线周期的第输出。在总线周期的第一个时钟周期输出信号,一个时钟周期输出信号,其他时钟周期输出状态其他时钟周期输出状态信号信号S S7 7(S(S7 7的意义目前没的意义目前没有定义有定义) )。信号。信号BHEBHE的的意义是:当意义是:当BHEBHE=0=0时,时,表示可使用高表示可使用高8 8位数据线位数据线ADAD8 8ADAD
29、l5l5;否则只使用;否则只使用低低8 8位数据线位数据线ADAD0 0ADAD7 7。嵌入式系统原理与实验嵌入式系统原理与实验 24最小模式下引脚最小模式下引脚24312431的功能定义:的功能定义:INTAINTA:中断响应输出端。:中断响应输出端。 ALEALE:地址锁存允许信号,三态输出,:地址锁存允许信号,三态输出,高电平有效。高电平有效。DENDEN :数据允许信号,三态,低电:数据允许信号,三态,低电平有效。平有效。DT/RDT/R: 数据传送方向控制信号,数据传送方向控制信号,三态。三态。M/IOM/IO:输入输出存储器控制信:输入输出存储器控制信号,三态。号,三态。WRWR:
30、写信号输出,三态。:写信号输出,三态。 HOLDHOLD:总线保持请求:总线保持请求( (其他部件共其他部件共享总线享总线) )信号输入,高电平有效。信号输入,高电平有效。 HLDAHLDA:总线保持响应信号输出,高:总线保持响应信号输出,高电平有效。电平有效。嵌入式系统原理与实验嵌入式系统原理与实验 25最大模式下引脚最大模式下引脚24312431的功能定义为:的功能定义为: QSlQSl、QS0QS0: 指令流队列状态输出。指令流队列状态输出。提供指令流队列的状态,以便外部逻辑提供指令流队列的状态,以便外部逻辑跟踪跟踪CPUCPU内部的指令流队列。内部的指令流队列。 SS2 2、 SS1
31、1 、 SS0 0 :总线周期状态信:总线周期状态信号输出,低电平有效,三态。这号输出,低电平有效,三态。这3 3个信个信号连接到总线控制器的输入端,译码后号连接到总线控制器的输入端,译码后可产生系统总线所需要的各种控制信号。可产生系统总线所需要的各种控制信号。 LOCKLOCK:总线封锁信号输出,低电平:总线封锁信号输出,低电平有效。有效。RQ/GTRQ/GT1 1、 RQ/GTRQ/GT0 0 :总线请求:总线请求总线响应信号引脚。具有双向功能,总线响应信号引脚。具有双向功能,既是总线请求输入,也是总线响应输出;既是总线请求输入,也是总线响应输出;但但 RQ/GTRQ/GT0 0比比RQ/
32、GTRQ/GT1 1具有更高具有更高的优先权。的优先权。 QSlQS0操操 作作00无操作无操作01队列中操作码的第一个字节队列中操作码的第一个字节10队列空队列空11队列中非第一个操作码字节队列中非第一个操作码字节嵌入式系统原理与实验嵌入式系统原理与实验 26二、二、 80868086系统配置系统配置80868086具有两种工作模式具有两种工作模式最小模式:最小模式:CPUCPU仅支持由少量设备组成的单微处理仅支持由少量设备组成的单微处理器系统而不支持多处理器结构,小系统所需要的全部器系统而不支持多处理器结构,小系统所需要的全部控制信号都由控制信号都由CPUCPU直接提供。直接提供。最大模式
33、:系统中除了有最大模式:系统中除了有8086 CPU8086 CPU之外,还可以接之外,还可以接另外的处理器另外的处理器( (如如80878087数学协处理器数学协处理器) ),构成多微处理,构成多微处理器系统。此时器系统。此时CPUCPU不直接提供读不直接提供读/ /写命令等控制信号,写命令等控制信号,而是将当前要执行的传送操作类型编码成而是将当前要执行的传送操作类型编码成3 3个状态位个状态位输出,由总线控制器译码后产生相应控制信号。其他输出,由总线控制器译码后产生相应控制信号。其他的控制引脚则直接提供所需要的控制信号。的控制引脚则直接提供所需要的控制信号。嵌入式系统原理与实验嵌入式系统原
34、理与实验 278086最最小小模模式式系系统统373嵌入式系统原理与实验嵌入式系统原理与实验 281.1.地址锁存器地址锁存器 n将将CPUCPU发出的动态地址发出的动态地址锁存锁存,即锁存器。,即锁存器。n地址和数据(地址和数据(0 01515)与状态()与状态(16161919)分时复用,)分时复用,先输出地址,后输出数据先输出地址,后输出数据/ /状态,然后利用这些稳状态,然后利用这些稳定的地址,选择某个存储单元或定的地址,选择某个存储单元或I/OI/O口来读口来读/ /写。写。nIntel 8282Intel 8282锁存器锁存器:8 8位锁存器(位锁存器(8 8个个D D锁存器锁存器
35、),),三态三态输出。输出。n 74LS37374LS373:8D8D锁存器,三态输出。锁存器,三态输出。嵌入式系统原理与实验嵌入式系统原理与实验 292. 2. 双向总线驱动器(数据缓冲器)双向总线驱动器(数据缓冲器)n增加增加80868086的输出数据的的输出数据的驱动能力驱动能力,隔离隔离系统数据总系统数据总线与线与CPUCPU数据线(数据线(DMADMA期间需要隔离),实现双向期间需要隔离),实现双向收发。收发。nIntel 8286Intel 8286:收发器(:收发器(8 8位总线收发器);位总线收发器);n74LS245 74LS245 : 8 8总线传送器,非反相三态门。总线传
36、送器,非反相三态门。嵌入式系统原理与实验嵌入式系统原理与实验 303. 3. 时钟信号发生器时钟信号发生器n向系统提供符合定时要求的向系统提供符合定时要求的时钟信号时钟信号CLKCLK,准备好信号,准备好信号READYREADY,复位信号,复位信号RESETRESETnIntel 8284Intel 8284:时钟产生、复位、准备就绪电路:时钟产生、复位、准备就绪电路n以以PCPC为例:为例:82848284内部一晶体震荡器,外接石英晶体,便产内部一晶体震荡器,外接石英晶体,便产生和晶体相同振荡频率的时钟生和晶体相同振荡频率的时钟OSCOSC,经三分频成,经三分频成CLKCLK时钟信时钟信号,
37、再二分号,再二分 频成频成PCLKPCLK,作为某些外设时钟(主要是作为某些外设时钟(主要是82538253计计数器)数器)n加电或按加电或按CTRL-ALT-DELCTRL-ALT-DEL键时,开关电源产生电源的键时,开关电源产生电源的RESRES信号送信号送82848284,内部复位逻辑便产生系统复位信号,内部复位逻辑便产生系统复位信号RESETRESET。当等待状态逻辑电路产生的准备就绪当等待状态逻辑电路产生的准备就绪RDYRDY及地址允许信号及地址允许信号AENAEN有效时,使有效时,使82848284和时钟同步产生准备就绪和时钟同步产生准备就绪READYREADY信号。信号。嵌入式系
38、统原理与实验嵌入式系统原理与实验 318086最最大大模模式式系系统统嵌入式系统原理与实验嵌入式系统原理与实验 32总线控制器总线控制器82888288n最大模式时,总线控制信号(如最大模式时,总线控制信号(如ALEALE、存储器、存储器读读/ /写、写、I/OI/O读写等)不能由读写等)不能由80868086直接提供,它直接提供,它只提供状态信号只提供状态信号S S0 0S S2 2,80868086对此译码转换为对此译码转换为总线控制信号总线控制信号。n电路组成:电路组成: 状态译码状态译码:对:对S S0 0S S2 2译码;译码; 命令信号发生器命令信号发生器:产生命令信号;产生命令信
39、号; 控制信号产生器控制信号产生器:产生总线控制信号;产生总线控制信号; 控制逻辑控制逻辑:控制控制82888288工作方式。工作方式。嵌入式系统原理与实验嵌入式系统原理与实验 332.38086存储器组织存储器组织一、一、 物理存储系统物理存储系统n位位(Bit)(Bit):存储器的最小最基本单位,存放一个二进存储器的最小最基本单位,存放一个二进制数制数0 0或或1 1。整个存储器由许许多多存储位构成。整个存储器由许许多多存储位构成。n字节字节(Byte)(Byte):8 8个个BitBit组成一个字节,存放相邻的组成一个字节,存放相邻的8 8位位二制数。字节的长度是固定的二制数。字节的长度
40、是固定的。n字字(Word)(Word):计算机内部进行数据处理的基本单位,计算机内部进行数据处理的基本单位,通常与计算机内部的寄存器、通常与计算机内部的寄存器、ALUALU宽度一致宽度一致。计算计算机的每一个字所包含的二进制位称为机的每一个字所包含的二进制位称为字长字长。如如:Z80:Z80微机为微机为8 8位机;位机;80868086,8028680286微机为微机为1616位机;位机;386386,486486,PentiumPentium微机为微机为3232位机。位机。嵌入式系统原理与实验嵌入式系统原理与实验 34注注: :目前为了目前为了表示数据的方便,表示数据的方便,常把常把2 2
41、个字节称为个字节称为一个字,双字即为一个字,双字即为3232位。位。n存储容量存储容量:表示表示存放二进制代码的个数存放二进制代码的个数,用包,用包含多少个存储单元,而每个单元又包含多少位含多少个存储单元,而每个单元又包含多少位来表示。微机中常以来表示。微机中常以: :字字( (节节) )数数* *字字( (节节) )的位数的位数来来表示,如表示,如:1024:1024* *8 81k1k* *8 81KB1KBnPCPC系列微机存储器结构系列微机存储器结构-以字节编址以字节编址,即,即8 8位为一个单元。每个单元有一个唯一的地址代位为一个单元。每个单元有一个唯一的地址代号。如号。如PCPC微
42、机的物理地址微机的物理地址:00000H:00000H0FFFFFH0FFFFFH。嵌入式系统原理与实验嵌入式系统原理与实验 35n数据存放规律数据存放规律 00010H 11 00011H 33 00012H 22 00013H FC 14H FF 15H 89 16H C3 17H 41 18H 42 19H 43 n字节数据字节数据:一个数存放一单元,:一个数存放一单元,如如:11H:11H00010H00010H单元单元n字数据字数据:用二个连续单元存放用二个连续单元存放,规定由,规定由2 2个单元中地址个单元中地址较小较小的一个确定。的一个确定。如如:2233H:2233H00011
43、H00011H “ “低对低低对低, ,高对高高对高”的存放规律的存放规律( (小数端小数端) ) 如如:-4:-400013H00013Hn机器指令机器指令( (机器码机器码) ):按字节顺序存放按字节顺序存放。如如:MOV BX:MOV BX,AX AX 89C3H89C3H00015H00015Hn字符串字符串:从低地址开始,以:从低地址开始,以ASCIIASCII码顺序码顺序存放存放,如,如:ABC:ABC00017H00017H嵌入式系统原理与实验嵌入式系统原理与实验 368086存储器的访问存储器的访问奇地址存储器与数据总线高奇地址存储器与数据总线高8位相连,偶地址存储器与数据位相
44、连,偶地址存储器与数据总线低总线低8位相连。位相连。嵌入式系统原理与实验嵌入式系统原理与实验 37操作操作A0使用的数据线使用的数据线读或写偶地址的一个字读或写偶地址的一个字00AD15AD0读或写偶地址的一个字节读或写偶地址的一个字节10AD7AD0读或写奇地址的一个字节读或写奇地址的一个字节01AD15AD8 11无效无效读或写奇地址的一个字读或写奇地址的一个字(非对准)(非对准)0110AD15AD8 (总线周期总线周期1放放入低入低8位数据位数据)AD7AD0(总线周期总线周期2放放入高入高8位数据位数据)BHE 与地址信号与地址信号A0的状态组合功能的状态组合功能BHE嵌入式系统原理
45、与实验嵌入式系统原理与实验 38二、二、存储器的分段结构存储器的分段结构n内部寄存器都是内部寄存器都是1616位,不能直接输出位,不能直接输出2020位地址,所位地址,所以以分段管理分段管理。n把把1M1M分成许多个段,每一段最多可寻址分成许多个段,每一段最多可寻址2 21616=64K=64K个个单元。单元。n规定每个段地址的低规定每个段地址的低4 4位为位为0 0,即能被,即能被1616整除。段地整除。段地址和偏移地址都是址和偏移地址都是1616位无符号数,所以分段并不是位无符号数,所以分段并不是唯一的,可以相互重迭。唯一的,可以相互重迭。nCPUCPU内部仅有四个段寄存器,所以在某个特定
46、时刻内部仅有四个段寄存器,所以在某个特定时刻仅能访问四个段。仅能访问四个段。嵌入式系统原理与实验嵌入式系统原理与实验 398086/80888086/8088存储器的分段结构:逻辑段长存储器的分段结构:逻辑段长2 21616=64k=64k字节字节 嵌入式系统原理与实验嵌入式系统原理与实验 40三、三、逻辑地址、物理地址及物理地址的形成逻辑地址、物理地址及物理地址的形成 1. 1.每个存储单元都可用地址的两种形式来表示每个存储单元都可用地址的两种形式来表示n物理地址物理地址:用唯一的用唯一的2020位二进制数表示,位二进制数表示,CPUCPU访访问时用物理地址。问时用物理地址。n逻辑地址逻辑地
47、址:段地址段地址: :偏移地址,程序中使用逻辑地偏移地址,程序中使用逻辑地址。如址。如:03C0:0010:03C0:0010段基址(即段起始地址)段基址(即段起始地址)= =段地址段地址442020位物理地址位物理地址= =段地址段地址4+4+偏移地址偏移地址嵌入式系统原理与实验嵌入式系统原理与实验 41 例:若逻辑地址为例:若逻辑地址为3A00H:12FBH3A00H:12FBH,对应的物理地址,对应的物理地址是是3B2FBH3B2FBH;若逻辑地址是;若逻辑地址是8000H:1200H8000H:1200H,则对应,则对应的物理地址为的物理地址为81200H81200H。 一个物理地址所
48、对应的逻辑地址不是惟一的。一个物理地址所对应的逻辑地址不是惟一的。 物物理地址理地址3B2FBH3B2FBH的逻辑地址可以是的逻辑地址可以是3A00H:12FBH3A00H:12FBH,3000H:B2FBH3000H:B2FBH,3B00H:02FBH3B00H:02FBH等。等。嵌入式系统原理与实验嵌入式系统原理与实验 42序序号号内存访问内存访问类型类型默认段寄默认段寄存器存器可指定段寄可指定段寄存器存器段内偏移地址来源段内偏移地址来源1 1取指令取指令CSCS无无IPIP2 2堆栈操作堆栈操作SSSS无无SPSP3 3源串源串DSDSCSCS、ESES、SSSSSISI4 4目的串目的
49、串ESES无无DIDI5 5BPBP用作基用作基址寻址址寻址SSSSCSCS、ESES、DSDS按寻址方式计算得按寻址方式计算得到的有效地址到的有效地址6 6一般数据一般数据存取存取DSDSCSCS、ESES、SSSS按寻址方式计算得按寻址方式计算得到的有效地址到的有效地址2. 80862. 8086对对段地址与偏移地址的指定段地址与偏移地址的指定:嵌入式系统原理与实验嵌入式系统原理与实验 43例例: :某可执行程序为某可执行程序为2KB2KB,已知,已知CS=1063HCS=1063H,IP=0000HIP=0000H,求该程序的末地址,求该程序的末地址( (物理地址物理地址) )。末地址长
50、度-12K-1=211-1=0800H-1=07FFH 解解 程序存放程序存放: : 1063:0000 1063:0000 : 1063:07FF 1063:07FF 所以末地址为所以末地址为:10630H+07FFH=10E2FH:10630H+07FFH=10E2FH嵌入式系统原理与实验嵌入式系统原理与实验 441.1. 数据对准:数据对准: 当当CPUCPU读读/ /写一个字时,若字单元地址从偶地址写一个字时,若字单元地址从偶地址开始,只需访问一次存储器;若字单元地址从奇地开始,只需访问一次存储器;若字单元地址从奇地址开始,则需访问两次存储器。址开始,则需访问两次存储器。四、四、数据的
51、存取数据的存取嵌入式系统原理与实验嵌入式系统原理与实验 452. 堆栈的概念:堆栈的概念: 堆栈堆栈(STACK)是由若干个连续存储单元组成的、操是由若干个连续存储单元组成的、操作时遵循先进后出原则的一个存储器区,主要用于暂作时遵循先进后出原则的一个存储器区,主要用于暂存中断和子程序调用时的现场数据及返回地址。存中断和子程序调用时的现场数据及返回地址。堆栈操作具有如下特点:堆栈操作具有如下特点: 操作只能在栈顶进行,操作只能在栈顶进行,入栈和出栈都必须是双字节入栈和出栈都必须是双字节数据数据(16位位)。进行一次入栈。进行一次入栈操作,操作,SP减减2;进行一次出;进行一次出栈操作,栈操作,S
52、P加加2; 操作遵循操作遵循“先进后出先进后出(FILO)”的原则。最后压入的原则。最后压入堆栈的数据会最先被弹出。堆栈的数据会最先被弹出。嵌入式系统原理与实验嵌入式系统原理与实验 46嵌入式系统原理与实验嵌入式系统原理与实验 475.48086CPU时序时序n微处理器是在统一的时钟信号微处理器是在统一的时钟信号CLKCLK控制下,按照一定的时序控制下,按照一定的时序来工作的。来工作的。n80868086时钟频率为时钟频率为5 MHz5 MHz,一个时钟周期等于,一个时钟周期等于200 ns200 ns。nCPUCPU的时序分为两种:时钟周期和总线周期。的时序分为两种:时钟周期和总线周期。n8
53、086CPU8086CPU与内存或接口间的通信都是通过总线来进行的。与内存或接口间的通信都是通过总线来进行的。通过总线对存储器或通过总线对存储器或I IOO接口进行一次访问所需的时间叫做接口进行一次访问所需的时间叫做一个总线周期,一个总线周期包括多个时钟周期。一个总线周期,一个总线周期包括多个时钟周期。nCPUCPU每执行一条指令至少要访问一次存储器每执行一条指令至少要访问一次存储器( (取指令取指令) ),即至,即至少要进行一次读存储器操作,占用一个读总线周期。少要进行一次读存储器操作,占用一个读总线周期。嵌入式系统原理与实验嵌入式系统原理与实验 48n一条指令的执行需要若干个总线周期才能完
54、成。而一一条指令的执行需要若干个总线周期才能完成。而一个总线周期又由若干个时钟周期构成。个总线周期又由若干个时钟周期构成。n每个时钟脉冲的持续时间就称为一个时钟周期。每个时钟脉冲的持续时间就称为一个时钟周期。8086 8086 CPUCPU的一个读的一个读( (或写或写) )总线周期至少包括总线周期至少包括4 4个时钟周期。个时钟周期。n时钟周期越短,时钟周期越短,CPUCPU执行的速度就越快。执行的速度就越快。嵌入式系统原理与实验嵌入式系统原理与实验 49系统的复位和启动操作时序系统的复位和启动操作时序 嵌入式系统原理与实验嵌入式系统原理与实验 50最最小小模模式式下下的的工工作作时时序序嵌
55、入式系统原理与实验嵌入式系统原理与实验 51最最大大模模式式下下的的工工作作时时序序嵌入式系统原理与实验嵌入式系统原理与实验 522.58086CPU寻址方式和指令系统寻址方式和指令系统一、一、 汇编语言概述汇编语言概述编程语言分:编程语言分:机器语言机器语言:计算机能直接识别并执行某种操作的二进制代码串:计算机能直接识别并执行某种操作的二进制代码串汇编语言汇编语言:用指令助记符、符号地址和标号等书写程序的语言:用指令助记符、符号地址和标号等书写程序的语言高级语言高级语言汇编语言程序优点:汇编语言程序优点:(1 1)占用空间小)占用空间小(2 2)运行速度快)运行速度快(3 3)有直接控制硬件
56、的能力)有直接控制硬件的能力嵌入式系统原理与实验嵌入式系统原理与实验 53开发环境:开发环境: DOS环境环境 开发工具:开发工具:MICROSOFT :MASM(宏汇编)(宏汇编)INTEL:ASM (小汇编)(小汇编)BORLAND:TASM EMU8086: 运行于运行于Windows下的下的8086编译软件编译软件需要的最基本的软件:需要的最基本的软件: 文本编辑器(文本编辑器(EDIT.EXE) 编辑成编辑成*.ASM ML.EXE: 汇编成汇编成*.OBJ LINK.EXE: 连接成连接成*.EXE DEBUG.EXE: 调试调试嵌入式系统原理与实验嵌入式系统原理与实验 54开发过
57、程开发过程: :(1 1)编辑源程序生成)编辑源程序生成* *.ASM.ASMEDIT EDIT * *.ASM.ASM(2 2)汇编生成目标程序)汇编生成目标程序* *.OBJ.OBJ: ML ML * *.ASM.ASM; (3 3)连接生成可执行程序)连接生成可执行程序* *.EXE.EXE: LINKLINK * *; (4 4)调试)调试: : DEBUG DEBUG * *.EXE.EXE(5 5)执行:)执行:可执行文件名可执行文件名或者(或者(1 1)- -(5 5)全在)全在debugdebug中完成,只能编写小程序,数中完成,只能编写小程序,数据、代码、堆栈全在同一段内。据
58、、代码、堆栈全在同一段内。嵌入式系统原理与实验嵌入式系统原理与实验 55源程序:文件名.ASM目标模块:文件名.OBJ可执行文件:文件名.EXE应用程序文本编辑器,如EDIT编辑汇编程序,如ML.EXE汇编链接程序,如LINK.EXE链接调试程序,如DEBUG.EXE调试嵌入式系统原理与实验嵌入式系统原理与实验 56汇编语言程序举例:汇编语言程序举例:语句格式:语句格式: 标号标号 助记符助记符 操作数操作数1,1,操作数操作数2;2;注释注释嵌入式系统原理与实验嵌入式系统原理与实验 57二、二、 操作数寻址方式操作数寻址方式立即数操作数:立即数操作数: 立即寻址立即寻址 寄存器操作数:寄存器
59、操作数: 寄存器寻址寄存器寻址 存储器操作数:存储器操作数: 直接寻址直接寻址 寄存器间接寻址寄存器间接寻址 寄存器相对寻址寄存器相对寻址 基址变址寻址基址变址寻址 相对基址变址寻址相对基址变址寻址寻址方式:指令中给出操作数的方法。寻址方式:指令中给出操作数的方法。嵌入式系统原理与实验嵌入式系统原理与实验 58(1)(1) 格式:操作数以格式:操作数以常数常数的形式直接表示在指令中。的形式直接表示在指令中。MOVMOV ALAL,5 5;ALAL5 5MOVMOV AXAX,1234H1234H;AXAX1234h1234h ;AH=12HAH=12H,AL=34HAL=34H1 1立即寻址立
60、即寻址 嵌入式系统原理与实验嵌入式系统原理与实验 59(2) (2) 讨论:讨论:n适用于给寄存器或存储单元赋初值。立即数在适用于给寄存器或存储单元赋初值。立即数在内存内存的代码段的代码段内,指令执行时不需再存取存储器内,指令执行时不需再存取存储器n不能直接对段寄存器用立即数赋值不能直接对段寄存器用立即数赋值 n立即数不能作目的操作数立即数不能作目的操作数n给存储器操作数给存储器操作数( (默认段寄存器为默认段寄存器为DS)DS)用立即数赋值用立即数赋值时,要指明时,要指明WORD/BYTE PTRWORD/BYTE PTR MOVMOV BYTE PTR 300HBYTE PTR 300H,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学合作研究协议书5篇
- 牛头包船课程设计
- 海报插图课程设计
- 十四五大数据产业发展规划
- 2024有关消防演练活动总结(34篇)
- 美术微课程设计与制作
- 幼儿园美食实践课程设计
- 康复科护士的工作体会
- 有趣的音乐游戏课程设计
- 《当代资本主义的新》课件
- 2023-2024学年广东省深圳市光明区高二(上)期末地理试卷
- 【8地RJ期末】安徽省芜湖市弋江区2023-2024学年八年级上学期期末考试地理试卷(含解析)
- 2025年春季幼儿园后勤工作计划
- 铸牢中华民族共同体意识的培养路径
- 世界各大洲国家中英文、区号、首都大全
- SCI论文写作课件
- 国有建设企业《大宗材料及设备采购招标管理办法》
- 民间秘术绝招大全
- (完整版)展厅展馆博物馆美术馆设计标招标评分细则及打分表
- [宋小宝小品甄嬛后传台词]甄嬛歪传小品剧本台词范本
- 扭扭棒手工PPT课件
评论
0/150
提交评论