欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    微机原理与接口技术 龚尚福 第二版第2章ppt课件.ppt

    • 资源ID:1525491       资源大小:2.07MB        全文页数:79页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理与接口技术 龚尚福 第二版第2章ppt课件.ppt

    第2章 微处理器结构,2.1 微处理器的发展历史 2.2 微处理器的功能结构习题2,2.1 微处理器的发展历史,2.1.1 微处理器的发展 由于集成电路工艺和计算机技术的发展,20世纪60年代末和70年代初,袖珍计算机得到了普遍的应用。为了研制灵活的计算机芯片,1971年10月,美国Intel公司首先推出Intel 4004微处理器。这是实现4位并行运算的单片处理器,构成运算器和控制器的所有元件都集成在一片大规模集成电路芯片上,是第一片微处理器。 从1971年第一片微处理器推出至今30多年的时间里,微处理器经历了五代的发展。,第一代,1971年开始,是4位微处理器和低档8位微处理器的时期。典型产品有:1971年10月,Intel 4004(4位微处理器);1972年3月,Intel 8008(8位微处理器),集成度为2000管/片,采用PMOS工艺,10 m光刻技术。 第二代,1973年开始,是8位微处理器的时期。典型产品有:1973年,Intel 8080(8位微处理器);1974年3月,Motorola的MC6800;19751976年,Zilog公司的Z80;1976年,Intel 8085。其中Intel 8080的集成度为5400管/片,采用NMOS工艺,6m光刻技术。,第三代,1978年开始,是16位微处理器的时期。典型产品有:1978年,Intel 8086;1979年,Zilog公司的Z8000;1979年,Motorola的MC68000,集成度为68 000管/片,采用HMOS工艺,3m光刻技术。 第四代,1981年开始,是32位微处理器的时期。典型产品有:1983年,Zilog公司的Z80000;1984年,Motorola的MC68020,集成度为17万管/片,采用CHMOS工艺,2m光刻技术;1985年,Intel 80386,集成度为27.5万管/片,采用CHMOS工艺,1.2m光刻技术。,自Intel 80386芯片推出以来,又出现了许多高性能的32位及64位微处理器,如Motorola的MC68030 、MC68040,AMD公司的K6-2、K6-3、K7以及Intel的80486等。 第五代:1993年3月被称为Pentium的微处理器面市,1996年,一种具有双CPU,可进行并行处理的Pentium Pro问世、1998年Pentium被推向市场、后继Pentium、Pentium 4面市。,4G,16M,1M,64K,64G,2001年, HP与Intel携手研发的安腾(Itanium)处理器 问世,64位2007英特尔安腾2处理器,专为世界上最复杂的高端计算平台而设计。,2微处理器的发展趋势 目前微型计算机基本上是沿着两个方向发展: 一是生产性能更好的单片机及4位、8位微型计算机,主要是面向要求低成本的家电、传统工业改造及普及教育等,其特点是专用化、多功能、可靠性好; 二是发展16位、32位、64位微型计算机,面向更加复杂的数据处理、OA、DA科学计算等,其特点是大量采用最新技术成果,在IC技术、体系结构等方面,向高性能、多功能的方向发展。下面主要介绍一下高档微处理器技术发展的一些趋势。,早期的4位或8位微处理器中,CPU和总线是串行工作的,这种模式总线利用率低,命令执行速度慢,1)多级流水线结构 在一般的微处理器中,在一个总线周期(或一个机器周期)未执行完以前,地址总线上的地址是不能更新的。在流水线结构情况下,如8086以上的总线周期中,当前一个指令周期正执行命令时,下一条指令的地址已被送到地址线,这样从宏观来看两条指令执行在时间上是重叠的。这种流水线结构可大大提高微处理器的处理速度。,8086两级流水,80468五级流水,2)芯片上存储管理技术 该技术是把存储器管理部件与微处理器集成在一个芯片上。目前把数据高速缓存、指令高速缓存与MMU(存储器管理单元)结合在一起的趋势已十分明显,这样可以减少CPU的访问时间,减轻总线的负担。例如,摩托罗拉的MC68030将256个字节的指令高速缓存、256个字节的数据高速缓存与MMU做在一起构成CacheMemoryUnit。,3)虚拟存储管理技术 该技术已成为当前微处理器存储器管理中的一个重要技术,它允许用户将外存看成是主存储器的扩充,即模拟一个比实际主存储器大得多的存储系统,而且它的操作过程是完全透明的。 4)并行处理的哈佛(HarVard)结构 为了克服MPU数据总线宽度的限制,尤其是在单处理器情况下,进一步提高微处理器的处理速度,采用高度并行处理技术HarVard结构己成为引人注目的趋势。 哈佛结构的基本特性是:采用多个内部数据地址总线;将数据和指令缓存的存取分开;使MMU和转换后援缓冲存储器(TLB)与CPU实现并行操作。该结构是一种非冯诺依曼结构。,5)RISC结构 RISC结构就是简化指令集的微处理器结构。其指导思想是在微处理器芯片中,将那些不常用的由硬件实现的复杂指令改由软件来实现,而硬件只支持常用的简单指令。 这种方法可以大大减少硬件的复杂程度,并显著地减少处理器芯片的逻辑门个数,从而提高处理器的总性能。这种结构更适合于当前微处理器芯片新半导体材料的开发和应用。但是,这些材料与硅相比,其加工技术难于掌握,技术还不成熟,芯片的集成度还远远满足不了传统的复杂指令系统计算机(CISC)的要求。,6)整片集成技术(Wafer scale Integration) 目前高档微处理器已基本转向CMOS VLS工艺,集成度已突破千万晶体管大关。一个令人瞩目的动向是新一代的微处理器芯片已将更多的功能部件集成在一起,并做在一个芯片上。目前在一个MPU的芯片上己实现了芯片上的存储管理、高速缓存、浮点协处理器部件、通信I/O接口、时钟定时器等。同时,单芯片多处理器并行处理技术也己由不少厂家研制出来。 另外,从微型计算机系统角度来看,采用多机系统结构、增强图形处理能力、提高网络通信性能等方面都是当前微型计算机系统所追求的目标。,提高微处理器能力主要办法:1、提高芯片的时钟频率 缺点:频率越高功耗越大,处理器和主板设计越困难,成本越高。2、增加数据总线宽度 DIP封装价格昂贵,现采用PAG封装3、改变微处理器结构,使尽可能多的指令并行工作。 超流水、超标量。结构复杂,2.1.2 微处理器简介 1、Intel 8086微处理器 8086微处理器是美国Intel公司1978年推出的一种高性能的16位微处理器,它采用硅栅HMOS工艺制造,在1.45 cm2单个硅片上集成了29 000个晶体管。它一问世就显示出了强大的生命力,以它为核心组成的微机系统,其性能已达到中、高档小型计算机的水平。 它具有丰富的指令系统,采用多级中断技术、多重寻址方式、多重数据处理形式、段式存储器结构和硬件乘除法运算电路,增加了预取指令的队列寄存器等,使其性能大为增强。,与其他几种16位微处理器相比,8086的内部结构规模较小,仍采用40引脚的双列直插式封装。 8086的一个突出特点是多重处理能力,用8086 CPU与8087协处理器以及8089I/O处理器组成的多处理器系统,可大大提高其数据处理和输入/输出能力。另外,与8086配套的各种外围接口芯片非常丰富,方便用户开发各种系统。,2、 Intel 80386微处理器 1985年,Intel公司推出了第一个32位微处理器80386DX,它是对808680286微处理器的彻底改进,它的数据总线和内存地址都是32位的,寻址空间可达4 GB。1988年,Intel公司推出了外部总线为16位的微处理器80386SX,寻址空间为16 MB,含16位数据总线和24位地址总线。 80386还有一些版本,如80386SL/80386SLC,寻址空间为16 MB,含16位数据总线和25位地址总线,80386SLC还包含了一个内部高速缓冲存储器,以便于高速处理数据。,1995年,Intel公司推出了80386EX,也叫嵌入式PC,它在一个集成芯片上包囊了AT类PC的所有部件,它还有24根输入/输出数据线、26位的地址总线、16位的数据总线、一个DRAM刷新控制器,以及可编程的芯片选择逻辑。 80386的指令系统和早期8086、8088、80286的指令系统是向下兼容的,附加的指令涉及到32位的寄存器,还可以管理内存系统。,3、 Intel 80486微处理器 80486是Intel公司1989年推出的一种与80386完全兼容但功能更强的32位微处理器,它采用了一系列新技术来增强微处理功能。 例如,对80386核心硬件进行改进,采用RISC(精简指令系统计算机)技术来加快指令的执行速度;增强总线接口部件,加快CPU从主存中存取信息的速度;把浮点运算协处理器部件、高速缓存及其控制器部件集成到主处理器芯片内加快信息的传送与处理性能。由于在上述功能上的各种改进,使得80486微处理器的性能要比带一个80387浮点运算协处理器的80386DX微处理器速度提高近4倍。,在Intel 80486微处理器系列中,拥有不同档次的产品: (1) Intel 80486DX。它是Intel 80486微处理器系列的一个最初成员,具有80486微处理器体系结构的各种基本特点。该芯片除包含CPU部件外,还集成了一个浮点运算协处理器部件、一个8 KB的高速缓冲存储器部件及高速缓存控制器部件。 (2) Intel 80486SX。它是80486系列的一个低价格微处理器芯片,内部结构与80486DX基本相同,但不包含浮点运算协处理器部件,外部数据总线引脚也只有16位。,(3) Intel 80486DX2。它是一个增强型80486芯片,内部结构与80486DX相同,但内部采用了单倍频时钟技术,使得微处理器能以外部时钟振荡器频率速度来工作(而以前则为分频速度工作)。这一技术使80486DX2的工作频率比80486DX提高了近一倍。 (4) Intel 80486DX4。它也是一个增强型的80486芯片。它不但以80486DX的4倍工作频率来运行,而且采用了容量更大的片内高速缓冲存储器(16KB),芯片的工作电压也可降低为3.3 V。这样使得80486的运行速度更快,Cache的命中率更高,CPU与主存信息的交换速度更快,而芯片功耗则大大降低。,4、 Intel奔腾(Pentium)微处理器 Pentium微处理器是Intel公司1993年推出的80 x86系列微处理器的第五代产品,其性能比它的前一代产品又有较大幅度的提高,但它仍保持与8086、80286、80386、80486兼容。 Pentium微处理器芯片规模在80486芯片的基础上大大提高,除了基本的CPU电路外,还集成了16 KB的高速缓存和浮点协处理器,集成度高达310万个晶体管。芯片管脚增加到270多条,其中外部数据总线为64位,在一个总线周期内,数据传输量比80486增加了一倍;地址总线为36位,可寻址的物理地址空间可达64 GB。,Pentium微处理器具有比80486更快的运算速度和更高的性能。微处理器的工作时钟频率可达66200MHz。在66MHz频率下,指令平均执行速度为112MIPS,与相同工作频率下的80486相比,整数运算性能提高一倍,浮点运算性能提高近4倍。常用的整数运算指令与浮点运算指令采用硬件电路实现,不再使用微码解释执行,使指令的执行速度进一步加快。,Pentium微处理器是第一个实现系统管理方式的高性能微处理器,它能很好地实现PC机系统的能耗与安全管理。 Pentium微处理器之所以有如此高的性能,在于该微处理器体系结构采用了一系列新的设计技术,如双执行部件、超标量体系结构、集成浮点部件、64位数据总线、指令动态转移预测、回写数据高速缓存、错误检测与报告等。,5、 Intel Pentium微处理器 Pentium系列CPU是Intel公司在推出Pentium MMX系列后又一个新的系列产品,它是Pentium Pro的改进型,它的核心其实就是Pentium Pro+MMX,它支持MMX技术,同时将L1 Cache提高到32 KB,并采用了独立双重总线结构,在速度上大幅度提高了运行频率。 Pentium另外一个重大改进是抛弃了原来的Socket7接口,采用了新的Slot1插槽接口、SEC板卡封装,这不但使其获得了更大的内部总线宽度,也使其他产品无法与其兼容。 PentiumCPU内部的电路板上装有CPU核心芯片、L2 Cache和Cache控制器,其L2 Cache的工作频率为主频的一半,这使其性能受到一点损失。Pentium采用0.25m、2.0 V核心电压、4.4 ns Cache和100 MHz总线等设计。其主频多是350450 MHz。,6、 Intel Pentium微处理器 Pentium CPU是Intel公司1999年第一季度新产品,首批产品代号为“Katmai”,产品设计上仍保持了0.25 m、半速512 KB Cache和Slot1接口技术。它最重要的改进是采用了SSE(Streaming SIMD Extensions,数据流单指令多数据扩展)指令,以增强三维和浮点的运算能力,并在设计中考虑了互联网的应用。 它的另一个特点是处理器中包含了序列号,每个Pentium 处理器都有一个特定的号码,用户既可以用它对机器进行认证,也可以用它进行加密,以提高应用的保密性。,在1999年10月,Intel公司正式发布了代号为“Coppermine”的新一代Pentium 处理器,在继“Katmai”CPU特性的基础上,扩展并提高了一些新的功能。Coppermine采用了0.18 m设计,降低了发热和功耗,提高了系统的效率。 由于采用新工艺,Coppermine的集成度大大的提高,其内置有2800万个晶体管,而Katmai只有900万个,Coppermine采用133 MHz前端总线设计,扩展了系统带宽,它内置256 KB全速L2Cache,并采用了先进的缓存转换架构。总之,Coppermine在结构技术和速度性能上都有很大的提高。,进入2000年后,Intel发布了新一代代号为“Willamette”的IA-32系列终极处理器:该系列CPU采用0.18 m铜技术制造工艺,其L1 Cache为64 KB,L2 Cache从256512 KB不等,其主频可达1.5 GHz。Willamette的最大改进是使用了SSE2指令集。 此外,Intel出于成本和面向低端市场的考虑,还推出了以Coppermine为核心的FC-PGA封装的Socket370处理器。这种处理器采用100 MHz总线频率,使用了与Celeron Socket370结构类似的接口,但并不兼容Celeron Socket370接口,需接一个特殊的连接器转接后才能使用。,7、 Intel Pentium 4微处理器 Intel公司于2000年11月20日正式推出Pentium 4微处理器。Pentium 4的运行速度为1.4 GHz或1.5 GHz,目前已提升到3.0 GHz以上。Pentium 4采用0.18 m工艺的半导体制造技术,晶体管数为4200万个,是Pentium 的1.5倍。这种新型的处理器主要是针对互联网应用而设计的,其L1 Cache为8 KB,L2 Cache为256 KB,采用423针的新型PC-BGA封装。,Pentium 4处理器第一次改变了自Pentium Pro以来Pentium、Pentium 、Celeron等处理器一直采用的“P6”结构,而采用了被称为“Net Burst”的新结构。其流水线(Pipe Line)的级数(Stage)增加到20级(Pentium 为10级),使速度极限大大提高。其内部的算术逻辑运算电路(ALU)的工作频率为CPU内核频率的两倍,通过使整数运算指令以两倍于CPU内核的速度运行,提高了执行时的吞吐量,缩短了等待时间。 Pentium 4新增加了144条称为SSE2的指令集,使浮点运算的准确度提高了一倍。Pentium 4的总线速度可达到400 MHz,而Pentium仅为133 MHz,由于总线速度的提升可加速处理器与内存之间的数据传输,因此,Pentium 4可以提供更好的视频、音频及三维图形功能。,2.2 微处理器的功能结构,2.2.1 微处理器的典型结构 一个典型的也是原始意义上的微处理器的结构如图2.1所示。由图可见,微处理器主要由三部分组成,它们是: (1) 运算器:包括算术逻辑单元(ALU),用来对数据进行算术和逻辑运算,运算结果的一些特征由标志寄存器储存。 (2) 控制器:包括指令寄存器、指令译码器以及定时与控制电路。根据指令译码的结果,以一定时序发出相应的控制信号,用来控制指令的执行。,(3) 寄存器阵列:包括一组通用寄存器和专用寄存器。通用寄存器用来临时存放参与运算的数据,专用寄存器通常有指令指针IP(或程序计数器PC)和堆栈指针SP等。 在微处理器内部,这三部分之间的信息交换是采用总线结构来实现的,总线是各组件之间信息传输的公共通路,这里的总线称为“内部总线”(或称“片内总线”),用户无法直接控制内部总线的工作,因此内部总线是透明的。,图2.1 微处理器的典型结构,2.2.2 Intel 8086微处理器功能结构,1. 8086 CPU的内部结构,图2.2 8086 CPU内部结构示意图,1) 总线接口单元(BIU) BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。 BIU提供了16位双向数据总线、20位地址总线和若干条控制总线,具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。,(1) 地址加法器和段寄存器。8086 CPU的20位地址线可直接寻址1 MB存储器物理空间,但CPU内部寄存器均为16位的寄存器。那么16位的寄存器如何实现20位地址寻址呢?它是由专门地址加法器将有关段寄存器内容(段的起始地址)左移4位后,与16位偏移地址相加,形成了20位的物理地址,以对存储单元寻址。 例如,在取指令时,由16位指令指针(IP)提供一个偏移地址(逻辑地址),在地址加法器中与代码段寄存器(CS)内容相加,形成实际的20位物理地址,送到总线上实现取指令的寻址。图2.3就表现了这一物理地址的形成过程。,图2.3 物理地址形成过程,例如:CS:IP=25A0:784CH 25A00 + 784C 2D24CH对应的物理地址为:2D24CH,物理地址=段地址*16+偏移地址,逻辑地址由段地址和偏移地址构成,记为:段地址:偏移地址,(2) 16位指令指针IP(Instruction Pointer)。指令指针IP用来存放下一条要执行指令在代码段中的偏移地址,它只有和CS相结合,才能形成指向指令存放单元的物理地址。 在程序运行中,IP的内容由BIU自动修改,使它总是指向下一条要取的指令在现行代码段中的偏移地址。程序没有直接访问IP的指令,但通过某些指令可以修改它的内容。例如,转移指令可将转移目标的偏移地址送入IP,来实现程序的转移。,(3) 指令队列缓冲器。当EU正在执行指令,且不需占用总线时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入一个6字节的指令队列寄存器,该队列寄存器按“先进先出”的方式工作,并按顺序取到EU中执行。其操作遵循下列原则: 每当指令队列缓冲器中存满一条指令后,EU就立即开始执行。 每当BIU发现队列中空了两个字节时,就会自动地寻找空闲的总线周期进行预取指令操作,直到填满为止。, 每当EU执行一条转移、调用或返回指令后,则要清除指令队列缓冲器,并要求BIU从新的地址开始取指令,新取的第一条指令将直接经指令队列缓冲器送到EU去执行,并在新地址基础上再作预取指令操作,实现程序段的转移。 由于BIU和EU是各自独立工作的,在EU执行指令的同时,BIU可预取下面一条或几条指令。因此,在一般情况下,CPU执行完一条指令后,就可立即执行存放在指令队列中的下一条指令,而不需要像以往的8位CPU那样,采取先取指令,后执行指令的串行操作方式。,(4) 总线控制逻辑电路。总线控制逻辑电路将8086 CPU的内部总线和外部总线相连,是8086 CPU与内存单元或I/O端口进行数据交换的必经之路。它包括16位数据总线、20位地址总线和若干条控制总线,CPU通过这些总线与外部取得联系,从而构成各种规模的8086微型计算机系统。,2) 执行单元EU 执行单元中包含一个16位的运算器ALU、八个16位的寄存器、一个16位标志寄存器FLAGS、一个数据暂存寄存器和执行单元的控制电路,也就是说它已经包含了微处理机的三个基本部件。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。 (1) 算术逻辑运算单元(ALU)。它是一个16位的运算器,可用于8位、16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器所需的16位偏移量。 (2) 标志寄存器(FLAGS)。它是1个16位的寄存器,用来反映CPU运算的状态特征和存放某些控制标志。,图2.2 8086 CPU内部结构示意图,(3) 运算暂存器。它协助ALU完成运算,暂存参加运算的数据。 (4) 通用寄存器组。它包括四个16位的数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。 (5) EU控制电路。它负责从BIU的指令队列缓冲器中取指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令,以完成各条指令规定的功能。,执行单元中的各部件通过16位的ALU总线连接在一起,在内部实现快速数据传输。值得注意的是,这个内部总线与CPU外接的总线之间是隔离的,即这两个总线可以同时工作而互不干扰。 EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。,如果是运算操作,操作数据经过运算暂存器送入ALU,运算结果经过ALU数据总线送到相应寄存器,同时标志寄存器FLAGS根据运算结果改变状态。在指令执行过程中常会发生从存储器中读或写数据的事件,这时就由EU单元提供寻址用的16位有效地址,在BIU单元中经运算形成一个20位的物理地址,送到外部总线进行寻址。,2. 8086 CPU的内部寄存器,图2.4 8086 CPU内部寄存器,数据段寄存器,1) 通用寄存器 通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。当用作16位时,称为AX、BX、CX、DX。当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。这样,4个16位寄存器就可当作8个8位寄存器来使用。,2) 段寄存器 8086 CPU有20位地址总线,它可寻址的存储空间为1MB。而8086指令给出的地址编码只有16位,指令指针和变址寄存器也都是16位的,所以CPU不能直接寻址1MB空间。为此采用分段管理,即8086用一组段寄存器将这1MB存储空间分成若干个逻辑段,每个逻辑段长度小于等于64 KB,用4个16位的段寄存器分别存放各个段的起始地址(又称段基址),8086的指令能直接访问这4个段寄存器。 不管是指令还是数据的寻址,都只能在划定的64 KB范围内进行。寻址时还必须给出一个相对于分段寄存器值所指定的起始地址的偏移值(也称为有效地址),以确定段内的具体地址。对物理地址的计算是在BIU中进行的,它先将段地址左移4位,然后与16位的偏移值相加。,段寄存器共有4个CS、DS、SS、ES。代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。,3) 指针与变址寄存器 参与地址运算的主要是指针与变址寄存器组中的4个寄存器,指针与变址寄存器都是16位寄存器,一般用来存放地址的偏移量(即相对于段起始地址的距离)。在BIU的地址器中,与左移4位后的段寄存器内容相加产生20位的物理地址。 堆栈指针SP用以指出在堆栈段中当前栈顶的地址。入栈(PUSH)和出栈(POP)指令由SP给出栈顶的偏移地址。基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。变址寄存器SI和DI用来存放当前数据段中某个单元的偏移量。,4) 指令指针与标志寄存器 指令指针IP的功能:正常运行时,IP中存放的是BIU要取的下一条指令的偏移地址。它具有自动加1功能,每当执行一次取指令操作时,它将自动加1,使它指向要取的下一内存单元,每取一个字节后IP内容加1,而取一个字后IP内容则加2。某些指令可使IP值改变,某些指令还可使IP值压入堆栈或从堆栈中弹出。,标志寄存器FLAGS是16位的寄存器,8086共使用了9个有效位,标志寄存器格式如图2.5所示。其中的6位是状态标志位,3位为控制标志位。状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则可以由程序写入,以达到控制处理机状态或程序执行方式的表征。,图2.5 标志寄存器格式,(1) 6个状态标志位的功能分别叙述如下: CF(Carry Flag)进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。 PF(Parity Flag)奇偶标志位。该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。 AF(Auxiliary carry Flag)辅助进位标志位。当执行一个BCD加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。 例如:BCD加法 ,AF=1,ZF(Zero Flag)零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。 SF(Sign Flag)符号标志位。它和运算结果的最高位相同。 OF(Overflow Flag)溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。例如: 0101 0100 84 + 0100 1110 + 78 1010 0010 (-94) 162标志寄存器各标志位的状态为: CF= ZF= SF= OF= PF=,0,0,1,1,0,例:实现-49-108=?并观察运算结果对标志位的影响解:采用补码加法运算 -49-108补=-49补+-108补 -49补=1100 1111 -108补=1001 0100,1100 1111,1,1,0,0,1,1,(2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。 DF(Direction Flag)方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。 IF(Interrupt enable Flag)中断允许标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不响应外部中断。,注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。 TF(Trap Flag)跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。当该位复位后,CPU恢复正常工作。,3. 8086 CPU的存储器和I/O端口 1) 8086的存储器组织及其寻址 8086 CPU能寻址1 MB的存储单元,每个存储单元中存放一个8位的二进制信息(一个字节)。每一存储单元用惟一的一个地址码标识,地址码是一个不带符号的整数,其地址范围为0220-1,但习惯用十六进制数表示,即00000HFFFFFH。将存储器空间按字节地址号顺序排列的方式称“字节编址”。,字数据是将连续存放的两个字节数据构成一个16位的字数据。规定字的高8位字节存放在高地址单元,字的低8位字节存放在低地址单元。同时规定将低位字节的地址作为这个字的地址。 通常,一个字数据总是位于偶地址,即偶地址对应低位字节,奇地址对应高位字节,符合这种规则存放的字数据称为“规则字”。双字数据要占用4个字节,用以存放连续的两个字。在存放低位字或高位字时,高位字节位于高地址,低位字节位于低地址,以最低位字节地址作为它的地址。,图2.6所示为8086系统的存储器结构。1MB存储器分为两个库,每个库的容量都是512 KB。其中和数据总线D15D8相连的库全部由奇地址单元组成,称为高位字节库或奇地址库,利用BHE信号低电平作为此库的选择信号;另一个库和数据总线D7D0相连,由偶地址单元组成,称为低位字节库或偶地址库,利用地址线A00(低电平)作为此库的选择信号。所以只有A19A1共19个地址线用来作为两个库内的存储单元的寻址信号。表2-1给出BHE与A0相配合可能进行的操作。,图2.6 8086系统的存储器结构,表2-1 和A0的代码组合对应的存取操作,当在偶数地址中存取一个数据字节时,CPU从低位库中经数据线AD7AD0存取数据。由于被寻址的是偶数地址,所以地址位A0=0,由于A0是低电平所以才能在低位库中实现数据的存取。而指令中给出的是在偶地址中存取一个字节,BHE信号应为高电平,故不能从高位库中读出数据。 相反,当在奇数地址中存取一个字节数据时,应经数据线的高8位(AD15AD8)传送。此时,指令应指出是从高位地址(奇数地址)寻址, BHE信号为低电平有效状态,故高位库能被选中,即能对高位库中的存储单元进行存取操作。由于是高位地址寻址,故A0=1低位库存储单元不会被选中。如表2-1所示,8086 CPU也可以一次在两个库中同时各存取一个字节,完成一个字的存取操作。,当在偶数地址中存取一个数据字节时,CPU从低位库中经数据线AD7AD0存取数据。由于被寻址的是偶数地址,所以地址位A0=0,由于A0是低电平所以才能在低位库中实现数据的存取。而指令中给出的是在偶地址中存取一个字节,BHE信号应为高电平,故不能从高位库中读出数据。 相反,当在奇数地址中存取一个字节数据时,应经数据线的高8位(AD15AD8)传送。此时,指令应指出是从高位地址(奇数地址)寻址, BHE信号为低电平有效状态,故高位库能被选中,即能对高位库中的存储单元进行存取操作。由于是高位地址寻址,故A0=1低位库存储单元不会被选中。如表2-1所示,8086 CPU也可以一次在两个库中同时各存取一个字节,完成一个字的存取操作。,规则字的存取操作可以在一个总线周期中完成。由于地址线A19A1是同时连接在两个库上的,只要BHE和A0信号同时有效,就可以一次实现在两个库中对一个字(高低两字节)完成存取操作。对字的存取操作所需的BHE及A0信号是由字操作指令给出的。 对非规则字的存取操作就需要两个总线周期才能完成:在第一个总线周期中,CPU是在高位库中存取数据(低位字节),此时A0=1,BHE=0。然后再将存储器地址加1,使A0=0,选中低位库;在第二个总线周期中,是在低位库中存取数据(高位字节),此时A0=0,BHE=1。,46,A8,35,76,奇存储体,偶存储体,00000H,00001H,00003H,00005H,00007H,00009H,FFFFFH,FFFFEH,00004H,00006H,00008H,00002H,D15D8,D7D0,A0,规则字,非规则字,2) 存储器的分段结构和物理地址的形成 (1) 存储器的分段结构。8086 CPU为了寻址1 MB的存储空间,采用了分段的形式,即将1 MB的存储空间分成若干个逻辑段,而4个当前逻辑段的基地址设置在CPU内的4个段寄存器中,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。逻辑段之间可以是连续的、分开的、部分重叠或完全重叠的。一个程序可使用一个逻辑段或多个逻辑段。,(2) 物理地址的形成。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。 逻辑地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。 当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。,3) 8086的I/O端口 8086系统和外部设备之间都是由I/O接口电路来联系的,每个I/O接口都有一个端口或几个端口。在微机系统中给每个端口分配一个地址,称为端口地址。一个端口通常为I/O接口电路内部的一个寄存器或一组寄存器。 8086 CPU利用地址总线的低16位作为对8位I/O端口的寻址线,8086系统访问的8位I/O端口最多有65 536(64 KB)个。两个编号相邻的8位端口可以组合成一个16位的端口。一个8位的I/O设备既可以连接在数据总线的高8位上,也可以连接在数据总线的低8位上,为便于数据总线的负载相平衡,接在高8位和低8位上的设备数目最好相等。,当一个I/O设备接在数据地址总线低8位(AD7AD0)上时,这个I/O设备所包括的所有端口地址都将是偶数地址(即A0=0); 若一个I/O设备是接在数据地址总线的高8位(AD15AD8),那么此设备包含的所有端口地址都是奇数地址(即A0=1)。 如果某种特殊I/O设备既可使用偶地址又可使用奇地址,那么A0就不能作为这个I/O设备内部端口的地址选择线使用。此时A0和BHE这两个信号必须结合起来作为I/O设备选择线,用以防止对I/O设备的错误操作。 IBM-PC系统只使用了A9A0 10条地址线作为I/O端口的寻址线,故最多可寻址210(1024)个端口地址。,习 题 2,2.1 试述微处理器的发展历史。2.2 8086微处理器由哪几部分组成?各部分的功能是什么?2.3 简述8086 CPU的寄存器组织。2.4 试述8086 CPU标志寄存器各位的含义与作用。2.5 8086中,存储器为什么采用分段管理?2.6 什么是逻辑地址?什么是物理地址?如何由逻辑地址计算物理地址?,2.7 8086中,CPU实际利用哪几条地址线来访问I/O端口?最多能访问多少个端口? 2.8 80 x86微处理器的指令队列的作用是什么? 补充:1、判断(1)8086CPU内部包含了寄存器和存储器。(2)8086CPU允许一个存储器单元中存储一个8位数据或一个16位数据 (3)存储器比寄存器读写速度快。(4)若指令中的源操作数和目标操作数均为寄存器操作数,则无总线操作,2、8086被称为16位微处理器,说明( )。 (1)8086CPU有16条数据线 (2)8086CPU有16条地址线 (3)8086CPU有16条控制线 (4)8086CPU有16位寄存器3、微处理器的寻址范围与( )有关。 (1)微处理器的数据总线宽度 (2)微处理器的地址总线宽度 (3)微处理器的控制总线宽度 (4)微处理器的寄存器数4、段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时指令的物理地址是多少?指向这一物理地址

    注意事项

    本文(微机原理与接口技术 龚尚福 第二版第2章ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开