在微控制器尺寸和成本的限制下,M4K内核内部不支持指令高速缓存(I-cache)或数据高速缓存(D-cache)的标准功能。本文重点讨论的一个内容--SRAM接口,这是MIPS32 M4K内核的一个标准功能。
M4K内核SRAM接口基本描述
M4K内核SRAM接口是M4K内核的通用高速存储器接口。它可为指令存储器和数据存储器路径提供低延迟接口,支持单周期和多周期存储器存取。 必须指出,SRAM接口不能直接与外部存储器件连接,若要实现外部存储连接,需使用一个外部存储控制器。必须使用固定映射表(FMT)和SRAM接口,以提供完整的存储器控制逻辑。一种是置于CPU与主存间的高速缓存,它有两种规格:一种是固定在主板上的高速缓存(Cache Memory );另一种是插在卡槽上的COAST(Cache On A StICk)扩充用的高速缓存,另外在CMOS芯片1468l8的电路里,它的内部也有较小容量的128字节SRAM,存储我们所设置的配置数据。还有为了加速CPU内部数据的传送,自80486CPU起,在CPU的内部也设计有高速缓存,故在Pentium CPU就有所谓的L1 Cache(一级高速缓存)和L2Cache(二级高速缓存)的名词,一般L1 Cache是内建在CPU的内部,L2 Cache是设计在CPU的外部,但是Pentium Pro把L1和L2 Cache同时设计在CPU的内部,故Pentium Pro的体积较大。Pentium II又把L2 Cache移至CPU内核之外的黑盒子里。SRAM显然速度快,不需要刷新的操作,但是也有另外的缺点,就是价格高,体积大,所以在主板上还不能作为用量较大的主存。
双模操作
SRAM接口的初始配置称为双模。在这种模式下,指令和数据通道彼此隔离。数据有独立的读写总线(D-SRAM),还有D-SRAM接口控制信号和一个独立的指令侧(I-SRAM)接口,以及其互补I-SRAM控制信号。
双模有助于I-SRAM和D-SRAM接口的同步处理,消除任何可能出现在公用总线接口上的延迟,防止其减缓程序的执行。在这个模式下,内核可达到1.5 DMIPS/MHz的标称性能。双模结构如图1所示。
标准模式
标准模式是标准接口的一个配置选项,在这种模式下,为了节省必须从内核发送的信号总数,I-SRAM和D-SRAM信号合并在一起。除了数据写总线外,D-SRAM接口是完全禁用的,所有数据读周期都自动改变方向,以使用I-SRAM读总线。
在该模式中,内核的平均性能大概是1.2 DMIPS/MHz。然而,由SRAM接口内核暴露的活跃信号总数是122个,比双模节省87个信号。减少接口使用的活跃信号数量,对于成本非常有限、总裸片面积比绝对性能更重要的设计来说,是一种更经济有效的方式。
SRAM接口标准模式如图2所示。