简介:随着CPU速度的迅速提高,CPU与片外存储器的速度差异越来越大,匹配CPU与外部存储器的方法通常是采用Cache或者片上存储器。微处理器中的片上存储器结构通常包含指令Cache、数据Cache或者片上存储器。对于嵌入式设备上数据密集的应用,数据Cache与片上存储器相比存在以下缺陷:①片上存储器是固定的单周期访问,可在设计时(不是运行时)研究数据访问模式;而Cache还要考虑不命中的情况,因而有可变的数据访问时间,执行时间的预测更加困难。②使用Cache执行时间的不可预测性影响编译器的优化。③细颗粒的Cache对于图像编码等的规则数据访问并不合适,因而使用Cache对于嵌入式设备可能不是最优的。对于大多数应用,使用片上存储器比使用数据Cache能耗平均节省约40%,芯片面积与时间的乘积仅为Cache的46%,因而对于嵌入式多媒体处理器,片上RAM作为数据Cache的替代,功耗更低。片上存储器的有效使用对于提高嵌入式应用的速度、降低功耗具有重要的意义。
简介:在8051体系中,数据指针DPTR作为一个特殊的16位寄存器,用于寻址64KB的XDATA或CODE空间,通常它被当作一个16位指针,指向一个常数表。双数据指针可以改善同时有两个16位指针使用时的性能。作为一种增强特性,有许多8051派生型器件支持双数据指针。以宏晶科技STC89系列的产品为例,DPTR被增强为DPTR0和DPTR1两个,仍然使用原来的地址,用另外一个SFRAUXR1的0位DPS来切换。当DPS位为0时,所有对DPTR的操作使用DPTR0;当DPS位为1时,所有对DPTR的操作使用DPTR1。这样,通过一个简单的INCAUXR1指令,就可以来回切换两个数据指针。