ARM中的预取命令pld的使用
来源:互联网 发布:java保留两位小数输出 编辑:程序博客网 时间:2024/06/06 01:32
ARM中的预取命令pld的使用
http://blog.csdn.net/ce123_zhouwei/article/details/8471614(comment)
Kernel version:2.6.14
CPU architecture:ARM920T
最近在分析ARM Linux的copy_from_user,主要功能由__arch_copy_from_user实现,该函数定义在linux/arch/arm/lib/uaccess.S文件中,使用汇编实现,部分源码如下:
这段代码中用到了预读取指令pld(preload),大写的PLD是一个宏,其定义如下(linux/include/asm-arm/assembler.h):
pld,即预读取指令,pld指令只在armv5以上版本有效。使用pld指令可以提示ARM预先把cache line填充好。pld指令中的offset很有讲究。一般为64-byte的倍数。
功能:cache预读取(PLD,PreLoad),使用pld指示存储系统从后面几条指令所指定的存储器地址读取,存储系统可使用这种方法加速以后的存储器访问。
格式:pld[Rn,{offset}]
其中:
- Rn 存储器的基址寄存器。
- Offset 加在Rn上的偏移量。
0 0
- ARM中的预取命令pld的使用
- ARM中的预取命令pld的使用
- PLD
- ARM中的Ramdisk的使用
- ARM中的Ramdisk的使用
- SOC PLD SOPC CPLD FPGA 的解释
- PLD- FPGA与CPLD的区别
- ARM学习笔记(六)--ARM指令的预取和自修改代码
- Android命令行启动程序-arm命令的使用
- linux-arm间tftp命令的安装、使用
- ARM汇编中的标号使用
- 取余与取模的区别,以及在C++(C#)中的使用
- SoC, PLD, FPGA, ASIC, CPLD, SPLD 的区别
- PLD -Verilog语言中wire与reg的区别
- arm平台的反编译命令
- ARM指令预取的应用---调整DRAM的clock经典代码段
- 在arm平台使用ldd命令
- 在arm平台使用ldd命令
- SqlServer INSTEAD OF UPDATE 视图触发器问题
- oracle自定义函数、存储过程2
- oracle自定义函数、存储过程
- Java外观模式(Facade模式)
- 创建三角形类
- ARM中的预取命令pld的使用
- oracle常用操作1
- IOS开发系列—Objective-C之Foundation框架
- Intent传值的使用
- R语言进行中文分词和聚类
- Struts2中Action的数据如何获取的
- 在Linux里设置环境变量的方法(export PATH)
- oracle常用操作2
- 使用C++11改造muduo