南航微机原理课件chapter2吴宁版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章80x86/Pentium微处理器2.180x86/Pentium微处理器的内部结构2.2微处理器的主要引脚及功能2.3系统总线与典型时序2.4典型CPU应用系统2.5CPU的工作模式2.680x86/Pentium微处理器与协处理器第2章80x86/Pentium微处理器自1978年Intel公司推出16位微处理器8086至今,微处理器历经多次升级换代,构成了80x86/Pentium系列CPU。芯片集成度提高了30多倍,主频提高了100多倍,运算速度达100MIPS,性能已到达大、中型机水平。本章重点:8086/8088微处理器的内部结构8086/8088微处理器的主要引脚及功能8086/8088系统总线与典型时序典型CPU应用系统南京航空航天大学电子信息工程学院EU:执行部件(8086/8088)BIU:总线接口部件(8086的不同于8088的)由两部分组成(相互独立)8086BIU:指令队列6个字节,外部数据总线16位。8088BIU:指令队列4个字节,外部数据总线8位。EU:执行指令。BIU:取指、读操作数、写结果。大多数情况下,CPU取指、执指操作并行。提高了系统总线的使用效率,改善了系统性能。2.180x86/Pentium微处理器的内部结构2.1.18086/8088CPU基本结构1.8086/8088CPU结构框图第2章80x86/Pentium微处理器CHDHDISPBPSI65标志FR3EU控制系统运算寄存器ALU124DSSSES总线控制逻辑IPCS内部RegBHAHDLCLALBL地址总线20位地址加法数据总线外部总线指令队列通用寄存器执行部件(EU)总线接口部件(BIU)ALU数据总线80888086AXBXCXDX第2章80x86/Pentium微处理器(1)EU(ExecutionUnit,含有ALU及部分Reg.)负责全部指令的执行;向BIU输出(地址及结果)数据;对Reg及PSW进行管理。功能①8个通用寄存器②算术逻辑运算部件ALU16位加法器,用于对寄存器和指令操作数进行算术或逻辑运算。③标志寄存器FR9个标志位,其中6个条件标志位用于存放结果状态。④暂存寄存器⑤EU控制系统接收从BIU的指令队列中取来的指令代码,译码并向EU内各有关部分发出时序命令信号,协调执行指令规定的操作。组成AH,AL,BH,BL,CH,CL,DH,DL(8位)指针寄存器:SP,BP数据寄存器:AX,BX,CX,DX(16位)变址寄存器:SI,DI南京航空航天大学电子信息工程学院第2章80x86/Pentium微处理器(2)BIU(BusInterfaceUnit,8086/8088同外部设备的接口部件)代码段Reg:CS堆栈段Reg:SS数据段Reg:DS附加段Reg:ES组成②指令指针寄存器IP(下一条将要执行的指令在当前代码段内的地址偏移量)4个段寄存器③指令队列Queue④20位地址加法器Σ⑤总线控制逻辑⑥内部通信寄存器①功能完成所有外部总线的操作,提供总线控制信号。具体为:取指、指令排队、读写操作数、总线控制、地址转换(将两个16位地址相加20位物理地址)。第2章80x86/Pentium微处理器BIU使用指令队列实现流水线操作。当Queue中有2/1个或2/1个以上的字节空间,且EU未申请读写存储器,BIU顺序预取后续指令代码→Queue。第2章80x86/Pentium微处理器南京航空航天大学电子信息工程学院(3)EU的工作过程①若是运算操作:操作数→暂存器→ALU;运算结果→经“ALU总线”→相应Reg,并置FR。②若从外设取数:EU→BIU→访问MEM或I/O→内部通信寄存器→向“ALU数据总线”传送数据。从BIU的指令队列中取指→译码电路分析→相应控制命令→控制数据经过“ALU数据总线”的流向:第2章80x86/Pentium微处理器南京航空航天大学电子信息工程学院2.性能及特点(1)8086/8088CPU主要性能字长:16位/准16位时钟频率:8086/8088标准主频为5MHz,8086/8088-2主频为8MHz。数据/地址总线:复用,外部DB宽度16bit/8bit,AB宽度20bit。最大内存容量:1MB(220)基本寻址方式:8种指令系统:99条基本指令。可以对位/字节/字/字节串/字串/压缩/非压缩BCD码等多种数据类型进行处理。端口地址:16bitI/O端口地址,可寻址64K个端口地址,每个地址对应一个字节宽的I/O端口。中断功能:支持的中断源(内部中断和外部硬件)达256个支持单片CPU或多片CPU系统工作南京航空航天大学电子信息工程学院第2章80x86/Pentium微处理器(2)特点①取指执指重叠并行取指取指取指取指得到数据等待执行执行执行执行执行当前指令时预取下一条(或多条)指令,指令在指令队列中排队(指令流水线技术);优点:一条指令执行完成后,可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率。通常,IP中是将要执行的下一条指令在当前代码段内的偏移地址。只要是顺序执行,队列中的指令就是紧接当前指令的逻辑上的指令。如果EU当前执行的是转移指令,则BIU清除队列,从新地址取出指令立即送EU执行。再从后续的指令序列中取指令填满队列。第2章80x86/Pentium微处理器②段寄存器和存储器分段存储器空间20根地址线220=1MByte00000HFFFFFH……A19地址A010010111001011010101972D5H由存储器中存放的信息属性,分成4种段,存放3类信息:代码、数据、中间结果和断点地址。8086CPU有20根地址线,16位数据线。CPU内部寄存器是16位的。→CPU内部存放地址的寄存器是16位的,只可表示16位的地址。为了能寻址1MB地址空间,8086对存储器进行分段管理:每个段最大为64KB(216),最小为16B。(此时最多64K个段)8086/8088率先打破微处理器只能访问64KB存储空间的限制,可寻址1MB。972D5H12H段[972D5H]=12H分段原因:第2章80x86/Pentium微处理器+物理地址=段地址×10H+偏址段地址CS、DS、ES、SS16偏址16指令地址CS×10H+IP数据地址DS×10H+EA(偏移地址也称为有效地址EA,出现在指令中)堆栈地址SS×10H+SP附加段地址ES×10H+EA4个段寄存器CS、DS、SS、ES存储单元的逻辑地址和物理地址逻辑地址段地址0000H~FFFFH(由段寄存器提供)偏移地址段内某个单元到段基地址的距离(0000H~FFFFH,由指令提供)物理地址:CPU访问存储器时,送出的20位地址(00000H~FFFFFH)分别指示存储区的段地址,用来识别当前可寻址的四个段,不可互换使用。段起始地址的高16位,段起始地址又称为段基地址。第2章80x86/Pentium微处理器南京航空航天大学电子信息工程学院物理地址与逻辑地址的关系:物理地址=段地址×16+偏移量......20000H25F60H25F61H25F62H25F63H2000H段地址逻辑地址段内偏移地址5F62H逻辑地址与物理地址物理地址的形成段地址00003210150偏移地址基址加法器物理地址015019第2章80x86/Pentium微处理器表2-1访问存储器类型与逻辑地址来源关系访问存储器类型约定段寄存器可代换段寄存器偏移量物理地址计算式取指令CS—IPCS×16+IP堆栈操作SS—SPSS×16+SP访问变量DSCS,ES,,SS有效地址EADS×16+EA源字符串DSCS,ES,SSSIDS×16+SI目的字符串ES—DIES×16+DIBP用作基地址寄存器SSCS,DS,ES有效地址EASS×16+EA段缺省和段替换规则(CPU对段访问时应遵循这个原则):段缺省:段寄存器名不出现在指令和机器码中,由CPU对存储器的操作性质隐含指定;搭配规则:段寄存器和寄存器(指针、变址)有较固定的配用关系;替换(超越)规则:在指令之前可加上“CS”,”DS”,”SS”等前缀,以指定的段寄存器替代隐含的段寄存器。第2章80x86/Pentium微处理器南京航空航天大学电子信息工程学院段寄存器和其他寄存器组合指向存储单元示意图代码段数据段堆栈段CSIPDSSI,DI或BXSSSP或BP第2章80x86/Pentium微处理器南京航空航天大学电子信息工程学院存储器分段的一般规律:可独立分开(最大不重叠16个段)连续重叠(部分重叠或完全重叠)如:数据段和附加段完全重叠,堆栈段和附加段部分重叠。因此,对一个具体的存储单元,可以属于一个逻辑段,也可以同时属于几个逻辑段。③部分管脚功能双重定义以适用多处理器第2章80x86/Pentium微处理器3.寄存器配置控制寄存器8位寄存器IPFLAGCSDSSSES代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDI累加器基地址寄存器计数器数据寄存器堆栈指针寄存器基地址寄存器源变址寄存器目的变址寄存器(PC)指令指针寄存器(PSW)状态标志寄存器段寄存器16位寄存器通用寄存器寄存器组(RegisterSet)南京航空航天大学电子信息工程学院第2章80x86/Pentium微处理器用途:存放8位或16位操作数或中间结果,以提高CPU的运算速度(减少存取MEM的时间)其中,AX是CPU使用最多的一个寄存器,功能最强。(1)通用Reg.(分为两组:一组可用于字、字节;一组仅可用于字)①数据Reg.(AX,BX,CX,DX)特殊用法:AX—算术运算、I/O传输的主要寄存器(Accumulator)BX—计算地址时用作基址Reg.(Base)CX—计数器,循环或移位时用。(Counter)DX—I/O操作时用于保存I/O端口地址,或字的乘除法运算时用来存放高16位。(Data)AX的作用算术逻辑运算之前保存一个操作数,之后保存结果。CPU与I/O、MEM交换数据所用到的最多的寄存器。第2章80x86/Pentium微处理器南京航空航天大学电子信息工程学院②指示器和变址Reg.(SP,BP,SI,DI,仅能用于字)用途:缩短指令代码的长度;建立可变的地址;寄存偏移量,与段寄存器的内容相加以获得物理地址。说明:SP中存放的偏移量被认为是在堆栈段中(堆栈访问)。DI、SI中的偏移量,通常被认为是在数据段中。BP通常用于存放当前堆栈段的一个数据区“基址”的偏移量(这为随机访问堆栈提供了手段),BP也可用于通用Reg.。SP—堆栈指针BP—基地址指针SI—源变址寄存器DI—目的变址寄存器指针寄存器变址寄存器第2章80x86/Pentium微处理器通用寄存器的特殊用法(默认用法)寄存器特殊用法AX,AL乘法/除法指令,作累加器;I/O操作时,作数据寄存器AH在LAHF指令中用作目的寄存器(AH←标志)AL在BCD码及ASCII码运算指令中作为累加器;在XLAT指令中作为累加器(AL←AL+BX)BX在间接寻址中作为基址寄存器CX在循环程序中,作循环次数计数器CL在移位和循环移位指令中,作为移位位数和循环移位次数的计数寄存器DXI/O指令间接寻址时,作为地址寄存器;在乘法指令中作为辅助累加器(当乘积或被除数为32位时,存放高16位数)BP在间接寻址中,作为基址寄存器SP在堆栈操作中,作为堆栈指针SI间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为源变址寄存器DI在间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为目的变址寄存器第2章80x86/Pentium微处理器南京航空航天大学电子信息工程学院(2)段Reg.(CS,DS,SS,ES)程序运行过程中,IP中总是包含着将要执行的下一条指令在当前代码段内的偏移地址。或称:IP和CS一起指向下一条指令的物理地址。物理地址=CS×16+IPCS+IP,为下一条指令的地址。DS+指令中的偏移量,为数据段内的某单元地址。SS

1 / 86
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功