当指令放在片外存储器里时,可以将CPU最近使用的指令放在I-Cache中,鉴于改善整个系统的性能和低功耗设计的需求。DSP的I-Cache大小设计为8 KB,包括2块存储器,其结构相同,每一块结构如下:

1)数据队列,每个队列包含256行,每行16个字节。当I-Cache错过时,会采用最近最少使用算法(LRU)替换掉最长时间没有使用的行。

2)行有效位队列,每行有一个行有效位,一旦一行装满数据。就置位该行有效位。

3)标签队列,每一行有一个标签域,表明该行的数据的起始地址。当一行填满,相应的标签将存到该行的标签域中。

如果要取的指令字在I-Cache中(命中),I-Cache会直接将其送给DSP。如果要取的指令字不在I-Cache中(错过),I-Cache会通过EMIF从外部存储器接口读取4个32 b的代码块。一旦这个指令字被读到I-Cache中,就送给CPU。

3.2 写后缓冲区的设计

数据在存储器中的存放位置可能不像程序空间那么连续,而且数据空间有读写,对数据空间读写SDRAM进行优化的基本思想是,归并对SDRAM同一行的读写操作。具体来说,包括归并对同一行的多个读操作、归并对同一行的多个写操作,归并对同一行的多个读写操作3种情况,文献提出了这种设计方法,其基本思想是:系统从预取缓冲区(FB,Fetch Buffer)中取数据;写数据时,先写到写归并缓冲区(WCB,Write Combine Buffer);对在FB或WCB中的同一行的读写请求进行归并。但此设计方法是针对有一级Cache的通用微处理器系统,过于复杂,实现代价过高,不适合于本文研究的没有一级数据Cache的DSP,因此这里采用写后缓冲区(Write Post Buffer)的方法,具体设计方法如下:

1)在EMIF中设立一个写后缓冲区,所有对SDRAM的读写请求均送到写后缓冲区,写后缓冲区立即给CPU响应,CPU可以不用等待写操作的结束而继续执行程序。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查