计算机组成原理第5章 中央处理器_第1页
计算机组成原理第5章 中央处理器_第2页
计算机组成原理第5章 中央处理器_第3页
计算机组成原理第5章 中央处理器_第4页
计算机组成原理第5章 中央处理器_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

M

9林

*

IF~

A介绍CPU的功能和组成;

A通过具体例子介绍指令周期的概念,深入了解指令的执行过

程;

A简单介绍时序产生器和控制方式;

A详细介绍微程序控制器的原理和设计技术;.

A简单介绍硬布线控制器的设计思想;

A了解传统CPU的结构的基础上,进一步了解流水CPU、RISC

CPU、多媒体CPU等先进的计算机科学技术。

本拿的重点:便一步理繇CPU的为成、交成施合的过程,忽制器

的实的技术-----微程序相制拔木O

2

,IVK^S

5.1CPU的功能和组成

TO1g,?丁sr——hr-m

ACPU的功能

ACPU的基本组成

ACPU中的主要寄存器(简单介绍)

ACPU操作控制器与时序产生器

淖FTG*"TIT化;TftTfE

:Bac^snx十

*

CPU是利用大规模集成电路技术,把运算器

和控制器集成在一片芯片上,是微型计算机中的运

算控制部件,它本身不具备微型计算机硬件的全部

功能,即其本身不构成独立工作系统,因此它不能

独立地执行程序。CPU其主要任务是执行指令序列,

对系统的各个部件进行统一的协调和控制。通常由

算术逻辑部件(ALU)、控制部件、寄存器组等几

部分组成。

1、CPU的功能修合

:TTftr-n;£"rF<EJ7ZHTT^«SSCQ

CPU是计算机的核心组成部分,装入内存的程序在

CPU的控制下,完成取出指令和执行指令的任务。

CPU的基本功能:

O指令控制:程序的顺序控制,保证机器按顺序执行程序,

(如何保证:CPU内部设置了程序计数器等部分)

◊操作控制:管理并产生完成指令执行操作所需的控制信号,

把这些信号送往相应的部件,控制这些部件按指令的要求

进行动作。

0时间控制:对各种操作实施时间上的定时,保证计算机有

条不紊地自动工作。

9数据加工:对数据进行算术运算和逻辑运算处理。

2、CPU的基本组成•

传统CPU:运算器、控制器。

现代CPU:运算器、Cache和控制器。

◊控制器的主要功能:

♦从内存中取出一条指令,并指出下一条指令在内存中的

位置。

♦对指令进行译码或测试,并产生相应的操作控制信号,

以便启动规定的动作。

♦指挥并控制CPU、内存和输入/输出设备之间数据流动

的方向。

◊控制器的组成:程序计数器、指令寄存器、指令译码器、

b时序产生器和操作控制器。

6

8086内部结构图

执行部分

123456

ALU/控制电路8位

指令队列缓冲器

标志寄存器

7

3、CPU中的主要寄存器

MWSM■■MMtS*aaiav■■■■■

CPU中最基本寄存器:

◊指令寄存器(IR):保存正在执行的指令

◊程序计数器(PC):存放要执行的指令的地址

O地址寄存器(AR):保存当前所要访问的内存单元的地址

◊数据缓冲寄存器(DR):

♦作为CPU和内存、外围设备之间信息传送的中转站;

♦补偿CPU和内存、外围设备之间在操作速度上的差别;

♦在单累加器结构的运算器中,数据缓冲寄存器还可兼作

操作数寄存器。

◊累加寄存器(AC):暂时存放ALU运算的结果信息

o状态条件寄存器(PSW):

4、CPU操作控制器与时序产生器

◊操作控制器的功能:根据指令操作码和时序信号,产生各

种操作控制信号,以正确建立数据通路,完成取指令和执

•行指令的控制。'

◊根据设计方法不同,操作控制器可分为:

(1)硬布线控制器:采用组合逻辑技术来实现;

(2)微程序控制器:采用存储逻辑来实现;

(3)门阵列控制器:吸收前两种的设计思想来实现的。

本章重点介绍微程序控制器.

O时序产生器:产生对控制信号进行时间上控制的定时信号.

5.2指令周期

o指令周期的基本概念

o几种典型指令的指令周期分析

♦CLA指令的指令周期

♦ADD指令的指令周期

♦STA指令的指令周期

♦NOP指令和JMP指令的指令周期

◊用方框图语言表示指令周期

:LXK^S

-3

n

o

u

1、指令周期的基本概念*

◊指令周期:取出并执行一条指令的时间。-

程序的执行过程(图5.2):取指一执行指令一再取指令一执行指令...

各种指令的操作功能不同,其指令周期不尽相同。_

◊机器周期:也称CPU周期。

指令周期由若干个CPU周期组成。

通常:用内存中读取一个指令字的最短时间来规定CPU周期。

0时钟周期:常称为节拍。一个CPU周期又包含若干个时钟周期,

它是处理操作的最基本单位。

算术逻辑单元

图5.6h条指令的取指和执行过程执行指令控制

地址总线ABUS

第五条JMP指令,将地址码部分21送到程序计数第下一条

指令从内存21m兀开始执行,改变门京先执行联序.

2、几种典型指令周期分析——CLA*

◊CLA指令功能:清累加器。是一个非访内指令。

0取指令阶段,CPU完成三件事:

⑴从内存取出指令;

(2)对程序计数器PC加1,为取下一条指令做好准备;

(3)对指令操作码进行译码或测试,以确定进行什么操作。

◊执行指令阶段:CPU根据对指令操作码的译码或测试,进

行指令所要求的操作。

小结:CLA指令的指令周期包括一个CPU周期的取指令和一

个CPU周期的执行指令,共需两个CPU周期。

取指令周期

执行周期

S=-73tE-^£.

几种典型指令周期分析(ADD)•

OADD30指令功能:取存储单元(30)中的操作数和累加器的内

容相加,结果送累加器。这是一条访问内存取数并执行加法

的指令。

O取指令

◊执行指令:

♦将操作数的地址送往地址寄存器

♦把地址寄存器的内容(30)送到地址总线;

♦经译码从内存取出操作数(06)送往数据缓冲器;

♦执行相加的操作。

小结:ADD指令功能由三个CPU周期组成:取指、送操作数地

4址、去操作数进行相加运算并将结果放回累加器。

18~r~r?j~~~j~~'rre\

-IVK^S\:Li&zT-

ADD指令的指令周期

几种典型指令周期分析(STA)

OSTA40指令的功能:把累加器内容送存储单元(40)。这

是一条访内存存数指令。

O取指令

◊执行指令:

♦将操作数的地址送往地址寄存器;

♦累加器的内容送到数据缓冲寄存器DR;

♦把地址寄存器的内容(40)送到地址总线;

♦把数据缓冲寄存器的内容送到数据总线;

♦数据总线上的数写入选中的存储单元(40)o

具体过程描述如图

小结:它由三个CPU周期组成。

22

,IVKJS

第三条指令STA执行的功能是把和数006存入内存单元40.

STA指令的指令周期

24

几种典型指令周期分析(NOP和JMP)名、®

ONOP:空操作指令。在第二CPU周期中不发出任何

控制信号。

◊JMP指令是一个程序控制指令,在执行周期中只是

改变了PC的内容。

算术逻辑单元

图5.6h条指令的取指和执行过程执行指令控制

地址总线ABUS

第五条JMP指令,将地址码部分21送到程序计数第下一条

指令从内存21m兀开始执行,改变门京先执行联序.

几种典型指令周期分析

小结:

◊指令周期分取指令周期、执行指令周期两大部分;

0执行指令时间的长短不同,可能包括一〜三个CPU周期;

◊执行周期中CPU周期的划分原则:总线及控制不冲突。

27

3、用方框图语言表示指令周期•

o规则:

♦方框代表一个CPU周期,其内容表示数据通路的操作或

某种控制操作。

♦菱形表示某种判断或测试,时间上依附于它前面方框的

CPU周期,不单独占用一个CPU周期。

♦“〜”表示公操作,指一条指今执行完毕后,CPU所开

始进行的一些操作。这些操作可能是CPU对外设请求的

处理,如中断处理、通道处理等,若没有外设请求,

CPU将转入下一个“取指令”。因此取指令也可以认为

是公操作。

幺前面五条指令用方框图语言表示的指令周期见图。

?,..........…….

28—•・…,个

:IVK^S:iAeZ十

1

指令周期分析及方框图表示示例

【例1】图5.15所示为双总线结构机器的数据通路,IR为指令寄

存器,PC为程序计数器(具有自增功能),M为主存(受R/W信

号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由

加、减控制信号决定完成何种操作,控制信号G控制的是一

个门电路。另夕卜,线上标注有小圈表示有控制信号,例中yi

表示y寄存器的输入控制信号,RIo为寄存器R1的输出控制信

号,未标字符的线为直通线,不受控制。

(1)«ADDRrRo”指令完成(Ro)+(Rz)一%的功能操作,画出其指

令周期流程图,假设该指令的地址已放入PC中。并列出相应

的微操作控制信号序列。

(2)“SUBRPR3”指令完成(R3ZR1)一R3的操作,画出其指令期

物充程图,并列出相应的微操作控制信号序列

30

•IVKDS:gGZ十

11

II

|\|\

I

5.3时序产生器和控制方式

7^"后:二i唯'『罡:'噌'『手力呻二手\电"7"^"

一、时序信号的作用和体制

二、时序信号产生器

三、控制方式

n言Kgzz清ErF=cjT^c_^3<E_^Qp|r丁府任虹HRE

;IVxds:Ut&xT

一、时序信号的作用和体制(1)为、、*

对时序信号的理解:

CPU的“作息时间”表。机器一旦启动,CPU开始取指令并

执行指令,操作控制器就利用定时脉冲的顺序和不同的脉冲间

隔,有步骤地指挥各部件工作,规定在这一脉冲到来之前做什

么,在另一脉冲到来之前又做什么。

一般来说,操作控制器发出的各种控制信号都是时间因素

(时序信号)和空间因素(部件位置)的函数。

思考:用二进制码表示的指令和数据都放在内存里,那么CPU

是怎样识别出它们是数据还是指令呢?

时间、空间

一、时序信号的作用和体制(2)V公•

时序信号的体制:

一个CPU周期中要划分为若干个小段,每一个小段中

应该做什么有严格规定。

根据组成计算机硬件的器件的特性,微程序控制器中

的时序信号最基本的体制是节拍电位-节拍脉冲制。一个

节拍电位表示一个CPU周期,节拍脉冲把一个CPU周期划

分成几个较小的时间间隔。

二、时序信号产生器《务

微程序控制器的时序信号产生器(P142图5.17):

由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻

辑、启停控制逻辑等部分组成。

•IVxds;U&ZT

'—

RDWETiT2T3T4

图5.17时序信号产生器框图

37图5.18环形脉冲发生器与译码逻辑

IJC;J\

节拍电位与节拍脉冲时序关系图

38CPU周期CPU周期

图5.20启停控制逻辑

三、控制方式(1)

控制器的控制方式指形成不同操作序列的时序信号的

控制方法。有同步控制、异步控制、联合控制三种方式。

◊同步控制方式:

在任何情况下,已定的指令在执行时所需的机器周期数和时

钟周期数都固定不变。

0异步控制方式:

♦每条指令、每个操作控制信号需要多少时间就占用多少时

间。一

♦采用应答方式。

三、控制方式(2)

0联合控制方式:上述两种情况的结合。

♦大部分操作序列安排在固定的机器周期中,对某些时间

难以确定的操作则以执行部件的“回答”信号作为本次

操作的结束。.

♦机器周期的节拍脉冲数固定,但是各条指令周期的机器

周期数不固定。

5.4微程序控制器

引言

◊基本思想:利用软件方法设计硬件。即仿照通常的解题程

,序的方法,把操作控制信号编成所谓的“微指令”,存放

到一个只读存储器里。当机器运行时,一条又一条地读出

..这些微指令,从而产生全机所需要的各种操作控制信号,

使相应部件执行所规定的操作。

◊微程序控制器特点:具有规整性、灵活性、可维护性等一

系列优点。

,IVKJS

主要内容:

一、基本概念:

4-微命令和微操作

,微指令和微程序.

二、微程序控制器原理

-三、微程序设计举例

四、两种关系:

CPU周期与微指令周期的关系

机器指令与微指令的关系

43

一、微命令和微操作(1)

W**■■MV«BHW

◊计算机的两大组成部件:

♦控制部件:控制器。

♦执行部件:运算器、存储器、外设相对来说是执行部

■微命令:控制部件通过控制线向执行部件发出各种控制命令;

■微操作:执行部件接受微命令后所进行的操作。

44

:Bac^sG二十

一、微命令和微操作(2)

根据数据通路的结构关系,微操作的相容性和相斥性:

♦相容性的微操作:在同时或同一个CPU周期内可以并行执

“行的微操作;

♦相斥性的微操作:不能同时或同一个CPU周期内并行执行

.的微操作。一

示例:P145图5.20。三个寄存器的访问可以同时,而ALU的

加、减运算只能依次进行,不能并行。如微操作1,2,3是

相容的,而4,6,8是相斥的。

二、微指令和微程序

◊微指令:在机器的一个CPU周期中,一组实现一定操作功

能的微命令的组合。一般由操作控制和顺序控制两大部分组

成。P146图P21示意一条微指令的基本格式。

◊微指令周期:读出一条微指令并执行微指令的时间总和。串

行方式的微程序控制器中,微指令周期就是只读存储器的工

作周期。

◊微程序:许多条微指令按照一定的顺序组成微程序。

事实上:一条机器指令的功能是有一定的微程序来实现的。

图5.22微指令唯本格式

WB-PJH

"AS

48

三、微程序控制器原理

«aaH*^**«■■■*s*■■■■Mfcs*aaw«K—awvMBHar/■»—・

微程序控制器原理框图如P147图5.23所示。它主要

由控制存储器、微指令寄存器、地址转移逻辑三大部分组

成,其中微指令寄存器分为微地址寄存器和微命令寄存器

两部分。

:LXK^S

四、微程序设计举例

◊设计思想:

♦一条机器指令是由若干条微指令组成的序列实现的。一

条机器指令对应一个微程序,而微程序的总和可实现整

个指令系统。

♦微指令又是“一个CPU周期中一组实现一定操作功能的

微命令的组合”。

♦分析指令系统的每条指令的微命令及如何组合为微指令

是很重要的。

E1女x9、;U&ZT

O举例:设计“十进制

加法”运算指令的

微程序:一

仍以运算器为例,

并假设参加运算的两

个十进制数已经分别

存入寄存器RI、R2

中,要调整的数据6

放到R3寄存器中:

图5.25十进制加法微程序

♦首先确定实现“十进制加法”运算的算法,根据算法画出

指令流程.

算法:(1)R1+R2存入R2;

(2)R2+R3存入R2;

(3)测试进位标志CY,若CY=O,表示不该加6,需要

将R2-6后存入R2;若CY=L表示该加6,R2中就是十进制运

算结果。

(指令流程也是微程序的一种表示形式)

♦第二步确定微指令的格式:

按前面已经给出一种微指令的格式。(实际上微指令

的格式及如何编码都有很多种方法,这里给出的是一种比

较直观的方法(直接表示法),5.5节将详细介绍多种设计

方法。)

♦根据每一条微指令所需要控制信号和微指令的格式分别

写出四条微指令的编码。

♦将上述四条微指令按顺序排列构成“十进制加法”的微

程序(编码形式)。

五、CPU周期与微指令周期的关系

◊在串行方式的微程序控制器中,

微指令周期=读出微指令的时间+执行该条微指令的时间.

◊为了保证整个机器控制信号的同步,一般将一个微指令周期

时间设计得恰好和CPU周期时间相等。

・读微

—执行微指令微指令周期搐令

T1T2T3T4T1T2T3T4

CPU周期CPU周期

,1VK3S

六、机器指令与微指令的关系

P151图5.26很好地说明了机器指令和微指令之间的

关系,也方便深层次地解释程序的执行过程:取指令人IR

,后通过微程序执行指令。”

小结:

•一条机器指令的功能是由若干条微指令组成的序列来实现

的。

•从指令与微指令,程序与微程序,地址与微地址的——对

应关系来看,前者与内存储器有关,后者与控制存储器有

关。

・每一个CPU周期就对应一条微指令。

56

-

微命令

图机器指令与微指令

5.27,小

的关系

5.5微程序设计技术

avav'_a»■

___Krol_____r-_X.ICL-△33*_____/

微程序设计的关键是如何确定微指令的结构。

目标是:

,♦有利于缩短微指令字长度;’

♦有利于减小控制存储器的容量;.

♦有利于提高微程序的执行速度;

♦有利于对微指令的修改;

♦有利于提高微程序设计的灵活性。

本节内容

,♦微命令编码方法

258.微地址形成的方法人"T'

▲[鲂士匕人敖才

、微命令编码

微命令编码:对微指令中的操作控制字段采用的

表不方法。

◊直接表示法:操作控制字段中的每一位代表一

个微命令。

♦优点:简单直观,其输出直接用于控制。

♦缺点:微指令字较长,使控制存储器容量较大。

◊编码表示法:把一组相斥性的微命令信号组成

一个小组(即一个字段),然后通过小组(字

Ti-l卡I।/力-斗「y./力-4■田』/二七口

二、微地址形成的方法(1)

才Fr不注-手机-二千Er丁'=r<EJ7s高■EcjTTfig

微指令执行顺序控制是通过产生后继微

.指令的地址实现的。其方法有两种:

计数器法方式:

顺序执行微指令时,由现行微地址加上

一个增量来产生;非顺序执行微指令,须通

过转移方式。与程序计数器来产生机器指令

地址的方法相似。

特息酒镒制宝段较短H微地屿生

60产■-»*.—rrq-TTJW

a和机I埼圣伯早幺吆珏衿彷殄什台丽目「懂

二、微地址形成的方法(2)

yirTOzrramsjr-TrirT^ry»r-ngjnln-rr^^TitrT^C:

名路转移方式:

◊多路转移:一条微指令具有多个转移分支的能

力。如“取指”微指令要根据操作码产生多个

微程序分支。

♦当微程序不产生分支时,后继微地址由微指令的

顺序控制字段给出;

♦当微程序出现分支时,按顺序控制字段的“判别

测试”标志和“状态条件”信息选择某一分支所

对应的微地址。“状态条偿.革值标志=理以宴二

现微程序2n路转移。取指后的分支由1啮加字段确

三、微指令格式(1)

微指令的编译方法是决定微指令格式的主

要因素。考虑到速度、成本等原因,微指令的

格式大体分为两类:

水平型微指令

「次能定义并执行多个并行操作微命令的微

制字判别测试字下地址字

于土匕日库软0

WuL段

前面5・4节的微指吩勺水平型板指令。

套水平型微盛曾声工一

:Bac^s

三、微指令格式(2)

垂直型微指令

微指令中设置微操作码字段,采用微操

作码编译法,由微操作码规定微指令的功能。

垂直型微指令的结构类似于机器指令的

结构。

特点:

每条微指令的功能单一,一条垂直型微指

令只能产生3至敬搦自

63'till|B«

a惚早早田祐k的微粹享住机垢通A,日的徽

三、微指令格式(3)

F*ErPhEr丁;沪Tig*T

水平型微指令和垂直型微指令的比较

•水平型微指令并行操作能力强,效率高,灵

活性强。

•水平型微指令执行一条指令的时间短,垂直

型微指令执行时间长。(水平用较少的微指

令数实现一条指令的功能,因而缩短了指令

的执行时间,而且水平型不需要译码)

14/左六匕京吉开I"2八后

四、动态微程序

静态微程序

对应于一台计算机的机器指令只有一组

微程序,而且这一组微程序设计好之后,一

般无需改变而且也不好改变。

动态微程序

通过改变微指令和微程序来改变机器的

指令系统。这样可以在一台机器上实现不同

5类型的指令系统。这种技术又称为仿真其他

6机器指令系统,以便扩大机器的功蒯三

5.6硬布线控制器

硬布线控制器:把控制部件看做产生专门固定

时序控拜蕊八f路和触发

器构成结果反馈信息C1・・・・Cn

B1

设计目标Bj:操作速度。

II

树形逻辑网络

指令

特点:上译码需I制的速度

Im[_

较快。----------彳微指令都

IR

MlMiT1Tk

要从拄指吟寄存器:,而硬布

量线控制盛节拍电位/节拍

脉冲发生器

矍展:白复位冲TTjFTTiE-^C

浪复杂,

硬布线控制器设计(1)

◊微操作抨制信号的产牛n

硬布线控制器中,某一微操作控制信号

由布尔代数表达式描述的输出函数产生。口

逻辑函数的设计方法:

根据所有机器指令流程图,寻找出产生

同一个微操作信号的所有条件,并与适当的

节拍电位和节拍脉冲组合,从而写出其布尔

代数表达式并进行简化,然后用门电路或可

编程器件来实现EEEFTEFT工E"

硬布线控制器设计(2)

[例4]图5.32中五条指令的微操作控制信号的产

生。注意T脉冲的顺序。

O回顾指令流程

CW)

5.7传统CPU简介

OM6800CP七AM。号ism.

典力]

外设采4

OIntel8

产生

8085兼名

队列,节、到主

/存储

OIBM370/器

使用

Tntp1R

5.7流水CPU简介

一、并行处理技术

二、流水CPU的结构

三、流水线中的主要问题

四、奔月蕾CPU

n言Kgrgs清ErG*Er丁拓=£_^=^73111^^三电£_^£:

;IVxds:Ut&xT

一、并行处理技术

标准的冯・诺依曼体系结构是串行处理,即一个时

刻只能进行一个操作。

并行忤的两种含W

♦同时性:两个以上事件在同一时刻发生。如多机系统中,

同一时刻多个进程在运行。

.♦并发性:两个以上事件在同一间隔内发生。如并发程序,

某一时刻CPU中只有一个进程在运行,而在一个时间段内,

多个进程同时运行。

并行忤的二种形式

♦时间并行:即使用流水处理部件,时间重叠。

龄.空间并行二段置重公选皤JW工J主要堀蹴/理

k”器系统和多计算机系统。W正

、流水CPU的结构

◊流水CPU的组成:

按流水方式组织,其组成由指令部件,指

令队列,执行部件三大部分,目组成3级流水

线。

◊执行段的速度匹配问题的解决

♦执行部件分为定点和浮点执行部件,分别处理定

点和浮点运算指令;

♦在浮点执行部件中,又有浮点加法部件和浮点乘

⑥〃/除部件*Q也可以同时执行不同的指金-I

◊蓝景流水1+尊相,・Q有一条招今流春上三

流水CPU的时空图

沼-E

(a)一个指令流水线过程段

(b)非流水线时空图

三、流水线中的主要问题

◊资源相关:指多条指令进入流水线后在司一

・'机器时钟周期内争用同一个功能部件所发生

的冲突。

解决方法:指令推迟执行,或是设置重复资

源。

◊数据相关:在一个程序中,如果必须等前一

'条指令执行完毕后,才能执行后一条指令,

74

1次人]:小以计

解)±1户T*-定在1梏洋土古术

主要掌握其超标量流水线、指令Cache

和数据Cache、浮点单元、转移预测四个方

面的特性。(P196-198)

n言Hfcrgs淖ErG*Er丁章=£»^==73111^^三/二^£

;IVxds:Ut&xT

5.9RISCCPU

◊RISC的三个基本要素:有限、简单的指令集、

CPU配备大量的通用寄存器、强调对指令流水

线的优化

◊RISC机器的特征:

♦使用等长指令。

♦寻址方式少,绝不出现存储器间接寻址。

♦只有取数、存数指令访问存储器。

♦指令数一般少于100条,指令格式少于4种。

♦指令功能简单,控制器多采用硬布线方式。

盘.大部分指会在二加器囿期内完成j一一

k,CPU中通用寄存器数量相当多。鼻

5.10多媒体CPU

'◊多媒体技术的主要问题'

◊MMX技术

O动态执行技术

77

:Bac^srsx十

一、多媒体技术的主要问题

◊媒体:信息传递领域中传递信息的媒介。包括

存储信息的实体与传递信息的载体两部分。如

磁盘、光盘等属于存储信息的实体,而载体指

表示信息的形体,如数值、文字、声音、图形

与动静图象等。

◊多媒体技术:指计算机把各种不同的电子媒质

集成起来,统一进行存储、处理和传输的技术。

如把计算机屏幕显示、视频光盘、CD-ROM以及

联B言和声善综合户并在御i王赵阚建密屋辑连二接不

「1*

/Fh放小在4玄自右六7=71叶

三MMX技术*

o一种多媒体扩展结构技术。

◊MMX指令是一种SIMD并行处理指令,其先进

・性主要体现在:(P206)

♦SIMD结构

♦饱和运算方式

♦积和运算方式

♦比较指令

♦转换指令

三、动态执行技术

◊动态执行技术

通过预测程序流来调整指令的执行,

”并且分析程序的数据流来选择指令执行的

最佳顺序。

◊实现的关键

使用一个指令缓冲池以开辟一个较长

.的指令窗口,以便允许执行单元能在一个■

较大的范围内调遣和执行已译码过的程序

J日/J\\jOFWXo,:LifeXT-

实验:实验计算机的设计

◊设计指令系统:

确定指令系统的指令,包括几种类型,

操作数有哪几种寻址方式,以及指令的编码等。

要兼顾必要性(编程方便)和可行性(硬件条

件)。

◊设计指令执行流程

对于微程序控制的计算机设计指令流程

、时,要保证每条微指令所包含的微操作的必要

实验:实验计事机的设计_

O设计微操作控制信号及其实现方法:

综合指令系统各指令执行流程中涉及到的

微操作控制信号,统计总共需要多少个微操作

控制信号.

设计时应考虑以下几点:

♦微指令编码格式

♦微操作信号的有效性

♦器件的操作条件一

告设计微指令格式

翻定微程序指制方苴==*

1

/4■».'.«i.14,9

:Bac^s:iSX十:

/llll-、T-r

Pentium4的逻辑结构

匚江RT-TTGrEr-n」=EEJ!ZI

•寄存器组与CPU字长

•超标量结构ALU

•流水线处理技术

•SIMD技术

•EM-64T

•超线程技术

•双核与多核技术

Pentium4处理器的逻辑结构

»"jdB'l:q1q-war-rra-Ufa—

64位,时钟频率士匕A支预测器

线

一控制器

总线接口

预取

控制逻辑

⑪V

L2

cache

Pentium4处理器的芯片布局

前端总线L1数据cache

及其接口L2cache

高级动态执行

.超级流水线

定点运算器技术

Streaming

SIMD

Extensions2

Tracecache浮点运算器

(L1指令cache)MMX

•IVxds;U&ZT

Pentium4的寄存器组

P4Pentium804868038680868088

3115870

整数寄存器组GPROEAXAXAHAL

GPR1ECXCXCHCL

GPR2EDXDXDHDL

GPR3EBXBXBHBL

GPR4ESPSP

GPR5EBPBP

GPR6ESISI

GPR7EDIDi

指令计数器EIPIP

标志寄存器EFLAGSFLAGS

浮点寄存器组

86

:Bac^s-U^z-f-

Pentium4的超标量结构运算器

87

nx十

◊采用超标量(superscalar)结构,一共包含9个ALU,均可

同时工作:

♦2个高速整数ALU(每个时钟周期进行2次操作),用于完成简

单的整数运算(如加、减法)

♦1个慢速整数ALU(需要多个时钟周期才能完成1次操作),用于

完成整数乘、除法运算

♦2个地址生成部件(AGU),用于计算操作数的有效地址,所

生成的地址分别用于从内存取操作数或向内存保存操作结果

♦1个ALU用于完成浮点操作数地址的计算

♦1个ALU用于完成浮点加法、乘法和除法运算

♦1个ALU用于执行流式的SIMD处理(SSE/SSE2/SSE3指令)

♦1个ALU用于完成多媒体信号处理(MMX指令)

88

-

指令的流水线执行

指令的顺序执行:

指令1(11)指令2(12)指令3(13)

ExecuteExecute

UrileJIfplch

Ifelchl>ev<HieI)e<<>dek:N:::W、、rile

TOT1T2T3T4T5T6~T8~T9,1

指令的流水线执行::!Pentium1的流力〈线分成20

级I每一级的操作都很简单,

IlIFetchllecode:Write执行速度快快,;因而允许时

..J钟频率高出1GHz以上

ITelchDvccxleMS:Write

13KetchIMock皱Write

其3

14IfetchDecode■Write

15IletchDecode\\rite

16Write

.举逡

:Bac^snx十

超流水线(Hyper-pipeline)技术

◊Pentium4有多条超流水线,每

条流水线的级数均很长,定点

运算达20级,浮点运算达到29

级,处于执行状态的指令数最

多可达到126条

◊超级流水线中每步操作都非常简单,因此主频可以显著提高

■Pentium4的20级超流水线结构的示意图:

2ik567891011121314151617181920

13J*4i411•

TCNxtIPTCFirtchDthreAllocRenamoQuoSehSehSch□r<pDUpRFRF曰FigsBrCkDrive

取指阶段译码阶段执行阶段保存结果,修改IP

90

E1女x9、;U&ZT

指令流水线的效果彘

CPU

Add

运算

流水线会阻塞吗?结果

如何确保指令流水线通畅?

例:调整后:

LOADR1,BLOADR1,B

a=b+c;LOADR2,CLOADR2,C

•ADDR2,R1々LOADR3,D

「<

e=e-d;〉•STORER2,A、ADDR2,R1

假设a,b,c,d,e分LOADR3,D-LOADR4,E

别存储在地址为LOADR4,ESTORER2,A

A,B,C,D,E的单

•SUBR4,R3SUBR4,R3

元中

•IVxds;U&ZT

指令预取和分支预测

◊为了使流水线不中断,指令预取部件用于完成指令地址的计

算,并从指令cache中读取指令(一次64位),它还通过动态

分支预测器对即将执行的指令提前进行预取,如果预测发生

错误,那么流水线就会中断,CPU的速度将会受到影响

,1VK3S-

Pentium的64位扩展技术(EM-64T)

Pentium4的64位寄存器组

整数寄存器组P4Pentium803868048680868088

311587。

GPR0EAXAXAHAL

GPR1ECXCXCHCL

GPR2EDXDXDHDL

64位处

GPR3EBXBXBHBL

理器的

整数寄GPR4ESPSP

存器组GPR5EBPBP

GPR6ESISI

GPR7EDIDI

指令计数器EIPIPI

标志寄存器EFLAGS

温馨提示

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

评论

0/150

提交评论