Transistor

The transistor is the building block of today’s computing technology.

transistorman The “transistorman” from the first edition of Horowitz’s The Art of Electronics.

The transistor is an analog device, but its essential function for modern computers is as a digital switch. It allows one voltage to control another current. Transistors aren’t the only switching device that can fill this role: vacuum tubes powered the early computers of the late 1940s and early 50s. Earlier analogs to computers used mechanical devices, such as Babbage’s Analytical Engine (the potential applications of which were more fully explored by Ada Lovelace), or, in a more limited sense, the Jacquard loom.

In Claude Shannon’s 1937 master’s thesis (at MIT), he showed that relays could be used to solve Boolean Algebra problems. The rest, as they say, is history.

Moore’s Law

moore's law Moore’s Law is dead, long live Moore’s law

Integrated circuits will lead to such wonders as home computers – or at least terminals connected to a central computer – automatic controls for automobiles, and personal portable communications equipment. The electronic wristwatch needs only a display to be feasible today.

Gordon Moore, 1965

Since the 1970’s the explosion in available computing power has primarily been driven by steady increases in transistor density, most famously codified in Moore’s Law. However, the trend is slowing down. New advances in computing power are increasingly driven by parallelization and/or hardware architecture improvements. Some view this as the beginning of a bleaker era, but others argue there is plenty of room at the top.

Dennard scaling

Not only is the trend slowing down, but more relevantly, Dennard Scaling failed in the mid-2000s and will not recover with our current semiconductor fabrication approaches.

Credit: Liming Xiu on ResearchGate

We are continuing to squeeze more transistors onto chips, but we can’t use the new capability because they’re getting too hot.

Dynamic (switching) power losses were, in the historical regime for computation scaling, the main reason for thermal loading on microprocessors, and as the figure shows, Pdyanmic scales with area. Halve your lambda, and you quadruple the number of transistors you can fit (and switch) and quarter the dynamic losses from switching them. This gave rise to the old aphorism that if the problem is too computationally hard, you can just wait — you get a quadratic increase in computating elements with meaningfully equivalent heat. Dennard scaling is the statement of this notion as constant power density over decreasing transistor size.

However, once you get small enough, static (leakage) losses from many factors begin to become significant in power usage (gate voltage decreases, so closer to transition region, quantum tunneling begins to be relevant). Shrink your process, and you can fit more transistors, but you can’t use any more of them because the processor is more and more just getting hot just from being on. This problem gave rise to multicore systems, decreasing core voltage, dynamic downclocking, etc., which are all ultimately ways to manage heat.

The general statement of the way to approach this problem is to turn off silicon as much as possible. You don’t have static power losses from silicon with V_ds = 0. Specialized coprocessors, dynamically disabled/sleeping cores and functional units, etc.

PLD

Programmable Logic Devices describes a wide class of logic circuits that can be reconfigured at will (unlike Integrated Circuits) and can provide realtime, asynchronous computations between input signals.

A special type of PLD is the PAL, in which the logical function is implemented as a sum-of-product of the input signals by combining them in AND gates through programmable fuses. The result of several AND gates are then fed through a fixed OR gate.

source: https://en.wikipedia.org/wiki/Programmable_logic_device

CPLD

A Complex Programmable Logic Device comprises several PLDs that can be connected to one another through a central interconnection matrix, offering more complex combinations.

source: Upegui, Andres. (2006). Dynamically reconfigurable bio-inspired hardware. 10.5075/epfl-thesis-3632.

FPGA

Field Programmable Gate Arrays are a type of PLD based on gate arrays. Physically, they consist of a grid of configurable logic blocks (CLBs). CLBs support very complex internal logic. They are usually based predominantly on programmable lookup tables. FPGAs initially grew in popularity since they support simulation of custom logic circuits. Increasingly they are also used for general purpose computing, where extreme speed or power efficiency is required, but it doesn’t make sense to manufacture a full custom chip (which takes a very long time and is very expensive).

They are common in communications equipment, as well as oscilloscopes and logic analyzers. High frequency trading firms use them. They also appear in some consumer electronics devices, like these synthesizers. You can rent enormous FPGAs by the hour on AWS.

source: http://jjmk.dk/MMMI/PLDs/FPGA/fpga.htm