Results 1 - 10
of
3,012
Storageless Value Prediction Using Prior Register Values
, 1999
"... This paper presents a technique called register value prediction (RVP) which uses a type of locality called register-value reuse. By predicting that an instruction will produce the value that is already stored in the destination register, we eliminate the need for large value buffers to enable value ..."
Abstract
-
Cited by 52 (5 self)
- Add to MetaCart
This paper presents a technique called register value prediction (RVP) which uses a type of locality called register-value reuse. By predicting that an instruction will produce the value that is already stored in the destination register, we eliminate the need for large value buffers to enable
Exploring perceptron-based register value prediction
- In Second ValuePrediction and Value-Based Optimization Workshop
, 2004
"... Register value prediction has been proposed as a technique to exploit register value reuse, a form of locality where the result produced by an instruction is the same as the value that is already in a destination register or other registers in the register file. Register value prediction allows incr ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Register value prediction has been proposed as a technique to exploit register value reuse, a form of locality where the result produced by an instruction is the same as the value that is already in a destination register or other registers in the register file. Register value prediction allows
Register Value Prediction using Metapredictors
"... Abstract? Value Prediction (VP) is a relatively new technique that increases performance by eliminating true data dependencies constraints. Value prediction architectures allow data dependent instructions to issue and execute speculatively using the predicted values. This technique is built on the c ..."
Abstract
- Add to MetaCart
on the concept of value locality, which describes the likelihood of a previously seen value’s recurrence within a storage location. This paper extends the dynamic value prediction by exploiting the concept of register centric prediction instead of instruction centric prediction. The value localities obtained
Value Locality and Load Value Prediction
, 1996
"... Since the introduction of virtual memory demand-paging and cache memories, computer systems have been exploiting spatial and temporal locality to reduce the average latency of a memory reference. In this paper, we introduce the notion of value locality, a third facet of locality that is frequently p ..."
Abstract
-
Cited by 391 (18 self)
- Add to MetaCart
single condition bit based on previously-seen values. Our work extends this to predict entire 32- and 64-bit register values based on previously-seen values. We find that, just as condition bits are fairly predictable on a per-static-branch basis, full register values being loaded from memory
Valgrind: A framework for heavyweight dynamic binary instrumentation
- In Proceedings of the 2007 Programming Language Design and Implementation Conference
, 2007
"... Dynamic binary instrumentation (DBI) frameworks make it easy to build dynamic binary analysis (DBA) tools such as checkers and profilers. Much of the focus on DBI frameworks has been on performance; little attention has been paid to their capabilities. As a result, we believe the potential of DBI ha ..."
Abstract
-
Cited by 558 (5 self)
- Add to MetaCart
register and memory value with another value that describes it. This support accounts for several crucial design features that distinguish Valgrind from other DBI frameworks. Because of these features, lightweight tools built with Valgrind run comparatively slowly, but Valgrind can be used to build more
Methods for Saving and Restoring Register Values across Function Calls
, 1991
"... This paper describes the results of an experiment that empirically evaluated six different schemes for saving and restoring registers on CISC machines. The methods do not require special hardware or inter procedural analysis to be performed. The six schemes were logically divided into two classes. T ..."
Abstract
-
Cited by 24 (9 self)
- Add to MetaCart
of saving the registers to the function being called. In the third scheme of the two classes, the registers are partitioned into two disjoint sets. The calling function is responsible for preserving register values in one of the sets whereas the called function is responsible for the other set. For each
Confidence Estimation for Register Value Communication in Speculative Multithreaded Architectures
, 2003
"... There is a growing interest in the use of speculative multithreading to speed up the execution of programs. In this execution model, threads are extracted from a sequential program and are speculatively executed in parallel, without violating sequential program semantics. Speculative multithreading ..."
Abstract
- Add to MetaCart
ring. In this microarchitecture, the data values have to be communicated from each processing element to its successor. Memory values are communicated using shared memory. However, register values have to be communicated through the unidirectional ring; when to communicate the register values and what
Improving Register Allocation for Subscripted Variables
, 1990
"... INTRODUCTION By the late 1980s, memory system performance and CPU performance had already begun to diverge. This trend made effective use of the register file imperative for excellent performance. Although most compilers at that time allocated scalar variables to registers using graph coloring with ..."
Abstract
-
Cited by 225 (35 self)
- Add to MetaCart
with marked success [12, 13, 14, 6], allocation of array values to registers only occurred in rare circumstances because standard data-flow analysis techniques could not uncover the available reuse of array memory locations. This deficiency was especially problematic for scientific codes since a majority
Improvements to Graph Coloring Register Allocation
- ACM Transactions on Programming Languages and Systems
, 1994
"... This paper describes both the techniques themselves and our experience building and using register allocators that incorporate them. It provides a detailed description of optimistic coloring and rematerialization. It presents experimental data to show the performance of several versions of the regis ..."
Abstract
-
Cited by 201 (9 self)
- Add to MetaCart
Words and Phrases: Register allocation, code generation, graph coloring 1. INTRODUCTION The relationship between run-time performance and e#ective use of a machine's register set is well understood. In a compiler, the process of deciding which values to keep in registers at each point
Composite Registers
- Distributed Computing
, 1993
"... We introduce a shared data object, called a composite register, that generalizes the notion of an atomic register. A composite register is an array-like shared data object that is partitioned into a number of components. An operation of a composite register either writes a value to a single componen ..."
Abstract
-
Cited by 109 (7 self)
- Add to MetaCart
We introduce a shared data object, called a composite register, that generalizes the notion of an atomic register. A composite register is an array-like shared data object that is partitioned into a number of components. An operation of a composite register either writes a value to a single
Results 1 - 10
of
3,012