Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Andrew Wolfe

dblp:04/245 · DBLP profile ↗
← Back
26ranked-venue papers
9as first author
0since 2021 · last 2001
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 21 · 9 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3Software engineering, systems software and programming languages · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
10 papers
Processor architecture and microarchitecture · 46% Performance modeling and evaluation · 13% Embedded and real-time systems · 13%
Computer networks
1 paper
Internet of things and sensor networks · 100%
Computer graphics and multimedia
1 paper
Rendering · 100%

Topics — the 23 heaviest of 26, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
superscalar processor
0.021999
A Superscalar 3D Graphics Engine · MICRO 1999
Two-ported cache alternatives for superscalar processors · MICRO 1993
Internet of things and sensor networks
smart home
0.012001
Emerging applications for the connected home · MICRO 2001
Embedded and real-time systems
worst-case execution time analysis
0.021996
Cache modeling for real-time software: beyond direct mapped instruction caches · RTSS 1996
Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software · RTSS 1995
Processor architecture and microarchitecture
instruction-level parallelism
0.021997
Available Parallelism in Video Applications · MICRO 1997
A Variable Instruction Stream Extension to the VLIW Architecture · ASPLOS 1991
Processor architecture and microarchitecture › instruction-level parallelism
VLIW
0.021997
Datapath Design for a VLIW Video Signal Processor · HPCA 1997
A Variable Instruction Stream Extension to the VLIW Architecture · ASPLOS 1991
Rendering
rasterization
0.011999
A Superscalar 3D Graphics Engine · MICRO 1999
Processor architecture and microarchitecture
out-of-order execution
0.011999
A Superscalar 3D Graphics Engine · MICRO 1999
Electronic design automation › timing analysis
cache timing analysis
0.011996
Cache modeling for real-time software: beyond direct mapped instruction caches · RTSS 1996
Performance modeling and evaluation › cache performance modeling
data cache analysis
0.011996
Cache modeling for real-time software: beyond direct mapped instruction caches · RTSS 1996
Energy-efficient computing
low-power design
0.011996
Opportunities and Obstacles in Low-Power System-Level CAD · DAC 1996
Performance modeling and evaluation › processor performance modeling
microarchitecture modeling
0.011995
Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software · RTSS 1995
Processor architecture and microarchitecture
instruction set architecture
0.021992
A Variable Instruction Stream Extension to the VLIW Architecture · ASPLOS 1991
Executing compressed programs on an embedded RISC architecture · MICRO 1992
Memory systems › cache › cache organization
multi-ported cache
0.011993
Two-ported cache alternatives for superscalar processors · MICRO 1993
Compilers and program optimization › code size reduction
code compression
0.011992
Executing compressed programs on an embedded RISC architecture · MICRO 1992
GPUs and heterogeneous computing
graphics accelerator
0.011999
A Superscalar 3D Graphics Engine · MICRO 1999
Hardware accelerators and domain-specific architectures › video processing accelerator
video signal processor
0.011997
Datapath Design for a VLIW Video Signal Processor · HPCA 1997
Hardware accelerators and domain-specific architectures › domain-specific accelerator
application-specific processor
0.011988
The White Dwarf: A High-Performance Application-Specific Processor · ISCA 1988
Memory systems
cache
0.011996
Cache modeling for real-time software: beyond direct mapped instruction caches · RTSS 1996
Embedded and real-time systems
embedded system design
0.011996
Opportunities and Obstacles in Low-Power System-Level CAD · DAC 1996
Electronic design automation
hardware/software co-design
0.011996
Opportunities and Obstacles in Low-Power System-Level CAD · DAC 1996
Memory systems › cache › CPU cache
instruction cache
0.011996
Cache modeling for real-time software: beyond direct mapped instruction caches · RTSS 1996
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation
0.011993
Two-ported cache alternatives for superscalar processors · MICRO 1993
High-performance computing
scientific computing systems
0.011988
The White Dwarf: A High-Performance Application-Specific Processor · ISCA 1988

Methods — techniques the papers use, named apart from their topics

integer linear programming · 0.0trace analysis · 0.0global scheduling · 0.0design space exploration · 0.0VLIW code scheduling · 0.0trace-driven simulation · 0.0retargetable compilation · 0.0microcode implementation · 0.0
YearPublicationVenuePosition
2001 Emerging applications for the connected home
Andrew Wolfe
MICRO1
2000 An Experimental Analysis of Digital Video Library Servers
Michael A. Kozuch, Marilyn Wolf, Andrew Wolfe
Multim. Syst.3
1999 A Superscalar 3D Graphics Engine
abstract
3D graphics performance is increasing faster than any other computing application. Almost all PC systems now include 3D graphics accelerators for games, CAD, or visualization applications. Many of the microarchitectural techniques that have been used to enhance the performance of microprocessors can be applied to graphics systems as well. We present an architecture for an out-of-order, superscalar rasterizer for 3D graphics. This allows the concurrent execution of multiple graphics primitives while maintaining exact sequential semantics. Experimental results show 1.5-3.6X speedups on real applications using a simple model, similar to the results from many integer benchmarks on superscalar processors. Enhanced techniques specific to 3D graphics for decomposing large triangles and breaking false dependence chains increase performance to more than 10x a sequential system.
Andrew Wolfe, Derek B. Noonburg
MICRO1
1999 Performance estimation of embedded software with instruction cache modeling
abstract
Embedded systems generally interact in some way with the outside world. This may involve measuring sensors and controlling actuators, communicating with other systems, or interacting with users. These functions impose real-time constraints on system design. Verification of these specifications requires computing an upper bound on the worst-case execution time (WCET) of a hardware/software system. Furthermore, it is critical to derive a tight upper bound on WCET in order to make efficient use of system resources. The problem of bounding WCET is particularly difficult on modern processors. These processors use cache-based memory systems that vary memory access time based on the dynamic memory access pattern of the program. This must be accurately modeled in order to tightly bound WCET. Several analysis methods have been proposed to bound WCET on processors with instruction caches. Existing approaches either search all possible program paths, an intractable problem, or they use highly pessimistic assumptions to limit the search space. In this paper we present a more effective method for modeling instruction cache activity and computing a tight bound on WCET. The method uses an integer linear programming formulation and does not require explicit enumeration of program paths. The method is implemented in the program cinderella and we present some experimental results of this implementation.
Yau-Tsun Steven Li, Sharad Malik, Andrew Wolfe
ACM Trans. Design Autom. Electr. Syst.3
1998 A design study of a 0.25-μm video signal processor
abstract
This paper presents a detailed design study of a high-speed, single-chip architecture for video signal processing (VSP), developed as part of the Princeton VSP Project. In order to define the architectural parameters by examining the area and delay tradeoffs, we start by designing parameterizable versions of key modules, and we perform VLSI modeling experiments in a 0.25 /spl mu/m process. Based on the properties of these modules, we propose a VLIW (very long instruction word) VSP architecture that features 32-64 operations per cycle at clock rates well in excess of 600 MHz, and that includes a significant amount of on-chip memory. VLIW architectures provide predictable, efficient, high performance, and benefit from mature compiler technology. As explained, a VLIW video processor design requires flexible, high-bandwidth interconnect at fast cycle times, and presents some unique VLSI tradeoffs and challenges in maintaining high clock rates while providing high parallelism and utilization.
Santanu Dutta, Kevin J. O'Connor, Marilyn Wolf, Andrew Wolfe
IEEE Trans. Circuits Syst. Video Technol.4
1998 A methodology to evaluate memory architecture design tradeoffs for video signal processors
abstract
Develops a methodology for the design of the memory and the memory-processor communication network in video signal processors. The memory subsystem is the bottleneck of most video computing systems and its design requires evaluating tradeoffs between area, cycle time, and utilization. We emphasize the need to consider technological and circuit-level issues during the design of a system architecture, particularly video signal processing (VSP) systems, and present a systematic method whereby the organization of the memory architecture can be analyzed and its cycle-time approximated before a detailed design is undertaken. We show how variations in sizes and circuit configurations help determine the variations in delay of both memory and network, and how the delay curves, thus determined, can be used to design, compare, and choose from different memory-system architectures; we also describe a technique that can be used to identify the on-chip-off-chip boundary with respect to a hierarchical memory-system design for a memory-intensive VSP module. All of our results are validated via layout and simulation of prototype circuits in two different process technologies. Motion estimation and discrete cosine transform (DCT) being two of the most important tasks in video processing, we use the design of a motion estimator and that of a DCT unit as examples to illustrate the high-level issues in designing the memory architecture for a VSP module. The analysis presented for the motion estimator and the DCT unit can also be applied to other processing blocks belonging to the system.
Santanu Dutta, Marilyn Wolf, Andrew Wolfe
IEEE Trans. Circuits Syst. Video Technol.3
1997 Cinderella: A Retargetable Environment for Performance Analysis of Real-Time Software
Yau-Tsun Steven Li, Sharad Malik, Andrew Wolfe
Euro-Par3
1997 Datapath Design for a VLIW Video Signal Processor
abstract
This paper represents a design study of the datapath for a very long instruction word (VLIW) video signal processor (VSP). VLIW architectures provide high parallelism and excellent high-level language programmability, but require careful attention to VLSI and compiler design. Flexible, high-bandwidth interconnect, high-connectivity register files, and fast cycle times are required to achieve real-time video signal processing. Parameterizable versions of key modules have been designed in a 0.25 /spl mu/m process, allowing us to explore tradeoffs in the VLIW VSP design space. The designs target 33 operations per cycle at clock rates exceeding 600 MHz. Various VLIW code scheduling techniques have been applied to 6 VSP kernels and evaluated on 7 different candidate datapath designs. The results of these simulations are used to indicate which architectural tradeoffs enhance overall performance in this application domain.
Andrew Wolfe, Jason Fritts, Santanu Dutta, Edil S. T. Fernandes
HPCA1
1997 An Approach to Network Caching for Multimedia Objects
abstract
Caching is an important mechanism for improving both the performance and operational cost of multimedia networks. This paper presents a new approach to network caching for large multimedia objects, the Caching Tree Algorithm, which is based on previous research regarding the File Allocation Problem. This novel algorithm is both distributed and computationally tractable. We also describe some practical considerations in the application of the algorithm to modern networks.
Michael A. Kozuch, Marilyn Wolf, Andrew Wolfe
ICCD3
1997 Available Parallelism in Video Applications
abstract
Most recent research in instruction-level parallelism has focused on general-purpose applications such as the SPEC benchmarks. Many quantitative experiments have been performed over the years measuring the impact of different execution models and optimization techniques on these applications. Researchers have been developing various ILP architectures for media processors in order to exploit parallelism in audio, video, and graphics applications. It has been assumed that these applications contain far more potential parallelism than general-purpose code, but there have been few attempts to quantify the available parallelism. We present a linear complexity global scheduling algorithm that can process very long traces up to 1 billion operations. Therefore, traces of video applications such as MPEG1, MPEG2, MPEG4 and H.263 encoders and decoders can be analyzed. Using an idealized execution model, speedups of over 1000 have been found in some applications. The experiment shows that eliminating currently identifiable bottlenecks can allow the exploitation of huge amounts of ILP in audio and video applications.
Heng Liao, Andrew Wolfe
MICRO2
1997 On the balance of VLIW architectures
Alberto Ferreira de Souza, Edil S. T. Fernandes, Andrew Wolfe
J. Syst. Archit.3
1996 Opportunities and Obstacles in Low-Power System-Level CAD
abstract
A case study in low-power system-level design is presented. We detail the design of a low-power embedded system, a touchscreen interface device for a personal computer. This device is designed to operate on excess power provided by unused RS232 communication lines. We focus on the design and measurement procedures used to reduce the power requirements of this system to less than 50mW. Additionally, we highlight opportunities to use system-level design and analysis tools for low-power design and the obstacles that prevented using such tools in this design. 1. Introduction Embedded system design and hardware-software codesign have been hot topics for research for the past several years. Embedded systems form an interesting area for research not only due to their strategic and economic importance, but also because they require balancing numerous competing implementation properties including size, cost, performance, power, reliability, and design time. Researchers have been developing to...
Andrew Wolfe
DAC1
1996 New Challenges for Video Servers: Performance of Non-Linear Applications under User Choice
abstract
This paper outlines a framework for classifying video application types according to linearity and user-choice response constraint. It then presents the first analyses of video server performance under various non-linear video application loads.
Michael A. Kozuch, Marilyn Wolf, Andrew Wolfe
ICCD3
1996 Cache modeling for real-time software: beyond direct mapped instruction caches
abstract
We present a method for determining a tight bound on the worst case execution time of a program when running on a given hardware system with cache memory. Caches are used to improve the average memory performance, however, their presence complicates the worst case timing analysis. Any pessimistic predictions on cache hits/misses will result in loose estimation. In our previous research in this area, we built an integer-linear-programming solution for this problem which included analysis of direct mapped instruction caches. In this paper we describe the complex extensions of this technique to deal with set associative instruction caches, data caches and unified caches. We believe that this research now provides a comprehensive solution to the problem of worst case performance analysis of software running on processors with caches. These techniques have been implemented in a design tool cinderella. Some experimental results are presented that demonstrate the practical applicability of this analysis.
Yau-Tsun Steven Li, Sharad Malik, Andrew Wolfe
RTSS3
1995 Performance estimation of embedded software with instruction cache modeling
abstract
Embedded systems generally interact with the outside world. Thus, some real-time constraints may be imposed on the system design. Verification of these constraints requires computing a tight upper bound on the worst case execution time (WCET) of a hardware/software system. The problem of bounding WCET is particularly difficult on modern processors, which use cache-based memory systems that vary memory access time significantly. This must be accurately modeled in order to tightly bound WCET. Existing approaches either search all possible program paths, an intractable problem, or they use pessimistic assumptions to limit the search space. In this paper we present afar more effective and accurate method for modeling instruction cache activity and computing a tight bound on WCET. It is implemented in the program cinderella. We present some preliminary results of using this tool on sample embedded programs.
Yau-Tsun Steven Li, Sharad Malik, Andrew Wolfe
ICCAD3
1995 VLSI issues in memory-system design for video signal processors
abstract
This paper addresses the design of memory-system architectures for video signal processors. The memory subsystem is the bottleneck of most video computing systems and demands a careful analysis of the design tradeoffs related to area, cycle time, and utilization. We emphasize the need to consider technological and circuit-level issues during the design of a system architecture, particularly that of a video processor, and present a method whereby the conceptual organization of the memory architecture can be evaluated before a detailed design is undertaken. Our analysis suggests that the organization of an efficient memory hierarchy for video signal processors is different from the register-cache based hierarchy of general-purpose programmable microprocessors.
Santanu Dutta, Marilyn Wolf, Andrew Wolfe
ICCD3
1995 A case study in low-power system-level design
abstract
A case study in low-power system-level design is presented. We detail the design of a typical low-power embedded system, a touchscreen interface device for a personal computer. This device is designed to operate only on excess power provided by unused RS232 communication lines. We focus on the design and measurement procedures used to reduce the power requirements of this system to less than 50 mW. Furthermore, we highlight opportunities to use system-level design and analysis tools for low-power design. Finally, we identify, key issues in low-power system design that are not currently being explored by the design automation community.
Andrew Wolfe
ICCD1
1995 Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software
abstract
Real-time systems are characterized by the presence of timing constraints in which a task must be completed within a specific amount of time. This paper examines the problem of determining the bound on the worst case execution time (WCET) of a given program on a given processor There are two important issues in solving this problem: (i) program path analysis, which determines what sequence of instructions will be executed in the worst case, and (ii) microarchitecture modeling, which models the hardware system and determines the WCET of a known sequence of instructions. To obtain a tight estimate on the bound both these issues must be addressed accurately and efficiently. The latter is becoming difficult to model for modern processors due to the presence of pipelined instruction execution units and cached memory systems. Because of the complexity of the problem, all existing methods that we know of focus only on one of above issues. This limits the accuracy of the estimated bound and the size of the program that can be analyzed. We present a more effective solution that addresses both issues and uses an integer linear programming formulation to solve the problem. This solution is implemented in the program cinderella which currently targets the Intel i960KB processor and we present some experimental results of using this tool.
Yau-Tsun Steven Li, Sharad Malik, Andrew Wolfe
RTSS3
1994 Power analysis of embedded software: a first step towards software power minimization
Vivek Tiwari, Sharad Malik, Andrew Wolfe
ICCAD3
1994 Compression of Embedded System Programs
abstract
Embedded systems are often sensitive to space, weight, and cost considerations. Reducing the size of stored programs can significantly improve these factors. This paper discusses a program compression methodology based on existing processor architectures. The authors examine practical and theoretical measures for the maximum compression rate of a suite of programs across six modern architectures. The theoretical compression rate is reported in terms of the zeroth and first-order entropies, while the practical compression rate is reported in terms of the Huffman-encoded format of the proposed compression methodology and the GNU file compression utility, gzip. These experiments indicate that a practical increase of 15%-30% and a theoretical increase of over 100% in code density can be expected using the techniques examined. In addition, a novel, greedy, variable-length-to variable-length encoding algorithm is presented with preliminary results.>
Michael A. Kozuch, Andrew Wolfe
ICCD2
1994 Power analysis of embedded software: a first step towards software power minimization
abstract
Embedded computer systems are characterized by the presence of a dedicated processor and the software that runs on it. Power constraints are increasingly becoming the critical component of the design specification of these systems. At present, however, power analysis tools can only be applied at the lower levels of the design-the circuit or gate level. It is either impractical or impossible to use the lower level tools to estimate the power cost of the software component of the system. This paper describes the first systematic attempt to model this power cost. A power analysis technique is developed that has been applied to two commercial microprocessors-Intel 486DX2 and Fujitsu SPARClite 934. This technique can be employed to evaluate the power cost of embedded software. This can help in verifying if a design meets its specified power constraints. Further, it can also be used to search the design space in software power optimization. Examples with power reduction of up to 40%, obtained by rewriting code using the information provided by the instruction level power model, illustrate the potential of this idea.>
Vivek Tiwari, Sharad Malik, Andrew Wolfe
IEEE Trans. Very Large Scale Integr. Syst.3
1993 A Split Data Cache for Superscalar Processors
abstract
Superscalar implementations of RISC architectures are emerging as the dominant high-performance microprocessor technology for the mid-1990's. This paper proposes and evaluates a split data cache memory design, a new memory system ehancement for superscalar processor architectures. This design allows floating-point and integer memory access to be executed in parallel. The configuration is well matched to the dual-path execution hardware of many current superscalar processors. It doubles peak bandwidth without the expense or complexity of multi-ported memory, and increases the processor's ability to exploit fine-grained parallelism. The reported simulation results show that by using this enhancement, a speedup of more than 1.5 over the traditional unified cache model can be achieved on some standard benchmarks. The speedup is not uniform among all programs. Several hypotheses are presented and experimentally validated to explain these results.>
Rodney Boleyn, James Debardelaben, Vivek Tiwari, Andrew Wolfe
ICCD4
1993 Two-ported cache alternatives for superscalar processors
abstract
The quantitative approach to computer architecture and processor design requires extensive experimentation to assess the potential performance benefits of individual techniques. Using trace-driven simulation (TDS) tools in conjunction with optimizing compilers, a designer can quickly characterize the dynamic behavior and the resultant performance of a candidate machine running a realistic benchmark. Most current TDS tools have two shortcomings, namely the lack of retargetability and the lack of visualization support. The authors present the development of a highly retargetable TDS tool suite, called EXPLORER, that incorporates powerful visualization and interactive capabilities. A prototype of EXPLORER has been implemented and examples of retargeting and visualization-based simulation of the RS/6000 and the MPC 601 have been performed to demonstrate its effectiveness.>
Andrew Wolfe, Rodney Boleyn
MICRO1
1992 Executing compressed programs on an embedded RISC architecture
Andrew Wolfe, Alex Chanin
MICRO1
1991 A Variable Instruction Stream Extension to the VLIW Architecture
Andrew Wolfe, John Paul Shen
ASPLOS1
1988 The White Dwarf: A High-Performance Application-Specific Processor
abstract
The design and implementation of a high-performance special-purpose processor, called the White Dwarf, or accelerating finite-element analysis algorithms is presented. The White Dwarf CPU contains two Am2935 32-bit floating-point processors and one Am29332 32-bit arithmetic logic unit (ALU), and uses a wide-instruction-word architecture in which the application algorithm is directly implemented in microcode. The entire system is VME-bus compatible and interfaces with a Sun 3/160 host. The system's potential peak performance is 20 MFLOPS (million floating-point operations per second) a sustained computation rate in excess of 15 MFLOPS is expected. A potential speedup of between one and two orders of magnitude is possible. With a fully populated memory subsystem, the White Dwarf can accommodate finite-element problems involving up to half a million nodes. The system is designed using an approach called application-specific processor design (ASPD). A retargetable compiler has been developed which is capable of generating highly parallel and efficient code for the White Dwarf and other processors with similar architecture. System debug/integration is in progress; a highly useful system is expected.>
Andrew Wolfe, Maurício Breternitz, Chriss Stephens, A. L. Ting, David Blair Kirk, Ronald P. Bianchini Jr., John Paul Shen
ISCA1