[Reminder] 影响EMIF16异步读写性能因素
2013-06-09 23:05
363 查看
Performance degradation for asynchronous accesses caused by an unused feature enabled in EMIF16
Devices affected:
C6671, C6672, C6674, C6678, C6654, C6655, C6657, TCI6602, TCI6604, TCI6608, TCI6612, TCI6614
Revisions: All
Detailed description
Although it supports only asynchronous mode operation on all Keystone ‐I devices, the EMIF16 module
has a legacy ‘synchronous mode’ feature that is enabled by default. While this synchronous mode is
enabled, EMIF16 issues periodic refresh commands that take precedence over asynchronous accesses
commands and stall the execution of the latter until the refresh command is executed. This stall results
in reduced throughput of asynchronous accesses when EMIF16 tries to read or write to the
asynchronous memory. The stall will manifest itself as a long delay between asynchronous accesses.
Workaround:
Programming bit 31 at the 32‐bit address 0x20C00008 to 1 will disable the synchronous mode feature.
*(Uint32*) 0x20C00008 |= 0x80000000; //Disable synchronous mode feature
When the synchronous mode is disabled, EMIF16 will not issue any refresh commands. This will no
longer result in stall cycles between asynchronous accesses and thus the performance will be improved.
This bit affects only the refreshes issued by EMIF16. It does not affect the rest of the device.
Devices affected:
C6671, C6672, C6674, C6678, C6654, C6655, C6657, TCI6602, TCI6604, TCI6608, TCI6612, TCI6614
Revisions: All
Detailed description
Although it supports only asynchronous mode operation on all Keystone ‐I devices, the EMIF16 module
has a legacy ‘synchronous mode’ feature that is enabled by default. While this synchronous mode is
enabled, EMIF16 issues periodic refresh commands that take precedence over asynchronous accesses
commands and stall the execution of the latter until the refresh command is executed. This stall results
in reduced throughput of asynchronous accesses when EMIF16 tries to read or write to the
asynchronous memory. The stall will manifest itself as a long delay between asynchronous accesses.
Workaround:
Programming bit 31 at the 32‐bit address 0x20C00008 to 1 will disable the synchronous mode feature.
*(Uint32*) 0x20C00008 |= 0x80000000; //Disable synchronous mode feature
When the synchronous mode is disabled, EMIF16 will not issue any refresh commands. This will no
longer result in stall cycles between asynchronous accesses and thus the performance will be improved.
This bit affects only the refreshes issued by EMIF16. It does not affect the rest of the device.
相关文章推荐
- redis性能测试以及影响性能的因素
- Erlang open_port极度影响性能的因素
- 第6章 影响 MySQL Server 性能的相关因素
- 影响SqlServer性能的因素分析与解决方法
- 杂谈影响性能的一些因素
- 影响逻辑斯蒂回归性能的因素
- 影响数据库性能的因素以及解决方法
- 影响ASP.NET程序性能的因素
- 影响ActiveMQ性能的几个重要因素
- 影响MapReduce性能的因素
- 响影响MySQL性能的相关因素
- 架构设计中影响性能的因素及解决方案
- mysql优化之影响mysql性能因素一
- 影响java性能的主要因素及调优
- 影响ActiveMQ性能的几个重要因素
- 《统计自然语言处理基础》笔记(4)词性标注 之 作用和影响性能的主要因素
- 影响Linux服务器性能的因素
- Java EE (11) - 影响性能的因素
- 影响mysql数据库性能的因素
- 存储系统性能影响因素(1)---文件系统-----freenas的ZFS和RAID技术