(TODO: add info about Macromechanical computation)
As it became apparent that computers can be useful tools (to a few privileged individuals in the past) electronics was still immature (compared to the "silicon transistor age") So there where attempts to build computers in a purely mechanical approach. Electronics quickly majored though and mechanical computers turned out to be vastly inferior to electronic ones. As a result serious attempts at mechanical computers design are limited to only a brief but fascinating episode of history.
With the coming advent of atomically precise gem-gum nanosystems mechanical computation might experience some revival due to several reasons.
Benefits of mechanical computation over electronic computation at the nanoscale
- Speed: making things smaller makes them faster (a scaling law) - up to low GHz range is reasonable for nanomechanical computing
- Friction: while crudely etched micro-electro-mechanical systems (MEMS) have huge problems with friction the polar opposite is the case for atomically precise mechanosynthesized nano-electro-mechanical systems (AP-NEMS). See: "Superlubrication"
- Nanomechanics in general features near classical behavior at the nanoscale. This makes design easier and more straightforward. Sharp corners in conductive nano-wires can create unexpected high resistances for electric currents due to ballistic transport effects. There's a lot of experience from todays silicon wafer technology though.
- Highly compact design: Nanomechanic computing systems can likely be built more compact (in gate density) than nanoelectronic computing systems. In case of nanoelectronic systems electrons tunnel through isolators with a thickess of several atoms (especially at higher voltages) which can lead to unwanted dissipation losses.
- In an advanced productive nanosystem like a nanofactory relatively slow mechanical motion (MHz range) is needed anyway for the mechanosynthesis cores and further up assembly robotics. So making low performance local logic purely mechanical too makes sense.
- Nanomechanic computation has inherent robustness against electromagnetic interference. Even hard against the worst case: EMP (electromagnetic pulse)
- Nanomechanic computation has robustness against ionizing radiation (in case too filigree structure are avoided like e.g. single bonded ethyne chains). Note that with this design decision one looses the benefit of highly compact design though.
A note on ternary (3-valued) logic
Mechanical computing systems may make ternary logic more easy to implement. The benefits of ternary logic are questionable though. While in principle ternary has a better radix economy than binary in adder circuits (a very core component of most computing systems) the gained benefit in the adding logic seems to be lost with the carry bit logic. (TODO: add link to relevant web-pag(es)) There are more possible ternary logic gates than binary ones. This may sometimes make design more complicated and less intuitive. Automated design tools can help.
A note on analog logic
There is a very good reason why we switched to digital systems. noise error margins and error correction allow for scaling up many many orders of magnitude with ridiculous levels of reliability.
In fact thats exactly the same reason why a nanofactory for physical production is more desirable than being content with the current day chemistry that is adding up errors with growing product size. Stiffness is the key for suppression of thermal fluctuations. It keeps atom deposition at the right place well apart from atom deposition at the wrong place. Just as it keeps bits from being in the wrong state due to charge fluctuations.
- s = (1/k) * F ... to keep position fluctuations low stiffness (= "inverse mechanical capacity") must be kept high
- Q = C * U ... to keep charge fluctuations low capacity (= "inverse electrical stiffness") must be kept low
(TODO: Something is reverse here. Usually there are voltage margins not charge margins. What's going on?)
While analog in pure form is unsuitable here's an idea how some form of pseudo-analog computing mechanisms may be useful in the nanoscale:
Subatomic pseudo-analog mechanical computation
Warning! you are moving into more speculative areas.
What will be referred to as "pseudo-analog" in the following is analog with forbidden levels separating allowed ones.
In nanomechanical digital logic it seems one is fundamentally limited with the size of atoms. But (using rotating mechanics as an example) a torsionally stiff rotating axle can actually can resolve angular steps fine enough such that the circumference arc-length steps are of a size way below the size of an atom.
To tap this space one could try a strategy like this:
- convert to pseudo analog
- use analog mechanical computing mechanisms
- convert back to digital before the levels blur to the point of unreliable separability
- do re-amplification / error correction in the usual digital fashion
The main problem here is that the gain in the compactness from the pseudo-analog part might be lost with the size of the conversion circuitry. Note that for every additional bit encoded in the pseudo analog value the number of levels doubles. So the number of encodable bits is quickly reached. To extend the number of encodable bits a bit one could cool the system to reduce thermal noise. But at some point one runs into eigen-modes excitated by zero point energy. Regaring quantum superposition of axle states for mechanically based quantum computation: the decoherence time may be way too short. (TODO: Inverstigate whether this has been investigated or not.)
Note: Some macroscale analog mechanical computing devices would not work at the nanosacle since they heavily rely on friction. A good example is the ball and disk integrator mechanism (see: "fire control computers" link). (Maybe related: fundamental impossibility of continuously adjustable mechanical gain chain transmission)
- nanomechanical computation
- Analogy between electrical and mechanical quantities
- Wikipedia: Mechanical_computer
- Wikipedia: Analytical_Engine (Charles Babbage; base 10; never built in full)
- Wikipedia: Z1_(computer) (Konrad Zuse; base 2; rebuilt after destruction; unreliable but in a reproducible way)