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

Cache在嵌入式处理器中的使用问题

资料介绍
Cache在嵌入式处理器中的使用问题
随着嵌入式计算机应用的发展,嵌入式CPU的主频不断提高,这就造成了慢速系统存
储器不能匹配高速CPU处理能力的情况。为了解决这个问题,许多高性能的嵌入式处理器
内部集成了高速缓存Cache。其中,三星公司的S3C44B0X内部就集成了8
KB空间统一的指令和数据Cache。

  Cache即高速缓冲存储器,是位于CPU与主存之间一种容量较小,但速度很高的存储
器。由于CPU在进行运算时,所需的指令和数据都是从主存中提取的,而CPU运算速度要
比主存读写速度快得多,这样极其影响整个系统的性能。采用Cache技术,即在Cache中
存放CPU常用的指令和数据,然后将这些数据和指令以一定的算法和策略从主存中调入,
使CPU可以不必等待主存数据而保持高速操作。这样就满足了嵌入式系统实时、高效的要
求。但Cache的使用也带来了一致性的问题,在应用中应特别注意。

1 Cache一致性问题的发现

  本项目的目标板为:处理器采用ARM芯片S3C44B0X,存储器采用2片Flash和1片SDRA
M,在调试的时候输入采用键盘,输出采用显示器,用RS232串口实现通信。

  在项目的开发过程中,经软件仿真调试成功的程序,烧入目标板后,程序却发生异
常中止。通过读存储器的内容发现,程序不能正常运行在目标板上,是因为存储器中写
入的数据与程序编译生成的数据不一致,总是出现一些错误字节。

  经过一段时间的调试发现,只要在程序中禁止Cache的使用,存储器中写入的数据将
不再发生错误,程序可以正常运行,但速度明显减慢。经过分析,认为问题是由于Cach
e数据与主存数据的不一致性造成的。

  Cache数据与主存数据不一致是指:在采用Cache的系统中,同样一个数据可能既存
在于Cache中,也存在于主存中,两者数据相同则具有一致性,数据不相同就叫做不一致
性。如果不能保证数据
Cache在嵌入式处理器中的使用问题
本地下载

评论