The Ternary Manifesto

by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

Posted to the web April 1, 2012.

Abstract

An alternative basis for development of a completely incompatible digital infrastructure is presented here. This minimizes the potential for leakage of information, particularly malware and other covert content from our existing digital infrastructure. This effort can be described as taking security through obscurity as a fundamental design principle.

Using base 3 instead of base 2 maximizes the incompatibility. This suggests that word-sizes should be measured in trits, not bits. The numbers 3, 9, 27 and 81 show up naturally in our new world, so we suggest the use of a 3-trit trybble, a 9-trit tryte, and a 27-trit word. This has strong consequences across the board, from digital circuits to character codes and programming language semantics.

While this work began as something of a joke, there are some very serious reasons that ternary logic may have value. One ternary digit, a trit, can represent 1.58 bits. Thus, a ternary computer with 21-trit words could handle values slightly larger than a 32-bit binary computer can handle. One of the limiting factors in high-end computer architecture has long been the density of interconnect wiring between the system components. Reducing the number of wires to 64% may well be worth the cost even if the move to ternary increases the total number of transistors required to build a computer.

  1. Standard Ternary Logic
    Being a treatise on Kleene logic including observations on the utility of the consensus and accept-any operators and a discussion of minimization of combinatorial logic circuits.

  2. Fast Ternary Addition
    Being an exploration of the possibility of building a high-speed ternary arithmetic logic unit, wherein carry-lookahead logic is presented for ternary incrementers and an unsigned ternary adder, and it is noted that, while the carry lookahead problem remains unsolved for balanced ternary adders, it appears that they will be more complex than unsigned ternary adders but just as fast.

  3. Heptavintimal Encoding of Ternary Values
    Being a brief treatise on the utility of the heptavintimal number system, to whit, the use of base 27 to represent triads of ternary digits with single alphanumeric symbols.

  4. TerSCII: Ternary Standard Code for Information Interchange
    Being a coding system for letters, numbers and symbols particularly well suited for use on ternary computers and correcting some serious deficiencies of the now common Unicode system.

  5. Number Representations for Ternary Computers
    Being a brief treatise on the division of words into trytes and trybbles, as well as the equivalence of balanced ternary and biased representations and the application of this to floating point numbers.

  6. Fast Ternary Multiplication and Division
    Being an unfinished discourse on multiplication by constants and by variables, as well as a discussion of both unsigned and balanced Ternary division.

  7. Ternary Data Types for C Programmers
    Being a complete library supporting 9 and 27 trit integer arithmetic using a binary-coded ternary or BCT data representation, suitable for experimenting with ternary computing on binary computers.

  8. Binary Coded Ternary and Ternary Coded Binary
    Being a description of how binary and ternary computing can coexist using encodings in each universe for data representations native to the other.

  9. The Trillium Architecture
    Being an unfinished section about a small computer architecture with a 9-trit word and a 19,682 word address space.

  10. The Tritium Architecture
    Being an unfinished section about a large computer architecture with a 27-trit word and a potential 7.6 teratryte address space.