微波EDA网,见证研发工程师的成长! 2025婵犵數濮撮惀澶愬级鎼存挸浜炬俊銈勭劍閸欏繘鏌i幋锝嗩棄缁炬儳娼¢弻鐔告綇閸撗呮殸缂備胶濯崹鍫曞蓟閵娾晜鍋嗛柛灞剧☉椤忥拷04闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晜閽樺缃曢梻浣虹帛閸旀洟骞栭銈囦笉妞ゆ牜鍋為悡銉╂煟閺囩偛鈧湱鈧熬鎷�28闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晝閳ь剛绮eΔ浣虹闁瑰瓨鐟ラ悘鈺冪磼閻欌偓閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸屾矮澹曞┑顔结缚閸樠冣枍瀹ュ洠鍋撶憴鍕;闁告濞婇悰顕€宕堕澶嬫櫌婵犵數濮撮幊澶愬磻閹捐閿ゆ俊銈勮兌閸欏棝姊虹紒妯荤闁稿﹤婀遍埀顒佺啲閹凤拷濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鏌涢锝嗙缂佺姳鍗抽弻鐔虹磼閵忕姵鐏堢紒鐐劤椤兘寮婚妸鈺傚亞闁稿本绋戦锟�
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > cpu的cache都是SRAM做的吗?

cpu的cache都是SRAM做的吗?

时间:12-12 整理:3721RD 点击:
静态的存储器,下次刷新之前保持不变?
它的读写速度为什么要比DRAM高呢,都是晶体管的东西啊,速度优势的原理在哪里?

静态的刷什么新

大多是sram
不全是

从直观猜测,L1 Cache比SDRAM快的原因是:
1)cache一般是CAM(tag)+SRAM(data),L1 cache的clock很快(假定和CPU clock一样),
CAM并行查找,如果cache hit应该一两个CPU cycle就可以就可以得到数据。由于设计在
片内,cache的位宽应该会比较大,应该有多个port以增大带宽。cache在现在的CPU中是
如此重要,所以它是精心设计的,我猜应该不能和一般的SRAM一概而论。比如我提出几
个问题:不同架构同一主频的CPU L1 cache latency是一样的吗? 统一架构同一主频CP
U L1 cache latency是一样的吗?应该是不一样的,除了追求最小的latency,这里应该
还会有一些tradeoff,所以大家都是cache因为设计的不同速度也会有差异。
我们再来看看L1 cache和L2 cache,可以猜测L1比L2快的原因是L1的clock快。但真的只
是这样吗?如果clock是2:1没有其它区别,那是不是说纯粹L2 cache访问时间(不考虑
L1 miss的查找和L2 hit的查找时间)是L1 cache访问时间的两倍?如果再考虑位宽,访
问时间的差异应该在10倍以内?
另外我觉得cache的访问时序不同于有的接在片外的SRAM,那个local bus的SRAM clock
比较慢,而且访问时序上有延时,比如从CS到OE/WE,OE/WE到数据有效一般都有延时,
根本原因应该和片外SRAM工艺(或者功耗)什么的有关?因为片外SRAM本来就不需要那
么快?
2) 由于功耗的原因,SDRAM时钟频率做不上去。另外从时序上看,RAS, RCD,CA
S这些最基本的latency都要好几个DDR cycles。时钟越高一般latency越大。如果运气不
好则需要更多时间。还有SDRAM定期需要autorefresh,这个也要占用不少带宽。可是SD
RAM为什么要设计成这样呢?auto refresh是cost和speed的tradeoff,时钟频率做不
快时考虑到功耗,那为什么行和列要分开呢为什么要这么复杂的时序?是因为要减少pa
ckage的规模吗?根本原因还是工艺或者功耗什么的吗?
3)以DDR2-800为例,DDR CLK=2.5ns;假定CPU L1 cache clock=1G,CPU CLK=1ns,差别是
2.5倍;
估算位宽差别是4倍(256bit vs. 64bit),由于不是每个cycle都有数据,所以差别小于4
估算L1 cache 延时为2 CPU cycles,而DDR2平均访问延时为10 DDR cycles,这样差别是
5倍。
加上autorefresh影响,估算SDRAM和L1 cache访问差别应该在50倍左右?
访问时间的实际测算值,我刚才google了一下,某款CPU+某个SDRAM的测试结果基
本是:
L1 cache latency:0.5ns
L2 cache latency: 7ns
SDRAM latency: 100ns

L2 cache 7ns是一般异步sram的水平
L1 cache 0.5ns是怎么做到的?

鐏忓嫰顣舵稉鎾茬瑹閸╃顔勯弫娆戔柤閹恒劏宕�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top