4.0440 Nature of Computers (1/43)

Elaine Brennan & Allen Renear (EDITORS@BROWNVM.BITNET)
Thu, 30 Aug 90 23:06:35 EDT

Humanist Discussion Group, Vol. 4, No. 0440. Thursday, 30 Aug 1990.

Date: Wed, 29 Aug 90 10:49:17 -0400
From: amsler@flash.bellcore.com (Robert A Amsler)
Subject: bi-stable devices

This discussion is getting irritating. Look, there is such a thing
as a bi-stable electrical device. Think of it as something that with
high probability is either in one state or another, but if it finds
itself inbetween it tends to get into one of its two stable states.
Light switches are such devices. Bi-stable devices have played an
important part in the development of computers because they directly
mimic binary arithmetic. A bi-stable device doesn't have to be
active, which was what made bubble-memory so appealing (and is how
a solar-powered pocket calculator can be made to remember the last
digits it held when the light goes away).

Now, there is also such a thing as using bi-stable devices to build
a digital computer, i.e. a computer which calculates using discrete
numbers (rather than an analogue computer which tries to use
devices considered to hold every state inbetween their limits).

When you build a computer you pick a number system for it. You can
offer the programmers any number system you want as the most basic
way of dealing with the computer. However at the electrical device
level it would be very rare to encounter n-stable devices being used.
It is much easier to gang together a bunch of bi-stable devices to
pretend to be something else. I would very much doubt the IBM 1620
was built using special 10-state devices.

In most digital computers there are mechanisms to allow the
programmer to ``get at the bits'' and perform direct binary `and' and
`or' operations. Such operations are often needed for efficient use
of memory to compare vectors (for information storage and retrieval),
manipulate graphics (computer vision, computer graphics) or even do
some mundane tasks such as convert upper-lowercase characters into
all uppercase by directly affecting their stored bytes through
masking with suitable binary values.

Since the use of bi-stable electrical devices and the performance of
binary arithmetic are so close to being the same thing, the analogy
is carried to its logical conclusion that they are the same thing and
that programming a computer is setting the bi-stable devices
directly. In actuality there are lots of other details to a hardware
implementation, such as the error-checking, self-correcting, and
diagnostic components of a computer that try to keep the analogy
working even though the electrical devices are falliable. There can
also be organizations of the bi-stable devices that perpetuate
another analogy, that of the computer using some other number system.