Asynchronous Microprocessor Design
A tutorial held in conjunction with MICRO-35
Istanbul, Turkey
After looking like a pipe dream for many years, asynchronous technology is
becoming a viable---and probably unavoidable---alternative to clocked design
for large VLSI systems. Asynchronous technology is based on local
communications among concurrent units. Communication and synchronization
among the units are implemented by handshake protocols. There is no concept
of global time---no clocks are used---and no assumptions are made about the
duration of an action or of a communication. In other words, an asynchronous
system looks very much like a computer network on a chip.
Asynchronous circuits have several important advantages. First, all issues
related to distributing a clock signal reliably and efficiently across a large
chip disappear. Secondly, because asynchronous systems can be made to be
largely insensitive to delay variations, they can tolerate large variations in
the physical parameters of a design, which are difficult to control in deep
submicron technology. Thirdly, asynchronous circuits offer automatic and
perfect shut-off of idle parts to the designer of low-power systems. Finally,
asynchronous technology lends itself better to high-level synthesis and
modular design.
This tutorial will offer an in-depth coverage of the techniques
involved in the design of both high-performance and energy-efficient
asynchronous microprocessors.
First, we will present the basic circuit techniques for asynchronous design:
Two and four-phase handshake protocols, delay-insensitive data encoding,
one-bit register with write-acknowledge, completion detection and completion
trees, arbiters and synchronizers.
Second, we will describe the most common asynchronous building blocks
like buffers, split and merge elements, computational elements.
Third, we will describe the main components of a modern microprocessor:
control, ALUs, memory and caches, registers and busses.
We will address optimization issues involved in designing for
both high throughput and low energy, like transistor sizing, dynamic logic,
slack matching.
Time permitting, we will describe the main aspects of several microprocessors
designed at Caltech in the last decade.
Tutorial Organizers:
Alain J. Martin, Caltech [email protected]
Mika Nystroem, Caltech [email protected]
Bios:
Alain J. Martin is a Professor of Computer Science at the California
Institute of Technology. He is a graduate from the Institut National
Polytechnique de Grenoble, France. His research interests include concurrent
and distributed computing, and VLSI design. His research group is well-known
for their pioneering work in the area of asynchronous VLSI and asynchronous
microprocessor architectures. In particular, they designed the world-first
asynchronous microprocessor in 1989.
Mika Nystroem was born in Stockholm, Sweden on March 23, 1971.
He received S.B. degrees in physics and electrical engineering from the
Massachusetts Institute of Technology (MIT), Cambridge, Massachusetts,
in 1994, M.S. and Ph.D. degrees in computer science, both from the
California Institute of Technology, Pasadena, California, in 1997 and
2001. His graduate research covered a wide range of topics relevant
to asynchronous and other high-speed VLSI systems; he was one of the
main designers of the Caltech MiniMIPS asynchronous processor, and his
Ph.D. thesis work focused on a wide range of design issues encountered
in a novel family of ultra-fast asynchronous circuits. Since 2001, he
has been with the Department of Computer Science, California Institute
of Technology as an Instructor in Computer Science. He won a Silver Medal
in the 20th International Physics Olympiad in Warsaw, Poland, in 1989.