processor register
2016-03-08 13:45
260 查看
In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are (typically) addressed by mechanisms other than main memory and can be accessed more quickly. Almost all computers, load-store architecture or not, load data from a larger memory into registers where it is used for arithmetic, manipulated, or tested, by somemachine instruction. Manipulated data is then often stored back in main memory, either by the same instruction or a subsequent one. Modern processors use either static or dynamic RAM as main memory, the latter often being implicitly accessed via one or more cache levels. A common property of computer programs is locality of reference: the same values are often accessed repeatedly and frequently used values held in registers improves performance. This is what makes fast registers (and caches) meaningful.
Processor registers are normally at the top of the memory hierarchy, and provide the fastest way to access data. The term normally refers only to the group of registers that are directly encoded as part of an instruction, as defined by the instruction set. However, modern high performance CPUs often have duplicates of these "architectural registers" in order to improve performance via register renaming, allowing parallel and speculative execution. Modern x86 is perhaps the most well known example of this technique.[1]
Allocating frequently used variables to registers can be critical to a program's performance. This register allocation is either performed by a compiler, in the code generation phase, or manually, by anassembly language programmer
来源: <http://en.wikipedia.org/wiki/Processor_register>
In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are (typically) addressed by mechanisms other than main memory and can be accessed more quickly. Almost all computers, load-store architecture or not, load data from a larger memory into registers where it is used for arithmetic, manipulated, or tested, by somemachine instruction. Manipulated data is then often stored back in main memory, either by the same instruction or a subsequent one. Modern processors use either static or dynamic RAM as main memory, the latter often being implicitly accessed via one or more cache levels. A common property of computer programs is locality of reference: the same values are often accessed repeatedly and frequently used values held in registers improves performance. This is what makes fast registers (and caches) meaningful.
Processor registers are normally at the top of the memory hierarchy, and provide the fastest way to access data. The term normally refers only to the group of registers that are directly encoded as part of an instruction, as defined by the instruction set. However, modern high performance CPUs often have duplicates of these "architectural registers" in order to improve performance via register renaming, allowing parallel and speculative execution. Modern x86 is perhaps the most well known example of this technique.[1]
Allocating frequently used variables to registers can be critical to a program's performance. This register allocation is either performed by a compiler, in the code generation phase, or manually, by anassembly language programmer
来源: <http://en.wikipedia.org/wiki/Processor_register>
相关文章推荐
- Re-Learn C(The C Programming Language.2Nd)
- 磁盘和文件系统
- 初识Github
- How browsers work(浏览器是如何工作的)
- Android 动态加载 (三) PAK 详解
- 10027---关于<:if>没有<c:else>解决方案
- HBase总结(6)--比较过滤器
- iOS Apps核心对象
- Property Declaration Attributes
- iOS分类和扩展(Categories和Extensions)
- volatile
- 认识View Controller
- Memory Management in Cocoa Program
- CALayer和UIView
- Block和GCD介绍
- iOS并发编程
- Leet Code OJ 102. Binary Tree Level Order Traversal [Difficulty: Easy]
- 初次使用RecycleView报错,Multiple dex files define Landroid/support/annotation/AnimRes;
- 微营销,非常实在有效的技巧方法
- cmstop框架目录设置