高性能可扩展指令集计算Word文档格式.docx

上传人:b****7 文档编号:22345011 上传时间:2023-02-03 格式:DOCX 页数:12 大小:22.83KB
下载 相关 举报
高性能可扩展指令集计算Word文档格式.docx_第1页
第1页 / 共12页
高性能可扩展指令集计算Word文档格式.docx_第2页
第2页 / 共12页
高性能可扩展指令集计算Word文档格式.docx_第3页
第3页 / 共12页
高性能可扩展指令集计算Word文档格式.docx_第4页
第4页 / 共12页
高性能可扩展指令集计算Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

高性能可扩展指令集计算Word文档格式.docx

《高性能可扩展指令集计算Word文档格式.docx》由会员分享,可在线阅读,更多相关《高性能可扩展指令集计算Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

高性能可扩展指令集计算Word文档格式.docx

另外一种方式是指在32位RISC结构中所采用的一套紧缩16位指令集。

ARM-7TDMI【14】是指

ARM-7的16位紧缩指令集版本;

TR4101是指MIPS-R3000(【1】,【14】)的16位紧缩指令结构。

这些带16位紧缩指令集的RISCs结构很复杂因为它们需要与此刻的RISC兼容,而且这种版本只能寻址8个寄放器,从而减弱了其性能。

3.扩展指令集

为了详述EISC的指令集,咱们先从现有的一些处置器(特别是MIPS-R3000)的指令集分析开始,为此咱们采用了【15】、语言库【16】、LIBSTDC++语言库【17】和各类测试例程。

这样分析能得出嵌入式微处置器系统的一般特性(其中某些特性是这些处置器共有的)。

16个通用寄放器一般能达到最优。

Load和Store指令利用频繁,而且大部份采用短偏移量寻址

小常数利用频率高

为了更有效地支持这些特性,EISC结构利用16位定长指令系统而且通过扩展偏移量和常数来构造32位指令系统。

同时采取了两项技术来增加代码密度:

构造专用寄放器表来执行push和pop指令;

利用硬件互锁来解决深度管道问题(再也不需要利用许多NOP指令)。

下面,咱们分析MIPS-R3000来讲明EISC主要体系结构的特点。

EISC寄放器

MIPS-R3000有34个32位寄放。

其中2个专门用来“乘和除”;

5个是专用寄放器,用来进行堆栈操作、帧指针和条件码操作;

其余的27个是通用寄放器。

为了研究代码长度和利用的寄放器数量的关系,咱们采用不同数量的寄放器,运用EGCSC/C++编译器产生基于C/C++库和测试例程的代码,而且进行比较。

从表1里,咱们能看到随着通用寄放器数量愈来愈少,代码也变得愈来愈大(咱们把利用27个寄放器的例子定位标准,为100),Load和Store指令的利用频率也在增加。

由于Load和Store指令利用存储器和总线,它们直接影响发送数据的位宽。

咱们可以看到当通用寄放器数量从22减到16时,程序规模和所用的Load、Store指令数量都没

有什么大的转变。

当采用8个寄放器时,寄放器显然太少,此时Load、Store指令几乎加倍。

因此,EISC采用了16个寄放器。

 

No.ofRegs

Programsize

Load/Store

Move

27

%

24

22

20

18

%

16

14

12

10

8

Table-1.Programsizevs.numberof

registersforMIPS-R3000.

Instruction

Frequency

move

lw,sw

nop

addiu

li

lui

sh,sb,lh,lb,lhu,lbu

bnez,bne,beqz,beq,bltz...

j,jal

jr

Addu,subu,and,or,xor,nor,negu

Andi,ori,xori

jalr

slt,sltu,slti,sltiu

sll,srl,sra,sllv,srlv,srav

Mult,multu,div,divu

Break,mfhi,mflo

Table-2InstructionfrequencyofMIPS-R3000

withsixteengeneral-purposeregisters.

Load、Store体系

表2列出了编程时只利用16个通用寄放器的MIPS-R3000CPU所利用的所有指令的频率。

EISC结构有点象RISC结构,它所有的操作都通过寄放器,采用寄放器操作对象,对存储器的访问只通过Load、Store指令。

从表2各类指令出现的频率咱们可清楚地看到在这种情况下(只利用16个通用寄放器),Load、Store结构对处置器性能的影响也已经很小。

其原因是因为采用存储器参数的指令(如addu、Subu、and等)出现的频率很小。

16位定长可扩展指令

从表2中咱们也可得出MOVE指令利用频率最高,达到20-27%。

EISC有16个寄放器,因此需要4bits来表示目的和源寄放器。

这样16bits完全能知足MOVE指令的操作利用。

利用16位定长指令也可简化硬件。

虽然大多数指令(如MOVE指令)都能用16位定长进行操作。

但同时也有另外一些指令像利用当即数的指令(如Load、Store操作)因为受偏移量和常量位数的限制,它不能完全用16位定长进行操作。

其中Load、Store指令的93.5%需要利用32位操作数。

对lw(输入字)和sw(存储字)的特性进行更详细的分析,咱们能够得出大约61%的指令涉及到堆栈指针,大约40%的指令利用索引寄放器。

在后一种情况,有77%只需用3bits偏移量就可表示出来。

Offsetlength

Stackpointer%)

Indexregister

%)

3bit

4bit

5bit

6bit

7bit

Table3Characteristicsof

'

lw'

and'

sw'

instructions

Constantrange

-32--+31

-64--+63

-128--+127

-256--+255

Others

100%

Table4OperandSizeof

‘li’instruction

利用当即数的指令(如li-输入当即数)并超级常利用,仅仅占全数指令的%.另外,从表4咱们可以看出93.6%的指令用8bits表示即可。

这样一来,绝大多数指令可以用短的偏移量或当即数来实现。

这样的情况既适合于像lw(输入字)和sw(存储字)这样的指令,也适合于诸如addiu、slti、sltiu这样的算术指令。

3.4扩展寄放器和扩展标志位

EISC结构利用E标志(扩展寄放器和扩展标志位)从相近的指令中形成长操作数。

E标志是一个集合。

当一个操作数送到32位扩展寄放器(即%ER)时,E标志位置1。

用Leri指令(加载扩展寄放器指令)来实现条件转换,由E-flag进行控制,在扩展寄放器中形成长当即数。

如图1所示。

Load、Store指令利用E-flag来构造有效地址或32位常量。

如图2所示,当E标志位置1时,有效地址=%ER<

<

4+偏移量+索引寄放器。

因为32位Load、Store指令数量很少,所以这种方式对微处置器的性能影响不大。

InstructionMnemonics:

LERI

InstructionFormat:

LERIconstant

InstructionRepresentation:

bit15-14=01

bit13-0=constantdatabit13-0

Operation;

If(Eflagis0)Load%ERwithsignextendedconstant

ELSE%ER=%ER<

14+Constant

SetEflag

Figure1.OperationoftheLERIinstruction

InstructionFunction:

Load/Store

bit15-14=00

bit13-12,7=Operation

000:

signextend8bitloadLDBSRCDST

001:

signextend16bitloadLDSSRCDST

010:

32bitloadLDSRCDST

011:

Zeroextend8bitloadLDBUSRCDST

100:

8bitstoreSTBSRCDST

101:

16bitstoreSTSSRCDST

110:

32bitstoreSTSRCDST

111:

Zeroextend16bitloadLDSUSRCDST

bit11-8=Source/Destinationregister.%R0to%R15.

bit6-4=offsetbit2-0if8bitload/store

=offsetbit3-1if16bitload/store

=offsetbit4-2if32bitload/store

bit3-0=Indexregister.%R0thru%R15.

Effectiveoperandaddress:

EA

Operation:

If(Eflagis0)

EA=Zeroextendoffset+Indexregister

If(Eflagis1)

if(32/16bitload/store)

EA=%ER<

4+Offset+Indexregister

if(8bitload/store)

EA=%ER<

3+Offset+Indexregister

Figure2.OperationoftheLDinstruction

堆栈指针

如表3所示,涉及到堆栈指针的Load、Store指令和涉及到索引寄放器的Load、Store指令需要不同长度的操作数。

对于前一种情况,所需偏移量要超过5位;

而对于后一种情况,大部份指令(大约77%)只需用3位操作数。

正因为如此,32位EISC指令集用7位来表示Load、Store指令的堆栈操作。

在上面的分析实验中,堆栈操作(push和pop)利用频率很高(约%)。

而且当8个寄放器绑定在一路时,push、pop寄放器操作数大约为。

这表明值得加入push、pop表类型的指令。

相对RISC机械来讲,这种方式在CISC结构中更常常利用。

它能减少push、pop指令所用的存储器量,但也带来一些问题。

它影响超标量和深层管道设置。

一个很简单的解决方式就是禁止在这样的设置中的单指令执行多重push、pop指令。

由于不需要完全知足二进制兼容,这种方式完全可行。

从表2可以看出Addiu(当即数加法指令)利用频率是%。

在这些指令当中,堆栈指针利用频率达到35%,而且95%利用7位常数操作码。

所以32位EISC指令集针对堆栈指针概念了7位常数操作码计算能力。

其余指令

如表2所示,条件转移指令利用的频度为%。

在EISC指令集中,通过进位标志位、符号标志位、零标志位和溢出标志位形成14种条件转移指令。

这些指令的偏移量定为9bits,并通过扩展标志位扩展到32位。

也同时可看到,在所有的ALU指令中约48.5%利用二个操作数,%利用三个操作数。

可是,三操作数指令能通过利用MOVE指令和相应的二操作数指令来代替。

在EISC结构中就采取了这种方式。

像乘和减这样的指令用得很少,但它们在多媒体应用中很有效,而且这种指令的性能很大部份取决于操作方式。

EISC用2个32位寄放器(%ML和%MH)来存储乘、减操作的结果。

EISC也可加入一系列的协处置器来完成特别的功能。

每一个协处置器有16个通用寄放器。

“0”协处置器是一个系统协处置器,用来管理缓存、管道和存储器等。

另外一些协处置器用来进行浮点运算和多媒体加速。

协处置器指令位数通过利用扩展寄放器能扩到20位或30位。

4.性能评估

咱们用RCD(相对码密度)来评价EISC结构并现有的微处置器进行比较对比。

RCD概念如下:

32位EISC码密度用来比较的微处置器的程序大小

RCD=―――――――――――=――――――――――――――――――

用来比较的微处置器的码密度32位EISC的程序大小

在这次评估中咱们用一个交叉C/C++编译器,对C/C++库和测试例程别离在32位EISC和现存的微处置器上进行编译测试,然后得出RCD数据如表7所示。

Processor

RCD

32bitEISC

MC88000

MIPS-R3000

MC5200(Coldfire)

TR4101(MIPS-16)

MC68000

MIPS-R4000

MC68332

MIPSTX-39

MC68020

ARM-7

MN10300

ARM-7TDMI(THUMB)

Pentium(I80386)

PowerPC601

I80960

SPARCV8

ARC

SPARCLITE

SH-3

PA-RISC

V850

Alpha-RISC

M32R

Table7.RelativeCodeDensityof32-bitEISC.

TR4101

ARM-7TDMI

Load/Store

Table8Comparisonbetween32bitEISC

and16bitcompressedRISC

从表7,通过比较EISC和现有的微处置器测试结果,咱们可以看出EISC的相对码密度是最高的(即码块最小)。

如,在测试基准例程中,EISC的码密度比MIPS-R3000高66%(采用32位RISC结构测试例程)。

ARM-7与EISC相较,相对码密度达到.

乃至CISC处置器如MC68000、I80386,它们的RCD数字也从到不等。

这说明CISC处置器的程序规模也比EISC的大20%到40%.

与EISCRCD数字最接近的是ARM-7TDMI和TR4101。

它们是16位紧缩RISC处置器。

可是这些结构只能寻址8个通用寄放器,它们加大了Load、Store指令的利用频度,也就相应增加了必需的存储带宽。

如,

TR4101的程序规模比EISC的大7%,Load、Store指令的操作频度却大18%。

这样一来,TR4101就需要比EISC高25%的数据发送率。

对ARM-7TDMI来讲,也需要多30%的数据发送率。

5.结论

这篇文章提出了一种新的结构EISC(可扩展指令集计算机)。

它主要面向嵌入式系统市场。

嵌入式处置器的性能价钱比特别受其存储系统的容量和带宽的影响。

在这方面EISC比现有的处置器有了很大的提高。

通过利用扩展寄放器和扩展标志位,EISC有一套高效的定长16位指令集。

它采取短偏移量和当即数,而且这种短偏移量和当即数通过对扩展标志位的操作可扩展到32位。

利用这套机制,EISC结构能够取得更高的代码密度,相当于现有的RISC处置器140%到220%,比CISC高20%到40%,乃至与诸如ARM-7TDMI这样子的RISC处置器相较,虽然它们利用16位紧缩指令集,EISC的程序规模仍然比其小5%到15%,而且其Load、Store指令利用频率低15%。

因此,EISC结构超级适合于要求代码小、存储带宽低的嵌入式应用系统中。

6.参考文献

[1]ManfredSchlett,"

TrendsinEmbedded-MicroprocessorDesign,"

IEEEComputer,pp.44-50,Aug.1998.

[2]D.Patterson,"

ReducedInstructionSetComputer,"

Comm.ACM,Vol.28,No.1,pp.8-21,Jan.1985.

[3]DezsoSimaetal.,"

SuperscalarInstructionIssue,"

IEEEMicro,pp.28-39,Oct.1987.

[4]B.Giesekeetal.,"

A600MHzSuperscalarRISCMicroprocessorwithout-of-orderexecution,"

ISSCCDigestTech.Papers,pp.176-177,Feb.1997.

[5]C.A.Maieretal.,"

A533MHzBiCMOSSuperscalarRISCMicroprocessor,"

IEEEJournalofSolid-StateCircuits,Vol.32,No.11,pp.1625-1634,Nov.1997.

[6]CharlesF.Webbetal.,"

A400MHzS/390Micro-processor,"

IEEEJournalofSolid-StateCircuits,Vol.32,No.11,pp.1665-1675,Nov,1997.

[7]PaulE.Gronowskietal.,"

High-PerformanceMicroprocessorDesign,"

IEEEJournalofSolid-StateCircuits,Vol.33,No.5,pp.676-686,May1998.

[8]DougBurger,"

LimitedBandwidthtoAffectProcessorDesign,"

IEEEMicro,pp.55-62,Dec.1997

[9]A.Wolfe&

A.Chanin,“ExecutingCompressedProgramsonanEmbeddedRISCArchitecture,”Proceedingsofthe25thAnnualInternationalSymposiumonMicroarchitecture,December1992.

[10]M.KozuchandA.Wolfe,“CompressionofEmbeddedSystemPrograms,”IEEEInternationalConferenceonComputerDesign,1994.

[11]C.W.Fraser,T.A.Proebsting,"

CustomInstructionSetsforCodeCompression"

unpublished,October1995.

[12]C.LefurgyandT.Mudge,"

CodeCompressionforDSP"

CASES'

98,Dec.4-5,1998,.~tnm/compress

[13]C.LefurgyandT.Mudge,"

FastSoftware-managedCodeDecompression"

CASES’99,October1-3,1999,Segarsetal.,"

EmbeddedControlProblems,Thumb,andtheARM7TDMI"

IEEEMicro,pp.22-30,Oct.1995

[14]P.Weicker,"

DHRYSTONEBenchmarkProgram"

CACMVol27,No10,10/84pg.1013.(TranslatedfromADAbyRickRichardson).

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1