The Synchroscalar Project
Synchroscalar
is a tile-based architecture for embedded processing that is designed
to provide the flexibility of DSPs while approaching the power
efficiency of ASICs. We achieve this goal by providing high
parallelism and voltage scaling while minimizing control and
communication costs. Specifically, Synchroscalar uses columns of
processor tiles organized into statically-assigned frequency-voltage
domains to minimize power consumption. Furthermore, while columns
use SIMD control to minimize overhead, data-dependent computations can
be supported by extremely flexible statically-scheduled communication
between columns.
We have performed a detailed evaluation of Synchroscalar including
SPICE simulation, wire and device models, synthesis of key components,
cycle-level simulation, and compiler- and hand-optimized signal
processing applications. We find that the goal of meeting, not exceeding, performance targets with
data-parallel applications leads to designs that depart significantly
from our intuitions derived from general-purpose microprocessor
design. In particular, synchronous design and substantial
global interconnect are desirable in the low-frequency, low-power
domain. This global interconnect supports parallelization and
reduces processor idle time, which are critical to energy efficient
implementations of high bandwidth signal processing.
Overall, Synchroscalar provides programmability while achieving power
efficiencies within 8-30X of known ASIC implementations, which is
10-60X better than conventional DSPs. In addition, frequency-voltage
scaling in Synchroscalar provides between 3-32\% power savings in our
application suite.