微处理器内部结构.ppt_第1页
微处理器内部结构.ppt_第2页
微处理器内部结构.ppt_第3页
微处理器内部结构.ppt_第4页
微处理器内部结构.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在学习阶段,你不可以只生活在一个人的世界中,而应当尽量学会与各阶层的人交往和沟通,主动表达自己对各种事物的看法和意见,甚至在公众集会时发表演讲,锻炼自己的表达能力 李开复,8086/8088微处理器内部结构,教学重点,微处理器基本结构 8088/8086的内部功能结构; 8088/8086中的寄存器,1 8086CPU内部结构,算术逻辑单元(运算器) 寄存器组 指令处理单元(控制器),8088的内部结构,1 2 3 4,内部暂存器,IP,ES,SS,DS,CS,输入/输出控制电路,外部总线,执行部分控制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令队列,执行部件 (EU),总线接口部件 (BIU),16位,20位,8位,8位,返回,1 8086CPU内部结构,8086的内部结构从功能分成两个单元 总线接口单元BIU管理8086与系统总线的接口,负责CPU对存储器和外设进行访问 执行单元EU负责指令的译码、执行和数据的运算 两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和执行的流水线操作,1.1 BIU (Bus Interface Unit),功能 完成所有外部总线的操作,提供总线控制信号。 具体地说,完成:取指、指令排队、读写操作数、地址转换(将两个16位地址相加 20位物理地址),总线控制。 BIU使用指令队列实现流水线操作:当指令队列中有2个或2个(8088为1个)以上的字节空间,且EU未申请读写存储器,则BIU顺序预取后续指令代码 Queue。,1.1 BIU (Bus Interface Unit),组成,1.2 EU(Execution Unit),功能 负责全部指令的执行; 向BIU输出(地址及结果)数据; 对Reg及PSW进行管理。,1.2 EU(Execution Unit),1.2 EU(Execution Unit),EU的工作过程 从BIU指令队列中取指译码电路分析相应控制命令 控制数据经过“ALU数据总线”的流向: (1)若是运算操作:操作数 暂存器 ALU; 运算结果 经“ALU总线”相应Reg、并置PSW 。 (2)若从外设取数:EU BIU访问MEM 或 I/O 内部通信寄存器 向“ALU数据总线”传送数据。,“流水线”结构,总线接口部件BIU和执行部件EU并不是同步工作的, 两者的动作管理遵循如下原则: 每当8086的指令队列中有2个空字节,BIU就会自动把指令取到指令队列中。 而同时EU从指令队列取出一条指令,并用几个时钟周期去分析、执行指令。 当指令队列已满,而且EU对BIU又无总线访问请求时,BIU便进入空闲状态。 在执行转移、调用和返回指令时,指令队列中的原有内容被自动清除。,“流水线”结构,在8086/8088中,EU和BIU这种并行的工作方式不仅有力地提高了工作效率,而且这也是它们的一大特点。EU和BIU之间是通过指令队列相互联系的。指令队列可以被看成一个RAM区,EU对其执行读操作,BIU对其执行写操作。,2 8086/8088 CPU 主要性能,字长:16位 / 准16位。 时钟频率:8086/8088标准主频为5MHz,8086/8088-2主频为8MHz。 数据、地址总线复用。 最大内存容量:1MB。 基本寻址方式:8种。 指令系统:99条基本汇编指令。 可以对位、字节、字、字节串、字串、压缩和非压缩BCD 码等多种数据类型进行处理。 端口地址:16位I/O端口地址可寻址64K端口地址。 每一个地址对应一个字节宽的I/O端口。 中断功能:可处理内部软件中断和外部硬件中断源达256个。 支持单片CPU或多片CPU系统工作。,( i )存储器空间 20根地址线 220 = 1M Byte,8086/8088率先打破微处理器只能访问64KB存储空间的限制,可寻址1MB。,将存储器分成4种段,存放三类信息: 代码、数据、中间结果和断点地址。,分段原因: 8086有20根地址线,但其内部可以表示的地址最多只能是16位。 为了能寻址1MB空间,8086对存储器进行逻辑分段,每个段最大为64KB,最小为16B(此时最多64K个段)。,3 存储器分段与段寄存器,段址 段寄存器 CS、DS、ES、SS 16 偏址 16,指令地址 (CS)10H +(IP) 数据地址 (DS)10H + EA(偏移地址也称为有效地址EA,出现在指令中) 堆栈地址 (SS)10H +(SP) 附加段地址 (ES)10H + EA,( ii )4个段寄存器CS、 DS 、SS 、ES 分别指示存储区的段地址(段起始地址的高16位,段起始地址又称为段基地址),用来识别当前可寻址的四个段,不可互换使用。,物理地址的形成,物理地址与逻辑地址的关系如下图:,段缺省和段替换规则(CPU对段访问时应遵循这个原则) : 段缺省:段寄存器名不出现在指令和机器码中时,CPU对存储器的操作性质隐含指定; 搭配规则:段寄存器和寄存器(指针、变址)有较固定的配用关系; 替换(超越)规则:在指令之前可加上“CS”,”DS”,”SS”等前缀,以指定的段寄存器替代隐含的段寄存器。,段寄存器和其他寄存器组合指向存储单元示意图,(iv)存储器分段的一般规律: a. 可独立分开(最大不重叠16个段) b. 连续 c. 重叠(部分重叠或完全重叠) 如:数据段和附加段完全重叠,堆栈段和附加段部分重叠。因此对一个具体的存储单元,可以属于一个逻辑段,也可以同时属于几个逻辑段。,控制寄存器,8位寄存器,IP FLAG,CS DS SS ES,代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器,AH AL BH BL CH CL DH DL,AX BX CX DX,SP BP SI DI,累加器 基地址寄存器 计数器 数据寄存器,堆栈指针寄存器 基地址寄存器 源变址寄存器 目的变址寄存器,(PC) 指令指针寄存器 (PSW) 状态标志寄存器,段寄存器,16位寄存器,通用寄存器,寄存器组(Register Set),4. 寄存器的配置,1. 数据Reg.(AX,BX,CX,DX),(2)特殊用法: i )BX 计算地址用作基址Reg. ii)CX 计数器,循环或移位时用。 )DX 在某些 I/O 操作时,用来保存I/O端口地址, 或字的乘除法运算。,4.1 通用Reg,2. 指示器和变址Reg.(SP,BP,SI,DI,仅能用于字),用途: a. 缩短指令代码的长度; b.建立可变的地址; c.寄存偏移量,与段寄存器的内容相加以获得物理地址。,例:SP中通常存放的偏移量被认为是在堆栈段中(堆栈访问时)。 DI、SI中的偏移量,通常被认为是在数据段中。 BP通常用于存放当前堆栈段的一个偏移量。 (通过堆栈传送数据或地址时,BP为偏移地址,SS中为段地址。) BP也可用于通用Reg.。,通用寄存器的特殊用法(默认用法),CS内容+IP内容,为下一条指令的地址。 DS内容+指令中的偏移量,为数据段内的某单元地址。 SS内容+SP 为堆栈段内的某单元地址。 ES 附加段的段地址。,4.2 段Reg.(CS,DS,SS,ES),4.3 指令指针IP,其中总是包含下一条要取的指令在当前代码段中的偏移量,即程序运行过程中,IP始终指向下一次要取出的指令偏移地址。或称IP和CS一起指向下一条指令的物理地址。,IP的内容由8086/8088的总线接口部件BIU修改(编程序时不能直接访问IP,但指令可引起它的改变、或将它的内容压入堆栈、或从堆栈恢复)。 物理地址=CS 16IP,作用:存放ALU的操作结果的特征标志,这种标志可作为条件,用于判断是否控制程序转移; 或对某一特定的功能起控制作用。,4.4 标志寄存器FR,4.4 标志寄存器FR,反映指令对数据作用之后,结果的状态(不是结果本身)。这些状态将控制后续指令的执行 有些运算操作将影响全部状态标志,如加法、减法运算 有些操作影响部分状态标志,如移位操作 有些指令的操作不影响任何状态标志,如数据传送指令,4.4 标志寄存器FR,例:执行2345H3219H,分析对PSW的影响。,标志: 运算结果最高位为0 SF=0; 运算结果本身0 ZF=0 低8位中1的个数为奇数个 PF=0; 最高位没有进位 CF=0; 第3位向第4位无进位 AF=0; 次高位向最高位没有进位 ,最高位向前没有进位 OF=0。,溢出标志OF,什么是溢出? 溢出和进位有什么区别? 如何判断是否溢出? 处理器怎么处理,程序员如何运用?,什么是溢出,处理器内部以补码表示有符号数 8位表达的整数范围是:127128 16位表达的范围是:3276732768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确,3AH7CHB6H,就是58124182, 已经超出128127范围,产生溢出,故OF1; 另一方面,补码B6H表达真值是-74, 显然运算结果也不正确,溢出和进位,溢出标志OF和进位标志CF是两个意义不同的标志 进位标志表示无符号数运算结果是否超出范围,有进位时运算结果仍然正确; 溢出标志表示有符号数运算结果是否超出范围,有溢出时运算结果已经不正确。,溢出和进位的对比,例1:3AH + 7CHB6H 无符号数运算: 58124182 范围内,无进位 有符号数运算: 58124182 范围外,有溢出,例2:AAH + 7CH(1)26H 无符号数运算: 170124294 范围外,有进位 有符号数运算: 8612428 范围内,无溢出,80H+80H?,溢出的判断,判断运算结果是否溢出有一个简单的规则: 只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运算结果显然不正确 其他情况下,则不会产生溢出,如何运用溢出和进位,处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志CF;同时,根据次高位和最高位的进位来设置溢出标志OF。 应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要注意是否溢出。,5. 计算机的工作过程,演示,8088的指令执行过程,返回,Mov ax,64h Add ax,0100h Mov 2000,ax,B8 0064 05 0100 A3 2000,cs=1000h IP=100h Ds=1492h,6. 80286微处理器,Intel 80286是Intel 公司1982年推出的产品。80286内部和外部数据总线都是16位,地址总线为24位,可寻址224字节即16MB内存。80286片内具有存储器管理和保护机构,它有实模式和保护模式两种工作方式。 与8086微处理器相比,主要特点如下: 80286与8086在目标代码级完全保持了向上的兼容性。 80286由地址单元、总线单元、指令单元和执行单元EU等4个单元组成。 80286片内具有存储器管理部件和保护机构。 80286片内的存储器管理部件MMU首次实现了虚拟存储器管理功能。,7. 80386微处理器,Intel公司1985年推出的一种高性能32位微处理器,80386内部和外部数据总线都是32位的,地址总线为32位,可寻址4GB。其主要特点如下: 80386内部结构由总线接口单元、指令预取部件、指令译码部件、执行部件、分段部件和分页部件6个逻辑功能部件组成。 80386可以按实模式、保护模式以及虚拟8086三种模式对存储器进行访问。实模式下,80386的操作像一个极快的8086。保护模式与80286相类似,但是80386的存储器管理部件MMU有分段部件和分页部件组成,实现了存储器的段页式管理,这是80386的又一新特点。在80386中,虚拟存储空间大小可达64TB。在虚拟8086模式下,每个任务都用8086的语义运行,从而可以运行8086的各种软件 。,1.2.3,80486微处理器属于第二代32位微处理器,在相同工作频率下,其处理速度比80386提高了24倍。其主要特点如下: 沿袭80386体系结构。 为了提高指令的译码速度,对于基本指令由以前80386采用的微代码控制改变为硬件逻辑直接控制。 内含8KB的高速缓冲存储器,可高速存取指令和数据。 内含与片外80387功能完全兼容且功能又有扩充的片内80387协处理器。 增加了面向多处理机的机构,支持多处理机系统。,8. 80486微处理器,9 Pentium微处理器简介,Intel 公司对80x86系列微处理器的性能不断地创新与 改造,继80486之后,1993年推出新一代名为Pentium的微处理器。1995年又推出名为Pentium Pro的微处理器。1997年、1999年和2000年又相继推出Pentium、Pentium和Pentium微处理器。其主要特点如下: 超标量设计 。 独立的指令Cache和数据Cache。 重新设计浮点单元。 动态分支预测。 Pentium微处理器除了实模式、保护模式和虚拟8086方式外,还增加了一种系统管理方式。,小结,8088/8086的内部功能结构; 8088/8086中的各种寄存器及其功能 8086/8088 CPU工作过程 8086/8088存储器分段、物理地址的形成,练习,2.1,2.5,2.7,2.8 了解新型计算机技术,于第7周(4月1号)讨论。,虚拟存储器,虚拟存储器技术是一种通过硬件和软件的综合来扩大用户可用存储空间的技术。它是在内存储器和外存储器(软盘、硬盘或光盘)之间增加一定的硬件和软件支持,使两者形成一个有机整体,使编程人员在写程序时不用考虑计算机的实际内存容量,可以写出比实际配置的物理存储器容量大很多的单用户或多用户程序。程序预先放在外存储器中,在操作系统的统一管理和调度下,按某种置换算法依次调入内存储器被CPU执行。这样,从CPU看到的是一个速度接近内存却具有外存容量的假想存储器,这个假想存储器就叫虚拟存储器。在采用虚拟存储器的计算机系统中,存在着虚地址空间(或逻辑地址空间)和实地址空间(或物理地址空间)两个地址不同的空间。虚地址空间是程序可用的空间,而实地址空间是CPU可访问的内存空间。后者容量由CPU地址总线宽度决定,而前者则由CPU内部结构决定。,返回,高速缓存,在32位微处理器和微型机中,为了加快运算速度,普遍在CPU与常规主存储器之间增设了一级或两级高速小容量存储器,称之为高速缓冲存储器。高速缓冲存储器的存取速度比主存要快一个数量级,大体与CPU的处理速度相当。有了它以后,CPU在对一条指令或一个操作数寻址时,首先要看其是否在高速缓存器中。若在,就立即存取;否则,就要作一常规的存储器访问,同时根据“程序局部性或存取局部性”原理,将所访问相邻指令及相邻数据块复制到高速缓存器中。当指令或操作数在高速缓存器中时,称为“命中”,否则称为“未命中”。 由于程序中相关数据块一般都按顺序存放,并且大都存在相邻的存储单元中,因此,CPU对存储器的访问大都是在相邻的单元中进行。一般说来,CPU对高速缓存器存取命中率可在90以上,甚至高达99。,返回,微程序,通常计算机操作步骤的控制是由硬件电路组成的操作控制器完成的。这种硬件控制逻辑一般很复杂,而且CPU一经设计定型,要想改变和扩充指令功能就很难。所谓微代码控制技术,就是将原来由硬件电路控制的指令操作步骤改用微程序来控制。其基本特点是综合运用程序设计技术和只读存储技术,将每条指令的微操作序列转化为一个控制码的微程序存于PROM、EPROM或E2PROIM等可编程只读存储器中。当执行指令时,就从ROM中读出与该指令对应的微程序,并转化为微操作控制序列。显然,微程序是许多条微指令的有序集合,每条微指令又由若干微操作命令组成。可见,执行一条机器指令,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论