1 存储器访问速度
微处理器,RISC一般有32个32位寄存器,共128字节,访问时间几个ns;
片上cache存储器的容量8~32KB之间,访问时间大约为10ns;
高性能桌上系统可能有第2级片外cache,几百KB,访问时间几十ns;
主存储器可能是几MB到几十MB的动态存储器,访问时间大约100ns;
后援存储器,通常是硬盘,几百MB到几个GB,访 问时间为几十ms;
2 片上存储器
片上RAM:简单便宜功耗低
片上RAM使程序员能根据对将来处理工作量的了解来划分RAM的空间;
3 cache
cache:有不确定的行为,可能难以保证中断响应时间;
对于程序员来说,cache是透明的,自动决定保存哪些数据,覆盖哪些数据。
1)统一的cache
指令和数据使用同一个cache,根据当前程序的需要自动调整指令在cache
存储器中的比例,比固定划分有更好的性能;
2)分开的cache
指令和数据分开,是load/store指令能单周期执行;
3)cache的性能
依赖于存储器访问中不能由访问cache来完成的比例;
命中hit/未命中miss,期望miss只占百分之几;
4)替换策略
随机存放
最近未使用LRU
循环(周期)
4)写策略
写直达:直接写入主存储器,主存随时更新,但微处理器需要降频
带缓冲的写直达:高速写入写缓冲器,写缓冲器降频写入主存储器;
写回法:只更新cache,cache需要用一个脏位dirty bit记录是否被修改;
新的数据要调入到一个已脏的cache行,需要先把这个行写入主存;