微处理器论文

文章描述:-2022年4月14日发(作者:穆文熙)摘要随着Intel的ItaniumII微处理器的出现,PentiumII,PentiumIII,Pentium4和Core2微处理器标志了32微体系机构发展的结束。Itanium是64位体系结构的微处理器。PentiumII,PentiumIII,Pentium四和Core2体系结构是PentiumPro体系结构的扩展。其中Pentium2有多种型号,在电路

-

微处理器论文
2022年4月14日发
(作者:穆文熙)

摘要

随着Intel的ItaniumII微处理器的出现,PentiumII,PentiumIII,Pentium4和Core2微处

理器标志了32微体系机构发展的结束。Itanium是64位体系结构的微处理器。PentiumII,

PentiumIII,Pentium四和Core2体系结构是PentiumPro体系结构的扩展。其中Pentium2有

多种型号,在电路板上最多可以有2MB的cache。与Pentium2相似,早期Pentium3微处理

器封装在封装盒里而不是集成电路。Pentium3的Coppermine与PentiumPro一样,内部含有

cache。Pentium4封装在更大的集成电路中,有423或478个引脚。最新的Pentium4和Core2

采用775个引脚触电阵列封装技术。Pentium4采用的是物理上更小的晶体管,使其比

Pentium3更小更快。Intel已经发布了工作频率在3GHz以上的Pentium4和Core2处理器,

在未来也许能达到10GHz。Pentium4和Core2具有2MB高速缓存的极大型号和具有4MB

高速缓存的再版极大型号。与早期使用0.13us制程的Pentium4相比,Pentium4和Core2型

号现在都是65nm(0.065us)制程。最新的是Core2Duo和Core2Quad型号,它们采用的是

45nm技术并且是双核或四核。

关键词Pentium4的发展,组成,和工作原理。

Abstract

WiththeItaniumIIandIntelmicroprocessoristheemergenceof

PentiumII,PentiumIII,Pentium4andCore2microprocessormarksthe32

mis64asystemstructure

mII,PentiumIII,Pentium4andCore2system

m2

ofavarietyofmodels,mostinthecircuitboardcanhave2MBcacheof.

AndPentium2similar,earlyPentium3microprocessorsealedinthe

permineandPentiumPro

Pentium3,m4enclosedinamoreintegrated

circuit,estPentium4andby775aCore2

m4USESis

moresmalltransistorsonphysics,makingitmoresmaller,fasterthan

asissuedmorethan3GHzfrequencyintheworkofthe

Pentium4andCore2processor,m4

andCore2has2MBcacheofgreatmodelandhas4MBcachereprintsgreat

lyuseof0.13usprocesscomparedtothePentium4,Pentium4

andCore2modelarenowthe65nm(0.065us)estisCore2

DuoCore2Quadandmodels,theyusedthe45nmtechnologyandisdual-core

orfournuclear.

前言

任何东西从发展到壮大都会经历一个过程,CPU能够发展到今天这个规模和成就,其

中的发展史更是耐人寻味。作为电脑之“芯”的CPU也不例外,让我们进入的时间不长却风

云激荡的CPU发展历程中去。在这个回顾的过程中,主要叙述目前CPU巨头——Intel的产

品发展。在Intel方面,在上个世纪末的2000年11月,Intel发布了旗下第四代的Pentium

处理器,也就是我们天天都能接触到的Pentium4。Pentium4没有沿用PIII的架构,而是采

用了全新的设计,包括等效于的400MHz前端总线(100x4),SSE2指令集,256K-512KB的

二级缓存,全新的超管线技术及etBurst架构,起步频率为1.3GHz。

目录

第一章奔腾4的发展第一节

第一代的Pentium4(Socket423)处理器

第二节

第二代的Pentium4(Socket478)处理器

第三节

第三代Tualatin核心的Celeron处理器

第二章奔腾4的组成结构

第一节

pentium4的原理结构

第二节

pentium4的寄存器结构和图示

第三节

pentium工作的保护模式

第三章奔腾4的工作原理

第一节

pentoum的基本概念和组成

第二节

pentium主要技术参数第三节

pentium主要技术术语

第一章奔腾4的发展

第一节

第一代的Pentium4(Socket423)处理器

在Intel方面,在上个世纪末的2000年11月,Intel发布了旗下第四代的Pentium处理

器,也就是我们天天都能接触到的Pentium4。Pentium4没有沿用PIII的架构,而是采用了

全新的设计,包括等效于的400MHz前端总线(100x4),SSE2指令集,256K-512KB的二级

缓存,全新的超管线技术及etBurst架构,起步频率为1.3GHz。第一个Pentium4核心为Willamette,全新的Socket423插座,集成256KB的二级缓存,

支持更为强大的SSE2指令集,多达20级的超标量流水线,搭配i850/i845系列芯片组,随

后Intel陆续推出了1.4GHz-2.0GHz的WillametteP4处理器,而后期的P4处理器均转到了

针角更多的Socket478插座。和奔腾III一样,第一个Pentium4核心并不受到太多的好评,

主要原因是新的CPU架构还不能受到程序软件的充分支持,因此Pentium4经常大幅落后于

同频的Athlon,甚至还如Intel自己的奔腾III。但在一年以后,Intel发布了第二个Pentium4

核心,代号为orthwood,改用了更为精细的0.13微米制程,集成了更大的512KB二级缓

存,性能有了大幅的提高,加上Intel孜孜不倦的推广和主板芯片厂家的支持,目前Pentium4

已经成为最受欢迎的中高端处理器。

第二节

第二代的Pentium4(Socket478)处理器

在低端CPU方面,Intel发布了第三代的Celeron核心,代号为Tualatin,这个核心也

转用了0.13微米的工艺,与此同时二级缓存的容量提高到256KB,外频也提高到100Mhz,

目前TualatinCeleron的主频有1.0、1.1、1.2、1.3Ghz等型号。Intel也推出了Tualatin核心

的奔腾III,集成了更大的512KB二级缓存,但它们只应用于服务器和笔记本电脑市场,

在台式机市场很少能看到。有关奔腾4的处理的列表以及它们的不同。

公开

名称

CPU

频率

Soc

ket

FSB/

理论

宽度

8KBL1数

据+12KB

L1

指令/256

KBL2

8KBL1数

据+12KB

L1指令/5

12KBL2

8KBL1数

据+12KB

L1指令/5

12KBL2

20级流水线,MMX/SSE/SSE2指令

高速缓存其它特点

最初

发布

版本

Wil

lam

ett

e

1.3G

Hz-

2.0G

Hz

42

3,

478

400M

Hz/

3.2G

B/s

or

P4A

thw

ood

1.6G

Hz-

2.8G

Hz

2.0G

Hz-

3.06

GHz

478

478

400M

Hz/

3.2G

B/s

533M

Hz/

4.2G

B/s

改进的分支预测和其它的伪代码调整;

这也技术也应用到了随后的改进版本,2

1级的流水线,MMX/SSE/SSE2指令

or

P4Bthw

ood

更高前置总线,3.06GHz版本支持超线

程,21级的流水线,MMX/SSE/SSE2

指令

or

P4C

thw

ood

2.4G

Hz-

3.4G

Hz

2.8G

Hz-

3.6G

Hz

47

8,

LGA

775

478

800M

Hz/

6.4G

B/s

800M

Hz/

6.4G

B/s

8KBL1数

据+12KB

L1指令/5

12KBL2

16KBL1数

据+12KB

L1指令/1

024KBL2

超线程,31级的流水线,MMX/SSE/

SSE2/SSE3指令

更高前置总线,超线程,21级的流水线,

MMX/SSE/SSE2指令

P4E/

5x0

系列

Pre

sco

tt

P4A*

/5x

5/5x

9系

P4E

xtre

meE

diti

on

Gal

lat

in

Pre

sco

tt

2.4G

Hz-

3.06

GHz

47

8,

LGA

775

533M

Hz/

4.2G

B/s

16KBL1数

据+12KB

L1指令/1

024KBL2

不支持超线程,31级的流水线,MMX/

SSE/SSE2/SSE3指令

3.2G

Hz-

3.4G

Hz

47

8,

LGA

775

800M

Hz/

6.4G

B/s

8KBL1数

据+12KB

L1指令/5

12KBL2/

2MBL3

16KBL1数

据+12KiB

L1指令/

1MBL2

16KBL1数

据+12KiB

L1指令/

1MBL2

超线程、执行禁止位(eXecuteDisabl

ebit)(等同于AMD的不执行位(o

eXecutebit))、31级指令流水线、

MMX/SSE/SSE2/SSE3指令

无超线程、执行禁止位(eXecuteDisa

blebit)(等同于AMD的不执行位(

oeXecutebit))、31级指令流水线、

MMX/SSE/SSE2/SSE3指令

超线程、支持EM64T(包括执行禁止位

(eXecuteDisablebit)(等同于AM

D的不执行位(oeXecutebit)))、

31级指令流水线、MMX/SSE/SSE2

/SSE3指令

超线程,增加L3内存,21级的流水线,

MMX/SSE/SSE2指令

5x0J系

Pre

sco

tt

2.8G

Hz-

3.8G

Hz

2.67

GHz-

3.06

GHz

LGA

775

LGA

775

800M

T/s/

6.4

GB/s

533M

T/s/

4.2

GB/s

5x5J

/5x9

J系

Pre

sco

tt

P4F/

5x1

系列

Pre

sco

tt

2.8G

Hz-

3.8G

Hz

LGA

775

800M

T/s/

6.4

GB/s

16KBL1数

据+12KiB

L1指令/

1MBL2

Pre

6x0

系列

sco

tt

2M*

*

3.0G

Hz-

3.8G

Hz

LGA

775

800M

T/s/

6.4

GB/s

16KBL1数

据+12KiB

L1指令/

2MBL2

超线程、2MiBL2缓存、支持EM64T(包

括执行禁止位)、Speedstep和温度监

测2、31级指令流水线、MMX/SSE

/SSE2/SSE3指令

Pre

6x1

系列

sco

tt

2M*

*

Ced

6x2

系列

ar

Mil

l

P4E

xtre

meE

diti

on

P4E

xtre

meE

diti

on

Pre

sco

tt

2M*

*

Gal

lat

in

3.6G

Hz-

3.8G

Hz

LGA

775

800M

T/s/

6.4

GB/s

16KBL1数

据+12KiB

L1指令/

2MBL2

超线程、2MiBL2缓存、支持EM64T(包

括执行禁止位)、Speedstep和温度监

测2、31级指令流水线、MMX/SSE/

SSE2/SSE3指令、虚拟技术

3.0G

Hz-

3.8G

Hz

LGA

775

800M

T/s/

6.4

GB/s

16KBL1数

据+12KiB

L1指令/

2MBL2

8KBL1数

据+12KiB

L1指令/

512KiBL2

/2MBL3

16KBL1数

据+12KiB

L1指令/

2MBL2缓

超线程、2MiBL2缓存、支持EM64T(包

括执行禁止位)、Speedstep和温度监

测2、31级指令流水线、MMX/SSE/

SSE2/SSE3指令、虚拟技术

1066

3.46

GHz

LGA

775

MT/s

/8.5

GB/s

超线程、additionofon-dieL3缓存、

21级指令流水线、MMX/SSE/SSE2

指令

1066

3.73

GHz

LGA

775

MT/s

/8.5

GB/s

超线程、更快前端总线、31级指令流水

线、MMX/SSE/SSE2/SSE3指令

第三节

第三代Tualatin核心的Celeron处理器

在AMD方面,在2000年中发布了第二个Athlon核心——Tunderbird,这个核心的Athlon

有以下的改进,首先是制造工艺改进为0.18微米,其次是安装界面改为了SocketA,这是一

种类似于Socket370,但针脚数为462的安装接口。最后是二级缓存改为256KB,但速度和

CPU同步,与Coppermine核心的奔腾III一样。

Tunderbird核心的Athlon不但在性能上要稍微领先于奔腾III,而且其最高的主频也一

直比奔腾III高,1Ghz频率的里程碑就是由这款CPU首先达到的。不过随着Pentium4的发

布,Tunderbird开始在频率上落后于对手,为此,AMD又发布了第三个Athlon核心——

Palomino,并且采用了新的频率标称制度,从此Athlon型号上的数字并不代表实际频率,

而是根据一个公式换算相当于竞争对手(也就是Intel)产品性能的频率,名字也改为

AthlonXP。例如AthlonXP1500+处理器实际频率并不是1.5Ghz,而是1.33GHz。最后,

AthlonXP还兼容Intel的SSE指令集,在专门为SSE指令集优化的软件中也能充分发挥性

能。Pentiun4的最优体现。

第二章奔腾4的组成结构

Pentium性能简介Pentium通往外部存储器的数据总线为64位,CPU内部主要寄存器的宽度

仍然为32位.

Pentium的虚拟存储器(VivtualStorage)技术、高速缓存(Cache)技术以及超

标量流水线技术是微型计算机系统的三大支柱。

第一节pentium4的原理结构

一、PentiumCPU内部的主要部件

①总线接口部件

②U流水线和V流水线

③指令高速缓冲存储器Cache

④数据高速缓冲存储器Cache

⑤指令预取部件

⑥指令译码器

⑦浮点处理部件FPU

⑧分支目标缓冲器BTB

⑨微程序控制器中的控制ROM

⑩寄存器组

Pentium微处理器的原理结构图如图3-1所示

二、原理结构在PentiumCPU中,总线接口部件实现CPU与系统总线之间的连接,其中

包括64位双向的数据线、32位地址线和所有的控制信号线,具有锁存与缓冲

等功能,总线接口部件实现CPU与外设之间的信息交换,并产生相应的各类总

线周期。

1.

互相独立的指令Cache和数据CachePentium则在片内设置了2个独立的8KBCache,分别用于存放指令代

码与数据。指令Cache是内存中一部分程序的副本,通过猝发方式从内存

中每次读入一块存入某一Cache行中,便于CPU执行程序时取出并执行,

数据Cache是可以读写的,双端口结构,每个端口与U、V两条指令流水线

交换整数数据,或者组合成64位数据端口,用来与浮点运算部件交换浮点

数据,指令Cache与数据Cache均与CPU内部的64位数据线以及32位地

址线相连接。

互相独立的指令Cache和数据Cache有利于U、V两条流水线的并行操

作,它不仅可以同时与U、V两条流水线分别交换数据,而且使指令预取和

数据读写能无冲突地同时进行。可以通过硬件或软件方法来禁止或允许使用PentiumCPU内部的

Cache。

2.

超标量流水线

Pentium有U、V两条指令流水线,故称之为超标量流水线,超标量

流水线技术的应用,使得PentiumCPU的速度较80486有很大的提高。因

此,超标量流水线是Pentium系统结构的核心。

U、V流水线中整数指令流水线均由5段组成。分别为预取指令(PF)、

指令译码(D1)、地址生成(D2)、指令执行(EX)和结果写回(WB)。

由于采用了指令流水线作业,每条指令流水线可以在1个时钟周期内

执行一条指令。因此,最佳情况下一个时钟周期内可以执行两条整数指令。

3.

重新设计的浮点运算部件

PentiumCPU内部的浮点运算部件在80486的基础上进行了重新设

计。如图3-1所示。浮点运算部件内有专门用于浮点运算的加法器、乘法

器和除法器,还有80位宽的8个寄存器构成了寄存器堆,内部的数据通

路为80位。浮点运算部件支持IEEE754标准的单、双精度格式的浮点数,

还可以使用一种临时实数的80位浮点数

PentiumCPU内部的浮点运算部件在80486的基础上进行了重新设

计。如图3-1所示。浮点运算部件内有专门用于浮点运算的加法器、乘法

器和除法器,还有80位宽的8个寄存器构成了寄存器堆,内部的数据通

路为80位。浮点运算部件支持IEEE754标准的单、双精度格式的浮点数,

还可以使用一种临时实数的80位浮点数。

4.

以BTB实现动态转换预测

Pentium采用了分支目标缓冲器(branchtargetbuffer)实现动态转移

预测,可以减少指令流水作业中因分支转移指令而引起的流水线断流。引入了转移预测技术,不仅能预测转移是否发生,而且能确定转移到何

处去执行程序。

第二节pentium4的寄存器

Pentium4的寄存器可以分为三组

①基本寄存器组:包括通用寄存器、指令寄存器、标示寄存器以及段寄

存器。

②系统寄存器组:包括系统地址寄存器、控制寄存器。

③浮点部件寄存器组:包括数据寄存器堆、控制寄存器、状态寄存器、

指令指针寄存器和数据指针寄存器以及标记字寄存器。Pentium的基本寄存

器包括通用寄存器、段寄存器、指令指针和标志寄存器:

一、通用寄存器

Pentium通用寄存器如图3-2所示,它兼容8086CPU原来的8个16位

通用寄存器以及原来的8个8位的寄存器,而且将原来的8个16位通用寄

存器AX、BX、CX、DX、SI、DI、BP、SP均扩展成32位的寄存器EAX、

EBX、ECX、EDX、ESI、EDI、EBP、ESP。既可以使用保留的8位和16位

寄存器,还可以使用32位寄存器。

二.段寄存及段描述符高速缓存器

段寄存器及段描述符高速缓存器如图3-3所示,Pentium有6个16位段

寄存器,每个段寄存器对应有一个64位的描述符,用户不可见。6个段寄存

器的长度均为16位。除CS和SS分别是代码段寄存器和堆栈段寄存器之外,

其余的DS、ES、FS、GS都是数据段寄存器。

符高缓存器

6个段描述符每个段对应一个段描述符(8个字节),6个段描述符存放在CPU内的段

描述符高速缓存器中,它们均由内存的描述符表中拷贝而成,以便CPU访问

某一段时,均按存放在CPU内该段的段描述符所描述的信息进行操作。每个

段描述符的具体组成如图3-4所示:2.6个16为段寄存器

每个段寄存器的组成如图3-5所示。在保护模式下,段寄存器被称作

为一个16位的段选择字(选择子),其中b1、b0位为请求特权级RPL,可以

请求特权层的级别0-3级。

三.指令指针和标志寄存器

PentiumCPU中有一个32位的指令指针(EIP)和一个32位的标志寄存

器(EFLAGS),如图3-6所示:

保存下一条待执行指令所在代码段内的偏移值,也就是偏离代码

段首地址的字节地址数值。EIP的低16位为IP,供实地址方式下采用。

在808616位FLAGS基础上扩充了高16位,其中,FLAGS

b11~b0中保留了8086CPU中6个状态标志和3个控制标志,增加了T与

IOPL,高16位中新增了6个标志位。这些扩充标志位的含义参考教材。

四.系统寄存器组Pentium的系统寄存器组包括4个表所对应的4个基地址寄存器GDTR、

IDTR、LDTR、TR,也称为4个段基地址寄存器,还包括5个控制寄存器

CR0、CR1、CR2、CR3、CR4。系统寄存器组中的所有寄存器都不可能被

用户访问,只能由特权级为0的操作系统程序访问。

一.4个表基地址寄存器4个表基地址寄存器如图3-7所示

(1)GDTR(GlobalDescriptorTableRegister),全局描述符表寄存器。共

有48位,其中,高32位保存全局描述符表的线性基地址,低16位是表限字

段,即表的最大长度仅64KB。

(2)IDTR(InterruptDescriptorTableRegister),中断描述符表寄存器。

共有48位,其中高32位用于保存中断描述符表IDT的32位线性基地址,

低16位是表限字段,表的最大长度也是64KB。

(3)LDTR(LocalDescriptorTableRegister),局部描述符寄存器。包括

16位段选择符,不可编程的64位描述符寄存器。在64位描述符寄存器中,

有32位LDT的线性基地址,20位的表限及12位的描述符属性。(4)TR,任务寄存器。包括16位段选择符,64位描述符寄存器,其中,

32位任务状态段的线性基地址,20位的表限及12位的描述符属性。

二.5个控制寄存器

控制寄存器

2.CR2页故障线性地址寄存器用于保存最后出现页故障的32位线性地

址。操作系统中的页异常处理程序可以通过检查CR2的内容,得知32位的线

性地址。3.CR3页目录基址寄存器其中高20位存放页目录表的物理基地址。在

进行分页变换时,加上10位线性地址×4,到某一存储容量为4B的页描述

符。在页目录基址寄存器的低12中,有PCD和PWT两位控制位,其余10

位保留。

4.CR4允许结构扩展的标志寄存器32位CR4中仅使用了9个控制位,

其余23位保留。

5.模式专用寄存器Pentium取消了测试寄存器,而用一组专用寄存器来实现更多的功

能。这组寄存器具有测试、跟踪、性能检测以及机器检查等功能。

三.浮点寄存器组

Pentium内部有一个浮点运算部件,与之配套一起实现浮点运算的浮点寄存器有:

a)8个数据寄存器

b)1个标记字寄存器

c)1个状态寄存器

d)1个控制寄存器

e)1个数据指针寄存器

1.8个数据寄存器数据寄存器R7-R0均为80位宽,在每个80位寄存器中,均有1位数符位,

15位阶码位,64位尾数位。

2.标记字寄存器16位宽的标记字寄存器分成8个2位,分别对应8个数据寄存器,如图3-11

所示。标记字寄存器的b1、b0位对应R0数据寄存器,b3、b2位对应R1数据寄

存器,显然b15、b14位对应数据寄存器R7,用两位二进制数作标记,以便CPU

只须通过检查标记位,就可以知道数据寄存器是否空等。

第三节

pentium工作的保护模式

保护模式是受保护的虚拟地址模式(ProtectedVirtualAddressMode)的简

称。从80386CPU开始,就具有了保护模式,PentiumCPU内部也设有存储器

管理部件MMU,其中,仍然包括分段部件SU和分页部件PU,通过系统程序

员编程,Pentium可以工作在只分段或只分页或既分段又分页三种方式。这三种

方式的关键建立在分段地址转换与分页地址转换的基础之上。

一.分段地址转换

1.利用GDTR与LDTR分别访问GDT与LDT48位的全局描述符表寄存器(p53)包括32位全局描述符表的基地址和16

位的表界限,GDT的长度不超过64KB。在保护模式下,Pentium支持多任务

的运行,如果某一任务要访问GDT时,则以GDTR中32位基地址作为全局

描述符表的基地址,再由每个任务选择符的高13位左移3位后作为GDT的

偏移地址,指向所要访问的8字节的描述符。48位的全局描述符表寄存器(p53)

包括32位全局描述符表的基地址和16位的表界限,GDT的长度不超过

64KB。在保护模式下,Pentium支持多任务的运行,如果某一任务要访问GDT

时,则以GDTR中32位基地址作为全局描述符表的基地址,再由每个任务

选择符的高13位左移3位后作为GDT的偏移地址,指向所要访问的8字节

的描述符。各任务公用的代码段、数据段的段描述符以及任务状态段TSS等

系统段的描述符组成了全局描述符表GDT,内存中只有一个GDT。当前任务

访问LDT时,由LDTR中对应的64位描述符高速缓存器中32位基地址作为

LDT的基地址,再由段选择符的高13位左移3位后作为LDT的偏移地址,

指向所要访问的8字节的段描述符。如图3-14所示,其中的描述符也就是图

3-4所示的描述符。

当任务发生切换时,由LDTR中选择符的高13位左移三位后,作为GDT

中的偏移地址,在GDT中取出该任务的LDT描述符,并装入到LDT对应的

描述符高速缓存器,于是在LDTR中的高速缓存器中,存入了当前LDT的基

地址,表界限以及属性等,如图3-15所示:

在LDT中查到的描述符,其32位基地址如果只分段不分页的话,此32位基

地址加上指令中的32位偏移量址,就求得32位的物理地址。在GDT中查到的

描述符,其32位基地址表示当前LDT的基地址,该描述符一定会由硬件自动存

入高速缓存器中。

2.分段地址的转换由于Pentium内部寄存器是32位,由于Pentium芯片组成的微机为32位

机,访问存储器的指令仍然有直接寻址、寄存器寻址、基址寻址、变址寻址、基

址加变地寻址等

例【3-2】几条访问内存指令MOVAL,[18887777H]MOVAX,[EBX]MOVEAX,[ESI]MOVECX,[EBX+EDI]MOVDX,[EBP]只有最后一条指令访问堆段SS,其余指令均访问数据段DS,构成逻辑地

址为DS:32位偏移量或SS:32位偏移量,在32位机中,我们将逻辑地址称为

虚拟地址,段寄存器称之为段选择符。

Pentium的分段地址转换过程图如图3-16所示。根据段寄存器即段选择

符中b2位TI,确定访问当前LDT(TI=1)或GDT(TI=0),如果访问LDT,

将13位索引值左移3位后,作为LDT基地址的偏移量,指向8B的段描述符,

段描述符中的32位基地址加上指令中的32位偏移量成为32位线性地址,如

果不分页只分段,结果为该机器指令所寻址的物理地址,如果还需要分页,

此线性地址分为三段,即页目录(号)、页面(号)和偏移量。

如果TI=0,则访问GDT,与前述相同。

在图3-7中,系统还有一个48位的中断描述符表寄存器,其中32位的

基地址是全系统中仅有的一个中断描述符表IDT的基地址。Pentium机中所

有的中断,包括软中断、硬件中断以及CPU内部的异常中断,每个中断在IDT

中均有一个描述符,IDT中最多可有256个描述符。每个中断描述符也是8

字节,主要包括中断服务程序的入口地址,还有其他属性等信息。

二.分页地址转换分页地址转换由CPU内的分页部件PU来实现,它将32位的线性地址转换

成32位的物理地址。这32位线性地址可能来自分段部件SU(既分段又分页方

式),也可能是不分段只分页的情况,程序不提供段选择符,只由指令寄存器提

供的32位地址作为线性地址,即10位的页目录(号)、10位的页表(号)和12

位的页内偏移量。在控制寄存器CR4中页面长度控制位PSE的控制下,Pentium的分页部件

PU可以按80386/80486每页4KB分页(PSE=0),也可按每页4MB分页(PSE=1)1.4KB分页方式4KB分页方式采用两级分页方式,第一级有一个4KB的页目录表,可存放

1024个页目录项,称之为高级管理,第二级有一个4KB的页表,可以存放1024

个页表项,称之为低级管理。页目录项与页表项均为32位(4字节),如图3-17

所示。

①P,存在位P=1表示该页表/页存在,P=0,表示不存在。

②PWT,通写位用于片外Cache的写控制,PWT=1时,片外Cache采用通写法,

PWT=0时,片外cache使用回写法。

③PCD,页Cache禁止位用于对分页高速缓冲存储器的控制。若PCD=1时,

CPU内部Cache被禁用。

④A,访问位表示该目录项或页表项所对应的页面是否在近期被访问过。当A=1

时表示近期被访问过,过一段时间后由操作系统清除为0,当页面调度程序需要

调出一些页面时,通过检查A位状态,就可以知道各页的使用情况,并根据调

度算法确定调出哪些页。

⑤D,写标志位仅页表项中的D位有意义。当页表项所涉及到的页面被改写过,

D位由硬件置成1,一直保持为1状态,直到该页被调出内存。当调度程序要调

出此页时,首先检查D标志,若D=1,则把内存中的此页拷贝回外存相应位置,

以刷新外存上的本页内容。若D=0,表示此页没有被改写,调度程序不必将它拷

贝回外存,只是简单地丢弃本页内容,因而D位也被称之为“脏位”。

⑥PS(PageSize),—页大小位。只有页表项中有此位。PS=1,页面大小按4MB

分页,PS=0,页面大小按4KB分页。

⑦U/S,用户/管理员。页面保护属性位。

⑧R/W,读/写。页保护属性位。U/S与R/W结合起来,实现页保护。在分页部件中,具有页保护功能,将

使用对象分为特权级3的用户以及特权级2、1、0的管理员用户,管理员用户不

受页的保护。

Pentium4KB分页方式地址转换如图3-18所示。将32位线性地址定义为三个字

段,页目录(号)、页面(号)以及偏移量,分别为10位、10位和12位。

2.4MB的分页方式

将32位线性地址分为2个字段,页面(号)10位,偏移量22位,采用单

级页表分页方式,由于页面(号)仅10位,页表中共有1024个页表项,每个页

表项32位,页表仅占4KB,这是Pentium较80386/80486增加的分页方式。全

系统只有一个页表,由控制寄存器CR3指向页表的起始地址。4MB分页方式的

地址转换如图3-19所示。

4MB分页方式地址的转换过程如下:首先,10位页面(号)左移2位,与

32位CR3相加产生页表项的物理地址,注意,所寻址页表项中仅有高10位为页

面基地址,而不是4KB分页方式中的20位为页面基地址。将此10位地址左移

22位,相当于低22位补0,然后与线性地址中的22位偏移量相加,最终产生

32位的物理地址。

三.保护模式的三种方式

1.只分段不分页

从分段地址转换过程图(图3-16)可以看出,分段不分页由16位的段

选择符和一个32位的偏移地址组成,段选择符的低2位用于保护,高14

位指示段,因此,一个进程可允许的最大虚拟空间为214+32=64TB。

段管理部件SU将段选择符与32位虚地址转换成32位线性地址,由于只

分段不分页,此线性地址就是最终的32位物理地址。不需要分页,也就不需要

经过页目录表与页表的转换,地址转换速度快。缺点是段的频繁调入调出,

耗时多,内存管理性能稍差一点。

2.只分页不分段

Pentium在页管理部件PU的管理下,可以对存储器只实行分页管理,

分段部件SU不工作。如前面所述,可以按4KB和4MB两种大小不同的页

面分页。与程序的段选择符无关,仅将指令提供的32位虚地址看成是32

位的线性地址,无论按4KB分页或是按4MB分页,均可形成32位物理地

址,进程所拥有的最大虚存空间都是232=4GB。这种只分页不分段的保护

模式也称为平展地址模式,比只分段不分页模式灵活。在WindowsT和

Windows95操作系统中采用了这种模式。3.既分段又分页

分段分页方式是先分段后分页,在分段的基础上进行分页,分段所形成

的32位线性地址不是最后的物理地址,而是提供给分页部件,作为页目录

(号)、页表(号)以及页内偏移量,按4KB大小分页。一个进程的最大虚

地址空间与只分段的虚地址模式相同,也是64TB,兼有分段与分页的优点,

UIXSystemV和OS/2操作系统使用了这种保护模式。

(1)由于段选择符中TI=1,所以从64KB的局部描述符表中查对应

的段描述符,该段描述符的指针等于LDTR中32位基地址+段选择符高13

位×8。

(2)由段描述符中32位段基地址+虚地址中32位偏移量=32位线性地

址。线性地址的高10位为页目录(号),中间10位为页表(号),低12位

为偏移量。

(3)以CR3中32位基地址为页目录表中基地址,按4KB大小分页,

其分页的原理与图3-18中分页原理完全相同。

第三章奔腾4的工作原理一个完整的微型计算机系统包括硬件系统和软件系统两大部分。计算机

硬件是指组成一台计算机的各种物理装置,它们是由各种实在的器件所组成,是

计算机进行工作的物质基础。计算机硬件系统中最重要的组成部分是中央处理

器(pentium)。

第一节

pentium的基本概念和组成

中央处理器简称pentium(CentralProcessingUnit),它是计算机系统的核心,

主要包括运算器和控制器两个部件。如果把计算机比作一个人,那么pentium

就是心脏,其重要作用由此可见一斑。pentium的内部结构可以分为控制单元、

逻辑单元和存储单元三大部分,三个部分相互协调,便可以进行分析,判断、

运算并控制计算机各部分协调工作。计算机发生的所有动作都是受pentium控制的。其中运算器主要完成各种

算术运算(如加、减、乘、除)和逻辑运算(如逻辑加、逻辑乘和非运算);而控制器不具有运算功能,它只是读取各种指令,并对指令进行分析,作出相

应的控制。通常,在pentium中还有若干个寄存器,它们可直接参与运算并存放

运算的中间结果。我们常说的pentium都是X86系列及兼容pentium,所谓X86指令集是美国

Intel公司为其第一块16位CPU(i8086)专门开发的,美国IBM公司1981

年推出的世界第一台PC机中的pentium—i8088(i8086简化版)使用的也是

X86指令,同时电脑中为提高浮点数据处理能力而增加的X87芯片系列数学

协处理器则另外使用X87指令,以后就将X86指令集和X87指令集统称为

X86指令集。虽然随着pentium技术的不断发展,Intel陆续研制出更新型的

i80386、i80486直到今天的PentiumⅢ系列,但为了保证电脑能继续运行以往

开发的各类应用程序以保护和继承丰富的软件资源,Intel公司所生产的所有

pentium仍然继续使用X86指令集。另外除Intel公司之外,AMD和Cyrix等厂家也相继生产出能使用X86

指令集的pentium,由于这些pentium能运行所有的为Intelpentium所开发的各

种软件,所以电脑业内人士就将这些pentium列为Intel的pentium兼容产品。由

于IntelX86系列及其兼容pentium都使用X86指令集,就形成了今天庞大的X86

系列及兼容pentium阵容。

第二节

pentium主要技术参数pentium品质的高低直接决定了一个计算机系统的档次,而pentium的主要

技术特性可以反映出pentium的大致性能。

1、位、字节和字长

pentium可以同时处理的二进制数据的位数是其最重要的一个品质标志。人

们通常所说的16位机、32位机就是指该微机中的pentium可以同时处理16位、

32位的二进制数据。早期有代表性的IBMPC/XT、IBMPC/AT与286机是16

位机,386机和486机是32位机,586机则是64位的高档微机。pentium按照其处

理信息的字长可以分为:八位微处理器、十六位微处理器、三十二位微处理器以

及六十四位微处理器等。位:在数字电路和电脑技术中采用二进制,代码只有“0”

和“1”,其中无论是“0”或是“1”在pentium中都是一“位”。字节和字长:

电脑技术中对pentium在单位时间内(同一时间)能一次处理的二进制数的位数叫

字长。所以能处理字长为8位数据的pentium通常就叫8位的pentium。同理32

位的pentium就能在单位时间内处理字长为32位的二进制数据。由于常用的英

文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字节的长度

是不固定的,对于不同的pentium、字长的长度也不一样。8位的pentium一次只

能处理一个宇节,而32位的pentium一次就能处理4个宇节,同理字长为64位

的CPU一次可以处理8个字节。2、pentium外频

pentium外频也就是常见特性表中所列的pentium总线频率,是由主板为

pentium提供的基准时钟频率,而pentium的工作主频则按倍频系数乘以外频

而来。在Pentium时代pentium的外频一般是60/66MHz,从PentiumII350

开始,pentium外频提高到1O0MHz。由于正常情况下pentium总线频率和内

存总线频率相同,所以当pentium外频提高后,与内存之间的交换速度也相应

得到了提高,对提高电脑整体运行速度影响较大。3、前端总线(FSB)频率

前端总线也就是以前所说的pentium总线,由于在目前的各种主板上前

端总线频率与内存总线频率相同,所以也是pentium与内存以及L2Cache(仅

指Socket7主板)之间交换数据的工作时钟。由于数据传输最大带宽取决所同

时传输的数据位宽度和传输频率,即数据带宽=(总线频率(数据宽度)/8。例

如Intel公司的PⅡ333使用66MHz的前端总线,所以它与内存之间的数据交

换带宽为528MB/s=(66×64)/8,而其PⅡ350则使用100MHz的前端总线,

所以其数据交换峰值带宽为800MB/s=(100×64)/8。由此可见前端总线速率

将影响电脑运行时pentium与内存、(L2Cache)之间的数据交换速度,实际

也就影响了电脑的整体运行速度。因此目前Intel正开始将其PentiumⅢ的前

端总线频率从100MHz向133MHz过渡。AMD公司新推出的K7虽然使用

200MHz的前端总线频率,但有资料表明K7pentium内核与内存之间数据交

换时钟仍然是100MHz,主频也是以100MHz为基频倍频的。4、pentium主频pentium主频也叫工作频率,是pentium内核(整数和浮点运算器)电路的

实际运行频率。在486DX2pentium之前。pentium的主频与外频相等。从

486DX2开始,基本上所有的pentium主频都等于“外频乘上倍频系数”了。

pentium的主要技术特征。主频是pentium内核运行时的时钟频率,主频的高

低直接影响pentium的运算速度。我们知道仅Pentium就可以在一个时钟周期

内执行两条运算指令,假如主频为100MHz的Pentium可以在1秒钟内执行2

亿条指令,那么主频为200MHz的Pentium每秒钟就能执行4亿条指令,因此

pentium主频越高,电脑运行速度就越快。需要说明的是Cyrix的pentium对主

频这项指标是采用PR性能等级参数(PerformanceRating)来标称的,表示此

时pentium性能相当于Intel某主频pentium的性能。用PR参数标称的pentium

实际运行时钟频率与标称主频并不一致。例如MⅡ-300的实际运行频率为

233MHz(66×3.5),但PR参数主频标为300MHz,意思就是MⅡ-300相当于

Intel的PⅡ-300。不过事实上也仅是MⅡ-300的BusinessWinston指标(整数

性能)能与PⅡ-300相当而已。5、L1和L2Cache的容量和速率

L1和L2Cache的容量和工作速率对提高电脑速度起关键作用,尤其

是L2Cache对提高运行2D图形处理较多的商业软件速度有显著作用。设置

L2Cache是486时代开始的,目的是弥补L1Cache(一级高速缓存)容量的

不足,以最大程度地减小主内存对pentium运行造成的延缓。pentium的L2

Cache分芯片内部和外部两种。设在pentium芯片内的L2Cache运行速度与主

频相同,而采用PⅡ方式安装在pentium芯片外部的L2Cache运行频率一般为

主频的二分之一,因此其效率要比芯片内的L2Cache要低,这就是赛扬只有

128KB片内Cache但性能却几乎超过同主频PentiumⅡ(有512KB但工作时钟

为主频一半的片外L2Cache)的重要原因。

第三节

pentium主要技术术语

1、流水线技术

流水线(pipeline)是InteI首次在486芯片中开始使用的。流水线的工

作方式就象工业生产上的装配流水线。在pentium中由5~6个不同功能的

电路单元组成一条指令处理流水线,然后将一条X86指令分成5~6步后

再由这些电路单元分别执行,这样就能实现在一个pentium时钟周期完成

一条指令,因此提高pentium的运算速度。由于486pentium只有一条流水

线,通过流水线中取指令、译码、产生地址、执行指令和数据写回五个电

路单元分别同时执行那些已经分成五步的指令,因此实现了486pentium

设计人员预期的在每个时钟周期中完成一条指令的目的(按笔者看法,

pentium实际上应该是从第五个时钟周期才达到每周期能完成一条指令的

处理速度)。到了Pentium时代、设计人员在pentium中设置了两条具有各

自独立电路单元的流水线,因此这样pentium在工作时就可以通过这两条

流水线来同时执行两条指令,因此在理论上可以实现在每一个时钟周期中

完成两条指令的目的。2、超流水线和超标量技术

超流水线是指某些pentium内部的流水线超过通常的5~6步以上,

例如Pentiumpro的流水线就长达14步。将流水线设计的步(级)数越多,

其完成一条指令的速度越快,因此才能适应工作主频更高的pentium。超

标量(superscalar)是指在pentium中有一条以上的流水线,并且每时钟周

期内可以完成一条以上的指令,这种设计就叫超标量技术。3、乱序执行技术

乱序执行(out-of-orderexecution)是指pentium采用了允许将多条指

令不按程序规定的顺序分开发送给各相应电路单元处理的技术。比方说程

序某一段有7条指令,此时pentium将根据各单元电路的空闹状态和各指

令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应

电路执行。当然在各单元不按规定顺序执行完指令后还必须由相应电路再

将运算结果重新按原来程序指定的指令顺序排列后才能返回程序。这种将

各条指令不按顺序拆散后执行的运行方式就叫乱序执行(也有叫错序执行)

技术。采用乱序执行技术的目的是为了使pentium内部电路满负荷运转并

相应提高了CPU的运行程序的速度。4、分技预溯和推测执行技术

分枝预测(branchprediction)和推测执行(speculatlonexecution)是

pentium动态执行技术中的主要内容,动态执行是目前pentium主要采用

的先进技术之一。采用分枝预测和动态执行的主要目的是为了提高

pentium的运算速度。推测执行是依托于分枝预测基础上的,在分枝预测

程序是否分枝后所进行的处理也就是推测执行。5、指令特殊扩展技术

自最简单的计算机开始,指令序列便能取得运算对象,并对它们

执行计算。对大多数计算机而言,这些指令同时只能执行一次计算。如

需完成一些并行操作,就要连续执行多次计算。此类计算机采用的是“单

指令单数据”(SISD)处理器。在介绍pentium性能中还经常提到“扩展

指令”或“特殊扩展”一说,这都是指该pentium是否具有对X86

指令集进行指令扩展而言。扩展指令中最早出现的是InteI公司自己的

“MMX”,其次是AMD公司的“3Dow!”,最后是最近的PentiumIII

中的“SSE”。MMX和SSE:MMX是英语“多媒体指令集”的缩写。

共有57条指令,是Intel公司第一次对自1985年就定型的。X86指令集

进行的扩展。MMX主要用于增强pentium对多媒体信息的处理,提高

pentium处理3D图形、视频和音频信息能力。但由于只对整数运算进行

了优化而没有加强浮点方面的运算能力。所以在3D图形日趋广泛,因

特网3D网页应用日趋增多的情况下,MMX已心有余而力不足了。MMX

指令可对整数执行SIMD运算,比如-40、0、1、469或32766等等;SSE

指令则增加了对浮点数的SIMD运算能力,比如-40.2337,1.4355或

877343226.012等等。利用MMX和SSE,一条指令可对2个以上的数据

流执行计算。就前面的例子来说,再也不必每秒执行529000条指令了,

只需执行264600条即可。因为同样的指令可同时对左、右声道发生作用。

显示时,每秒也不需要70778880条指令,只需23592960条,因为红、

绿、蓝通道均可用相同的指令控制SSE:SSE是英语“因特网数据流单

指令序列扩展/InternetStreamingSIMDExtensi”的缩写。它是InteI

公司首次应用于PentiumIII中的。实际就是原来传闻的MMX2以后来

又叫KI(KatmaiewInstruction),Katmai实际上也就是现在的Pentium

III。SSE共有70条指令,不但涵括了原MMX和3Dow!指令集中的所

有功能,而且特别加强了SIMD浮点处理能力,另外还专门针对目前因

特网的日益发展,加强了pentium处理3D网页和其它音、象信息技术处

理的能力。pentium具有特殊扩展指令集后还必须在应用程序的相应支持

下才能发挥作用,因此,当目前最先进的PenthmIII450和PentiumII450

运行同样没有扩展指令支持的应用程序时,它们之间的速度区别并不大。

SSE除保持原有的MMX指令外,又新增了70条指令,在加快浮点运算

的同时,也改善了内存的使用效率,使内存速度显得更快一些。对游戏

性能的改善十分显著,按Intel的说法,SSE对下述几个领域的影响特别

明显:3D几何运算及动画处理;图形处理(如Photoshop);视频编辑/

压缩/解压(如MPEG和DVD);语音识别;以及声音压缩和合成等。

3DOW!:AMD公司开发的多媒体扩展指令集,共有27条指令,针对

MMX指令集没有加强浮点处理能力的弱点,重点提高了AMD公司K6

系列pentium对3D图形的处理能力,但由于指令有限,该指令集主要应

用于3D游戏,而对其他商业图形应用处理支持不足。

小结自己写哈

参考文献

《微处理器系统设计导论》作者(美)加兰()

著出版者:陕西科学技术出版社出版地:西安出版日期:1981

《MC6800微处理器手册》作者:(美)凯恩()著出版者:电子

工业出版社出版地:北京出版日期:1984

《微处理器》作者:(美)扎克斯()编著出版者:国防工业出

版社出版地:北京出版日期:1981

-

微处理器论文

发布时间:2022-04-14 10:01:21
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 10 条评论,612人围观)
anquanqiV铁粉5 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
这是Pentium较80386/80486增加的分页方式
5555yyV铁粉16 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
总线接口部件实现CPU与系统总线之间的连接
培菲康V铁粉18 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
显示时
败给你了V铁粉25 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
这样就能实现在一个pentium时钟周期完成一条指令
水产养殖业V铁粉24 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
意思就是MⅡ-300相当于Intel的PⅡ-300
蓝光人V铁粉16 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
改用了更为精细的0.13微米制程
MMX/SSE/SSE2/SSE3指令无超线程
汉京山V铁粉18 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
蓝通道均可用相同的指令控制SSE:SSE是英语“因特网数据流单指令序列扩展/InternetStreamingSIMDExtensi”的缩写
下身一挺V铁粉21 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
仅将指令提供的32位虚地址看成是32位的线性地址

最近发表

随便看看

热门文章

标签列表