ZHCA829G October 2014 – August 2021 MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2013-EP , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2254 , MSP430F2272 , MSP430F2274 , MSP430F2274-EP , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F249-EP , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430F2619S-HT , MSP430FR2032 , MSP430FR2033 , MSP430FR2110 , MSP430FR2111 , MSP430FR2153 , MSP430FR2155 , MSP430FR2310 , MSP430FR2311 , MSP430FR2353 , MSP430FR2355 , MSP430FR2433 , MSP430FR2475 , MSP430FR2476 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , MSP430FR2672 , MSP430FR2673 , MSP430FR2675 , MSP430FR2676 , MSP430FR4131 , MSP430FR4132 , MSP430FR4133 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2230-EP , MSP430G2231 , MSP430G2231-EP , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2302-EP , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2332-EP , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2444 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2544 , MSP430G2553 , MSP430G2744 , MSP430G2755 , MSP430G2855 , MSP430G2955 , MSP430I2020 , MSP430I2021 , MSP430I2030 , MSP430I2031 , MSP430I2040 , MSP430I2041
FRAM 控制器使用具有 64 位行大小的 2 路关联缓存,该缓存可存储预取的指令。FRAM 控制器的功能是根据当前 PC 位置预取四个指令字,这些指令的实际执行在缓存内进行。当到达缓存缓冲区的末尾时,FRAM 控制器会将四个当前字保留在同一缓存行中并提取接下来的四个字。如果在 2 路关联缓存行的末尾遇到代码中断,则刷新缓存并从 FRAM 检索接下来的四个指令字。但是,如果应用代码在到达缓存中的最后一条指令时循环回到缓存中已经存在的位置,则直接从缓存中执行相关指令,而非再次从 FRAM 中提取代码。
只有 FRAM 访问受到 8MHz 访问限制。从缓存执行时,可使用高达 16MHz 的系统时钟。因此,缓存在以下方面很有用:(1) 克服 8MHz 限制并增加平均系统吞吐量以及 (2) 通过确保执行其中大多数指令来降低总有功功率。请注意,这是一个指令专用缓存;所有数据都直接从 FRAM 中提取,不进行缓存。
FR4xx 系列中使用缓存执行指令的方式与 F2xx 系列不同,F2xx 系列中的每条指令都是直接从闪存执行,没有预取和缓存。这种直接执行方法在 MCLK 和指令执行之间提供了一对一的关系。例如,当 MCLK = 16MHz 时,在 16 个时钟内可执行八个双周期指令。对于 FR4xx 系列,这种关系取决于具体应用。MCLK ≤ 8MHz 时,一对一的关系是成立的。当 MCLK > 8MHz 时,插入的等待状态的数量(与 FRAM 访问次数成正比)将决定 MCLK 与指令执行比率。
另外一个应用示例是,当 MCLK = 16MHz 时,JMP $ 指令(单周期)在两个器件中以相同的速率执行。这是因为 FR4xx 会提取一次该指令并存储在缓存中,然后就能够在缓存中以最大 MCLK 速度执行该指令。但是,具有超过八个指令字的循环在每次需要刷新缓存时都必须访问 FRAM。这些 FRAM 访问行为发生在 MCLK / 2 = 8MHz 时,因此与 F2xx 器件相比可降低系统的整体吞吐量。