Roger A. Bringmann

dblp:40/1579 · DBLP profile ↗
← Back
8ranked-venue papers
1as first author
0since 2021 · last 1994
—ORCID · none

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

Systems, architecture and hardware · 8 · 1 first-authorSoftware engineering, systems software and programming languages · 1

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
7 papers
Processor architecture and microarchitecture · 88% Memory systems · 12%
Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 100%

Topics — the 16 heaviest of 17, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
instruction-level parallelism
0.041994
Characterizing the impact of predicated execution on branch prediction · MICRO 1994
Sentinel Scheduling for VLIW and Superscalar Processors · ACM Trans. Comput. Syst. 1993
Effective compiler support for predicated execution using the hyperblock · MICRO 1992
Processor architecture and microarchitecture
speculative execution
0.021993
Sentinel Scheduling for VLIW and Superscalar Processors · ACM Trans. Comput. Syst. 1993
Speculative execution exception recovery using write-back suppression · MICRO 1993
Processor architecture and microarchitecture
instruction set architecture
0.021993
Register Connection: A New Approach to Adding Registers into Instruction Set Architectures · ISCA 1993
Superblock formation using static program analysis · MICRO 1993
Processor architecture and microarchitecture
branch prediction
0.011994
Characterizing the impact of predicated execution on branch prediction · MICRO 1994
Processor architecture and microarchitecture › instruction-level parallelism
predicated execution
0.011994
Characterizing the impact of predicated execution on branch prediction · MICRO 1994
Compilers and program optimization › instruction scheduling
software pipelining
0.011993
Superblock formation using static program analysis · MICRO 1993
Processor architecture and microarchitecture › instruction-level parallelism
compiler-controlled speculative execution
0.011993
Sentinel Scheduling for VLIW and Superscalar Processors · ACM Trans. Comput. Syst. 1993
Processor architecture and microarchitecture › instruction-level parallelism
multiple instruction issue
0.011993
Speculative execution exception recovery using write-back suppression · MICRO 1993
Processor architecture and microarchitecture
register file
0.011993
Register Connection: A New Approach to Adding Registers into Instruction Set Architectures · ISCA 1993
Compilers and program optimization
predicated execution
0.011992
Effective compiler support for predicated execution using the hyperblock · MICRO 1992
Compilers and program optimization
register allocation
0.011993
Register Connection: A New Approach to Adding Registers into Instruction Set Architectures · ISCA 1993
Memory systems
cache
0.011993
Speculative execution exception recovery using write-back suppression · MICRO 1993
Memory systems › cache › CPU cache
data cache
0.011993
Speculative execution exception recovery using write-back suppression · MICRO 1993
Processor architecture and microarchitecture
exception handling
0.011993
Sentinel Scheduling for VLIW and Superscalar Processors · ACM Trans. Comput. Syst. 1993
Memory systems
cache design
0.011992
An efficient architecture for loop based data preloading · MICRO 1992
Processor architecture and microarchitecture › instruction-level parallelism
superscalar and VLIW processors
0.011992
Effective compiler support for predicated execution using the hyperblock · MICRO 1992

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

static program analysis · 0.0execution-driven simulation · 0.0simulation · 0.0software pipelining · 0.0selective scheduling · 0.0memory disambiguation · 0.0compile-time scheduling · 0.0
YearPublicationVenuePosition
1994 Characterizing the impact of predicated execution on branch prediction
abstract
Branch instructions are recognized as a major impediment to exploiting instruction level parallelism. Even with sophisticated branch prediction techniques, many frequently executed branches remain difficult to predict. An architecture supporting predicated execution may allow the compiler to remove many of these hard-to-predict branches, reducing the number of branch mispredictions and thereby improving performance. We present an in-depth analysis of the characteristics of those branches which are frequently mispredicted and examine the effectiveness of an advanced compiler to eliminate these branches. Over the benchmarks studied, an average of 27% of the dynamic branches and 56% of the dynamic branch mispredictions are eliminated with predicated execution support.
Scott A. Mahlke, Richard E. Hank, Roger A. Bringmann, John C. Gyllenhaal, David M. Gallagher, Wen-Mei W. Hwu
MICRO3
1993 Register Connection: A New Approach to Adding Registers into Instruction Set Architectures
abstract
Code optimization and scheduling for superscalar and superpipelined processors often increase the register requirement of programs. For existing instruction sets with a small to moderate number of registers, this increased register requirement can be a factor that limits the effectivess of the compiler. In this paper, we introduce a new architectural method for adding a set of extended registers into an architecture. Using a novel concept of connection, this method allows the data stored in the extended registers to be accessed by instructions that apparently reference core registers. Furthermore, we address the technical issues involved in applying the new method to an architecture: instruction set extension, procedure call convention, context switching considerations, upward compatibility, efficient implementation, compiler support, and performance. Experimental results based on a prototype compiler and execution driven simulation show that the proposed method can significantly improve the performance of superscalar processors with a small or moderate number of registers.
Tokuzo Kiyohara, Scott A. Mahlke, William Y. Chen, Roger A. Bringmann, Richard E. Hank, Sadun Anik, Wen-Mei W. Hwu
ISCA4
1993 Speculative execution exception recovery using write-back suppression
abstract
One of the key design concerns of multiple instruction issue (MII) processors is deciding how many memory ports need to be provided, considering performance and efficiency of the target processor. For an MII processor that exploits instruction-level parallelism (ILP) in non-numerical code, this decision is difficult to make due to its irregularity. The authors perform an empirical study aimed at characterizing a suitable MII organization that best exploits irregular ILP. The study is based on the selective scheduling compiler that performs precise memory disambiguation for concurrent execution of multiple memory operations, along with renaming, speculation, and software pipelining. The result indicates that a small number of memory ports (i.e. less than half of the issue rate) is enough for exploiting most of irregular ILP. The authors also examine related issues such as the utilization of memory ports and additional data cache misses caused by speculative loads.>
Roger A. Bringmann, Scott A. Mahlke, Richard E. Hank, John C. Gyllenhaal, Wen-Mei W. Hwu
MICRO1
1993 Superblock formation using static program analysis
abstract
To achieve higher instruction-level parallelism, the constraint imposed by a single control flow must be relaxed. Control operations should execute in parallel just like data operations. We present a new software pipelining method called GPMB (Global Pipelining with Multiple Branches) which is based on architectures supporting multi-way branching and multiple control flows. Preliminary experimental results show that, for IFless loops, GPMB performs as well as modulo scheduling, and for branch-intensive loops, GPMB performs much better than software pipelining assuming the constraint of one two-way branch per cycle.>
Richard E. Hank, Scott A. Mahlke, Roger A. Bringmann, John C. Gyllenhaal, Wen-Mei W. Hwu
MICRO3
1993 The superblock: An effective technique for VLIW and superscalar compilation
Wen-Mei W. Hwu, Scott A. Mahlke, William Y. Chen, Pohua P. Chang, Nancy J. Warter, Roger A. Bringmann, Roland G. Ouellette, Richard E. Hank, Tokuzo Kiyohara, Grant E. Haab, John G. Holm, Daniel M. Lavery
J. Supercomput.6
1993 Sentinel Scheduling for VLIW and Superscalar Processors
abstract
Speculative execution is an important source of parallelism for VLIW and superscalar processors. A serious challenge with compiler-controlled speculative execution is to efficiently handle exceptions for speculative instructions. In this article, a set of architectural features and compile-time scheduling support collectively referred to assentinel schedulingis introduced. Sentinel scheduling provides an effective framework for both compiler-controlled speculative execution and exception handling. All program exceptions are accurately detected and reported in a timely manner with sentinel scheduling. Recovery from exceptions is also ensured with the model. Experimental results show the effectiveness of sentinel scheduling for exploiting instruction-level parallelism and overhead associated with exception handling.
Scott A. Mahlke, William Y. Chen, Roger A. Bringmann, Richard E. Hank, Wen-Mei W. Hwu, Bob Rau, Mike Schlansker
ACM Trans. Comput. Syst.3
1992 An efficient architecture for loop based data preloading
William Y. Chen, Roger A. Bringmann, Scott A. Mahlke, Richard E. Hank, James E. Sicolo
MICRO2
1992 Effective compiler support for predicated execution using the hyperblock
abstract
Predicated execution is an effective technique for dealing with conditional branches in application programs. However, there are several problems associated with conventional compiler support for predicated execution. First, all paths of control are combined into a single path regardless of their execution frequency and size with conventional if-conversion techniques. Second, speculative execution is difficult to combine with predicated execution. In this paper, we propose the use of a new structure, referred to as the hyperblock, to overcome these problems. The hyperblock is an efficient structure to utilize predicated execution for both compiletime optimization and scheduling. Preliminary experimental results show that the hyperblock is highly effective for a wide range of superscalar and VLIW processors. 1 Introduction Superscalar and VLIW processors can potentially provide large performance improvements over their scalar predecessors by providing multiple data paths and function u...
Scott A. Mahlke, David C. Lin, William Y. Chen, Richard E. Hank, Roger A. Bringmann
MICRO5