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.