开发者网络

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 150|回复: 2

嵌入式软件开发中有关 Cache 的那些事

[复制链接]

1

主题

3

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2023-1-8 12:08:43 | 显示全部楼层 |阅读模式
在嵌入式软件开发中,有时候会要求把某一块内存设置为不可缓存 (non-cacheable) 状态,这是为什么呢? 今天的这篇文章带大家简单了解一下嵌入式软件开发中有关 Cache 的知识。
当 CPU 和某一个其它模块 (比如 DMA) 都可以对某一块内存进行操作时 (比如 DMA 的 Descriptor, 其本质就是一块可以被 CPU 和 DMA 操作的内存),就需要把这块内存设置为不可缓存 (non-cacheable) 状态。
这是因为只有 CPU 会使用 Cache, 而其它模块是不会使用 Cache 的。为了确保其它模块从这块内存中读取的信息,确实是 CPU 刚刚写入的信息,就需要让 CPU 不使用缓存,保证它确实即时地把信息写入内存。
除了让 CPU 不使用缓存之外,还有一种替代的办法,就是在每次 CPU 写入内存的时候使用 writeback 操作,这样也可以确保每次 CPU 都可以即时把信息写入内存。
回复

使用道具 举报

2

主题

17

帖子

34

积分

新手上路

Rank: 1

积分
34
发表于 2025-4-20 03:42:06 | 显示全部楼层
撸过
回复

使用道具 举报

0

主题

7

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2025-7-14 09:05:07 | 显示全部楼层
站位支持
回复

使用道具 举报

1

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2025-12-15 05:34:08 | 显示全部楼层
广告位,,坐下看看
回复

使用道具 举报

1

主题

6

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2025-12-15 13:45:51 | 显示全部楼层
……
回复

使用道具 举报

0

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2025-12-17 02:48:37 | 显示全部楼层
为毛老子总也抢不到沙发?!!
回复

使用道具 举报

0

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2025-12-19 17:51:00 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

0

主题

9

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 19 小时前 | 显示全部楼层
楼主呀,,,您太有才了。。。
回复

使用道具 举报

0

主题

10

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2 小时前 | 显示全部楼层
前排,哇咔咔
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|开发者网络

GMT+8, 2026-1-30 19:43 , Processed in 0.100944 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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