2.1 概述 2.2 8088/8086 微处理器 2.3 80286 微处理器 2.3 80X86/Pentium 微处理器 2.4...

115
2.1 概概 2.2 8088/8086 微微微微 2.3 80286 微微微微 2.3 80X86/Pentium 微微微微 2.4 微微微微 微微微微微微 概 2 概 概概概概

description

第 2 章 微处理器. 2.1 概述 2.2 8088/8086 微处理器 2.3 80286 微处理器 2.3 80X86/Pentium 微处理器 2.4 本章小结 思考与练习题. 2.1 微处理器的基本结构. 微处理器 (Microprocessor) ,是采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了计算机的 主要部件:控制器、运算器和寄存器组 。整个微型计算机硬件系统的核心就是微处理器,所以它 又称为中央处理器 (Central Processing Unit) ,即 CPU 。  . - PowerPoint PPT Presentation

Transcript of 2.1 概述 2.2 8088/8086 微处理器 2.3 80286 微处理器 2.3 80X86/Pentium 微处理器 2.4...

2.1 概述

2.2 8088/8086微处理器

2.3 80286微处理器

2.3 80X86/Pentium微处理器

2.4 本章小结

思考与练习题

第 2 章 微处理器

  微处理器 (Microprocessor) ,是采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了计算机的主要部件:控制器、运算器和寄存器组。整个微型计算机硬件系统的核心就是微处理器,所以它又称为中央处理器(Central Processing Unit) ,即 CPU 。  

2.1 微处理器的基本结构

若字长 8 位,即一次能处理 8 位数据,则称为 8 位 CPU ,如 Z80 的 CPU ;若字长为 16 位,则称为 16 位 CPU ,如 8086/808

8 、 80286 的 CPU 等。

图 3-1 是一个典型的 8 位微处理器的内部结构,它一般由算术逻辑运算单元、寄存器组和指令处理单元等几个部分组成。

2.1 微处理器的基本结构

图 3-1 8 位微处理器内部结构

1. 算术逻辑运算单元 (ALU , Arithmetic Lo

gic Unit)

  算术逻辑运算单元实际上就是计算机的运算器,负责 CPU 进行各种运算,包括算术运算和逻辑运算。

  

2.1 微处理器的基本结构

    算术运算:指加、减、增量 ( 加 1) 、减量( 减 1) 、比较、求反、求补等运算,有些微处理器还可以进行乘、除运算。

 逻辑运算:指逻辑与、逻辑或、逻辑非、逻辑异或,以及移位、循环移位等运算和操作。

2.1 微处理器的基本结构

   ALU 的基本组成是一个加法器。 ALU 所进行的运算中,多数操作需要两个操作数,比如“加”和“逻辑与”运算。但是,也有些 运 算 只要 一个操作 数,比 如“增 量”和“逻辑非”运算。

2.1 微处理器的基本结构

  对 8 位 CPU 来说,由累加器提供其中一个操作数,而另一个操作数通过暂存器来提供。运算后,运算结果被返回到累加器,而运算中状态的变化和运算结果的数字特征则被记录在标志寄存器中。程序根据运算后各个标志位的情况来决定下一步走向。

2.1 微处理器的基本结构

运算单元电路

寄存器 累加器

2.1 微处理器的基本结构

2. 寄存器组 (Register Set)

  寄存器是 CPU 内部的高速存储单元,不同的 CPU 配有不同数量、不同长度的一组寄存器。有些寄存器不面向用户,我们称为“透明”寄存器,对它们的工作,用户不需要了解;有些寄存器则面向用户,供编程时使用,这些寄存器在程序中频繁使用,被称为可编程寄存器。  

  由于访问寄存器比访问存储器快捷和方便,因此各种寄存器用来存放临时的数据或地址,具有数据准备、数据调度和数据缓冲作用。从指令角度看,一般含有两个操作数的指令中,必有一个为寄存器操作数,这样可以缩短指令长度和指令的执行时间。

2.1 微处理器的基本结构

 从应用角度,可以将寄存器分成以下三类:(1) 通用寄存器 通用寄存器在 CPU 中数量最多,它们既

可以存放数据,又可以存放地址,使用频度非常高,是调度数据的主要手段。其中,累加器的寻址手段最多,功能最强,使用最频繁。

 

2.1 微处理器的基本结构

(2) 地址寄存器 地址寄存器主要用来存放地址,用于存储器的寻址操作,因而也称为地址指针或专用寄存器,如编址寄存器、堆栈指针、指令指针等。地址寄存器的功能比较单一,在访问内存时,可以通过它形成各种寻址方式。  

2.1 微处理器的基本结构

  (3) 标志寄存器 标志寄存器用来保护程序的运行状态,也称为程序状态字寄存器 (PSW) 。标志寄存器中,有些标志位反映运算过程中发生的情况,如运算中有无进位或借位,有符号数运算有无溢出等;有些标志位反映运算结果的数字特征,如结果的最高位是否为 1 ,结果是否为 0 等。

2.1 微处理器的基本结构

3. 指令处理单元

指令处理单元是计算机的控制器,负责对指令进行译码和处理,它一般包括:

   (1) 指令寄存器:用来暂时存放从存储器中取出来的指令。

   (2) 指令译码逻辑:负责对指令进行译码,通过译码产生能完成指令功能的各种操作命令。 

2.1 微处理器的基本结构

  (3) 时序和控制逻辑:

根据指令要求,按一定的时序发出、接收各种信号,控制、协调整个系统完成所要求的操作。这些信号包括:定时控制信号、CPU 的状态和应答信号、外界的请求信号和联络信号等。

2.1 微处理器的基本结构

2.2 2.2 8086/8088 微处理器

数据总线: 16 位 端口地址线: 16 位 地址总线: 20 位 时钟频率:  5MHz

内存空间: CPU 可直接寻址 1MB 内存空间 指令系统: 90 多条指令 寻址方式: 7 种基本寻址方式 中断功能:内部中断、外部中断, 256级中断 工作模式:单处理器工作模式、多处理器工作模式 流水线工作方式:取指令、执行指令并行进行 兼容性:与 8080 、 8085兼容

3.2.1 8086 微处理器的主要特征

8088 是一种准 16 位微处理器内部寄存器、内部运算部件以及内部操作都是按 16 位设计的。但对外的数据总线只有 8 位。

8086与 8088的区别

2.2.1 8086 微处理器的主要特征

2.2.2 8086 微处理的内部结构

执行单元( EU) 总线接口单元( BIU)

① 总线控制逻辑  ② 指令指针寄存器 IP③ 段寄存器    ④ 地址加法器⑤ 指令队列缓冲器

1 、 BIU

BIU 的功能:是 8086 CPU 与存储器或 I/O 设备之间的接口部件,负责全部引脚的操作。 ①BIU 负责产生指令地址,根据指令地址从存储器取出指令,送到指令队列中排队或直接送给 EU 去执行 ;

②BIU 也负责从存储器的指定单元或外设端口中取出指令规定的操作数传送给 EU ,或者把EU 的操作结果传送到指定的存储单元或外设端口中。

1.总线接口单元 BIU

2.2.2 8086 微处理的内部结构

BIU 内部设有 4个 16 位的段寄存器:代码段寄存器 CS (Code Segment)数据段寄存器 DS (Data Segment)堆栈段寄存器 SS (Stake Segment)附加段寄存器 ES (Extra Segment)

1.总线接口单元 BIU

2.2.2 8086 微处理的内部结构

BIU 内部设有一个 16 位的指令指针寄存器 IP (Instruction Pointer)6 字节指令队列缓冲器20 位地址加法器总线控制电路

1.总线接口单元 BIU

2.2.2 8086 微处理的内部结构

执行单元( EU) 总线接口单元( BIU)

① 算术逻辑单元( ALU ) ② EU 控制电路

③ 寄存器组

2 . E U

2.2.2 8086 微处理的内部结构

2. 执行单元 EUEU 的功能:是从 BIU 的指令队列中取出指令代码,然后执行指令所规定的全部功能。 在执行指令的过程中,如果需要向存储器或 I/O传送数据,则 EU 向 BIU

发出访问存储器或 I/O 的命令,并提供访问的地址和数据。

2.2.2 8086 微处理的内部结构

CPU取指过程

执行单元( EU) 总线接口单元( BIU)

DB

CB

AB

2.2.2 8086 微处理的内部结构

CPU 向内存写数过程

执行单元( EU) 总线接口单元( BIU)

DB

CB

AB

2.2.2 8086 微处理的内部结构

EU取指、译码过程

执行单元( EU) 总线接口单元( BIU)

DB

CB

AB

2.2.2 8086 微处理的内部结构

8086

EU

BIU

BUS

取指1

取指2

执指1

取指3

执指2

取指4

执指3

取指5

执指4

t

t

t

3 、 8086 的内部结构特点: 指令的提取与执行分别由 BIU 和 EU 两部件完成,二者既独立又相互配合——并行工作。

执指5

2.2.2 8086 微处理的内部结构

3 、 8086 的内部结构特点:EU 和 BIU 的流水线操作: EU 与 BIU 可独立工作, BIU 在保证 EU 与

片外传送操作数的前提下,可进行指令预取,与 EU 可重叠操作,它们的操作具有并行性。

2.2.2 8086 微处理的内部结构

1 、通用寄存器 AX 、 BX 、 CX 、 DX (16位 )

   AX(累加器)用于完成各种运算和传送移位等操作,在乘法、除法指令中约定使用AX 、 AH 、 AL 存放相关数据,在 I/O 指令中约定使用 AX 、 AL 存放 I/O 数据。

   BX(基址寄存器)在存储器间接寻址时用于存放段内偏移地址

2.2.2 8086 微处理的内部寄存器

   CX(计数寄存器)在循环处理指令和串处理指令中约定使用 CX 存放循环次数,实现计数控制,在移位指令中约定使用 CL 存放移位次数

   DX(数据寄存器)在间接寻址的 I/O 指令中用于存放端口地址,在字乘法、字除法指令中也约定使用 DX 存放双字数据的高位部分

2.2.2 8086 微处理的内部寄存器

1 、 通用寄存器 AX 、 BX 、 CX 、 DX (16 位 )

1 、 通用寄存器 SP 、 BP 、 SI 、 DI (16位 )

  用来存放操作数或偏移地址

   SP(堆栈指针寄存器)用来指示栈顶的偏移地址,一般用于访问堆栈的栈顶单元   BP(基址指针寄存器)用来指示堆栈段某一操作数所在单元的偏移地址,一般用于访问堆栈段内任意单元   SP 、 BP 一般与 SS 寄存器联用以确定堆栈段中某一存储单元的地址

2.2.2 8086 微处理的内部寄存器

1 、 通用寄存器 SP 、 BP 、 SI 、 DI (16位 )

   SI(源变址寄存器)用来存放源操作数偏移地址

  DI(目的变址寄存器)用来存放目的操作数偏移地址

   SI 、 DI 一般与 DS联用 , 用来确定数据段中某一存储单元的地址,在串操作指令中DI默认与 ES联用

2.2.2 8086 微处理的内部寄存器

  用来存放代码段(CS)、数据段 (DS)、堆栈段 (SS)、附加段 (ES)的段基址 .

2 、 段寄存器 CS 、 DS 、 SS 、 ES(16位 )

2.2.2 8086 微处理的内部寄存器

  用来存放代码段中指令的偏移地址

3 、 指令指针寄存器 IP(16位 )

  在程序运行的过程中, IP自动加“ 1” ,始终指向下一条指令首字节,它与 CS 寄存器联用确定下一条指令的物理地址,是用来控制指令序列的执行流程的寄存器

2.2.2 8086 微处理的内部寄存器

   6 个状态位记录指令操作后结果的状态信息,由 CPU 根据结果自动设置

  CF 进位标志   SF 符号标志   OF 溢出标志

PF 奇偶标志   ZF 零标志    AF 辅助进位标志

CFPFAFZFOF SFTFIFDF

4 、 标志寄存器 FLAG (16位 )

2.2.2 8086 微处理的内部寄存器

CFPFAFZFOF SFTFIFDF

   3 个控制位控制处理器的操作,根据需要由程序用指令设置

   DF 方向标志   IF 中断允许标志  

TF 陷阱标志

4 、 标志寄存器 FLAG (16位 )

2.2.2 8086 微处理的内部寄存器

CPU 内部寄存器总结:

2.2.3 8086 的引脚及工作方式

8086/8088 微处理器引线,在逻辑上可分为3 类:

地址总线信号、控制总线信号,还有一些专业信号:电源、地、时钟。

8086/8088 采用引线分时复用技术,一条引线不同时间代表不同信号,解决引线不够问题。

一、工作模式   最小模式:单微处理器模式,系统中只有一个 8086微处理器,所有的总线控制信号均由 CPU直接产生,因此系统中的总线控制电路少,控制信号较少,一般不必接总线控制器  最大模式:多微处理器模式,系统中可包含2个或 2个以上微处理器,其中一个 8086为主处理器,其他的微处理器为协处理器(如 8087、8089)

  系统中控制信号较多,需要通过总线控制器与总线相连,控制总线驱动能力较强   

2.2.3 8086 的引脚及工作方式

二、引脚功能

8086

2.2.3 8086 的引脚及工作方式

1. AD15~ AD0(Address Data Bus) 地址 / 数据复用引脚 可作为输入或输出,具有三态

• 在总线周期的 T1 状态作为地址线,输出要访问的存储器或 I/O端口的地址;

• 在总线周期的 T2~ T3 状态作为数据线传输数据。

二、引脚功能

2.2.3 8086 的引脚及工作方式

2. A19 /S6 ~ A16/S3 地址 / 状态复用引脚 输出,具有三态

• 在总线周期的 T1 状态,用来输出地址的最高 4 位。

• 在总线周期的 T2 、 T3 、 TW 和 T4 状态时,用来输出状态信息。

二、引脚功能 2.2.3 8086 的引脚及工作方式

3.(Bus High Enable/Status)

• 高 8 位数据总线允许 / 状态复用引脚• 输出引脚,三态。

BHE /S7

2.2.3 8086 的引脚及工作方式

4. (Read) 读信号输出,三态

• 表示将要执行一个对存储器或 I/O端口的读操作。

• 低电平有效

RD

5. READY 准备好信号输入,高电平有效处理器与存储器及 I/O接口速度同步的控制信号

6. 测试信号输入,低电平有效脱离等待状态

TEST

7. INTR (Interrupt Request) 可屏蔽中断请求信号输入,高电平有效CPU 在执行每条指令的最后一个时钟周期时,会对 INTR引脚的信号进行采样。若 CPU 的中断允许标志为 1 ,且又接收到 INTR信号,则 CPU会在执行完当前指令后,响应中断请求,执行一个中断处理子程序。

8. NMI (Non-Maskable Interrupt) 非屏蔽中断请求信号输入,高电平有效NMI 不受中断允许标志 IF 的影响,也不能用软件进行屏蔽。每当 NMI端输入一个正沿触发信号时, CPU会在执行完当前指令后,执行对应的不可屏蔽中断处理程序。

9. RESET 复位信号输入,高电平有效。RESET 将使 8086 CPU立即结束当前操作。 C

PU 内部进入原始状态。代码段 CS全 1

10. CLK (Clock) 系统时钟信号输入,高电平有效

最小 / 最大方式信号

当 接 +5V 电压时, CPU 工作于最小方式;接地时, CPU 工作于最大方式。

MN/ MX

MN/ MX

2.3.4 8086 的存储器组织

线性地址

  微型计算机的内存储器以字节为基本单位存储信息,每个字节占用一个存储单元,每个存储单元给定一个惟一的地址,这个地址称为物理地址,物理地址以二进制无符号整数形式从 0开始编号,顺序增 1

内存储器编址

00000H00001H00002H00003H00004H00005H00006H

… …

00007H

1. 存储器的标准结构

   8086 系统把 1MB 的内存空间分为若干个段,要求:

①每段的容量不超过 64KB

②段内起始地址必须能被 16 整除

  各段的功能因具体用途而定,可分为代码段、数据段、堆栈段、附加段

  段内起始单元地址的高16 位(低 4 位为 0)称为段基址,段内某单元距首单元的位移量称为偏移地址 / 有效地址

0000 H12340H

12341H12342H

…...

…...

物理地址 段内偏移地址

段基址

偏移地址

0000 H0001 H0002 H

…...

…...…...

1234 H

2. 存储器的分段

2.3.4 8086 的存储器组织

分段技术   在 8086 系统中,每个存储单元都可以用两种地址表示:

物理地址 是内存中信息存储的实际地址

逻辑地址(段基址:偏移地址)是允许在程序中编排的地址

  CPU 必须按照物理地址对对内存进行寻址,访存时首先把逻辑地址转换为物理地址,然后再对内存单元进行读 /写

物理地址与逻辑地址:

000016 位段基址

20位物理地址

地址加法器

16位段基址 16位偏移地址

3. 物理地址和逻辑地址

例题:计算物理地址 2000H: 3114H

即 2000H: 3114H逻辑地址转换成物理地址是 23114H。

4 、堆栈

特点:栈底固定,栈顶浮动在栈顶处进行信息的存取操作按照“先进后出 (First In Last Out 或 FILO)” 原则进行存取操作,即数据是由栈顶压入或弹出  

定义:堆栈 (Stack) 是为保护数据、调度数据而 开辟的特殊数据区域。

2.3.4 8086 的存储器组织

2.3 80286 微处理器   1982年, Intel公司推出了高性能的 16 位微处理器 80286 ,该芯片的内部集成了约 13万个晶体管,以 8 MHz 的时钟进行工作,它有 68条引脚。  与 8086相比, 80286 具有以下特点:  

2.3 80286 微处理器

  与 8086相比, 80286 具有以下特点:   (1) 有 24 根地址线,最多可寻址 16 MB 的实际存储空间和 64 KB 的 I/O 地址空间。   (2) 数据线和地址线完全分离。在一个总线周期中,当有效数据出现在数据总线上的时候,下一个总线周期的地址已经送到地址总线,形成总线周期的流水作业。其总线周期基本上由 Ts(Send Status) 和 Tc

(Perform Command) 两个时钟周期组成,明显提高了数据访问的速度。

2.3.1 80286 微处理器特点

   (3) 具有“实地址方式 (Real Address Mode)” 和“虚地址保护方式 (Protected Virtual Address Mod

e)” 两种工作方式,这两种方式又简称为“实方式”和“保护方式”。

  实方式用于向上兼容 8086 ,此时 80286 的 24 根地址线中只有低 20 位地址有效,其寻址空间和寻址方法与 8086完全相同,即 8086 的应用程序不需要修改就可以移到该方式下运行,但是速度要快。

  

2.3.1 80286 微处理器特点

  保护方式体现了 80286 的特色,主要是对存储器管理、虚拟存储和对地址空间的保护。在该方式下,它的 24 根地址线全部有效,可寻址 16 MB 的实存空间;通过存储管理和保护机构,可为每个任务提供多达 1 GB 的虚拟存储空间和保护机制,有力地支持了多用户、多任务的操作。

2.3.1 80286 微处理器特点

   (4) 在保护方式下, 80286 的存储管理仍然分段进行,每个逻辑段的最大长度为 64 KB ,但是增加了许多管理功能,其中最重要的功能就是虚拟存储。也就是说, 80286 的物理存储空间为 16 MB ,但每个任务可使用的逻辑空间却高达 1 GB 。在该方式下,那些内存装不下的逻辑段,将以文件形式存入外存储器中,当处理器需要对它们进行存取操作时就会发生中断,通过中断服务程序把有关的程序或数据从外存储器调入到内存,从而满足程序运行的需要。

2.3.1 80286 微处理器特点

   (5) 在保护方式下, 80286 提供了保护机制,它们由硬件提供支持,一般不会增加指令的执行时间,这些保护包括:  ① 对逻辑段的操作属性 ( 可执行、可读、只读、可写 ) 和长度界限 (1~ 64 KB) 进行检查,禁止错误的段操作。  

2.3.1 80286 微处理器特点

  ② 为不同程序设置了 4 个特权级别 (Privilege Leve

l) ,提供若干特权级参数,可让不同程序在不同的特权级别上运行。 8086 系统程序和用户程序处于同一级别,并存放在同一存储空间,所以系统程序有可能遭到用户程序的破坏。而 80286依靠这一机制,可支持系统程序和用户程序的分离,并可进一步分离不同级别的系统程序,大大提高了系统运行的可靠性。  ③ 提供任务间的保护。 80286 为每个任务提供多达 0.5 GB 的全局存储空间,防止错误的应用任务对其他任务进行不正常的干预。

2.3.1 80286 微处理器特点

  2.3.2 80286 微处理器的组成

  下图是 80286 微处理器内部结构。由图中可以看出, 80286 处理器内部由四个独立的部件组成,分别为执行部件 (EU) 、总线接口部件 (BIU) 、指令部件 (IU) 和地址部件 (AU) 。这四个独立的部件都是通过内部总线进行连接的,它们相互配合完成一条指令的执行过程。

  2.3.2 80286 微处理器的组成

图 2-12 80286 微处理器内部结构

  下面分别讨论四个独立部件的功能。

  执行部件 (EU) 是由寄存器、控制器和算术逻辑运算单元 (ALU) 等部分组成的。它负责执行由指令部件 (IU)译码后的指令。

  2.3.2 80286 微处理器的组成

  总线接口部件 (BIU) 由地址锁存器、地址驱动器、协处理器扩展接口、总线控制器、数据收发器、预取指器和 6 字节预取指令队列寄存器等组成。总线接口部件是微处理器与系统之间以及与局部总线之间的高速接口部件, 用来产生访问外部存储器和 I/O

端口所需要的地址、数据和命令信号;可以高速地完成取指令或对存储器的读 /写。

  2.3.2 80286 微处理器的组成

其中,预取指器可利用局部总线空闲时间,控制数据收发器最多可从存储器中取出 6 字节指令,并将它们暂时存放在 6 字节预取指队列寄存器中,这样 CP

U 便可高速读取指令。只有当预取指队列寄存器中至少空出 2 个字节时才进行预取指操作。

  2.3.2 80286 微处理器的组成

  指令部件 (IU) 由指令译码器和三条已被译码的指令队列组成。指令部件的作用是不断地对来自总线部件和预取指令队列的指令进行译码,然后把它们存放到已被译码的指令队列中,准备接受执行部件的读取。这一部件可以使对一条指令的执行过程得以改善,从顺序执行即取出指令、指令译码、执行指令,变成为并行操作,从而缩短指令的执行时间,提高处理速度。这种操作被称为 80286 的流水操作。

  2.3.2 80286 微处理器的组成

   地址部件 (AU) 由地址偏移量加法器、段界限检查器、段基址寄存器、段容量寄存器、物理地址加法器等组成。功能是根据执行部件的请求,从执行部件中的寄存器中取出寻址信息,并且按照寻址的规则产生物理地址,同时把产生的物理地址送到总线接口部件的地址锁存器和总线驱动器中,其物理地址可能为存储器的物理地址或 I/O端口的地址。这一部件中还包括段寄存器和描述符表寄存器的高速缓冲存储器。

  以上介绍了微处理器中四个独立部件的组成及作用,实际上微处理器在处理一条条指令的过程中,各部件是在并行地作总线操作,从而实现流水线化的作业的,这样极大地发挥了处理器的性能。

2. 寄存器的构成

   80286 微处理器的内部寄存器分为四组,分别为通用寄存器、段寄存器、状态和控制寄存器以及系统表寄存器,如图 2-13 所示。它们构成了 80286

的基本寄存器集。

图 2-13 80286 基本寄存器集

   (3) 机器状态字寄存器 (MSW) 。机器状态字寄存器用来表示当前处理器所处的状态。如图 2-15 所示, MSW 是一个 80286 中新设计的 16 位机器状态字寄存器,仅用了其中的 4 位。这四位的含义及作用如下:

图 2-15 机器状态字寄存器

   保护方式允许 PE :用于向虚地址保护方式转换,若 PE 为“ 1” ,则 80286 被置于保护方式,若 PE 为“ 0” ,则表示 80286 被置于实地址方式。只有通过硬件复位 (RESET)才能从保护方式返回实地址方式。   监控协处理器 MP :用于协处理器 80287 NPX

的接口,该位置位表示系统有 80287 。   模拟协处理器 EM :若 EM置“ 1” ,则表示可用软件模拟 80287 指令仿真一个协处理器,若 EM

清“ 0” ,将允许协处理器操作码在 80287 上执行。

任务转换 TS :当 80286完成任务转换,即 80

286 从执行某一个任务转换到执行另一个任务时,TS 被自动置“ 1” ,当 80286 复位时, TS 被清“ 0” 。  对于机器状态字寄存器中的有效标志位,其中的 PE 位用来使 CPU 进入虚地址保护方式,其余 3 位则具有控制协处理器接口的作用。

2.4 80386 微处理器

  1. 80386 微处理器结构

   80386 的基本逻辑框图如图所示。

2.4 80386 微处理器

3.4 80386 微处理器

   80386 由中央处理器 (CPU) 、存储器管理部件(MMU) 和总线接口部件 (BIU) 三大模块组成。 CPU

包括指令预取、指令译码、指令执行部件; MMU 包括分段部件和分页部件;加上 BIU 部件,这样, 803

86 共有 6 个功能部件。 6 个功能部件可并行工作,构成 6级流水线结构。

  

   80386 有三种工作方式:实地址方式、保护方式和虚拟 8086 方式 (VM86 方式 ) 。在实地址方式下,80386 的工作好似速度极快的 8086 。实地址方式主要用于建立处理机状态,以便进入保护工作方式。在保护工作方式下,用户可使用处理器的复杂存储管理、分页及特权功能。在保护工作方式下,通过软件可以实现任务切换,进入虚拟 8086 方式。虚拟 8086任务可以被隔离和保护。

    2. 80386 的寄存器结构

   80386 含有通用寄存器、段寄存器、指令指针、标志寄存器、控制寄存器、系统地址寄存器、排错寄存器、测试寄存器等 7 类 32 个寄存器。它们包括了 16 位 8086 和 80286 的全部寄存器。通用寄存器、段寄存器以及指令指针和标志寄存器如图 2-18 所示。

图 3-18 80386 基本寄存器

   1) 通用寄存器

   80386 中有 8 个 32 位的通用寄存器,如图 2-19

所示。这些通用寄存器是 8086 、 80286 的 16 位通用寄存器的扩展,所以命名为 EAX 、 EBX 、 ECX 、EDX 、 ESI 、 EDI 、 EBP 、 ESP 。每一个寄存器都可以存放数据或地址,支持 1 、 8 、 16 、 32 和 6

4 位的数据操作及 1~ 32 位的位操作,也支持 16 位和 32 位的地址操作。

2.4 80386 微处理器

图 3-19 通用寄存器

3.4 80386 微处理器

   2) 指令指针和标志寄存器

   80386 的地址线是 32 位,指令指针是 32 位寄存器,是 IP 的扩展,称为 EIP 。 EIP 中存放的总是下一条要取出指令的偏移量。 EIP 的低 16 位称为 IP ,它由 16 位的地址操作数使用。

   80386 中的标志寄存器是名为 EFLAGS 的 32 位寄存器,所定义的位如图 2-20 所示。

2.4 80386 微处理器

图 3-20 80386 标志寄存器

   80386扩展的标志位是 VM 和 RF ,它们的功能是:

   VM(Virtual 8086 Mode ,位 17) 是虚拟 8086 方式位。当 VM置 1 时, 80386转入 8086 方式。在保护方式下 VM才置 1 ,用 IRET 指令实现。

  

   RF(Resume Flag ,位 16) 是恢复标志位,用于调试寄存器断点处理。当 RF置 1 时,对执行下一条指令而言,一切故障调试均被忽略,在每条指令 ( 除IRET 、 POPF 、 JMP 、 CALL 、 INT 等指令 ) 成功地完成后 RF自动清 0 。

   3) 段寄存器和段描述符寄存器

   80386 中用 6 个 16 位的段寄存器存放段选择器值,指示可寻址的存储空间。在保护方式下,分段大小在 1 B~ 4 GB之间变化。在实地址方式下,最大分段固定为 64 KB 。

  在任何给定时刻,可寻址的 6 段是由段寄存器 CS 、SS 、 DS 、 ES 、 FS 、 GS 的内容确定的。 CS 中的选择器指示当前代码; SS 指示当前堆栈段; DS 、ES 、 FS 、 GS 指示当前数据段。

  段寄存器如图 2-21 所示。图中右边是段描述符寄存器,每个描述符寄存器装有一个 32 位的段基地址,一个 32 位的段界限值,还有其他段属性。描述符寄存器与段寄存器一一对应。

图 3-21 80386 段寄存器和段描述符寄存器

  每当访问存储器时,段描述符自动介入访问处理;32 位的段基地址变成计算线性地址的一个分量; 32

位界限值用于界限检查操作,不必去查表而得到段基地址,从而加快了存储器访问速度。

   4) 系统地址寄存器

  系统地址寄存器 GDTR 中存放 GDT(全局描述符表 ) , IDTR 中存放 IDT( 中断描述符表 ) 。其中放置 32 位线性基地址和 16 位界限值,如图 2-22 所示。

   TR 寄存器中存放 16 位的 TSS(任务状态段 )描述符, LDTR 中存放 16 位的 LDT(局部描述符表 )

描述符。

图 2-22 系统地址寄存器和系统段寄存器

   5) 控制寄存器

   80386中有 3个 32位控制寄存器 CR0、 CR2和 CR3,如图 2-23所示,用以放置机器的总体状态,对系统的全部任务都发生影响。

图 2-23 控制寄存器 CR0 、 CR2 、 CR3

   CR0 为机器控制寄存器。其中位 0~位 4 和位 3

1 作控制和状态用。 CR0 的低 16 位也叫做机器状态字 (MSW) ,与 80286 保护方式兼容, LMSW 和 SM

SW 指令是 CR0 的送数和存储操作指令,只涉及 CR

0 的低 16 位。  

    CR1 为 Intel公司保留。   CR2 为页面出错线性地址寄存器,放置检测到的最近一次页面出错的 32 位线性地址。错误码被推入页面出错处理器的堆栈。   CR3 为页面目录基地址寄存器。 CR3 中含有页面目录表的基地址。 80386 的页面目录表总是按页面定位 ( 以 4 KB 为单位 ) 的,因此最低 12 位的写入是非法的,存储也是无意义的。这样, CR3 的最低位( 位 12)每增减 1意味着增减 4096 B 。

3. 80386 的存储器组织结构

   80386 存储器的存储单元有三种:字节 (8 位 ) 、字 (16 位 ) 、双字 (32 位 ) 。两个相连续的字节存放时,低位字节存放于低地址,高位字节存放于高地址。双字要存放于 4 个连续的字节,最低位字节存于最低位地址,最高位字节存于最高位地址。一个字或一个双字的地址就是低位字节的地址。

3. 80386 的存储器组织结构

  存储器可以划分为长度可变的若干段,还可以再进一步划分为页面,每页 4 KB 。分段和分页可以组合运用以得到最大的系统设计灵活性。分段对于按逻辑模块组织存储器是很有用的,而分页对于系统程序员或对于系统物理存储器的管理是很有用的。

( 1) 80386微处理器拥有 32位数据总线和 32位地址总线,可直接寻址 4GB物理存储空间,具有虚拟存储能力,虚拟存储空间达 64TB 。存储器采用分段结构

1 、 80386 的主要特点

( 2)系统采用流水线和指令重叠技术、虚拟存储技术、片内存储器管理技术、存储器管理分段、分页保护技术等,系统实现了多用户多任务操作 ( 3)提供 32位的指令,可支持 8位、 16位、 32

位的数据类型,具有 8个通用的 32位寄存器

( 4)首次在芯片内使用 Cache ,以使内存速度能更好地与运算器的速度相匹配,从而大大提高指令的执行速度和工作效率

( 5)提供 32位外部总线接口,最大数据传输速率为 32Mbps 。系统可同高速的 DRAM 芯片接口,支持动态总线宽度控制,能动态地切换 32位 /16位数据总线

( 6)具有片内集成的存储器管理部件 MMU,可支持虚拟存储和特权保护,片内具有多任务机构,能快速完成任务的切换( 7)通过配置浮点协处理器 80387实现数据高速处

理,加快了浮点运算速度 ( 8) 80386系统能在 12.5MHz 或 16MHz 时钟频

率下可靠工作,指令的执行速度可达 3MIPS~ 4MIP

S以上 2 、 80386 的工作模式

实模式、保护模式、虚拟 8086模式

    1. 80486的结构框图

   80486的基本逻辑框图 如图 3-25 所示。

2.5 80486 微处理器

2.5 80486 微处理器

2.5 80486 微处理器

    2. 80486的寄存器结构

   80486寄存器组包括:基本寄存器 (通用寄存器、指令指针、标志寄存器和段寄存器 )、系统寄存器 (控制寄存器、系统地址寄存器 )、浮点寄存器 (数据寄存器、标志字、状态字、指令和数据指针、控制字 )、调试和测试寄存器。

  图 2-26 给出了 80486的基本寄存器。对基本寄存器中的通用寄存器、指令指针和标志寄存器简述如下。

2.5 80486 微处理器

   1) 通用寄存器

   8 个 32 位通用寄存器如图 2-26 所示,这些寄存器可存放数据或地址,且能支持数据操作数 1 位、8 位、 16 位或 32 位以及 1~ 32 位的位字段。地址操作数有 16 位或 32 位。 32 位寄存器的名字叫 EA

X 、 EBX 、 ECX 、 EDX 、 ESI 、 EDI 、 EBP 及ESP 。

2.5 80486 微处理器

图 3-26 80486 的基本寄存器

  通用寄存器的低 16 位可分别用 16 位名为 AX 、BX 、 CX 、 DX 、 SI 、 DI 、 BP 和 SP 的寄存器来访问。当分别访问低 16 位时,高 16 位内容不变。

   8 位操作可以单独访问通用寄存器 AX 、 BX 、CX 、 DX 的低位字节 (0~ 7 位 ) 或高位字节 (8~ 1

5 位 ) 。低位字节分别叫 AL 、 BL 、 CL 、 DL ,高位字节分别叫 AH 、 BH 、 CH 、 DH ,单独的字节访问提供了数据操作的灵活性,但不用于有效地址的计算。

   2) 指令指针

  指令指针如图 2-26 所示,它是 32 位的寄存器,称为 EIP 。 EIP 中存放下一条要执行的指令的偏移值。偏移值是相对于代码段的基值而言的。 EIP 的低 16 位包含有 16 位指令指针,称为 IP ,它是用于16 位编址的。

   3) 标志寄存器

  标志寄存器是 32 位寄存器,称为 EFLAGS 。在 EFLAGS 中规定的位和位字段控制某些操作,指明 486 微处理器状态,其低 16 位 (0~ 15 位 ) 包含有 16 位寄存器,称为 FLAGS ,它在 8086 和 80286

指令执行时是最有用的。 EFLAGS 如图 3-27 所示。

图 3-27 标志寄存器

( 1)在 CISC(复杂指令集计算机)技术的基础上,首次采用了 RISC(精简指令集计算机)技术,使得大多数常用指令可以在一个时钟周期内完成,从而大大加快了指令的执行速度

1 、 80486 的主要特点

2、 80486 的工作模式实模式、保护模式、虚拟 8086模式

( 2)将浮点运算部件、 Cache 及其控制器集成于 80486微处理器芯片内,使得数据和指令的存取速度、数据的运算速度进一步提高。采用突发式总线技术,从而大大加快 CPU与内存之间的数据交换速度

( 3)微处理器内部为全 32位结构,即寄存器、 ALU和内部数据总线宽度都是 32位,地址总线也为 32位。而 CPU与浮点运算部件之间的数据通道为 64位,CPU与 Cache 、 Cache 与 Cache 控制器之间数据通道为 128位

( 4)增加了多处理器指令,增强了多重处理系统,片上硬件确保了超高速缓存一致性协议,并支持多级超高速缓存结构。 80486可以模拟多个 80286CPU来提供更多层次的多任务功能

( 5) 80486具有内装自测试功能,可以广泛地测试片上逻辑电路、超高速缓存和片上分页转换高速缓存;支持硬件测试、 Intel软件和扩展的第三者软件;调试性能包括执行指令和存取数据时的断点设置功能

( 1)采用超标量流水线结构。它是 Pentium 微处理器的核心技术,它由 U和 V 两条指令流水线构成,每一流水线都拥有自己的 ALU、地址生成电路和数据 Cache 的接口,使微处理器的运行速度成倍提高

1 、 Pentium 系列微处理的主要特点

2.6 Pentium2.6 Pentium 系列微处理器系列微处理器

( 2 )采用双 Cache 结构,指令 Cache 和数据 Cache 同时分别预取指令和操作数,且数据 Cache 有两个接口,能同时与 U、 V两条流水线交换数据,数据 Cache 还采用回写方式,以适应共享内存储器多机系统的需要

( 3 )将常用指令进行固化。一些常用的指令(如 MOV 、 DEC、 PUSH等)改用硬件实现,不再使用微代码操作,使指令的执行速度进一步提高

( 4 )采用全新设计的增强型浮点运算器( FPU ), FPU采用了超级流水线技术,其执行过程分为 8 级流水线,浮点运算部件对一些指令采用新的算法,并用电路进行固化,硬件实现,使浮点运算速度大大提高

( 5)处理器内部采用指令预取和分支预测

技术,保证流水线的指令预取步骤不会空置,

从而大大提高了流水线的执行效率

( 6 )系统可工作于实模式、保护模式、虚拟 8086模式以及具有特色的系统管理模式( SMM)。系统复位时自动进入实模式,并可以从一种模式切换到另一种模式

( 7 )系统使用 64位的外部数据总线,提高了数据传输速度;采用 PCI局部总线;系统内部还增强了错误检测与报告、支持多重处理等功能

2 、 Pentium 系列微处理的内部结构

2.6 Pentium2.6 Pentium 系列微处理系列微处理

本 章 小 结

本章从典型微处理器出发,介绍了微处理器的基本组成、基本部件以及工作原理。通过本章的学习,读者应掌握典型微处理器的内部结构;熟悉各个功能部件的基本功能及工作过程;掌握总线接口单元和执行单元的基本组成和工作过程;了解 80X86 微处理器的内部结构;熟悉微处理器内部寄存器的功能和使用。

习题与思考习题与思考

填空 物理地址= ______ 地址×16+ _______ 地址8086CPU 是一个 _______ 位的微处理器,具有 _______ 位数据总线, _______ 位地址总线,可寻址空间为 _______ 。80286CPU 是一个 _______ 位的微处理器,具有 _______ 位数据总线, _______ 位地址总线,可寻址空间为 _______ 。80286CPU 在设计中提供了两种模式,即 _______ 模式和 _______ 模式,系统中 _______ 模式才能正真发挥 80286 的特点。

基 偏移

16 16

20

1MB

16 16

2416MB

实地址虚地址 虚地址

思考与练习题   1. 简述微处理器的一般组成。

   2. 8086/8088 微处理器为什么要分为 EU 和 BIU 两个部分?每个部分由哪几个基本部件组成?

   3. 在指令执行期间, EU 能直接访问存储器吗?为什么?

   4. 为什么要设置段寄存器? 8086/8088 有几个段寄存器?

   5. 什么是逻辑地址?什么是物理地址?它们之间有什么关系?

   6. 简述 80286 的基本寄存器的功能。