Instruction reuse is a microarchitectural technique that improves the execution time of a program by removing redundant computations at run-time. Although this is the job of an optimizing compiler, they do not succeed many a time due to limited knowledge of run-time data. In this paper we examine instruction reuse of integer ALU and load instructions in network processing applications. Specifically, this paper attempts to answer the following questions: (1) How much of instruction reuse is inherent in network processing applications?, (2) Can reuse be improved by reducing interference in the reuse buffer?, (3) What characteristics of network applications can be exploited to improve reuse?, and (4) What is the effect of reuse on resource con...
Value locality is the phenomenon that a small number of values occur repeatedly in the same register...
Instruction packing is a combination compiler/architectural approach that allows for decreased code ...
Abstract—Packet forwarding operations in network systems are often performed in software so that rou...
Instruction reuse is a microarchitectural technique that improves the execution time of a program by...
Instruction Reuse is a microarchitectural technique that exploits dynamic instruction repetition to ...
Superscalar microprocessors currently power the majority of computing machines. These processors ar...
Trace-level reuse is based on the observation that some traces (dynamic sequences of instructions) a...
As technology trends yield shorter cycle times and larger, wider datapaths in architectures for mult...
This paper presents a study of the performance limits of data value reuse. Two types of data value r...
The fact that instructions in programs often produce repetitive results has motivated researchers to...
Modern network processors support high levels of parallelism in packet processing by supporting mult...
Processors that can simultaneously execute multiple paths of execution will only exacerbate the fetc...
Abstract. High end routers are targeted at providing worst case through-put guarantees over latency....
The fact that instructions in programs often produce repetitive results has motivated researchers to...
Modern network processors such as the Intel IXP family hide the latency of slow instructions by supp...
Value locality is the phenomenon that a small number of values occur repeatedly in the same register...
Instruction packing is a combination compiler/architectural approach that allows for decreased code ...
Abstract—Packet forwarding operations in network systems are often performed in software so that rou...
Instruction reuse is a microarchitectural technique that improves the execution time of a program by...
Instruction Reuse is a microarchitectural technique that exploits dynamic instruction repetition to ...
Superscalar microprocessors currently power the majority of computing machines. These processors ar...
Trace-level reuse is based on the observation that some traces (dynamic sequences of instructions) a...
As technology trends yield shorter cycle times and larger, wider datapaths in architectures for mult...
This paper presents a study of the performance limits of data value reuse. Two types of data value r...
The fact that instructions in programs often produce repetitive results has motivated researchers to...
Modern network processors support high levels of parallelism in packet processing by supporting mult...
Processors that can simultaneously execute multiple paths of execution will only exacerbate the fetc...
Abstract. High end routers are targeted at providing worst case through-put guarantees over latency....
The fact that instructions in programs often produce repetitive results has motivated researchers to...
Modern network processors such as the Intel IXP family hide the latency of slow instructions by supp...
Value locality is the phenomenon that a small number of values occur repeatedly in the same register...
Instruction packing is a combination compiler/architectural approach that allows for decreased code ...
Abstract—Packet forwarding operations in network systems are often performed in software so that rou...