找回密码
 立即注册
查看: 122|回复: 9

指令在 i-Cache 里面运行, STC32G144K246, 64MHz / 72M / 90M / 100M / 120M

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-10-22 07:55:32

789

主题

1万

回帖

1万

积分

管理员

积分
19994
发表于 6 天前 | 显示全部楼层 |阅读模式
STC32G144K246 的内部 Flash的速度是 33MHz ~ 40MHz:
1,  用高速的 i-Cache 运行程序;
2,用 WTST 寄存器设置 取程序的等待时间
      64MHz,   等1,FLASH/32MHz;
      90MHz,   等2,  Flash/30MHz;
      100MHz, 等2,  Flash/33MHz;
      120MHz, 等3,  Flash/30MHz;
如有异常现象,多增加一个时钟等待

指令在 i-Cache 里面运行时,
按每条指令的实际执行时钟数=指令时钟数运行,
时钟频率越高,速度越快

https://www.stcaimcu.com/data/do ... t/STC32G144K246.pdf

截图202510171319037977.jpg

截图202510171319389074.jpg



回复

使用道具 举报 送花

3

主题

1859

回帖

566

积分

等待验证会员

积分
566
发表于 6 天前 | 显示全部楼层
针对您关于 STC32G144K246 微控制器在高主频下运行程序时涉及 i-Cache 与 WTST 设置的说明,以下为专业角度的分析与建议。

一、i-Cache 的作用与运行机制

STC32G144K246 内部集成 指令缓存(i-Cache),其作用是缓存从 Flash 中读取的指令,以减少因 Flash 访问速度限制而引入的等待周期,从而提升 CPU 的指令执行效率。

在无 i-Cache 的情况下,CPU 每次取指都需要访问 Flash。由于 Flash 的访问速度受限(STC32G144K246 的 Flash 最高频率约为 33MHz ~ 40MHz),当主频超过 Flash 的访问能力时,必须插入等待周期(Wait States)以确保取指的稳定性。

而启用 i-Cache 后,指令首次从 Flash 读取后会被缓存到高速缓存中,后续执行相同指令时可以直接从 i-Cache 中读取,从而显著减少 Flash 访问次数,提高指令执行效率。

二、主频与 Flash 速度不匹配时的等待周期设置(WTST)

由于 Flash 的访问频率限制,当主频高于 Flash 的最大访问频率时,需要通过 WTST 寄存器 设置适当的取指等待周期,以保证程序运行的稳定性。

根据 STC32G144K246 的数据手册,建议设置如下:

| 主频(MHz) | WTST 设置 | 等效 Flash 访问频率(MHz) |
|-------------|-----------|-----------------------------|
| 64          | 1         | 32                          |
| 90          | 2         | 30                          |
| 100         | 2         | 33.3                        |
| 120         | 3         | 30                          |
注:Flash 的访问频率 = 主频 / (WTST + 1)

在设置 WTST 时,应确保 Flash 的访问频率不超过其最大支持频率(通常不超过 40MHz)。若发现系统运行不稳定或指令执行异常,建议适当增加等待周期(即 WTST 值)以提高稳定性。

三、i-Cache 运行模式下的指令执行效率

当程序运行在 i-Cache 模式 下时,CPU 执行指令的速度不再受限于 Flash 的访问速度,而是取决于 CPU 的主频与指令本身的执行周期数。

因此:
每条指令的实际执行时间 = 指令周期数 × 1 / 主频
主频越高,执行速度越快

但需注意:虽然 i-Cache 可以显著提升执行效率,但在以下场景中仍可能触发 Flash 访问:
首次执行某段指令
指令不在缓存中(Cache Miss)
缓存被清空或刷新(如跳转到未缓存区域)

此时仍需依赖 WTST 设置的等待周期,确保 Flash 访问的稳定性。

四、优化建议

1. 启用 i-Cache:建议在系统初始化阶段开启 i-Cache,以提升整体执行效率。
2. 合理配置 WTST:根据当前主频设置合适的等待周期,避免因 Flash 速度不足导致取指失败。
3. 测试与调试:在不同主频下运行系统,观察是否有异常(如死机、跑飞、指令执行错误等),如有异常可适当增加 WTST 值。
4. 优先使用高频稳定模式:若对性能要求极高,建议选择主频在 Flash 支持范围内的运行模式(如 100MHz 时 Flash 实际访问频率为 33.3MHz,接近其上限)。
5. 代码布局优化:将高频调用的函数或中断服务程序安排在 Flash 的连续地址空间,提高 i-Cache 命中率。

五、参考资料
STC32G144K246 数据手册  
  https://www.stcaimcu.com/data/download/Datasheet/STC32G144K246.pdf

六、结语

综上所述,在 STC32G144K246 上使用 i-Cache 并合理配置 WTST 寄存器,可以在保证系统稳定性的前提下,充分发挥 CPU 的性能潜力。建议用户在实际开发中根据具体应用场景进行优化与测试,以达到最佳的运行效果。

如需进一步技术支持或代码示例,欢迎继续交流。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-10-22 07:55:32

789

主题

1万

回帖

1万

积分

管理员

积分
19994
发表于 6 天前 | 显示全部楼层
截图202510171317296449.jpg


截图202510171317576509.jpg


截图202510171320377560.jpg


回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-10-22 07:55:32

789

主题

1万

回帖

1万

积分

管理员

积分
19994
发表于 6 天前 | 显示全部楼层
截图202510171323046710.jpg

截图202510171321553079.jpg


截图202510171322313903.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:449
  • 最近打卡:2025-10-22 07:40:40

26

主题

82

回帖

2663

积分

金牌会员

积分
2663
发表于 6 天前 | 显示全部楼层
这个FLASH的速度还能提高吗
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-10-22 07:55:32

789

主题

1万

回帖

1万

积分

管理员

积分
19994
发表于 6 天前 | 显示全部楼层
提高 i-Cache,不需要提高 Flash 了
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-10-17 18:13:33

2

主题

207

回帖

1218

积分

金牌会员

积分
1218
发表于 6 天前 | 显示全部楼层
神*** 发表于 2025-10-17 17:10
提高 i-Cache,不需要提高 Flash 了

i-Cache的容量有多大,100MHz下2个等待时钟能不能在工业环境中长期稳定运行
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-10-22 07:55:32

789

主题

1万

回帖

1万

积分

管理员

积分
19994
发表于 6 天前 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-10-21 19:21:42
已绑定手机

0

主题

7

回帖

44

积分

新手上路

积分
44
发表于 3 天前 | 显示全部楼层
国芯人*** 发表于 2025-10-17 10:33
针对您关于 STC32G144K246 微控制器在高主频下运行程序时涉及 i-Cache 与 WTST 设置的说明,以下为专业角度 ...

可以列举几种可行的代码布局优化方案吗,不太懂怎么安排在FLASH的连续地址空间
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:138
  • 最近打卡:2025-10-23 00:04:46
已绑定手机

0

主题

23

回帖

682

积分

高级会员

积分
682
发表于 昨天 00:05 | 显示全部楼层
学习学习
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-10-23 04:43 , Processed in 0.132514 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表