AnyCPU
http://anycpu.org/forum/

FLINT - a virtual machine for floating point from 1955
http://anycpu.org/forum/viewtopic.php?f=22&t=112
Page 1 of 1

Author:  BigEd [ Mon Feb 03, 2014 5:19 pm ]
Post subject:  FLINT - a virtual machine for floating point from 1955

FLINT is perhaps the first virtual machine - it ran on MANIAC, aka the IAS Machine.

The host machine has 40-bit words and deals with 40-bit signed fixed point numbers. FLINT is an interpreter for a dual-accumulator virtual machine which deals with 40-bit floating point numbers (in 31 or so locations) and 10-bit integer numbers (again in 31 or so locations.) Each 40-bit word from the instruction stream forms two 20-bit instructions, which break into 10 bits of order code and 10 bits of address. There's an odd facility for consuming 40-bit literals from the instruction stream - almost like there's a separate pointer for these literals, so a word might contain one or two instructions which use a literal, and then one or two subsequent words will be read and skipped. The mechanism for conditionals is to set an answer bit using a test operation, and then a subsequent test reads and resets the answer bit. One of TI's calculator chips does the same thing (see http://righto.com/ti )

I though this might be of interest because from time to time someone suggests building out a floating point extension to a 6502 or similar. Here's a form of instruction set to consider, not entirely unlike SWEET16's place in extending to 16 bits.

In the linked article we also find a description of "1906", another floating point library, which is in some ways more like SWEET16 in that it interoperates with native code. It's described as offering a "pseudo-machine." It has an usual instruction format which specifies not direct versus indirect, but instead contains a mask of bits which selects which subset of B registers (index registers) should be added to form the effective address.

via George Dyson's book Turing's Cathedral, which is worth a read. (You can read bits of it at Google Books and at Amazon)

BTW there's an amount of retro content on gplus, so do mosey over to Computer History and Retro Computing and have a look around.

Cheers
Ed

Author:  jamesbowman [ Mon May 05, 2014 11:19 pm ]
Post subject:  Re: FLINT - a virtual machine for floating point from 1955

The method you mention for immediates is also used in Chuck Moore's later Forth machines. A multi-operation opcode has embedded immediate symbols in it, and following the opcode are whole words of immediates. So to express (x + 13) & 255 you might have:

Code:
@p + @p and  { this is the opcode }
13           { fetched by the first @p }
255          { fetched by the second @p }


"@p" is the immediate fetch operation.

Author:  BigEd [ Wed May 07, 2014 2:58 pm ]
Post subject:  Re: FLINT - a virtual machine for floating point from 1955

Interesting!

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/