A new encoding scheme
Julian Onions
jpo at cs.nott.ac.uk
Fri Apr 1 18:55:11 AEST 1988
The below is the text of what we consider a revolutionary new concept
in computer hardware and software - the authors would appreciate any
comments on this proposal before attempting to `clean up' and buy out
IBM, DEC and Sun. Please make sure you understand all the concepts
before making any value judgements though. Thanks,
Julian.
---------------------------------------------------------------------
A New Data Encoding Scheme
Andrew B. Cheese (abc at cs.nott.ac.uk)
Julian P. Onions (jpo at cs.nott.ac.uk)
Computer Science Department
Nottingham University
Nottingham.
ABSTRACT
--------
The computer industry from its very inception
has used the binary system to represent all types
of information. This system has much to recommend
it's use. It is simple to construct hardware based
upon this system and all the normal arithmetic and
logical operations can be performed upon it.
However, it is the authors opinions that this
system is not as optimal as it could be and that
some rather simple changes to the method of encod-
ing data can bring about large increases in
storage, communications and reliability.
1. The Idea
- --- ----
The basic ideas stem from the seemingly simple idea of
replacing the binary method of encoding by a different
scheme. In essence, all that is required is to take the
value normally represented by a 1 or true state, and replace
this with two 0's or false states. e.g.
decimal binary new scheme
9 1 0 0 1 00 0 0 00
13 1 1 0 1 00 00 0 00
At first sight there doesn't seem to be much of an advantage
in this scheme of encoding but as the rest of this paper
will attempt to prove, the benefits are enormous when
applied in the proper way.
This method, whilst not binary is also not strictly
unary. It has therefore been christened sesquinary (from
sesqui - one and a half).
April 1, 1988
- 2 -
2. Applications
- ------------
2.1. File Storage.
- - ---- -------
An intelligent operating system can make great use of
the encoding. As an example, a file need not be stored as
the complete set of bits. All that is required is for the
operating system to keep count of the ``number'' of zero's
in the file. In the case of the this would mean that the
entire disc would consist of inodes. Each inode, instead of
referencing blocks would keep a count of the number of
zeros. For large files, double and triple indirection could
be applied - see the section below on compression. Obvi-
ously, for small files, the single indirection is more
cost-effective but with larger files it would pay to move
towards more indirection as a saving of space. A flag in the
inode could keep count of the number of indirections
currently performed.
This scheme does have some overhead in the updating of
random access files, in that the operating system must first
``unpack'' the file, perform the update, and then repack the
file. This could probably be done in virtual memory for most
operations though.
2.2. Networking.
- - ----------
In networking, this method really comes into it's own.
To begin with, there are practically no bandwidth limita-
tions. The problems inherent in normal communication over
serial and phone lines stems from the ability to detect the
transitions between two states. Once this transition is
removed, and the data is in effect transitionless, the
bandwidth of the circuit is only reliant on the speed with
which zeros can be pumped down the line by the hardware (and
the rate at which they can be received of course).
Another advantage comes in the standard ethernet
environment. Normally an ethernet transceiver must wait for
a clear slot to arrive, transmit the packet and detect if a
collision occurred, if so it must retry. With the all zero
encoding method transmission can take place at any point,
there is in effect nothing on the ethernet that can scramble
the signal as all hosts are transmitting zeros.
2.3. Compression
- - -----------
As hinted at above the possibilities for compression
are fantastic. You can forget Huffman encoding and Lempel-
Ziv can take a walk! The compression techniques can reduce
any amount of data to 1 number, although that number may be
larger than the convenient word size of a given architec-
ture. The basic algorithm is outlined below.
April 1, 1988
- 3 -
while (length(data) > 1) {
data = count zeros(data);
-
iteration ++;
}
return iteration;
This can be also be changed to do essentially the above but
in N steps for large files.
2.4. Hardware
- - --------
It is expected that there may be some implementation
problems associated with the hardware of this device. How-
ever, the benefits appear to outweigh the drawbacks in many
ways. To begin with, the memory using this technique should
be simple. There is no need to invert bits or to even sense
the bits - they should all be zero anyway. Memory failure
can be detected very easily, no need for complex CRC checks
- any 1 bits are obviously due to failing memory.
Another advantage is that all memory is effectively
permanent, as there is no state to be saved. This means com-
puters built using this model should be unaffected by
power-outs and be impervious to crashes.
2.5. Encryption
- - ----------
This scheme also seems to lend itself to data encryp-
tion. The details have not been fully worked out and may
appear in a second paper once the decryption algorithms have
been straightened out.
2.6. Parallelism and Data-flow
- - ----------- --- ---- ----
Again, this method has more advantages for parallel
hardware. Shared memory is particularly easy to implement
for the same reasons that the ethernet is easy - effectively
there are no changes in memory state so collisions can't
happen (unless defective memory is present).
3. Implementation
- --------------
There have been some doubts raised about the hardware
realisation of this technique, but in general this can prob-
ably be attributed either to the resistance to change gen-
erally found, or by manufacturers protecting their own
interests. The vast benefits that this method seems to have
though should mean that once it is taken up it will clean up
in the computer industry.
April 1, 1988
--
Julian Onions
More information about the Comp.unix.wizards
mailing list