Welcome to the ACAL at USC
Introduction to the Advanced Computer Architecture Laboratory

The
Advanced Computer Architecture Laboratory of the University of
Southern California, under the direction of Professor Alvin M.
Despain, is a center for the investigation of high performance
symbolic and numeric computing. The Laboratory supports over thirty
graduate students from both the Electrical Engineering - Systems and
Computer Science Departments and also collaborates with academic and
industrial researchers around the world.
The Laboratory undertakes experimental research in areas such as
compiler technology, computer architecture, VLSI design, and
computer-aided design tools. In addition to its in-house hardware
laboratory and computing resources, the ACAL has used the fabrication
services provided by the Information Sciences Institute (ISI) to
produce its own custom processors and systems.
The most recent accomplishment of the ACAL was the development of the
VLSI-BAM processor, which executes compiled Prolog benchmarks at up to
3.9 million logical inferences per second (LIPS), faster than any
other Prolog processor in the world.
About the Director...
Professor Despain, who earned the B.S., M.S., and Ph.D. in electrical
engineering at the University of Utah in 1960, 1964, and 1966
respectively, began this line of research in 1984 at the University of
California, Berkeley. There his group developed the PLM Prolog
processor, which achieved a performance of 300 KLIPS, a record at that
time. Dr. Despain serves on advisory boards, including JASON, the
DARPA ISAT working group, the Office of Naval Technology Computer
Research Advisory Group, and Tartan laboratories. He has also served
on numerous other advisory groups. He has published over sixty
papers. Professor Despain holds the Charles Lee Powell Chair in
Computer Engineering.
About the ACAL...
The Advanced Computer Architecture Laboratory is engaged in four major
projects: the
Southern California Logical Abstract Machine (SLAM),
the Trojan Multi-Multi parallel processor,
the Aquarius Prolog compiler,
and the Advanced Silicon Compiler in Prolog (ASP).
The SLAM is the third in a series of high-performance Prolog
processors that began with the Programmed Logic Machine (PLM) at
Berkeley. The PLM was a microcoded implementation of the Warren
Abstract Machine, a formal model for the execution of Prolog programs.
The next step, the Berkeley Abstract Machine (BAM), was designed to
support optimization of programs by the compiler, and achieved higher
performance than the PLM by a factor of ten.
The SLAM is expected to out-perform the BAM by a factor of at least
eight. An evolution of the BAM architecture, the SLAM is intended for
energy-efficient computation, in particular reducing the amount of
traffic between the processor and off-chip memories. The ultimate
goal of the project is to determine the principles of computer
architecture that will enable the design of new, revolutionary
embedded microcomputers, which will have a rapid response to real-time
events, as well as low power consumption.
While the SLAM project explores the limits of symbolic computation on
a single processor, the Multi-Multi project has the objective of
determining how well symbolic computation can be sped up on a
multiprocessor. The initial version of the Multi-Multi has six
VLSI-BAM processors connected with a set of high-speed buses.
Subsequent versions will have larger numbers of SLAM processors. As
the interconnection and cache coherence schemes are general and the
processors are supersets of RISC architectures, the results of this
project will be applicable beyond symbolic computation.
The Aquarius compiler and the BAM were designed as part of an
investigation into whether logic programs could be executed as
efficiently as imperative programs. The experiment was successful and
Prolog programs compiled with Aquarius are as efficient as C programs.
The compiler has now been enhanced with a framework for abstract
interpretation, a powerful technique for program analysis. Several
different analyses have now been implemented using the framework,
including mode analysis and (to support parallel execution) static
data dependence analysis.
ASP began as an exploration of how fully the art of computer design
can be formalized and automated. The ASP system accepts an abstract
description of the instruction set of a computer and generates a set
of masks for fabricating it on a single chip. In between, the design
is transformed and optimized between over forty different levels of
abstraction. ASP has been used to design several processors, one of
which has been fabricated.
For Further Information...
Where is ACAL?
- Mail:
- USC Advanced Computer Architecture Laboratory
- University Park / EEB 131
- 3740 South McClintock Avenue
- Los Angeles, California 90089-2561
- Telephone:
- 213-740-4462 (voice)
- 213-747-8173 (fax)
- E-Mail:
- susanm@usc.edu (general information)