接口与通信技术_第1页
接口与通信技术_第2页
接口与通信技术_第3页
接口与通信技术_第4页
接口与通信技术_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

接口与通信技术会计学

1所谓总线操作是指发生在总线上的一些特定的操作。对8088来说,总线操作包括存储器读和I/O读、存储器写和I/O写、中断响应、总线请求及响应等几种操作。此外,如果CPU正在进行内部操作,暂时没有对外访问的任务,总线将处在空闲状态,这也是总线的一种工作状态。第1页/共102页完成一次特定的总线操作所需的时间被称为总线周期(BusCycle)。每个总线周期都伴随着CPU与外界(存储器或I/O端口)的一次数据交换。8088的典型总线周期由4个时钟周期构成。在每个时钟周期,8088将进行不同的相应操作。为了便于描述,我们将这4个时钟周期分别编号为T1、T2、T3和T4。所以,在CPU控制的总线周期中,一个时钟周期也称作一个T状态。第2页/共102页对8088来说,它允许的最高时钟频率为5MHz。但在IBMPC/XT中,提供给8088的时钟频率为4.77MHz,即每个时钟周期约为210ns。因此,在IBMPC/XT中,典型的总线周期是840ns(4T),但可以通过申请来延长总线周期。办法是通过输入信号READY的无效(低电平)来申请向总线周期中插入等待状态Tw。第3页/共102页在IBMPC/XT中,访问存储器的标准总线周期为4T,考虑到I/O设备的速度比存储器要慢,在I/O访问总线时序中,访问I/O的标准总线周期为5T(T1、T2、T3、Tw和T4),I/O访问采用外电路请求的办法向总线周期中插入1个Tw。实际上,I/O通道中的设备还可以通过通道信号I/OCHRDY来请求插入更多的Tw。第4页/共102页在微处理器中,指令功能通常被分解为更基本的操作来加以实现,如将指令功能分解为:取指并译码、读操作数,数据处理和写操作数等4个环节,各环节均在1个时钟周期内完成。在这种情况下,我们将完成一条特定指令(包括取指环节)所需的时间称为指令周期(InstructionCycle),将完成某个基本操作所需的时间称为机器周期(MachineCycle)。第5页/共102页所以,8088的指令周期为4个时钟周期,机器周期为1个时钟周期。由于8088采用流水作业,将取指令和执行指令的操作分别交由不同的功能模块来实现,因此两种操作在时间上可能重叠,第6页/共102页即后一条指令的取指和前一条指令的内部操作可能在同一时间发生,这使得我们很难精确地讨论每条指令的指令周期,但我们可以精确的讨论每个总线操作的总线周期,因为两个总线操作不可能同时进行。因此,在8086/8088系统中,我们不讨论指令周期,只讨论总线周期。第7页/共102页显然,读一条指令和执行一条指令可能分别需要不同的总线操作和总线周期。例如,8088将3字节长的“MOV[1600H],AL”读到指令队列需要3个“存储器读”总线周期,而执行它只需要1个“存储器写”总线周期。第8页/共102页实际上,任何以存储单元为源操作数的指令都会产生“存储器读”总线周期,任何以存储单元为目的操作数的指令都会产生“存储器写”总线周期,执行IN和OUT指令将分别产生“I/O读”和“I/O写”总线周期,而只是在CPU响应可屏蔽中断时才会产生“中断响应”总线周期。无论是取指令还是读存储器操作数都会产生“存储器读”总线周期,对总线接口单元BIU来说,其操作完全相同;对执行单元EU来说,它们的后续操作将完全不同。第9页/共102页存储器的读、写及I/O的读、写是微处理器中最基本和最频繁使用的4种总线操作,是学习的重点。由于不同组态下总线形成的办法不同,总线信号构成也不尽相同。所以,在讨论总线时,既要注意区分系统的组态,又要注意区分总线操作的类型。第10页/共102页8088CPU在最小组态模式下的总线时序第11页/共102页8088CPU采用同步时序(SynchronousTiming)与外界进行数据交换,即所有操作均以同一时钟为基准,各信号的变化不是与该时钟的某个上升沿相关联就是与某个下降沿相关联。当然,互为因果的两个信号,其发生时间必然会有一定的延迟。为了突出这种延迟,在时序图中常有意夸大它以便醒目。第12页/共102页在阅读时序图时,请读者注意一下表示:单一信号——用单线表示,如ALE、。它变高时表示高电平,变低时表示低电平;其上升跳变和下降跳变表示信号改变;虚线则表示一种可能的电平状态。第13页/共102页,。号改变因此,由两个交叉点所构成的六边尖角框表示一种稳定有效的信息组合;当双线变成一条居中的横线时表示输出高阻。成组信号——用双线来表示,如地址、数据及其它编码信号两线交叉表示成组信第14页/共102页示。,果,端为“因”。信号的来源——常通过文字标注来加以说明。例如,复用总线AD7~AD0在存储器读总线周期中使用(参见图4-8):T1阶段,CPU向AD7~AD0输出地址(一个尖角框加“A7~A0”说明)。信号间的因果关系——用箭头的曲线或直线来表其中

箭头所指为“

”另一第15页/共102页T2~T4阶段,CPU向AD7~AD0输出高阻(一条居中的横线加“高阻”说明);同时,被寻址的存储单元向AD7~AD0输出数据(一个尖角框加“输入数据”说明,因为对CPU来说该数据是输入)。第16页/共102页1.最小组态下的写总线周期写总线”周期用来完成对存储器或I/O端口的一次写操作。它一般由1个T状态组成,编号为T1~T4,如图4-7所示;必要时可在T3.T4间插入1个至数个TW。第17页/共102页(1)T1状态——输出存储器地址或I/O地址从T1状态开始IO/将有效,并一直保持有效到下个总线周期开始。如果IO/为低电平,则访问对象为存储器;复用总线A19/S6~A16/S3、AD7~AD0及不复用的总线A15~A8将输出20位的存储器地址。如果IO/为高电平,则访问对象为I/O端口,AD7~AD0和A15~A8将输出16位的I/O地址,而高4位的地址线A19~A16始终输出低电平。第18页/共102页注意:对8088CPU来说,除有效地址的位数和IO/信号的电平有所不同外,“存储器写”和“I/O写”的总线周期并没有什么实质上的区别。所以,图4-7用一个“写总线”周期包括了这两种总线操作,但对IO/信号进行了文字说明。也就是说,如果进行存储器写,则IO/信号应该走低;如果进行I/O写,IO/信号应该走高。第19页/共102页ALE和T1状态输出一个正脉冲,可利用它的后沿(即下跳沿)来锁存复用总线上的地址。由于CPU进行写操作,所以从状态开始输出高电平,控制数据收发器向总线方向驱动数据,直到下一总线周期开始为止第20页/共102页(2)状态——输出控制信号从状态开始,所有复用总线上的地址信号将被撤消;而复用总线~上出现CPU输出的数据;复用总线~上出现CPU输出的地址线~将始终输出地址并保持到本总线周期结束。随着CPU输出数据到总线,写控制将有效。这是,通过地址译码已选中特定的存储单元或端口,在写信号的控制下它们的门被“打开”,并开始接受总线上的数据。第21页/共102页等控制信号也持续有效。如果存储器或者端口因速度较低,来不及完成数据接受,可以将CPU的输入信号READY信号“拉低”(无效),以便通知CPU需要延长时序。若测到无效,CPU将在和间插入周期。的长度为一个时钟周期。第22页/共102页(3)T3和TW状态——总线操作持续,并检测READ以决定是否延长时序。在状态,被锁存的地址以及由CPU提供的数据在总线上继续维持,和

、、在TW期间,数据、地址和控制信号都将延续时的状态,这就为存储器或端口多提供一个时钟周期的操作时间。在的前沿,CPU将继续对READY进行测试,如果无效还可继续插入;仅在测到READY有效时才转入,并在中结束数据传送。在图4-7中,READY始终有效,所以不需要向总线周期中插入。通过插入等待周期,可使CPU与速度差别较大的存储器或外设在数据传送中保持同步。第23页/共102页(4)状态——完成数据传送进入状态,8088对本次数据传送进行收尾,并准备过渡到下一个总线操作。此时,写控制信号转为无效,于是对存储器或的写操作宣告完成;总线控制信号也转为无效,数据收发器不在驱动数据,数据将在数据总线上消失。第24页/共102页读总线周期用来完成对存储器或端口的一次读操作。它同样由~这4个状态组成,也可通过READY无效在、间插入若干,其时序如图4-8所示;与图4-7的“写总线”周期相比,“读总线”周期主要有以下特点:2.最小组态下的读总线周期“读总线”周期用来完成对存储器或端口第25页/共102页(1)在状态,因为CPU要进行读操作,故将输出低电平,并一直维持到,一控制数据收发器从总线向CPU方向驱动数据。(2)在~期间,CPU对数据总线输出高阻,表示它不再控制数据总线,使得外部数据可以发送到数据总线。与此同时,CPU输出的控制信号和将变为有效,前者选通存储器或端口,将它们提供的数据外放到数据总线;后者使数据收发器开始驱动数据,因为已经是低电平,所以它将从总线向CPU驱动数据。第26页/共102页(3)在的前沿,CPU对数据总线进行一次采样;在学习“读总线”周期时,有关CPU的采样以及此时数据总线的状态是学习难点。下面,我们用更通俗的语言来进一步加以说明:从T2到T4,CPU一直向数据总线输出高阻,表明数据总线已不受它的控制。第27页/共102页从T1开始,对存储单元或I/O的寻址实际上已经开始,到T2时,读信号开始有效,在它的控制下,被寻址的存储单元或I/O口将“打开大门”,将寻址到的数据放到数据总线。也就是说,该数据在总线上出现的时间以及维持的时间都要受的控制。到T4前沿,总线上的数据已经稳定,于是CPU“按动快门”,将数据“摄入”第28页/共102页234~

A15

A8

A7~A0

高阻

输入数据

高阻

(高电平)8088CPU在最小组态模式下的总线时序最小状态下的读总线周期时序T1CLK

T

T

TIO/MA19/S6~A16/S3~A15

A8~AD7

AD0最小组态下的读总线周期时序ALEREADYRDDT/-R高时为I/O操作;

低时为存储操作第29页/共102页~

S6

S3~AA19

16DEN最大组态下的总线时序第30页/共102页■在最大组态模式下,系统得许多控制信号将不再由8088直接提供,而改由总线控制器8288来提供。也就是说,系统总线将由8088和8288共同形成。图4-9和图4-10是最大组态下“写总线”周期和“读总线”周期时序图。将它们与图4-7和图4-8中同样的总线时序相比,可以看出它们十分相似。下面仅说明它们的不同点。第31页/共102页(1)在最大组态下,8088通过引脚~输出3位状态编码,这些编码信号被送往总线控制器8288,由8288译码出总线周期的各个控制信号。一般情况下,从T1直到T4之前,CPU的~引脚一直输出它的工作状态编码(参考表4-4);但是到了T4,它将输出一个固定的编码“111”,该编码表明CPU正处在过渡状态,意味着当前总线周期即将结束,下一个总线周期即将开始。第32页/共102页(2)由8288产生的控制信号如下: (存储器写控制)和(I/O写控制)——其时序与最小组态下的时序类似,但它们开始有效的时刻要比滞后一个时钟周期。在PC/XT中,这两个信号未被使用第33页/共102页 (超前存储器写控制)和(超前I/O口写控制)——其时序与最小组态下的WR时序基本相同,它们开始有效的时刻要比和超前一个时钟周期,因此给写操作提供了更长的时间。在PC/XT中,这两个信号被使用,并被重新命名为(存储器写)和(I/O写)。第34页/共102页(中断响应)——在可屏蔽中断被相应后,它将2次有效,详见第8.3.2节。(3)在最大组态下,由8288输出的数据允许信号DEN为高电平有效,在最小组态下同样功能的信号为,低电平有效。第35页/共102页最大组态下的存储器写总线周期序

T1

T2

T3

T4S2MWTCA19/S6~A16/S3~A15

A8~AD7

AD0ALE两种写命令DT/R-

DENA19

A16S0=

110

A7~A0

输出数据

~

S2

S0~

~

第36页/共102页由8288

产生~A15

A8~S6

S3S0=

111AMWTCS2~第37页/共102页■

_

第四节8086微处理器第38页/共102页在前面两节中已经详细介绍了Intel8088微处理器,Intel8086与Intel8088两个CPU具有兼容的指令系统,其结构和引脚也非常相似,这一节将从第3比9页/页的角度来介绍8086

主要说明二者在结,16位的数据/地址复用总线AD15~AD0。在读写存储器或I/O端口时,既可按字节进行访问,也可按字(两个字节)进行访问。(1)8086是一个真正的16位微处理器,其内部数据处理和外部数据总线均为16位拥有第40页/共102页(2)8088指令队列的长度为4个字节,当队列中有一个字节的空缺时,它就会自动取指;当队列中保存有一个指令字节时,8088就会执行它。8086的指令队列长度为6个字节,当出现两个字节的空缺时,它才会自动取指;当队列中保存有两个指令字节时,它才开始执行指令。第41页/共102页这是由于8086的数据总线宽度为16位,一次可读取两个字节的缘故。(3)8088在最小组态下选择访问对象的信号为IO/M;8086在最小组太下的对应信号为M/IO,前者是为了兼容8085CPU而设计的。第42页/共102页奇地址第1次访问低8位数据(于奇地址)

第2次访问高8位数据(于偶地址)16位(字访问)8位(字节访问)偶地址表2-6

8086

CPU的字节访问与字访问访问的起始地址奇地址偶地址AD7

~

AD0(低8位)1

0AD7

~AD0(低8位)操作数有效数据出现的

位置AD15

~

AD8(高8位)AD15

~

AD8(高8位)1

0AD15

~

AD0(16位)A00

10

10

0第43页/共102页(4)8088的第34号引脚为(最小模式)或HIGH(最大模式);8086的对应引脚为/S7(不分模式)。/S7引脚分时复用:在T1时输出(ByteHighEnable)信号,在T2~T4,该引脚输出状态信号S7(但系统并4页0义2页它的功能)。其中

信号低电平有效

有效时,表示启用数据总线的高字节

即在T2~T4阶段

高8位复用总线AD15~AD8将传送数据D15~D8

由于仅在T1所以系统应对它进行锁存。阶段出现,第45页/共102页,据总线为16位,其存储器应按16位的数据宽度来进行组织,以提高访问效率。图2-13所示为8086的存储器组织,(5)8088的数据总线为8位,其存储器只能按8位的数据宽度来进行设计。8086的数第46页/共102页注意,它由对称的两个存储体(Bank)构成,其中一个为偶存储体,它集中了所有的偶地址单元(0、2、4、…FFFEH),另一个为奇存储体,它集中了所有的奇地址单元(1、3、5、…FFFFH)。两个存储体的长度相同,宽度均为1个字节。第47页/共102页在图2-13中,A0=0用来选通偶存储体,用来选通奇存储体;系统数据线的低8位接到偶存储体,高8位接到奇存储体;从A1开始的系统地址线连接从A0开始的存储芯片地址线;虽说8086的存储器按16位数据宽度进行组织,但并不意味着它只能进行16位的数据访问。第48页/共102页请注意访问的以下特点:在8位访问时,偶地址单元的访问数据将出现在总线AD7-AD0上,奇地址单元的访问数据将出现在总线AD15-AD8上;在进行16位访问时,除了以上特征外,更强调地址的“对齐”,因为对偶地址单元的字访问只需操作一次,而对奇地址的访问需要操作两次,即多消耗1倍的时间。第49页/共102页_图2-

13配合8086的存储器组织第50页/共102页演示■(6)I/O端口最好也能按16位的数据宽度来进行组织,如图2-14所示,这样可以提高访问效率。在图2-14中,A0=0时将选通偶地址的I/O端口并访问到低8位I/O数据,时将选通奇地页的/共1O端口并访问到高8位I/O数据

其访问规则见表据总线AD7-AD0,一般都将I/O端口的地址设计为偶地址;如果设计为奇地址,则访问数据将出现在高8位的数据总线AD15-AD8上。但实际上,许多外设是按8位数据宽度来设计的。为了能将8位数据引导到低8位的数第52页/共102页第53页/共102页图2

14第五节80286微处理器第54页/共102页1982年,Intel公司推出了高性能的16位微处理器80286。其内部集成了约13万个晶体管,以8MHz的时钟进行工作,它有68条引脚,可封装成PGA(PinGridArray)或LCC(LeadlessChipCarry)两种形式,图4-13所示为它的LCC封装。与8086相比,80286增加了存储管理单元(MMU),在引脚结构和工作模式上有以下的特点:第55页/共102页(1)它有24根地址线,最多可寻址16MB的实际存储空间(简称实存)和64K的I/O地址空间。(2)其地址总线和数据总线完全分离,并形成总线操作的流水作业。也就是说,当前一个总线操作的有效数据出现在数据总线上的时候,后一个总线操作的地址也开始送到地址总线。第56页/共102页(3)其最高工作时钟为8MHz,每个时钟周期为125ns。它的总线周期基本上由Ts(SendStatus)和Tc(PerformCommand)两个T状态(时钟周期)构成,明显提高了数据访问的速度。(4)具有实地址方式(RealAddressMode)和保护虚地址方式(ProtectedVirtualAddressMode)两种工作方式,实方式用来兼容8086,此时24个地址信号中只有低20位有效,第57页/共102页其寻址空间和寻址方法与8086完全相同。保护方式则充分体现了80286的特色,其主要特点是,24根地址线全部有效,可寻址16MB的物理内存;通过存储管理和保护机构,可为每个任务提供多达1GB的虚拟存储空间和保护机制,从而有力地支持多用户、多任务的操作。第58页/共102页80286的多数引脚信号在功能和命名上与8086相同,对此我们将不再重复。下面仅介绍功能不同的引脚。·A23-A0——24位地址总线。通过这些地址线,80286最多可寻址16MB物理存储器;但寻址I/O口仍然只使用其中的低16位,故最多可寻址64K个8位I/O端口。第59页/共102页D15-D0——16位数据总线。80286的数据总线与地址总线完全分离,不再分时复用。一组状态输出信号——包括和(系统状态,输出)、COD/(代码或中断响应,输出)、M/(选择存储器或I/O端口,输出)。以上4个信号的编码表明CPU和总线的工作状态。第60页/共102页一组与协议处理器进行联络的信号——包括PEREQ(协处理器8087/80287操作数请求,输入)信号、PEACK(协处理器操作数响应,输出)、(协处理器忙,输入)、(协处理器出错,输入)CAP——衬底滤波电容输入引脚

。在该引脚与地之

间必须接一个电容。Vss——

系统的参考地。NC(

No

Connection

)——

内部没有连接的引脚。第61页/共102页等。第62页/共102页第六节

第六节

微处理器技术简在本章的前面,我们详细介绍了Intel8088微处理器,并简单介绍了8086和80286微处理器。为了进一步拓宽读者的视野,并跟踪微处理器的技术发展,下面简要介绍若干与微处理器有关的技术。第63页/共102页微程序和微操作微程序空驶是针对计算机指令系统和硬件控制器的实现所提出的思想。传统上,计算机的控制器用组合逻辑实现,但随着指令系统功能的增加,硬件的用量大大增加,设计也因此变得非常复杂,且不易修改。微程序控制的基本思想是:将指令操作分解为由微指令构成的序列,其中每条微指令由若干可同时进行的微操作构成,而微操作就是在该处理器内不能再分解的操作。第64页/共102页微程序固化在微处理器内,操作时,根据机器代码不断取出各种微指令,或顺序执行,或条件转移,或进行循环,从而实现指令所要求的功能。采用这一方法,可有效降低硬件控制器的复杂程度和非标准性,使指令系统实现指令流水线;也可以将复杂指令集计算机(CISC)演变为微操作一级的精简指令集计算机(RISC)。第65页/共102页当前,许多微处理器都采用了微程序控制的办法,有的微处理器还设计有比微程序再低一级的毫微程序哈佛结构和普林斯顿结构微处理器在存取程序和数据时,有两种典型的系统结构,一种是普林斯顿结构,一种是哈佛结构。下面简单介绍这两种结构。第66页/共102页并同线来分时行存取(例如8088)。具有普林斯顿结构的微处理器在取指时不能访问操作数,在访问操作数时不能取指。因此,一条涉及数据存取的指令需要使用同一总线来分时进行取指、读操作数和写操作数的操作,这就延长了指令的执行时间。普林斯顿结构也称冯.诺依曼(参见图2-16a),其特点是将程序和数据存储与同一空间,通过一组总进第67页/共102页哈佛结构(参见图2-16b)的特点是将程序和数据分别存储于两个空间。处理器通过程序总线和数据总线来分别访问指令和数据,两个访问可同时进行,因此可从整体上缩短指令的执行时间。此外,两组总线可分别拥有不同的宽度。例如,某单片机的数据总线宽度为8位,程序总线的宽度视不同产品分别为12/14/16位。。第68页/共102页采用哈佛结构有利于采用长指令或超长指令字(VeryLongInstructionWord,VLIW),使指令功能得到增强。一些嵌入式应用的微处理器(包括单片机和数字信号处理器)多采用哈佛结构。在80486以后的x86微处理器中,其一级/view24/M01/00/2F/wKh2HWNq6yKAKfwNAAgaMum4c_Y62407结构精简指令集计算机与复杂指令集计算机随着计算机功能的增强,CPU的指令系统也变得越来越复杂。复杂的指令系统为编程带来高效和方便,但实现的难度和出错的几率也大大增加了。人们在审视程序和指令时发现:第70页/共102页在程序中大量使用的是为数不多的简单指令,其用量约占全部指令用量的80%;而那些需要大量硬件支持的复杂指令,虽然提高工作效率和存储效率,但使用的机会并不多,这就造成了硬件资源的浪费。精简指令集计算机(ReducedInstructionSetComputer,RISC)的思想就是在这种情况下产生的,与它形成对照的是复杂指令集计算机(ComplexInstructionSetComputer,CISC)。第71页/共102页RISC的目标是增加内部寄存器的数量、简化指令和指令系统。它选取得指令简单而常用,以减少指令总数、缩短指令长度和指令周期。这样,以前由硬件和复杂指令实现的工作,现在可通过简单指令的组合来加以实现,降低了硬件设计的难度,有利于进一步提高芯片集成度和工作速度。从20世纪70年代中期开始到现在,RISC处理器的发展已经历了3代。第72页/共102页例如,IBM和Motorola等公司在1991年联合研制的PowerPC微处理器就属于RISC处理器,其中Power的意思是PerformanceOptimizationwithEnhancedRISC。至于Intel的x86微处理器仍属于CISC,不过从80486开始也引入了RISC技术,主要体现在微程序一级。实际上,新的微处理器一般都体现了RISC和CISC两种技术的融合第73页/共102页4.流水线技术所谓流水线(Pipeline)是指这样一种技术,它将一个复杂操作分解为若干简单的、可顺序执行的子操作(其中,子操作的个数成为流水线的级或深度)。这些子操作由不同的功能部件(流水段)独立完成,采用中间机构(寄存器或缓冲器)进行缓冲,一般按耗时最多的子操作来设定统一周期(流水周期)。第74页/共102页流水线技术可以用于指令处理、数据运算、总线操作等多种场合。以指令流水线为例,8088拥有2级不太典型的指令流水线,即取指和指令的译码执行,分别由EU单元和BIU单元实施操作,并以指令队列作为缓冲机构。更为典型的是80486的指令流水线,它包括5个流水段,即指令预取、指令译码、地址生成、执行指令和结果写回。第75页/共102页实际上,由于指令间的相关性,处在后面的指令并不总是能够“跟进”前面的指令。当以下情况发生时,流水线就会发生“断流”现象。例如,当后面的指令要等前面指令的执行结果来决定程序走向(控制相关),或者当后面的指令要使用前面指令所产生的运算结果(数据相关)时,就会发生“断流”现象。如果出现这样的情况,只要前面的指令没有最终退出流水线,后面的指令就无法继续前行。此外,如果几条相近的指令使用了相同的寄存器但不存在数据相关(伪相关),也会影响流水线的正常工作。第76页/共102页5.寄存器重命名、分支预测和乱序执行其操作流程大致如下:(1)从指令Cache中取指令并译码,从数据Cache中获取操作数,排除伪相关因素,将译码产生的微操作集中到中间缓冲器。(2)分析机构分析指令数据间的相关性,通过动态调度使相近的指令间不存在数据相关,控制机构据此将缓冲器中的微操作分派给各功能单元独立执行。第77页/共102页■(3)各微操作执行完后在缓冲器中再次集中并恢复原来的指令顺序,最后将结果写回目标。为保持流水线的充盈,尽量减少停顿,在上述过程中,人们采用以下的主要技术和方法。■·寄存器重命名(RegisterRename)——将存在伪相关关系的寄存器分别影射到微处理器内部的各个物理寄存器来排除伪相关性。比如,在PentiumPro内部提供了40个这样的物理寄存器。第78页/共102页分支预测(BranchPrediction)和推测执行(SpeculativeExecution)——在程序分支发生之前,先推测它会走哪一个分支,然后按预测来取指并继续在流水线中推进,这样,在预测成功时流水线就不会停顿。分支预测可采用静态和动态两种方法。。注意,分支预测不可能100﹪准确,在预测失败时,还可以想其他办法来尽量补救。第79页/共102页,据相关性且操作数已就绪的指令提前执行,这就是乱序执行,也称失序执行。在乱序执行后,会有一个恢复过程,经过重新排序后,最后提交结果的顺序将与指令的原来的顺序相同。·乱序执行(Outoforderexecution)——在微操作一级对指令进行动态调度,将存在数据相关性的指令推迟执行将不存在数第80页/共102页6.超标量和超流水标量(Scalar)和向量(Vector)是两个相对的数学概念。向量由多个分量构成,而标量只含一个分量。如果计算机能直接对向量进行运算那它就是向量计算机,但微机一般只能计算非向量(即标量),所以微机属标量计算机。第81页/共102页所谓超标量(SuperScalar)是指微机能同时处理多个标量。通过在微处理器中安排多余流水线,即安排多个指令译码和执行机构可实现超标量设计。例如,在Pentium中安排有U和V两条流水线,其中U流水线可处理所有微操作,但V流水线只能处理一些简单的微操作。又如,PentiumPro为3发超标量,即它拥有3个并行运转的指令译码器,其中2个为简单型,一个为复杂型,在一个时钟周期内平均可产生3个微操作。第82页/共102页所谓超流水(SuperPipeline),一般是指深度超过8级的流水线。通过对流水线中的子操作做进一步分割,形成更多的流水级,这样,就可以在单周期内使流水线执行更多的指令,例如,Pentium4的流水线深达20级,理论上可以让20条指令同时执行。如果微处理器同时具有这两种属性,我们将称它为超标量超流水设计,例如Intel的Pentium微处理器系列。第83页/共102页7.多媒体指令和单指令多数据处理我们将信息的载体成为媒体(Media)。在计算机领域,多媒体(Multimedia)一词是指对各种媒体进行综合运用,包括文字、声音、图像、动画、活动影像等,其中最主要的形式是音频和视频。第84页/共102页多媒体应用的特点是数据量特别大。在应用中,多媒体信息首先要被转化为数字,通过编码、调制、压缩等处理,来减少数据的总量,使它们易于传输和存储。等到接受和重现时,又要反过来做解码、解调、解压缩等项处理,将数据还原或大致还原为它的初始形态。第85页/共102页当前,多媒体应用已成为微机应用的一个重要方向,具体表现在两类微机的应用中。一类是数字信号处理器(DSP),它以嵌入应用的方式进行多媒体信息处理,针对不同的应用可分别使用长于图像和通信处理的芯片和长于控制的芯片;另一类是通用微处理器,它通过不断扩展的多媒体指令集支持对多种媒体数据的处理。第86页/共102页应该指出,虽然多媒体应用的数据量庞大,但处理方法却比较单调,大量工作是重复性的。所以,除了在微处理器的内部增加更多的硬件资源(如硬件乘法器、整数运算单元和浮点运算单元)外,具有多媒体处理特征的微处理器一般都支持单指令多数据(SingleInstructionMultipleData,SIMD)的处理结构和处理方法。其做法大致如下:将多个多媒体数据包装整合在一个长字中,用一条指令同时对多个数据进行操作。第87页/共102页8.多处理器系统处理器的基本特征是它可以接受指令并译码执行。为了进一步提高系统的工作速度和工作能力,一些微机系统采用了多处理器结构。例如8088微处理器,当它工作在最大组态时,可以与数值运算协处理器8087或I/O协处理器8089组成主协式的多处理器系统。几个这样的系统还可以通过总线(Multibus)进一步连接成多CPU系统第88页/共102页9.超级程和多核CPU计算机中被加载的程序代码及其所占资源被称为进程(Process),该代码的一段执行轨迹被称为线程(Thread)。每个进程至少产生1个线程,也可产生多个线程。二者的区别是,进程是静态的,线程是动态的;进程占用的系统资源较多,而线程占用的系统资源较少,属于同一进程的线程分享该进程提供的资源。第89页/共102页所谓的“多线程”,是指计算机中同时运行着多个线程。超线程(Hyper-Threading)就是一种多线程,它通过增加处理器中逻辑处理单元,使一个物理处理器可以当多个逻辑处理器来使用,使得多个线程能同时得到执行。这种多线程称为同时多线程(SimultaneousMultiThreading,SMT),与操作系统用时间片来支持的多线程不同。由于这些线程共享该处理器所提供的执行资源(ExecutionResource)第90页/共102页如ALU、FPU、L2Cache等,使得CPU对内部资源的利用率得到很大的提高。例如,Pentium4的一些高端产品具有超线程功能,它可以同时执行两个线程,使CPU对内部执行单元的利用率提高40%,这样CPU就可以在同样的时钟周期内做更多的工作。应该注意,实现这种多线程,需要同时得到CPU、主板、操作系统和应用程序的支持。第91页/共102页为了提高CPU的工作效率,人们还考虑采用多核CPU的方案,即在一个CPU芯片内集成两个或更多的处理器内核,并使它们协同工作。当前,IBM、AMD、Intel公司等都已推出了它们的双核CPU,估计到2005~2006年,多核CPU将取代单核CPU占据市场主流。第92页/共102页此外,TI公司还将ARM微控制器集成到它的DSP产品中,为WAP(WirelessApplicationProtocol,无线应用协议)手机、个人数字助理(PDA)等应用提供了更好的选择。事实上采用多CPU后,可以规避因一味提升工作效率所造成CPU功耗增大和散热因难的局面。第93页/共102页2-

18088一共有根地

温馨提示

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

评论

0/150

提交评论