首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > 嵌入式系统中的CACHE问题

嵌入式系统中的CACHE问题

资料介绍
嵌入式系统论文

嵌入式系统中的CACHE问题
摘要:描述了在实时嵌入式系统开发中遇到的与CACHE有关的问题。对引起这些问
题的原因——CACHE和RAM的不一致性进行了讨论。最后,提出了解决问题的方法

    关键词:嵌入式实时系统 CACHE 不一致性
随着社会的发展、人们生活水平的提高,人们对嵌入式计算机应用的要求也越来越高
。因此,对嵌入式系统的性能要求也越来越高。明显体现在嵌入式系统的CPU速度的
不断提高上。但问题也随之而来,嵌入式CPU的主频不断地提高,一方面加强了CP
U的处理能力,另一方面,在速度上造成了与慢速的系统存储器极不相配的情况,从而
影响了整个系统的性能。
为了解决这个问题,引入了CACHE技术。CACHE是一种高速缓冲存储器,是
为了解决CPU和主存之间速度不匹配而采用的一项重要技术。通过在主存和高速CP
U之间设置一个小容量的高速存储器,在其中存放CPU常用的指令和数据,CPU对
存储器的访问主要体现在对SRAM的存取,CPU可以不必加等待状态而保持高速操
作。
采用CACHE技术,解决了CPU与主存之间速度不匹配的问题;但它又带来了一
些其它问题,如本文将提到的一致性问题。
1 问题的发现与原因
在进行某嵌入式系统项目的开发过程中,有一个环节需要使用DMA方式进行数据传
输。当程序运行后,发现传到目的地的数据块中经常会有一些错误的字节。如:数据本
应为00 01 02 03 04 05 06 07 08 09 0A 0B
...(16进制),结果却是00 01 02 03 00 00 00 00 08
09 0A 0B
...。在某些环节也出现了类似的问题。例如,通过HDLC通道向外发送数据,发
送的总是缓冲区初始化时的内容,实际要发送的数据总是发不出去,但使用调试工具看
内存中的数据,却是正确的。
经过一段时
嵌入式系统中的CACHE问题
本地下载

评论