500 likes | 784 Views
第二章 80x86 微处理器 § 1 8086/8088 的结构 8086/8088CPU 是 Intel 公司于 1978 年推出的一种 16 位 微处理器,是最早投入市场的 16 位 CPU 产品之一。其 中 8086CPU 外部数据总线是 16 位的,而 8088CPU 外部 数据总线是 8 位的。 主要特点如下:
E N D
第二章 80x86微处理器 §1 8086/8088的结构 8086/8088CPU是Intel公司于1978年推出的一种16位 微处理器,是最早投入市场的16位CPU产品之一。其 中8086CPU外部数据总线是16位的,而8088CPU外部 数据总线是8位的。 主要特点如下: 数据总线16位,能处理16位数据,也能处理8位数据。 地址总线20位,可寻址的地址空间为1m字节。 在汇编语言上与8080/8085兼容 时钟频率为5mhz 具有一整套以之相配的外围接口芯片 采用单-5V电源
一、8086功能结构 8086CPU从功能上来说可分成两大部分,即总线接 口单元和执行单元。功能结构框图如图示。 1、总线接口单元BIU 总线接口单元由段地址寄存器,指令指针寄存器,20 位的地址加法器和6字节的指令队列等组成。 总线接口单元负责与存贮器,I/O端口传送数据。如 取出指令,取/存操作数。 2、执行单元EU执行单元EU由4个通用寄存器,4个专用寄存器,标 志寄存器和算术逻辑单元ALU组成。 执行单元EU负责指令的执行。 3、指令的执行过程
二、8086中的寄存器 1、通用寄存器4个16位寄存器: AX,BX,CX,DX。 其中AX是累加器。 8个8位寄存器: AH,AL,BH,BL,CH,CL,DH,DL。 2、专用寄存器 SP:堆栈指针寄存器, 用于确定堆栈在内存中位置 BP:基数指针寄存器, 用于寄存器间接寻址中 SI:源变址寄存器, 用于寄存器间接寻址中 DI:目的变址寄存器, 用于寄存器间接寻址 3、标志寄存器
A、状态标志 辅助进位标志AF:在字节操作中,低半字节向高半 字节有进位,则AF=1,否则AF=0. 进位标志CF: 当操作结果的最高位产生进位, 则CF=1,否则C=0。 溢出标志OF: 当操作结果超出了带符号数能表 达的范围,则OF=1,否则OF=0 符号标志SF: 当操作结果为负, 则SF=1,否则SF=0。 奇偶标志PF: 当操作结果低8位中的1的个数 为偶数, 则PF=1,否则PF=0。 零标志ZF: 当操作结果为零,则ZF=1,否则 ZF=0。
B、控制标志:(它能由程序置位或复位,以变更CPU的 操作) 方向标志DF: DF=1,串操作指令为自动减量指令 DF=0,串操作指令为自动增量指令 中断允许标志IF:当IF=1,则允许中断, 当DF=0, 则禁止中断。 追踪标志TF: 当TF=1,则CPU进入单步方式。CPU每 执行一条指令后,便产生一个内部 中断,允许程序在每条指令执行完 后进行检查。 C、例:
4、段地址寄存器 CS:16位的代码段寄存器;用来产生指令的20位地址 DS:16位的数据段寄存器;用来产生数据的20位地址 ES:16位的扩展段寄存器;用来产生数据的20位地址 SS:16位的堆栈段寄存器;用来产生20位的堆栈指针 5、指令指针寄存器IP (类同于PC) IP用来存放下一次要取出的指令的偏移地址 指令的真正物理地址为: CS段寄存器内容左移4位+IP内容。 例:
三、8086中存贮器与I/O组织 由于8086CPU具有1m字节的存贮器地址空间 (00000H~FFFFFH),而其内部寄存器都是16位,显 然用寄存器不能直接对1m的内存空间进行寻址。为 此引入了分段概念。 1、存贮器采用分段编址 A、8086中物理地址的形成
注:a.取指令: 物理地址= CS * 16+IP b.堆栈操作: 物理地址= SS * 16+SP c.存取操作数:物理地址=DS(ES)*16+BP(BX,SI,DI)B、采用分段编址的优点 2、数的存贮方式 通常一个基本存贮单元只能存放一个字节(8位)数, 而8086CPU的基本 操作长度为一个字。为此, 8086CPU提供了两条信号线BHE和A0,以决定是访问高 字节,还是低字节,还是整个字。 BHE A0 性能 0 0 从偶地址开始访问字 1 0 从偶地址开始访问字节 访问字从奇 0 1 从奇地址开始访问字节 地址开始 1 1 无
实际上,1m字节存贮器分成两个体,偶数地址单元 形成一个体,其数据线连数据总线低8位,而奇数地 址形成一个体,其数据线连数据总线高8位。 3、I/O编址 8086允许有64k个8位I/O端口,两个编号相邻的8位 端口可以组合成一个16位端口,CPU设有访问8位 (16位)端口的I/O指令。(0UT/IN) 在系统设计时,也可通过硬件将I/O端口和存贮器放 在一起统一编址,这样可以用对存贮器的访问指令来 实现对I/O端口的读写。
§2 8086的引脚信号与功能 8086CPU是有四十个引脚的器件,随使用场合不同, 可使它工作在最小模式和最大模式。 当在系统中只有8086一个微处理器时,系统的所有 总线控制信号都直接由8086产生,系统较简单,此 时8086可连成最小模式。 当在系统中除一个8086主处理器外, 还有协助8086 处理器工作的协处理器,如数值运算协处理器8087, I/O协处理器8089。此时,8086 应连成最大模式。 一、两种模式下,通用引脚信号
1、AD0-15:地址/数据线,输出,双向,三态 总线周期T1:输出地址 总线周期T2-4:输出数据 2、A16-19/S3-6:地址/状态线、输出、三态 总线周期T1:输出地址高4位 总线周期2-4:输出状态信息 S4 S3 0 0:当前正在使用ES 0 1:当前正在使用SS 1 0:当前正在使用CS,或未用任何段寄存器 1 1:当前正在使用DS S5: 允许中断标志位 S6: 为低(未用)
3、BHE/S7:高8位数据总线允许/状态线,输出,三态3、BHE/S7:高8位数据总线允许/状态线,输出,三态 总线周期T1:BHE有效,表高8位数据总线上的信 息有效,可使用。 总线周期T2-4:输出S7信息,(在8086中,未被赋 于实际意义) 注:BHE与AO合起来告知连接在总线上的存贮器和接口, 当前的数据在总线上将以何种格式出现。 4、RD:读选通信息、输出、三态、低电平有效 表示正在进行存贮器或I/O读。 5、READY:准备就绪信息,输入,高电平有效 表示内存或I/O设备准备就绪,马上可进行一次数据 传输。若 此信息无效(为低),则CPU在T3状态后自动 插入等待状态TW,直到READY为高后,才进入T4 完成 一次数据传输。
6、INTR:可屏蔽中断请求信号、输入、高电平有效6、INTR:可屏蔽中断请求信号、输入、高电平有效 NMI:非屏蔽中断信号、输入、正跳沿有效 7、TEST:测试信号输入,低电平有效 TEST信号与指令WAIT结合起来使用,以实现CPU 和外 部硬件的同步。CPU执行WAIT指令时,CPU处于空转状 态进行等待,当TEST有效时,则等待结束,CPU继 续往下执行指令。 8、MN/MX:最小/最大模式控制信号、输入 MN/MX=1 最小模式 MN/MX=0 最大模式
9、RESET:复位信号、输入、高电平有效 复位信号有效时,将对F,IP,DS,SS,ES及指令队列清 零,CS设置为FFFFH。当复位信号由高变低时, CPU 将从FFFFOH开始执行程序。 CS FFFF0H +IP OOOOH ────── FFFF0H 10、CLK:时钟信号、输入 8086要求CLK信号的占空比为33%,即1/3周期高,2/3 为低。其频率为5MHZ。 11、VCC:+5V电源 GND:+5V地
二、最小模式下的专用引脚信号 1、INTA:中断响应信号,低电平有效输出。此信号有 效可作为中断向量的读选通信号。 2、ALE: 地址锁存允许信号输出,高电平有效 用于锁存AD线上的地址。 3、DEN: 数据允许信号输出、三态、低电平有效。此 号表示CPU当前准备发送或接收一个数据。 用于接收和发送AD线上的数据。 4、DT/R:数据发送/接收信号,输出,三态。此信号 作为数据收发方向的控制信号,DT/R为高表 数据发送,为低表数据接收。 5、M/IO:存贮器/IO控制信号输出。 M/IO=1表示CPU与 存贮器进行数据传输, M/IO=0表示CPU与I/O设备进行数据传输。8088中该脚为IO/M。
6、WR:写信号、输出、低电平有效 7、HOLD:总线保持请求信号、输入、高电平有效。 此信号是CPU之外的其他主部件要求占用总线,向CPU 发出的请求信号。 8、HLDA:总线保持响应信号、输出、高电平有效。 此信号表示CPU对其他主部件的总线请求作出响应, 与此同时,所有与三态门相接的CPU的引脚呈现高 阻,从而让出了总线。
三、最大模式下的专用引脚信号 1、QS0,1:指令队列状态信号、输出 QS0,1两信号组合起来提供了前一个时钟周期中指令 队列的状态,以便于外部对CPU内部指令队列的动作 跟踪。QS0,QS1的代码组合所对应的含义如下表示: QS1 QS0 含义 0 0 无操作 0 1 从指令队列的第一个字节中取走代码 1 0 队列已空 1 1 除第一个字节外,还取走了后续字节 中的代码
2、S2~0:总线周期状态信号、输出 S2~0信号组合起来可以指出当前总线周期中所进行 的数据传输过程的类型。在最大模式系统中的总线控 制器8288就是利用这些状态信号来产生对存贮器和I/O的控制信号。 S2、S1、S0的代码组合所对应的操 作如下表所示: S2 S1 S0 操作过程泟 0 0 0 发中断响应信号 (INTA) 0 0 1 读I/O端口 (IOR) 0 1 0 写I/O端口 (IOW) 0 1 1 暂停 1 0 0 取指令 1 0 1 读内存 (MEMR) 1 1 0 写内存 (MEMW) 1 1 1 无源状态
3、LOCK:总线封锁信号、输出、低电平有效。3、LOCK:总线封锁信号、输出、低电平有效。 此信号有效,表示系统中其它总线主部件不能占有 总线,LOCK信号由前缀指令“LOCK”使其 有效,且 在下一条指令完成以前保持有效。 4、RQ/GT1-0:总线请求信号输入/总线请求允许信号 输出。 这些请求/允许信号是由外部总线主设备请求总线, 促使CPU在现行总线周期结束后让出总线控制权用 的。RQ/GT0-1每一脚为双向,且RQ/GT0比RQ/GT1有 更高的优先权。 四、最小/最大模式下,8086的典型配置
从图中,我们可以看到,最大模式配置和最小模式 配置的主要差别是: 在最大模式中,采用8288总线控制器来对CPU 发出的S0-2控制信号进行变换组合,以得到对 存贮器,I/O的读/写信号,得到对地址锁存器 和收发器的控制信号。 附:1、8284:时钟发生器。(16脚) 用于提供频率稳定的CLK信号,实现与 READY和RES信号同步。 2、8282:8位锁存器。(20脚)/三态输出,8位单向. 用于锁存地址。 3、8286:8位总线收发器(20脚)/8位双向,三态. 用于数据总线接口。 4、8288:总线控制器。 对状态进行译码,产生相应控制信号。
§3 8086的操作和时序 一、系统的复位和启动操作 8086的复位和启动操作是通过在RESET引脚上加复 位信号来实现的。 1、对复位信号的要求 上电复位:复位信号维持高电平时间≥50us 运行中复位:复位信号维持高电平时间≥4个T周期 2、复位时各内部寄存器的值 IF 清零 指令队列 空 IP 清零 其它寄存器 清零 DS.ES.SS 清零 CS FFFFH
3、复位后的启动操作 复位信号由高电平变低时,8086CPU将从内存的 FFFF0H处开始执行指令: CS*16+IP=FFFFH*16+0000H =FFFF0H 通常一般在FFFF0H处存放一条无条件转移指令,转 移到系统程序的入口处。
二、总线周期 1、指令周期总线周期与时钟周期 A、指令周期:执行一条指令所需的时间。它由若干 个总线周期所组成 B、总线周期:CPU通过总线与外部逻辑(存贮器或外 设)进行一次通信所需的时间。一个 总线周期由若干个T状态组成,其基本 总线周期由4个T状态组成。 C、时钟周期:时钟周期又称T状态,它是CPU的基本 时间计量单位。它由主频决定,8086 的主频为5MHZ。即一个时钟周期为 200ns。
2、基本总线周期完成的动作 T1:发地址信息,发M/IO,ALE,DT/R,BHE T2:撤消地址,通过A16-19/S3-6发总线周期状态 信息,发RD/WR,DEN T3:读/写数据 通过READY可插入TW状态 T4:总线周期结束 三、总线操作 1、最小方式下的总线读 A、8086读/写周期时序图
B、读/写周期时序分析 T1状态:M/IO指出CPU是内存还是I/O进行读/写, ALE有效指出20位地址有效, BHE有效指出高8位数据总线上信息可使用 DT/R有效指出数据传送方向 T2状态:输出状态信息S3-6,DEN有效,从而获得数据 允许信号,它作为收发器的选通信号RD或 WR有效.T3状态:读:内存或I/O将数据送到数据总线上 写:CPU提供要写入的数据在数据总线上不变 T4状态:读:CPU对数据总线进行采样,从而获得数据 写:CPU认为数据已写入至存贮器或I/O中 到此各控制信号和状态信息无效
2、最大方式下的总线读/写操作 最大方式下的总线读/写操作在逻辑上是和最小模 式下的读/写操作一样的,在时序分析上,最大方 式下要考虑CPU 和总线控制器两者产生的信号,在 此,请同学们自学。 3、总线空操作 总线接口部件不与内存或I/O之间传输数据的总线周 期为总线空闲周期。 在空闲周期中,状态信息S3-6和前一个总周期是一 样的,实际上总线空操作是总线接口部件对执行部 件的等待。
§ 4 从80286到Pentium系列CPU的发展 自从1978年推出8086之后,Intel相继推出80286、80386、80486和Pentium。Intel系列的CPU,且采用向下兼容的策略,每一种新的CPU都对原有的系列产品保持兼容,从而使此前的软件都能够继续运行。 微处理器的主要性能指标: 字长:指CPU能同时处理的数据位数。 8086/80286字长为16位。 80386/80486/Pentium字长为32位。 Itanium字长为64位。 主频:即CPU的时钟频率,主频越高,运算速度越快。 8086的主频为5MHz。 Pentium主频高达3.2GHz。 随着CPU的升级,集成度越来越高、速度越来越快。在CPU设计中采用了许多新的技术,下面将简要介绍80386和Pentium的技术要点。
一、Intel 80386 CPU 80386是Intel公司于1985年10月推出的32位微处理 器。它在一个芯片上集成了275000个晶体管,采 用32位数据总线,32位地址总线,直接寻址能力达 4GB。其时钟频率为16MHz。 80386CPU采用了流水线和指令重叠执行技术、虚拟 存储技术、片内存储管理技术、存储体管理分段分 页保护技术,这些技术为在32位微型机实现多用户 多任务操作系统提供了有力的支持。 1、80386的功能结构: 80386的功能结构如图所示 从功能上看,80386由6个功能部件组成。 指令预取部件 IPU 指令译码部件 lDU 执行部件 EU 分段部件 SU 分页部件 PU 总线接口部件 BIU
2、80386的内部寄存器: 80386有32个寄存器,分为8类,即:通用寄存器、段 寄存器、指令指针、标志寄存器、控制寄存器、系统 地址寄存器、排错寄存器和测试寄存器。 A、80386的通用寄存器和指令指针EIP: 通用寄存器皆由8086/8088、 80286的相应16位寄存器 扩展成32位而得。 由于80386地址线是32条, 故EIP中存放的是下一条 要取出的指令的偏移地址。 当然,这是相对于代码段 CS的基址的偏移量。
B、标志寄存器EFLAGS: 标志寄存器是32位的,80386比8086多4个标志。增 加的4个标志位如下: IOPL 特权标志 NT 嵌套标志 VM 虚拟方式标志 RF 恢复标志 C、80386的段寄存器: 段寄存器仍是16位。80386内存单元的地址仍是由段 基址和段内偏移地址组成。段内偏移地址是32位, 段基址也是32位,由各种寻址方式确定。
3、虚拟储存技术: A、虚拟存储技术的最终体现是建立一个虚拟存储器。 虚拟存储器由主存储器、辅助存储器和存储管理部 件共同组建。通过管理软件,达到主存和辅存密切 配合,使整个存储系统具有接近主存的速度和接近 辅存的容量。这种技术不断改进完善.就形成了虚 拟存储系统。 B、程序运行时,CPU用虚拟地址即逻辑地址访问主存, 在此过程中,先通过硬件和软件找出逻辑地址到物 理地址之间的对应关系,判断要访问单元的内容是 否已装入主存,如是,则直接访问,否则,存储器 管理软件和相应硬件会将要访问的单元及有关数据 块从辅存调入主存,覆盖掉主存中原有的一部分数 据,并且将虚拟地址变为物理地址。 C、这种机制解决了存储器的大容量和低成本之间的矛 盾。有了虚拟存储器,用户程序不再受到主存容量 的限制。
4、流水线技术: A、指令流水线: 指令流水线由总线接口部件、指令预取部件、指令 译码部件和执行部件构成。 a、指令预取部件将存储器中的指令按顺序取到长度为 16B的预取指令队列中。只要指令队列向指令译码部 件输送一条指令,从而使指令队列有部分空字节 时,指令预取部件就会向总线接口部件发出总线请 求,从存储器取指令填充到指令预取队列中。 b、指令译码部件中除了指令译码器外,还有译码指令 队列,此队列能容纳3条译好码的指令。只要译码指 令队列有剩余空间,译码部件就会从指令预取队列 取下一条指令进行译码。 c、在指令流水线设计中,将访问存储器的一条指令和 执行前一条指令重叠起来,有效地提高了指令执行 速度。
B、地址流水线: a、逻辑地址、线性地址和物理地址作 逻辑地址是程序员所看到的地址,也叫虚拟地址。 逻辑地址由16位的选择子和32位的偏移量指出,选 择子对应于一个段基地址,它指向一个逻辑地址空 间,偏移量(有效地址)则指向此逻辑空间中的一 个字节。 80386的每个任务最多可拥有16384(2l4B)个段,每 段可长达4GB(即232B),所以,一个任务的逻辑地址 空间可达64TB(即246 B)。 分段部件将包含选择子和偏移量的逻辑地址转换为32位线性地址,其空间的寻址能力也是32位。 分页部件将线性地址转换为物理地址,物理地址和 芯片引脚上的地址信号相对应,指出存储单元在存 储体中的具体位置。
b、地址流水线就是由分段部件、分页部件和总线接口 部件组成的。 c、在80386的程序中,一个偏移量可能由立即数和另外 一两个寄存器给出的值构成,分段部件把各地址分 量送到一个加法器中,形成有效地址,然后,再经 过另一个加法器和段基址相加,得到线性地址,同 时还要通过一个32位的减法器和段的界限值比较, 检查是否越界。接着,分段部件把线性地址送到分 页部件,由分页部件将线性地址转换为物理地址, 并且负责向总线接口部件请求总线服务。 d、在80386中,地址流水线技术具体体现在有效地址的 形成、逻辑地址往线性地址的转换、线性地址往物 理地址的转换这三个动作的重叠进行,通常,当前 一个操作还在总线上进行时,下一个物理地址就已 经算好了。
二、 Pentium CPU 1993年3月Intel公司推出了64位Pentium CPU,中文 名为“奔腾”。它在一个芯片上集成了310万个晶体 管,采用32位数据总线(外部数据总线为64位),36位地址总线,直接寻址能力达64GB。其时钟频率 为66-200MHZ。 Pentium CPU采用了CISC和RISC相结合的技术、超标 量流水线技术、分支预测技术,并且设置了独立的 指令Cache和数据Cache,从而使CPU的性能得到了进 一步提高。 1、内部功能结构: Pentium的结构框图如图示。从功能上看, Pentium由10个功能部件组成: 总线接口部件,U流水线和V流水线,指令Cache,数 据Cache,指令预取部件,指令译码器,浮点处理部 件FPU,分支目标缓冲器BTB,控制ROM,寄存器组。
2、CISC和RISC相结合的技术: CISC和RISC相结合的技术是指复杂指令集计算机技 术和简化指令集计算机技术。Intel公司在Pentium之前的CPU均属于CISC体系,从Pentium开始,将CISC和RISC结合。Pentium的大多数指令是简化指 令,但仍然保留了一部分复杂指令,而对这部分指 令采用硬件来实现,Pentium吸取了两者之长。 3、超标量流水线技术: 所谓超标量,就是一个处理器中有多条指令流水 线。在Pentium中,采用U和V两条流水线,每条流水 线均含有独立的ALU地址生成电路和连接数据Cache 的接口,由此可通过各自的接口对Cache存取数据, 这称为Cache双端接口。双端接口使Pentium具有更 高的速度。超标量流水线机制使得Pentium能够对应 一个时钟周期执行两条整数运算指令,这样,比相 同频率的前一代CPU实际速度提高一倍。
4、分支预测技术: Pentium提供了一个称为分支目标缓冲器BTB的小型 Cache来动态地预测程序的分支操作。当某条指令导 致程序分支时,BTB记下该条指令和分支目标的地 址,并用这些信息预测该条指令再次产生分支时的 路径,预先从该处预取,保证流水线的指令预取步 骤不会空置。这一机构的设置,可以减少每次在循 环操作时,对循环条件的判断所占用的CPU的时间。 5、增强型浮点运算器FPU: 在FPU中,采用快速硬件来实现浮点加、乘、除运 算,使其浮点运算速度比前一代CPU快三倍以上。 6、独立的指令Cache和数据Cache: Cache是指速度非常高、容量较小的存储器。 Cache技术通过一种映像机制,使CPU在运行程序 时,将原先需要访问主存储器的操作大部分转换为 访问高速Cache的操作,有效减少了CPU访问相对速 度较低的主存储器的次数,因此提高了速度。
三、Pentium系列微处理器的技术发展 在1993年推出Pentium以后,Intel又相继推出 PentiumⅡ、PentiumⅢ和PentiumⅣ。在此过程中,CPU的集成度和主频不断提高,其PentiumⅣ内部含 有4 200万个晶体管时钟频率高达3.06GHz。 PentiumⅣ采用如下一系列新技术来面向网络功能和 图像功能。 1、超级流水线技术: 将指令流水线划分为20级,指令流水线的级数越 多,会使每级的执行过程越简单,每一步可以更 快完成,对应电路结构也更简化。这样,有利于提 高时钟频率。 2、跟踪性指令Cache技术: 这种技术将指令Cache和数据Cache彻底分开,并且 只把数据Cache作为一级Cache。将指令Cache作为二 级Cache,并采用一种跟踪性机制,在分支预测出错 时,由于是跟踪性的,所以,可很快从指令Cache取 指重建指令流水线。
3、采用双沿指令快速执行机制:PentiumⅣ采用时钟缓 冲电路,使ALU-在时钟的上升沿和下降沿都可进行 运算,即采用双沿机制,从而对应半个时钟周期就 可以完成一次算术运算,使总体运算速度显著高。 4、能执行SSE2指令集:SSE2指令集含144条指令,在 SSE指令集基础上进一步提升了多媒体性能。 四、Itanium微处理器概述 Itanium是Intel公司推出的具有超强处理能力的微 处理器,其数据总线为64位,地址总线也为64位。Itanium在Pentium基础上又引入了多个新技术,从 各方面提高了性能,综合起来有如下几方面。 1、可拥有三级Cache: ItaniumⅠ片内含二级Cache,一级Cache包括16KB的 指令Cache和16KB的数据Cache,二级Cache容量为 96KB,此外,还可外接4MB的三级Cache。 ItaniumⅡ则把3MB的三级Cache也容纳在片内。
2、多个执行部件和多个通道: Itanium将指令流水线分为10级,从而可同时执行6 条指令,此外,内部有4个整数执行部件ALU和4个浮 点执行部件FMAC,并有9个功能通道,这使Itanium 在1个时钟周期中的峰值能力达到可执行20个操作, 从而特别适用于密集型浮点运算和三维图形处理。 3、数量众多的寄存器: 内部含有128个通用寄存器,128个浮点寄存器和64个 属性寄存器。众多寄存器使在峰值操作状态也能保 证内部寄存器充足够用,从而减少了等待与传输, 提高了效率,并且适用于多任务操作。 4、采用完全并行指令计算EPIC技术: EPIC技术的特点是指令的长度长,指令功能复杂, 指令中除了包含操作码以及和操作数据有关的信息 外,还包含并行执行的方法等信息。在运行程序 时,由编译器在编译过程中将程序编译成几组机器 代码,并进行分组和打包,多条指令打成一个包。 几组指令并行地在不同的执行部件中执行。
5、采用新机制的分支预测技术: Itanium通过编译软件预先将分支结构的程序段分成 几个指令序列,然后利用Itanium本身具有的很强的 并行处理能力同时执行这些指令序列,执行之后, 再舍弃其中的一部分,这样,所有的流水线分支总 是不会停顿和反复,客观上起到了消除分支预测出 错的效果。
小 结 一、CPU结构 1、通用寄存器:AX,BX,CX,DX/AH,AL,BH,BL,CH, CL,DH,DL 专用寄存器:SP,BP,SI,DI。 标志寄存器:F,(AF,CF,OF,SF,PF,ZF//DF,IF,TF,) 段地址寄存器:CS,DS,ES,SS 指针寄存器: IP 2、一个20位的物理地址可表示成段地址:偏移地址, 其计算方法如下: 物理地址=(段地址X10H )+偏移地址
3、一个程序可包括四个段 代码段:包括可执行的指令 堆栈段:包括一个后进先出的数据区,用它保存返 回地址,数据及寄存器内容。 数据段:是程序的数据区。 附加段:也是一个数据区。它通常和数据段定义在 同一存贮区。 4、字数据在存贮器中存放的顺序: 高地址字节存放高8位 低地址字节存放低8位 5、存贮器分为两个体,即偶体,(低8位数据)与奇体 (高8位据数)。 8086允许有64k个8位I/O端口