您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理与接口技术(第3版)第2章
1第2章微处理器与总线2主要内容:微处理器的功能和结构8088/8086微处理器特点主要引线功能和内部结构内部寄存器实地址模式下的存储器寻址总线时序总线一、微处理器及8088/8086CPU31.微处理器运算器控制器内部寄存器4微处理器52.程序和指令程序:具有一定功能的指令的有序集合指令:由人向计算机发出的、能够为计算机所识别的命令。63.指令执行的一般过程取指令取指部件,分析部件,执行部件指令译码读取操作数执行指令存放结果74.顺序执行和并行流水线顺序执行方式:各功能部件交替工作,按顺序完成指令的执行过程。并行流水线方式:各功能部件并行工作。8顺序工作方式取指令1执行指令1分析指令1CPUBUS忙碌忙碌取指令2执行指令2分析指令29并行流水线工作方式EU取指令1执行指令1分析指令1CPU取指令2执行指令2分析指令2取指令3执行指令3分析指令3BIU忙碌忙碌忙碌忙碌忙碌105.8088/8086CPU的特点采用并行流水线工作方式——通过设置指令预取队列实现对内存空间实行分段管理——将内存分为4个段并设置地址段寄存器,以实现对1MB空间的寻址支持多处理器系统CPU内部结构存储器寻址部分工作模式116.8088CPU的两种工作模式8088可工作于两种模式下最小模式最大模式最小模式为单处理器模式。最大模式为多处理器模式。12两种工作模式的选择方式8088是工作在最小还是最大模式由MN/MX引线的状态决定。MN/MX=0——工作于最大模式MN/MX=1——工作于最小模式13二、8088/8086的引线及功能141.主要引线——最小模式下的8088引线地址线和数据线:AD0—AD7:低8位地址和低8位数据信号分时复用。在传送地址信号时为单向,传送数据信号时为双向。A16--A19:高4位地址信号,与状态信号分时复用。A8—A15:8位地址信号15主要的控制和状态信号WR:写信号;RD:读信号;IO/M:为“0”表示访问内存,为“1”表示访问接口;DEN:低电平有效时,允许进行读/写操作;DT/R:数据收发器的传送方向控制;ALE:地址锁存信号;RESET:复位信号。16例:当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作17READY信号18中断请求和响应信号INTR:可屏蔽中断请求输入端NMI:非屏蔽中断请求输入端INTA:中断响应输出端19总线保持信号HOLD:总线保持请求信号输入端。当CPU以外的其他设备要求占用总线时,通过该引脚向CPU发出请求。HLDA:总线保持响应信号输出端。CPU对HOLD信号的响应信号。202.8088和8086CPU引线功能比较数据总线宽度不同8088的外部总线宽度是8位,8086为16位。访问存储器和输入输出控制信号含义不同8088——IO/M=0表示访问内存;8086——IO/M=1表示访问内存。其他部分引线功能的区别21三、8088/8086的内部结构221.组成8088/8086内部由两部分组成:执行单元(EU)总线接口单元(BIU)232.执行单元运算器8个通用寄存器1个标志寄存器EU部分控制电路教材第43页图2-6图24执行单元功能指令译码指令执行暂存中间运算结果保存运算结果特征指令的执行在标志寄存器FLAGS中在ALU中完成在通用寄存器中253.总线接口单元功能:从内存中取指令到指令预取队列指令预取队列是并行流水线工作的基础负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。26结论指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而:提高了CPU的效率;降低了对存储器存取速度的要求27四、内部寄存器28内部寄存器的类型含14个16位寄存器,按功能可分为三类8个通用寄存器4个段寄存器2个控制寄存器深入理解:每个寄存器中数据的含义291.通用寄存器数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)30数据寄存器8088/8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AXBXCXDXAH,ALCH,CLBH,BLDH,DL31数据寄存器特有的习惯用法AX:累加器。所有I/O指令都通过AX与接口传送信息,中间运算结果也多放于AX中;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存放计数值;DX:数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数。32地址指针寄存器SP:堆栈指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。33BX与BP在应用上的区别作为通用寄存器,二者均可用于存放数据;作为基址寄存器,用BX表示所寻找的数据在数据段;用BP则表示数据在堆栈段。34变址寄存器SI:源变址寄存器DI:目标变址寄存器变址寄存器在指令中常用于存放数据在内存中的地址。352.控制寄存器IP指令指针寄存器,其内容为下一条要执行指令的偏移地址。FLAGS标志寄存器,存放运算结果的特征6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF)内存中的程序指令1指令2指令n┇分析获取操作数执行存放结果┇程序计数器PC地址CPU取出操作数36状态标志位(1)CF(CarryFlag)进位标志位。加(减)法运算时,若最高位有进(借)位则CF=1PF(ParityFlag)奇偶标志位。运算结果的低8位中“1”的个数为偶数时PF=lAF(AuxiliaryCarryFlag)辅助进位标志位。加(减)操作中,若Bit3向Bit4有进位(借位),AF=137状态标志位(2)ZF(ZeroFlag)零标志位。当运算结果为零时ZF=1SF(SignFlag)符号标志位。当运算结果的最高位为1时,SF=lOF(OverflowFlag)溢出标志位。当算术运算的结果超出了有符号数的可表达范围时,OF=l38状态标志位例给出以下运算结果及运算后各状态标志位的状态:10110110+1111010010110110+11110100101010101CF=OF=AF=PF=SF=ZF=11101039控制标志位TF(TrapFlag)陷井标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式。IF(InterruptEnableFlag)中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。DF(DirectionFlag)方向标志位。在数据串操作时确定操作的方向。403.段寄存器作用用于存放相应逻辑段的段基地址8086/8088内存中逻辑段的数量最多为64K个8086/8088内存中逻辑段的类型代码段数据段附加段堆栈段存放指令代码存放操作的数据存放操作的数据存放暂时不用但需保存的数据。为什么叫逻辑段?每个段寄存器中存放的内容=?41段寄存器CS代码段寄存器,存放代码段的段基地址。DS数据段寄存器,存放数据段的段基地址。ES附加段寄存器,存放数据段的段基地址。SS堆栈段寄存器,存放堆栈段的段基地址段寄存器的值表明相应逻辑段在内存中的位置42五、存储器寻址431.内存单元的编址(1)每个内存单元在整个内存空间中都具有惟一的地址每个内存单元的地址码都由两部分组成:段(基)地址16位段内地址16位相对地址/偏移地址物理地址8088为16位结构,所以段地址和偏移地址均为16位44存储器的编址(2)段基地址:决定存储单元在内存中的位置相对地址(偏移地址)决定该存储单元相对段内第一个单元的距离逻辑段的起始地址称为段首每个逻辑段内的第一个单元段首的偏移地址=045存储器的编址(3)0000段基地址(16位)段首地址(段首的物理地址)××ו••×××1904段首的偏移地址:0000H段基地址(16位)××ו••×××31015××ו••×××46存储器的编址(4)例:段基地址=6000H段首地址偏移地址=0009H物理地址数据段60009H00H12H60000H9物理地址:内存单元在整个内存空间中的惟一地址472.实地址模式下的存储器地址变换内存物理地址由段基地址和偏移地址组成物理地址=段基地址×16+偏移地址0000段首地址××ו••×××1904××ו••×××偏移地址+物理地址48例:已知CS=1055H,DS=250AHES=2EF0HSS=8FF0H画出各段在内存中的分布。49例:CS=1055H段首地址=10550HDS=250AH段首地址=250A0HES=2EF0HSS=8FF0H10550H250A0H2EF00H8FF00H代码段数据段附加段堆栈段50例设某操作数存放在数据段,DS=250AH,数据所在单元的偏移地址=0204H。则该操作数所在单元的物理地址为:250AH×16+0204H=252A4H513.存储器的保护模式保护模式:支持多任务的工作模式,提供了多任务保护机制;内存段的访问受到限制,不能再随意存取数据段。保护模式下的内存访问不再直接从段寄存器中获得段基地址,段基地址存放在内存的段描述符表中,由段描述符寄存器给出段描述符表的基地址,段寄存器中仅存放段选择符。52保护模式下的存储器地址变换段寄存器表基地址描述符表寄存器描述符表150段基地址段界限属性偏移地址310线性地址分页机构物理地址内存储器段界限┇┇描述符表偏移地址310534.堆栈及堆栈段的使用堆栈:内存中一个特殊区域,用于存放暂时不用或需要保护的数据。常用于响应中断或子程序调用。54例:已知SS=1000H,SP=0100H则:堆栈段的段首地址=栈顶(偏移)地址=若该段最后一个单元地址为10200H,则:栈底偏移地址=段首栈底栈顶堆栈区10000H0100H0200H555.内部寄存器小结全部为16位寄存器只有4个数据寄存器分别可分为2个8位寄存器所有16位寄存器中:全部通用寄存器中,只有AX和CX中的内容一定为参加运算的数据,其余通用寄存器中的内容可能是数据,也可能是存放数据的地址;SP中的内容通常为堆栈段的栈顶地址;段寄存器中的内容为相应逻辑段的段地址;IP中的内容为下一条要取的指令的偏移地址;FLAGS中有9位标志位566.实模式下的存储器寻址小结每个内存单元在整个内存空间中都具有惟一地址每个内存单元的地址都由两部分组成:段基地址段内相对地址(偏移地址)段基地址决定了逻辑段在内存中所占的区域,改变段基地址,则改变了逻辑段的位置。一个逻辑段的默认长度为64KB,最小长度值为16B。逻辑段可以有多个,但只有4种类型。在一个程序模块中,每种类型的逻辑段最多只能有一个。57六、总线时序58时序时序:CPU各引脚信号在时间上的关系总线周期:CPU完成一次访问内存(或接口)操作所需要的时间。一个总线周期至少包括4个时钟周期。59七、8088系统总线60主要内容:总线的基本概念和分类;总线的工作方式;常用系统总线标准。611.概述总线:是一组导线和相关的控制、驱动电路的集合。是计算机系统各部件之间传输地址、数据和控制信息的通道。地址总线(AB)数据总线(DB)控制总线(CB)622.总线分类CPU总线系统总线外部总线片内总线片外总线按相对CPU的位置分按层次结构分633.总线的系统结构单总线结构CPUMMI/OI/OI/O64多总线结构面向CPU的双总线结构面向主存的双总线结构双总线结构多总线结构65面向CPU的双总线结构存储器与I/O接口间无直接通道CPUMI/OI/OI/O66面向存储器的双总线结构在单总线结构基
本文标题:微机原理与接口技术(第3版)第2章
链接地址:https://www.777doc.com/doc-3971598 .html