微机原理2-280x86系列结构微处理器与8086_第1页
微机原理2-280x86系列结构微处理器与8086_第2页
微机原理2-280x86系列结构微处理器与8086_第3页
微机原理2-280x86系列结构微处理器与8086_第4页
微机原理2-280x86系列结构微处理器与8086_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第2章

80x86系列结构微处理器与8086

本章讲述2.180x86系列微处理器是8086的延伸2.28086的功能结构2.38086微处理器的执行环境2.180x86系列结构微处理器与8086

80x86系列结构微处理器是以8086处理器为基础,是一个兼容的微处理器系列,是8086在功能上和性能上的延伸。

从16位扩展为32位从实模式至保护模式片内存储管理单元–MMU浮点支持MMX技术流SIMD扩展(SSE)2.1.18086功能的扩展

1.从16位扩展为32位8086是16位微处理器。能表示的数的范围十分有限,能表示的地址范围十分小。1985年,Intel公司推出了第一个32位的微处理器—80386,目前主流仍是32位机。32位地址能寻址4GB物理地址。

2.

从实模式至保护模式1981年,IBM公司刚推出IBM-PC时,采用的是MS-DOS系统,操作系统本身没有程序隔离、没有保护,易遭受病毒。从80286开始,在80386中有了真正完善保护模式。在保护模式下,可以实现操作系统核心程序与应用程序的严格的隔离,多任务之间完全隔离。

3.片内存储管理单元

–MMU 32位地址,可寻址4GB物理地址。但大多数PC机的物理内存配置远小于4GB。但应用程序却需要庞大的地址空间。因此,在操作系统中提供了虚拟存储器管理机制,而这要求硬件支持。因而,在80386中提供了片内的MMU。提供了4K页、页表等支持。

4.

浮点支持

工程应用、图形处理、科学计算等要求浮点支持。因此,自80486芯片开始,在80x86系列微处理器中集成了80x87(及其增强)浮点单元。

5.MMX技术

为支持多媒体技术的应用,如音乐合成、语音合成。语音识别、音频和视频压缩(编码)和解压缩(译码)、2D和3D图形(包括3D结构映像)和流视频等等。80x86系列处理器中增加MMX技术及相应的指令。

6.流SIMD扩展(SSE)

自PentiumIII处理器开始,在x86系列微处理器中引进了流SIMD(单指令多数据)扩展(SSE)技术。

Pentium4处理器又进一步扩展为流SIMD扩展2(SSE2)。2.1.28086性能的提高1.利用流水线技术提高操作的并行性

提高性能的两个方面:(1)利用超大规模集成电路的工艺与制造技术提高芯片的主频。即减少一个时钟周期的时间。(2)缩短执行指令的时钟周期数。

什么是流水线?指令分PF、D1、D2、EX、WB五个操作步骤012345687时间i1PFD1D2EXWBPFD1D2EXWBPFD1D2EXWBPFD1D2EXWBi2i3i4执行指令时钟周期的缩短:8086,流水线技术,一条指令占用4个时钟周期。80386,并行处理,执行一条指令缩短为2个时钟周期。80486,扩展成五级流水线,最快能够在每个CPU时钟周期内执行一条指令。奔腾处理器,增加了第二个执行流水线,实现每个时钟执行两条指令。IntelPentium4处理器,可以在一个时钟周期中可以执行多条指令。

2.引入片内缓存(CACHE)

※主存与CPU速度不匹配。※为了减少取指令与数据的时间,把近期可能要用到的指令与数据放在工作速度比主存储器更高的缓存中,在处理器芯片中实现了缓存。2.28086的功能结构指令的执行过程取指令指令译码指令执行在指令执行时根据需要在存储器中存取操作数。在8位微处理器中指令都是直接从存储器中取出处理器串行工作串行工作方式1)CPU执行指令时总线处于空闲状态2)CPU访问存储器(存取数据或指令)时要等待总线操作的完成取指执行取指执行取指执行…..时间缺点:CPU无法全速运行解决:总线空闲时预取指令,使CPU需要指令时能立刻得到2.28086的功能结构从功能上来说分成两大部分,总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit).BIU:负责与存储器接口,即8086与存储器之间的信息传送,都是由BIU负责进行的。EU:

负责指令的执行内部暂存器

IP

ESSS

DS

CS输入/输出控制电路外部总线执行部分控制电路123456∑ALU标志寄存器

AHAL

BHBLCHCL

DHDL

SP

BPSIDI通用寄存器地址加法器指令队列缓冲器执行部件(EU)总线接口部件(BIU)16位20位16位8位2.28086的功能结构

AXBXCXDX•

算术逻辑单元负责各种算术和逻辑运算。•

地址加法器将左移4位的段寄存器的内容与偏移地址相加,形成20位的物理地址,以便对1兆空间的存储器寻址。•

指令队列指令队列中包含若干个(8086—6个)8位寄存器,用于顺序存放从存储器中取出的指令,供执行单元执行。•

输入/输出控制电路提供系统总线的控制信号,实现数据、地址和状态信息的分时传送。•

执行单元控制电路控制、定时与状态逻辑电路。用于控制执行单元中各部件按指定的要求协调工作。2.28086的功能结构并行工作方式取指取指取指取指取指得到数据取指…..BIU等待执行执行执行执行8086微处理器的执行顺序EU2.38086微处理器的执行环境

执行环境描述处理器如何执行指令及如何存储和操作数据。包括内存(地址空间)、通用数据寄存器、段寄存器、标志寄存器(FLAGES)和指令指针寄存器等。2.3.1

基本执行环境概要

地址空间

1MB的线性地址空间。基本程序执行寄存器

8个通用寄存器、4个段寄存器、标志寄存器FLAGS和IP(指令指针)寄存器。堆栈(stack)

中断或调用程序

I/O端口

图:8086基本执行环境2.3.2

基本的程序执行寄存器通用寄存器:8个,用于存放操作数和指针。段寄存器:4个,保存段基址。标志寄存器(FLAGS):1个,执行程序的状态。指令指针寄存器(IP):1个,下一条执行指令的16位指针。8086中有14个基本程序执行寄存器。1.通用寄存器

八个16位通用寄存器AX、BX、CX、DX、SI、DI、BP和SP用于处理以下项:

逻辑和算术操作的操作数;

用于地址计算的操作数;

内存指针。

所有这些寄存器都可用于存放操作数、结果和指针,但SP寄存器通常保持堆栈指针。

AX、BX、CX、DX通常称为数据寄存器,用以存放操作数;SI、DI、BP、SP通常称为指针寄存器,虽然它们也可以存放操作数,但主要用作地址指针。数据寄存器AX、BX、CX和DX又可以分别作为AH、BH、CH和DH(高字节)以及AL、BL、CL和DL(低字节)8位寄存器引用,如下图。图:8086通用寄存器2.段寄存器

4个段寄存器:CS、DS、SS、ES,保存16位段基址。段基址是标志内存中一个段的特殊指针,指向该段的基地址。

存储器分段管理存储器的分段管理

8086有20条地址引线,它的直接寻址能力为220=1M字节,从00000H到FFFFFH。但是,在8086内部数据和指针寄存器都是16位的,数据总线也是16位,对于8086的各种寻址方式,寻找操作数的范围最多只能是216=64K字节,那20位地址是如何形成的?20位地址是如何形成的?将内存的1M字节以64K为范围,分成若干段;在8086中设置4个段寄存器CS、DS、SS、ES,在寻址一个具体的内存单元(物理地址)时,由一个段寄存器中保存的16位基地址,加上由IP(或SP,或BP,或BX,或SI,或DI)中保存的16位偏移量,来形成20位的物理地址。在形成物理地址时,地址加法器将段寄存器中的16位数左移4位,然后与16位偏移地址相加,形成20位的物理地址。

存储器单元物理地址的计算物理地址=段地址左移4位+偏移地址

偏移地址:IP(指令指针)SP(堆栈指示器)

BX(基址指针)BP(基数指示器)

SI(源变址寄存器)DI(目的源变址寄存器)

段地址:CS(代码段段寄存器)DS(数据段段寄存器)

SS(堆栈段段寄存器)ES(附加段段寄存器)图:8086物理地址的形成3.FLAGS寄存器

16位FLAGS寄存器包含一组状态标志、一个控制标志两个系统标志。下图定义了此寄存器中的标志。图:FLAGS寄存器

①进位标志CF(CarryFlag) 当结果的最高位产生一个进位或借位,则C=1,否则为0。②辅助进位标志AF(AuxitiaryCarryFlag) 在字节操作时,则由低半字节向高半字节有进位或借位,则AF=1,否则为0。(1)状态标志

③溢出标志OF(OverflowFlag)

在算术运算中,带符号数的运算结果超出了8位、16位带符号数能表达的范围,即在字节运算时>+127或<-128,在字运算时>+32767或<-32768,OF=1,否则OF=0。

④符号标志SF(SignFlag)

它的值与运算结果的最高位相同。即结果的最高位(字操作时为D15)为1,则SF=1;否则,SF=0。

由于在80X86系列结构微处理器中,符号数是用补码表示的,所以S表示了结果的符号,SF=0为正,SF=1为负。

⑤奇偶标志PF(ParityFlag)

若操作结果中“1”的个数为偶数,则PF=1,否则PF=0。这个标志可用于检查在数据传送过程中是否发生错误。⑥零标志ZF(ZeroFlag)

若运算的结果为0,则ZF=1,否则ZF=0。

(2)控制标志

①方向标志DF(DirectionFlag)

若用指令置DF=1,则引起串操作指令为自动减量指令,也就是从高地址到低地址;若使DF=0,则串操作指令就为自动增量指令。

①中断允许标志IF(Interrupt-enableFlag)

若置IF=1,则允许CPU接收外部的中断请求;若使IF=0,则屏蔽中断请求。

②追踪标志TF(TraceFlag)

置IF标志,进入单步方式。在这个方式下,CPU在每条指令执行以后,产生一个内部的中断,允许程序在每条指令执行完以后进行检查。(程序调试)(3)系统标志4.指令指针

指令指针(IP

温馨提示

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

评论

0/150

提交评论