高等计算机系统结构_第1页
高等计算机系统结构_第2页
高等计算机系统结构_第3页
高等计算机系统结构_第4页
高等计算机系统结构_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

高等计算机系统结构

主存与存储管理系统

MainMemory&MemoryManagement

(第六讲)

程旭

2010.5,10

北京大学计算机科学技术系北京大学微处理器研究开发中心

存储系统的扩展图示

北京大学计算机科学技术系北京大学微处理器研究开发中心

微处理器-主存(DRAM)的延迟差距

1000Proc

60%/yr.

100Processor-Memory

PerformanceGap:

(grows50%/year)

10

DRAM7%/yr.

Or-CIC0Vg9Z86OLCMC0bg9Z86O

00CO88888880066666666660

665555G55666666666660

T-Y-T-T-T-LT-LLT-LLLVT-LLLT-LCM

Time

主有系统的性能

°延迟(Latency):主要与Cache的性能相关

•访问时间(accesstime)

•周期时间(cycletime)

°带宽(Bandwidth):主要与I/O的性能相关

•带宽对Cache的性能也很重要(L2・Cache)

°提高带宽比减低延迟容易些

°在系统级(板级)提高存储系统性能受限制

°在芯片内部提高存储系统的性能

北京大学计算机科学技术系北京大学微处理器研究开发中心

主存性能

简单:CPU、Cache、总线和主存同宽(32或64位)

宽度:CPU/Mux1个存储字;Mux/Cache、总线和主存N个存储字(Alpha:64位&

256位;UtraSPARC512)

交叉(Interleaved):CPU^Cache和总线1个存储字:存储器N个存储体(4模);示

例为字交叉(wordinterleaved)

第一种解决方案第二种解决方案第三种解决方案

高带宽DRAM存储器和Cache之间宽数据通路存储模块交叉访问

北京大学计算机科学技术系北京大学微处理器研究开发中心

增加带宽交叉访问(Interleaving)

北京大学计算机科学技术系北京大学微处理器研究开发中心

主存性黄巨

°时序模型(字长32位)

•1个周期发送地址,

•6个周期访问时间,1个周期发送数据

•Cache块为4个字

°SimpleM.P.=4x(1+6+1)=32

°WideM.P・=1+6+1=8

°InterleavedM,P.=1+6+4x1=11

M*"JUdrmI网"外AuMrwRd**

10IIB||14II15II

独立存储体

°独立访问与顺序访问的存储体

•多处理器

•I/O

•CPU(HitundernMisses,非阻塞Cache)

°超体CSuoerba*):包含若干Bank,支持同时的多路访问

°俄攵皿2:所有的存储器在单块传输中都活跃

°体数为多少?

体数>一个体中访问存储字所需的时钟数

•春春支持顺序访问'否则在上一次访问完成之前'就会再次访问原存

•(就像向量处理的方式)

G-一."—Superbankoffset

Superbanknumber5-——

banknumberbankoffset

北京大学计算机科学技术系北京大学微处理器研究开发中心

避免体冲突

°程序

intx[256][512];

for(j=0;j<512;j=j+1)

for(i=0;i<256;i=i+1)

x[i][j]=2*x[i][j];

°即使有128个体,由于512是128的倍数,字访问时还会出现冲突

°软件:循环交换或声明数组大小不是2的幕次(数组填充[Arraypadding])

°硬件:质数存储体

•体号=地址mod体数

・体内地址=地址mod体内字数

•体号〈体数

•体内地址V体内字数

•地址V体数*体内字数

・体数和体内字数互质

北京大学计算机科学技术系北京大学微处理器研究开发中心

快速体号

0中国余数定理

整数ai和bi满足下列规则:

bi=xmod0<bi<ai,0<x<aoxalxa2x...

并且如果iwj时ai和aj互质,那么整数x只有唯一结果(确定映射):

•体号=b0,体数=a0(本例为3)

・体内地址=体内字数=叫(本例为8)

•N个字编址为0到N・1,质数体数,字数为2的塞次

Seq.InterleavedModuloInterleaved

BankNumber:012012

Address

00128

withinBank:7345911617

267818

10

3910111911

412131412"420

51516172113

618192062214

721222315723

北京大学计算机科学技术系北京大学微处理器研究开发中心

存储技术

°静态存储器:SRAM、RegisterFile

°动态存储器:DRAM、SDRAM、DDR和RAMbus

°主存系统体系结构研究

0存储管理系统介绍与回顾

。总结

北京大学计算机科学技术系北京大学微处理器研究开发中心

随机存储器(RAM)技术

°为什么计算机设计人员需要了解RAM技术?

•处理器的性能通常受到存储器带宽的限制

•随着集成电路密度的增加,一些存储器将和处理器集成在同

一芯片上

-片载存储器来满足特殊需求

-指令cache

-数据cache

-写缓冲器

°为什么不用触发器技术来实现RAM?

•密度:RAM需要更高的密度

北京大学计算机科学技术系北京大学微处理器研究开发中心

将态RAM单元

6管SRAM单元

word

(行选)

°写操作:

1.驱加立线(bit)

2.选择行

°读操作:

1.对两条位线预充电,使得bitnVdd

2.选择行

3.存储单元将一条线拉为低_

4.列上的信号放大器检测bit和市之间的差异

北京大学计算机科学技术系北京大学微处理器研究开发中心

典型的SRAM组织:16字x4位

Din3Din2DiniDinO

WrEn

Precharge

WrDriver&IWrDriver&IWrDriver&IWrDriver&

Precharger/PrechargerJPrechargerJPrecharger

AAo

d

d

r

e

sA

s

D

e

cA2

o

d

e

rA

Word15

SRAMSRAMSRAMSRAM

CellCellCellCell

SenseAmpSenseAmpSenseAmpSenseAmp

Dout3Dout2Dout1Dout0

北京大学计算机科学技术系北京大学微处理器研究开发中心

寄存器堆所用的单端口(写)SRAM单元

SelA

一SelB

SelW

aw

°为了将新值写入存储单元:

•我们需要同时驱动两边

•每次只能写入一个存储字

°增设另外一对位线(W和市)

•可以同时进行读和写

北京大学计算机科学技术系北京大学微处理器研究开发中心

双读端口、单写端口的寄存器堆

busW<31>busW<l>busW<0>

WrEn

WrDriver+WrDriver+

A

d/Ra

d/

r

e5

s

s

D,Rb

e/

c5

o

d

e

r/Rw

/

5

北京大学计算机科学技术系北京大学微处理器研究开发中心

典型SRAM的逻辑

2Nwords

N

WE_LxMbitI

।「A

OE_L

一加SRAM

°写使能信号通常是低电平有效(WE_L)

°Din和Dout是结合在一起的:

•需要一个新的控制信号一输出使能信号(OE_L)

•WE_L有效(Low),OE_L禁止(High)

-D为数据输入

•WE_L禁止(High),OE_L有效(Low)

-D为数据输出

•WE_L和OE_L都有效:

-曷果不确定.千万不要这样做!!!

北京大学计算机科学技术系北京大学微处理器研究开发中心

典翘的SRAM时序

^7^—>2Nwords

WE_LxMbit

OE_L:SRAMI/

-•M

WriteTiming:ReadTiming:

DDataInDataOutXJunk]DataOut

II

AWriteAddressJunkReadAddresseadAddress

-

-

-

OE_L;-

1

WEIL

LWrite31r

1HoldTimeReadAccessReadAccess

TimeTime

WriteSetupTime

北京大学计算机科学技术系北京大学微处理器研究开发中心

进一步分析SRAM单元

6管SRAM单元

word

(行选择)

°通常SRAM具有许多存储字(行)

•位线(bitlines)就很长,因而也就具有较大的电容

•晶体管N1、N2、P1和P2就必须非常小

°晶体管N1、P1没有足够的能量来快速驱动位线(Bit):

•需要增设一个信号放大器(senseamplifier)来比较Bit和Bit

北京大学计算机科学技术系北京大学微处理器研究开发中心

SRAM的问题

°六个晶体管需要较多的芯片面积

°假设在某单元中存储“0”:

•晶体管N1将试图将旦t拉为0

・晶体管P2将试图将Bit为1

°但是由于这些位线在预充电时都将置为高:那么是否必须需要

P1和P2?

北京大学计算机科学技术系北京大学微处理器研究开发中心

SRAM的问题(续)

Select=1

N1的门电容

当将入“0”到这个

单元时,置为高

N1On

在下一次写入之前,P2将

一直保持为高_工士

bit=1—一bit=O

P型晶体管(P2)具有三个功能:

•在读操作期间,将前线驱动为高(Select=1)

•在下一次写操作之前,保持N1的门一直在高电平_

•在读操作期间,防止N1的门电容将它的所有电荷都泄漏给前

北京大学计算机科学技术系北京大学微处理器研究开发中心

4管RAM单元RowSelect

o读操作:_

•1.对b预充电,使得bnVdd

•2.选择行

•3.感应、在读取数据期间,

•4.放大数据/消耗掉的电荷,必

•5.写I须被恢复

o刷新:

・假读周期・优i点・

写操作:・''载小:取消了2个负载

•1.驱动位线(bitlines)设备和1个供电端

•2.选择行•缺点.

•'抽加了刷新周期

•降低了抗干扰能力

北京大学计算机科学技术系北京大学微处理器研究开发中心

单管单元

°写操作:行选择

•1.驱动位线

•2.选择行,

°读操作:1I—

•1.预充电,使得位线nVdd二二

•2.选择行工

•3.单元和位线共享电荷位线一

-在位线上只有非常小的电压变化

•4.感应(非常奇妙的感应放大器)

-可以检测到大约一百万电子伏特的变化

•5.写:恢复电压值

°刷新

•1.仅仅需要对每个单元进行一次假读操作

北京大学计算机科学技术系北京大学微处理器研究开发中心

DRAM引论

DynamicRAM(DRAM):

•需要刷新

­密度非常高

•耗电非常低(工作时0・1~0.5W,

等待(standby)0.25~10mW)

•每位的成本非常低

•管脚敏感:D

-输出使能(OutputEnable:OE_L)

-写使能(WriteEnable:WE_L)

-行地址过滤(Rowaddressstrobe:ras)

-列地址过滤(Coladdressstrobe:cas)

北京大学计算机科学技术系北京大学微处理器研究开发中心

传统的DRAM组成

位线(数据)

每个交叉点代表一个单

管DRAM单元

器RAM单元阵列

RAMCellArray

字选择(行选择)

列选择器&I/O电路列地址

行地址

°行和列地址在一起:

数据•每次选择一位

北京大学计算机科学技术系北京大学微处理器研究开发中心

典型的DRAM组成

典型DRAMs:并行访问多位

•例如:2MbDRAM=256Kx8=512行x512歹Ux8位

•行和列地址并行作用于所有8个位面(planes)

北京大学计算机科学技术系,DvO>北京大学微处理器研究开发中心

典型DRAM的逻辑框

RASJMCASLWE^l|OE_L

A/256Kx8

9DRAM

控制信号(RAS_L,CAS_L,WE_L,OE_L)都是低电平有效

Din和Dout合痛一起(D):

•WE_L有效(低),OE_L禁止(高)时,

-D作为数据输入管脚

•WE_L禁止(高),OE_L有效(低)

-D作为数据输出管脚

°行和列地址共享相同的一组管脚(A)

•RASL变成低:管脚A被锁定为行地址

•CASL变成低:管脚A被锁定为列地址

北京大学计算机科学技术系北京大学微处理器研究开发中心

与操作定时

DRAMRAS_I|QCAS^LWE^j_L

当RAS_L有效时,

A/个256Kx8/

所有DRAM开始访问

9DRAM8

DRAM写时钟周期

RAS_L

CAS_Li>I

_i______।__________i|______________iV

AXRow.dressXcjolAddressXJunkjXRow%ddA

=i~।1=I

।1-।L

WE_L।I

_________i______V

DJinjkA

DataInT

WRAccessTimeWRAccessTime**

EarlyWrCycle:WE_LassertedbeforeCAS_LLateWrCycle:WE_LassertedafterCAS_L

北京大学计算机科学技术系北京大学微处理器研究开发中心

读操作定时

DRAMWE.J1°*_L

当RAS_L有效时,

A/个256Kx8_/

所有DRAM开始访问

9DRAM8

DRAM读时钟周期

RASL

CAS_L

ressCplAddress

OEL!~\L_

一]____•

DHi以ZXJuhiHichZ

'ReadAccess!OutputEnable

iTimeDelay

EarlyReadCycle:OE_LassertedbeforeCAS_LLateReadCycle:OE_LassertedafterCAS_L

北京大学计算机科学技术系北京大学微处理器研究开发中心

DRAM读操作定时

DRAMRead

PrechargePrecharge

RASRASActiveRASActive

CAS

Address

Bus

WE

Data

Bus

北京大学计算机科学技术系北京大学微处理器研究开发中心

周期时间与访问周期

一周期时间,

访问时间I时间

DRAM(读/写)周期时间>>DRAM(读/写)访问时间

DRAM(读/写)周期时间:

•我们可以以多快的频率来开始进行存储访问?

•比喻:我们只能在4x的年度的夏天,才能收看到奥运会足球赛

DRAM(读/写)访问时间:

•一旦我们开始进行访问,那么要过多长时间可以获得数据?

•比喻:在奥运会期间,一旦我们想看,最多等一天就可以收看

到下一场比赛

DRAM的带宽限制:

•比喻:如果我们2002年还想看新的世界级足球比赛?

北京大学计算机科学技术系北京大学微处理器研究开发中心

计算机中的主存系统

S7

输入/黜,

图册系第

北京大学计算机科学技术系北京大学微处理器研究开发中心

主有访问过程

A:TransactionrequestmaybedelayedinQueue

B:TransactionrequestsenttoMemoryController

C:TransactionconvertedtoCommandSequences

(maybequeued)

D:Command/sSenttoDRAM

Ej:RequiresonlyaCASor

E2:RequiresRAS+CASor

E3-RequiresPRE+RAS+CAS

F:TransactionsentbacktoCPU

“DRAMLatency"=A+B+C+D+E+F

北京大学计算机科学技术系北京大学微处理器研究开发中心

NeedforErrorCorrection!

°Motivation:

・Failures/timeproportionaltonumberofbits!

•AsDRAMcellsshrink,morevulnerable

°Wentthroughperiodinwhichfailureratewaslowenoughwithouterror

correctionthatpeopledidn'tdocorrection

•DRAMbankstoolargenow

•Serversalwayscorrectedmemorysystems

°Basicidea:addredundancythroughparitybits

•Commonconfiguration:Randomerrorcorrection

SEC-DED(singleerrorcorrect,doubleerrordetect)

Oneexample:64databits+8paritybits(11%overhead)

•Reallywanttohandlefailuresofphysicalcomponentsaswell

OrganizationismultipleDRAMs/DIMM,multipleDIMMs

WanttorecoverfromfailedDRAMandfailedDIMM!

“Chipkill,,handlefailureswidthofsingleDRAMchip

北京大学计算机科学技术系北京大学微处理器研究开发中心

DRAM技术的发展口

□「

Throughputvs.Latency一

Structural

Modifications

Targeting

Latency

Conventional

DRAM

(Mostly)StructuralModifications

TargetingThroughputVCDRAM

InterfaceModifications匚)

TargetingThroughput

口口

Rambus.DDR/2FutureTrends

北京大学计算机科学技术系北京大学微处理器研究开发中心

快速页模式(FastPageMode,FPM)DRAM

常规DRAM组成:

•N行xN歹(IxM位

•同时读和写M位

•每M位访问需要一个RAS/

CAS周期

FPMDRAM列地址,.

万r

•NxM锁存器来保存一行—k—Nil*1

T

°在读取一行到寄存器后DRAM,行地址

•仅仅需要CAS来访问该行中N

的其他M位存储块(bank)1

•在保持有效,同时

RAS_L位输出]

CAS「不断变化M位

北京大学计算机科学技术系北京大学微处理器研究开发中心

EDODRAM(ExtendedDataOut)

EDORead(20%—40%性能提升)

RASRASActive

CAS

Address

Bus

WE

Data

Bus

EDODRAM性能指标:5-2-2-2at66MHz

北京大学计算机科学技术系北京大学微处理器研究开发中心

BurstEDODRAMRowAccess

ColumnAccess

TransferOverlap

DataTransfer

CAS

Address

RowColumn

AddressAddress

ValidIValidValid:Valid

DataLDatatData*Data

北京大学计算机科学技术系北京大学微处理器研究开发中心

SDRAM(SynchronousDRAM)

基于DRAM的技术(CAS、RAS,etc)

°允许在一个DIMM中包含多个BANK

•DIMMSDRAM168pin增加了baO、ba1两个管脚

°与CPU或芯片组使用同步时钟信号

°五组控制信号,可组成多种命令MAML(IUNCIION)cyRASICASfWLIDOMADDRDQsNOTES

COMMANDINHIBIT(NOP)HXXXXXX

•CS:chipselectNOOPERATION(NOP)LHHHXXX

•RAS:rawaddressselectACTIVE(Selectbankandactivaterow)LLHHXBaMRowX3

:READ(SelectbankandcolumnandstartREADburst)LHLHXBamotolX4

•CAScoladdressselectWRITE(SelectbankandcolumnandLHLLXB«<olValid4

•WE:writeenablestartWRITEbast)

BURSTTERMINATELHHLXXActive

•DQM:outputenablePR6CHARGE(Deactvaterowmbankorbanks)LLHLXCodeX5

AUTOREFRESHaLLLHXXX6.7

°更好的支持Burst方式SELFREFRESH(Enterselfrefreshmode)

LOADMODEREGISTERLLLLXOpcodeX2

-一--

°可编程设置模式:WriteEnable/OutputEnable-LActive8

WMMnhM/OuWHgh-Z----H-High-28

•Bustlength,sequence...

北京大学计算机科学技术系北京大学微处理器研究开发中心

SDRAM(SynchronousDRAM)

SDRAMModeRegister

BAA10A9A8A7A6A5A2A0

Address

Bus

ModeRegister

BurstLength

/ll/l0/9/8/7/6/5/4/3/2/1/0/

M2M1MOM3=0M3=1

ReservecfWBOpModeCASLatencyBTBurstLength

/00011

00122

M3BurstType

M9WrrteBurstMcxie01044

ProgrammedBurstLength□Sequential01188

Interleaved

SingleLocationAccess□100ReservedReserved

101ReservedReserved

M6M5M4CASLatency

110ReservedReserved

0Reserved

M8M7M6MoOperatingMode

温馨提示

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

评论

0/150

提交评论