3DSoftware.com > ECE > MPSoC > Hardware Advances
Hardware Innovations
 
This series of articles covers MPSoC technologies and general computing.
 
Previous Page:
Introduction
 
RISC Architecture
 
As microcode was allowing CPUs to become more complex, research was finding that some of the increased complexity in CPUs was unnecessary. These researchers found that by reducing the number of available macro instructions, compilers could be optimized to produce machine code that was very efficiently pipelined within the CPU.
 
The missing macro instructions are simply replaced with sequences of instructions from the smaller instruction set, producing slight overhead that is far less wasteful than the savings incurred overall.
 
Their research was correct, and resulted in the development of a new kind of CPU. It uses less macro instructions: a “reduced instruction set.” A system based on this kind of CPU is called a Reduced Instruction Set Computer (RISC).
 
In effect, a RISC system performs some of the pipelining optimization at the compiler (static) level instead of at the chip (dynamic) level. This meant that some of the circuitry on CPU chips was unnecessary and eliminated, producing a smaller chip that could once again be designed entirely to use hard-wired programming (without microcode!).
 
In today's component-based world, we use the term “core” to mean CPU. As new RISC cores are being developed that are even more powerful, the complexity of the CPU increases, and it is again becoming impossible to design the core with only hardwiring. New RISC cores are therefore beginning to implement microcode.
 
Even with microcode, new RISC cores will still be more efficient than the other kind of CPUs (which are called Complex Instruction Set Computers – CISC) for many uses, because of static pipelining optimizations that are possible with a smaller instruction set.
 
 
Wiring Boards
 
Early computing involved plugging and unplugging wires. Later, for more durability and compactness you could solder wires and components into a breadboard. A breadboard is an inexpensive wafer with holes. Breadboards are still popular, now suitable for prototyping circuits. You can even get solderless breadboards (see Comer, Essentials of Computer Architecture, p. 332).
 
For more compactness, now you can use a printed circuit board (PCB – also called a printed wiring board). Those have the wiring already etched onto the board, so you only have to solder components into the board (see photo). But this requires already knowing how the wiring will be laid out, and having the board manufactured with the wiring printed into it. Unlike the breadboard, you cannot change the wiring.

Soldering

Back side of a PCB
 
To have more freedom in wiring, you can use a field programmable gate array (FPGA). An FPGA comes with components already installed, and the wiring is built into the board but can be customized for each board by a process of breaking miniature fusible links (or the opposite process of creating links with antifusing).
 
Components that are available on FPGAs inlcude memory and RISC cores (CPUs).
 
“Current FPGAs show convincing evidence that multistage, scalable networks can be implemented on-chip, and current high-performance multiprocessors demonstrate that these advanced network topologies can sustain extremely high performance levels.” [ 1 ]
 
“We need to understand better where to put FPGA fabrics into SoC architectures so they can be most effectively used.” [ 2 ]
1.   Benini and De Micheli, “Networks on Chips,” in Jerraya & Wolf (Eds.) Multiprocessor Systems-On-Chips (MPSoCs), p. 62.
 
2.   Jerraya and Wolf, MPSoCs, p. 10.
 
 
 
 
Next Page:
Architecture Innovations
 
 
Copyright © 2008 by 3D Software. All rights reserved.
3D Software, P.O. Box 221190, Sacramento CA 95822 USA
www.3DSoftware.com     Contact us
Thursday, 28-Aug-2008 04:10:03 GMT