Digital Integrated Circuit Design from VLSI Architectures to CMOS Fabrication

Given some computational task, one basically has the choice of writing program code and running it on a program-controlled machine, such as a microprocessor or a digital signal processor (DSP), or of coming up with a hardwired electronic circuit that carries out the necessary computation steps. This fundamental dichotomy, which is described in more detail in table 2.1, implies that a systems engineer has to make a choice:
Select a processor-type general-purpose architecture and write program code for it, or
Tailor a dedicated hardware architecture for the specific computational needs.
| Hardware architecture | ||
|---|---|---|
| General purpose | Special purpose | |
| Algorithm | any, not known a priori | fixed, must be known |
| Architecture | instruction set processor, von Neumann or Harvard style | dedicated design, no single established pattern |
| Execution model | fetch load execute store cycle instruction-oriented | process data item and pass on dataflow-oriented |
| Datapath | universal operations, ALU(s) plus memory | specific operations only, customized design |
| Controller | with program microcode | typically hardwired |
| Performance indicator | instructions per second, run time of various benchmark programs | data throughput, can be anticipated analytically |
| Paradigm from manufacturing | craftsman in his machine shop working according to different plans every day | division of labor in a factory set up for smooth production of a few closely related goods |
| Possible hardware implementations | standard C DSP components or ASIC with on-chip... |