hat are the really unusual or weird computers?

Roger Holmes roger.holmes at microspot.co.uk
Tue Jun 26 15:16:31 CDT 2007


Just catching up, still about a dozen digests behind!


> What are the most bizarre, way-out or just plain *different* machines
> that folks have seen?


Well how about a machine with a normal instruction set but no program  
counter?

It has a 48 bit word, and most instructions are 24 bits, with a few  
48 bit ones.

It has three 'Control Registers', and normally at least one has a  
unconditional absolute jump instruction in it, which jumps to the  
next word.

After a single length instruction is executed, it gets one added to  
it (in binary coded decimal), and it gets moved from control register 
(CR) 1 to CR3. At the same time, CR3 goes to CR2 and CR2 goes to CR1  
ready for execution.

If it is a jump instruction things are a bit different, the original  
CR2 and CR3 are saved in the 'A' register and the value at the  
address specified in the jump instruction gets put into CR1 and CR2  
instead of the old values of CR2 and CR3. CR1 still gets incremented  
and put in CR3.

Simple enough so far, but what about conditional jumps and procedure  
calls?

On a condition jump where the condition is true, the top 8 bits of  
the instruction get cleared, which makes it into an unconditional jump.

A procedure call (which can be conditional or unconditional) is just  
a jump instruction. What makes it a procedure call is in the function  
itself. It stores the A register in memory, usually at the word after  
the end of the routine. When the program reaches it end, it executes  
this word. If the procedure call was in the second (bottom) half of  
the word, then it will execute a jump instruction to the word after  
the word where the function call was made from. If the procedure call  
was in the first (top) half of the word, then it will first execute  
what had been in the second half of the word, which could itself be a  
procedure call, which actually works out just fine if you think about  
it.

Now I hear your objections - no recursion, no re-entrancy etc. But  
this machine had no interrupts, and if you really needed recursion  
then you could implement a stack in software and save the A-register  
in that stack. Anyway, with a maximum of 2000 (yes 2000 not 2048)  
words of store and overlays on drum backing store or magnetic tape,  
programs could not be huge anyway.

Other weirdness: pound shillings and pence arithmetic in hardware  
with a variable ten shillings position register, so than digits to  
the left were decimal (radix 10), the addressed digit was radix 2,  
the next digit was decimal, the next was radix 12 and the rest were  
decimal. This even had a multiply instruction which could multiply a  
LSD amount by a decimal amount. Division was all in software.

The machine was designed in the late 1950s, first delivered 1962  
(such a long gestation that it was the only ICT/ICL machine where all  
the promised applications software/libraries was ready before the  
first machine shipped). It a collaboration between the British  
Tabulating Machine company (which had recently given up its rights to  
use all IBM designs and patents!) and the British General Electric  
Company, Telephone division based in Coventry. By the time it  
shipped, BTM had become ICT (International Computers and Tabulators)  
and went on to be merged with almost all the other British computer  
companies to become ICL (International Computers Ltd).

Somewhere between 155 and 200 of these ICT 1300 series machines were  
made up to becoming obsolete in 1965. As I understand it, in 1965  
there were 950 computers in Britain, so a large proportion were of  
this type, though of course some were exported.



Another weird machine, the CHLL, Compacted High Level Language  
computer. Executed Coral 66 (a real time variant of Algol 60) in  
microcode. It was a 24 bit machine but instructions could be any  
multiple of 3 bits, and could start on any 3 bit boundary. Top 21  
bits of program counter were word address and the bottom 3 bits were  
the 3 bit byte address within the word. The machine was flyable, but  
otherwise a normal computer which could have a teletype, paper tape  
reader and punch attached. Only two made (one ground prototype and  
one flyable).







More information about the cctalk mailing list