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.

Joseph A. Fisher

dblp:92/1710 · DBLP profile ↗
← Back
14ranked-venue papers
9as first author
0since 2021 · last 2003
—ORCID · unresolved

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

Systems, architecture and hardware · 13 · 9 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 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
9 papers
Processor architecture and microarchitecture · 81% Embedded and real-time systems · 16% Electronic design automation · 2%
Software engineering, system software, and programming languages
6 papers
Compilers and program optimization · 64% Runtime systems and virtual machines · 36%

Topics — the 20 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
instruction-level parallelism
0.032001
Instruction scheduling for instruction level parallel processors · Proc. IEEE 2001
Measuring the Parallelism Available for Very Long Instruction Word Architectures · IEEE Trans. Computers 1984
Very Long Instruction Word Architectures and the ELI-512 · ISCA 1983
Runtime systems and virtual machines › binary translation
dynamic binary translation
0.012002
DELI: a new run-time control point · MICRO 2002
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.012002
DELI: a new run-time control point · MICRO 2002
Compilers and program optimization
instruction scheduling
0.022001
Instruction scheduling for instruction level parallel processors · Proc. IEEE 2001
Trace Scheduling: A Technique for Global Microcode Compaction · IEEE Trans. Computers 1981
Compilers and program optimization
code generation
0.012001
Instruction scheduling for instruction level parallel processors · Proc. IEEE 2001
Compilers and program optimization › instruction scheduling
software pipelining
0.012001
Instruction scheduling for instruction level parallel processors · Proc. IEEE 2001
Processor architecture and microarchitecture › instruction-level parallelism
superscalar and VLIW processors
0.012001
Instruction scheduling for instruction level parallel processors · Proc. IEEE 2001
Processor architecture and microarchitecture › instruction-level parallelism › VLIW
VLIW processor
0.012000
Lx: a technology platform for customizable VLIW embedded processing · ISCA 2000
Processor architecture and microarchitecture
instruction set architecture
0.011999
Customized Instruction-Sets for Embedded Processors · DAC 1999
Processor architecture and microarchitecture › instruction-level parallelism
VLIW
0.031996
Custom-fit Processors: Letting Applications Define Architectures · MICRO 1996
Measuring the Parallelism Available for Very Long Instruction Word Architectures · IEEE Trans. Computers 1984
Very Long Instruction Word Architectures and the ELI-512 · ISCA 1983
Compilers and program optimization › compiler construction
compiler retargeting
0.011996
Custom-fit Processors: Letting Applications Define Architectures · MICRO 1996
Processor architecture and microarchitecture › special-purpose processor
application-specific processor design
0.011996
Custom-fit Processors: Letting Applications Define Architectures · MICRO 1996
Processor architecture and microarchitecture
instruction set emulation
0.012002
DELI: a new run-time control point · MICRO 2002
Processor architecture and microarchitecture
branch prediction
0.011992
Predicting Conditional Branch Directions From Previous Runs of a Program · ASPLOS 1992
Compilers and program optimization › instruction scheduling
instruction-level parallelism
0.012000
Lx: a technology platform for customizable VLIW embedded processing · ISCA 2000
Embedded and real-time systems › embedded processor
embedded processor design
0.011999
Customized Instruction-Sets for Embedded Processors · DAC 1999
Electronic design automation
design space exploration
0.011996
Custom-fit Processors: Letting Applications Define Architectures · MICRO 1996
Compilers and program optimization › instruction scheduling
trace scheduling
0.021983
Very Long Instruction Word Architectures and the ELI-512 · ISCA 1983
Trace Scheduling: A Technique for Global Microcode Compaction · IEEE Trans. Computers 1981
Performance modeling and evaluation
workload characterization
0.011984
Measuring the Parallelism Available for Very Long Instruction Word Architectures · IEEE Trans. Computers 1984
Compilers and program optimization › instruction scheduling
microcode compaction
0.011981
Trace Scheduling: A Technique for Global Microcode Compaction · IEEE Trans. Computers 1981

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

code caching · 0.1binary-level translation · 0.1loop unrolling · 0.1architecture-software co-design · 0.1finite-state automata · 0.0finite state automata · 0.0trace scheduling · 0.0value profiling · 0.0global compaction · 0.0parallelism measurement experiments · 0.0
YearPublicationVenuePosition
2003 Moving from embedded systems to embedded computing
abstract
In the middle of the last decade, there was a large gulf between embedded systems and general-purpose computing. Most researchers and advanced developers in general-purpose computing thought naively that real-time considerations added a little twist, but after that it was mostly a matter of size. Their impression was that embedded systems were just like general-purpose systems, but smaller. At the same time, those working in embedded systems were usually insufficiently aware of progress in computing that could be applied to what they were doing, and felt that theirs was a discipline apart.
Joseph A. Fisher
CASES1
2002 DELI: a new run-time control point
abstract
The Dynamic Execution Layer Interface (DELI) offers the following unique capability: it provides fine-grain control over the execution of programs, by allowing its clients to observe and optionally manipulate every single instruction - at run time - just before it runs. DELI accomplishes this by opening up art interface to the layer between the execution of software and hardware. To avoid the slowdown, DELI caches a private copy of the executed code and always runs out of its own private cache. In addition to giving powerful control to clients, DELI opens up caching and linking to ordinary emulators and just-in-time compilers, which their get the reuse benefits of the same mechanism. For example, emulators themselves call also use other clients, to mix emulation with already existing services, native code, and other emulators. This paper describes the basic aspects of DELI, including the underlying caching and linking mechanism, the Hardware Abstraction Mechanism (HAM), the Binary-Level Translation (BLT) infrastructure, and the Application Programming Interface (API) exposed to the clients. We also cover some of the services that clients could offer through the DELI, such as ISA emulation, software patching, and sandboxing. Finally, we consider a case study of emulation in detail: the emulation of a PocketPC system on the Lx/ST210 embedded VLIW processor. In this case, DELI enables us to achieve near-native performance, and to mix-and-match native and emulated code.
Giuseppe Desoli, Nikolay Mateev, Evelyn Duesterwald, Paolo Faraboschi, Joseph A. Fisher
MICRO5
2001 Instruction scheduling for instruction level parallel processors
abstract
Nearly all personal computer and workstation processors, and virtually all high-performance embedded processor cores, now embody instruction level parallel (ILP) processing in the form of superscalar or very long instruction word (VLIW) architectures. ILP processors put much more of a burden on compilers; without "heroic" compiling techniques, most such processors fall far short of their performance goals. Those techniques are largely found in the high-level optimization phase and in the code generation phase; they are also collectively called instruction scheduling. This paper reviews the state of the art in code generation for ILP parallel processors. Modern ILP code generation methods move code across basic block boundaries. These methods grew out of techniques for generating horizontal microcode, so we introduce the problem by describing its history. Most modem approaches can be categorized by the shape of the scheduling "region." Some of these regions are loops, and for those techniques known broadly as "Software Pipelining" are used. Software Pipelining techniques are only considered here when there are issues relevant to the region-based techniques presented. The selection of a type of region to use in this process is one of the most controversial questions in code generation; the paper surveys the best known alternatives. The paper then considers two questions: First, given a type of region, how does one pick specific regions of that type in the intermediate code. In conjunction with region selection, we consider region enlargement techniques such as unrolling and branch target expansion. The second question, how does one construct a schedule once regions have been selected, occupies the next section of the paper. Finally, schedule construction using recent, innovative resource modeling based on finite-state automata is then reexamined. The paper includes an extensive bibliography.
Paolo Faraboschi, Joseph A. Fisher, Cliff Young
Proc. IEEE2
2000 Lx: a technology platform for customizable VLIW embedded processing
abstract
Lx is a scalable and customizable VLIW processor technology platform designed by Hewlett-Packard and STMicroelectronics that allows variations in instruction issue width, the number and capabilities of structures and the processor instruction set. For Lx we developed the architecture and software from the beginning to support both scalability (variable numbers of identical processing resources) and customizability (special purpose resources). In this paper we consider the following issues. When is customization or scaling beneficial? How can one determine the right degree of customization or scaling for a particular application domain? What architectural compromises were made in the Lx project to contain the complexity inherent in a customizable and scalable processor family? The experiments described in the paper show that specialization for an application domain is effective, yielding large gains in price/performance ratio. We also show how scaling machine resources scales performance, although not uniformly across all applications. Finally we show that customization on an application-by-application basis is today still very dangerous and much remains to be done for it to become a viable solution.
Paolo Faraboschi, Geoffrey Brown, Joseph A. Fisher, Giuseppe Desoli, Fred Homewood
ISCA3
1999 Customized Instruction-Sets for Embedded Processors
abstract
It is generally believed that there will be little more variety in CPU architectures, and thus the design of Instruction-set Architectures (ISAs) will have no role in the future of embedded CPU design. Nonetheless, it is argued in this paper that architectural variety will soon again become an important topic, with the major motivation being increased performance due to the customization of CPUs to their intended use. Five major barriers that could hinder customization are described, including the problems of existing binaries, toolchain development and maintenance costs, lost savings/higher chip cost due to the lower volumes of customized processors, added hardware development costs, and some factors related to the product development cycle for embedded products. Each is discussed, along with potential, sometimes surprising, solutions.
Joseph A. Fisher
DAC1
1996 Custom-fit Processors: Letting Applications Define Architectures
abstract
In this paper we report on a system which automatically designs realistic VLIW architectures highly optimized for one given application (the input for this system), while running all other code correctly. The system uses a product-quality compiler that generates very aggressive VLIW code. We retarget the compiler until we have found a VLIW architecture idealized for the application on the basis of performance, a cost function and a hardware budget. We show that we can automatically select architectures that achieve large speedups on color and image processing codes. Specialization is shown to be very valuable: The differences between architectural choices, even among reasonable-seeming architectures having similar costs, can be very great, often a factor of 5 (and sometimes much more). We show also that specialization is also very dangerous. A reasonable choice of architecture to fit one algorithm can be a very poor choice for another even in the same domain. There is sometimes an architecture, near in cost and performance to the best, that does much better on a second algorithm.
Joseph A. Fisher, Paolo Faraboschi, Giuseppe Desoli
MICRO1
1993 Guest editors' introduction
Joseph A. Fisher, Bob Rau
J. Supercomput.1
1993 Instruction-level parallel processing: History, overview, and perspective
Bob Rau, Joseph A. Fisher
J. Supercomput.2
1992 Predicting Conditional Branch Directions From Previous Runs of a Program
abstract
Article Free Access Share on Predicting conditional branch directions from previous runs of a program Authors: Joseph A. Fisher View Profile , Stefan M. Freudenberger View Profile Authors Info & Claims ASPLOS V: Proceedings of the fifth international conference on Architectural support for programming languages and operating systemsSeptember 1992 Pages 85–95https://doi.org/10.1145/143365.143493Online:01 September 1992Publication History 182citation1,070DownloadsMetricsTotal Citations182Total Downloads1,070Last 12 Months45Last 6 weeks12 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Joseph A. Fisher, Stefan M. Freudenberger
ASPLOS1
1988 Microprogramming, microprocessing and supercomputing
Joseph A. Fisher
Microprocess. Microprogramming1
1988 Microprogramming, microprocessing and supercomputing
Joseph A. Fisher
Microprocess. Microprogramming1
1984 Measuring the Parallelism Available for Very Long Instruction Word Architectures
abstract
Long instruction word architectures, such as attached scientific processors and horizontally microcoded CPU's, are a popular means of obtaining code speedup via fine-grained parallelism. The falling cost of hardware holds out the hope of using these architectures for much more parallelism. But this hope has been diminished by experiments measuring how much parallelism is available in the code to start with. These experiments implied that even if we had infinite hardware, long instruction word architectures could not provide a speedup of more than a factor of 2 or 3 on real programs.
Alexandru Nicolau, Joseph A. Fisher
IEEE Trans. Computers2
1983 Very Long Instruction Word Architectures and the ELI-512
abstract
By compiling ordinary scientific applications programs with a radical technique called trace scheduling, we are generating code for a parallel machine that will run these programs faster than an equivalent sequential machine—we expect 10 to 30 times faster.
Joseph A. Fisher
ISCA1
1981 Trace Scheduling: A Technique for Global Microcode Compaction
abstract
Microcode compaction is the conversion of sequential microcode into efficient parallel (horizontal) microcode. Local compaction techniques are those whose domain is basic blocks of code, while global methods attack code with a general flow control. Compilation of high-level microcode languages into efficient horizontal microcode and good hand coding probably both require effective global compaction techniques.
Joseph A. Fisher
IEEE Trans. Computers1