Minimal Computing – almost 70 Years On

Some of you will know that I am a proponent of minimal computing devices.

I have more than a passing interest in retro-computing, because after all, back in the day, hardware cost so much, – for example in 1963, in the PDP-5,  every transistor cost about $20 in today’s equivalent, and had to be justified.

Now that same $20 will buy 4  Pi-Zero dev-boards, with 1GHz ARM processors- needing about 20 million lines of code just to be useful.

So I have embarked on a journey of discovery and learning, to see if we can make computers a lot simpler.

Ancient History

The first real computers appeared in the late 1940’s, and filled a room with racks of power hungry vacuum tubes. My father attended Cambridge University as an undergraduate at this time – and probably unbeknown to him, computer history was being created daily by a group of dedicated mathematicians, engineers and technicians.

EDSAC was one of these early computers, and with 3000 tubes, and about 650 instructions per second was cutting edge back in May 1949.  With just 16 useful instructions, and memory based on ultrasonic delay lines EDSAC was created to do useful computational work – to assist Cambridge academics with their research.

Nearly 70 years later, the National Museum of Computing at Bletchley Park, is building a faithful reproduction of EDSAC – hopefully with it coming online later this year.

The Open Source Hardware Users Group – are having their own tribute to EDSAC, with the “EDSAC Challenge” – to be held as part of the Wuthering Bytes, Digital Festival, in Hebden Bridge, in early September.

EDSAC will be faithfully emulated using the latest open source FPGA technology – and teams of enthusiasts will work together to contribute meaningful demonstrations of what can be done with modern technology – as a tribute to the venerable EDSAC.

My own contribution will hopefully be a port of a tiny interactive language called SIMPL – which creates an interactive programming environment in just a few hundred instructions of assembly language.

Capable of arithmetic and logical operations,  looping, printing strings, and interpreting sequences  of  alphanumerical data – SIMPL will present a challenge for the computational resources of EDSAC.

Instruction Set.

EDSAC really only has about 16 useful instructions and 1K words of memory. This is going to cramp most programmer’s style.

However, if you examine the instruction set – the basics are there, but it will just take an extra bit of ingenuity to get the most out of them.

ADD

SUBTRACT

MULTIPLY

AND

JUMP IF >=0

JUMP IF <0

SHIFT LEFT

SHIFT RIGHT

TRANSFER ACC TO MEMORY AND CLEAR

TRANSFER ACC TO MEMORY DON'T CLEAR

TRANSFER MEMORY TO MULTIPLICAND REGISTER

MULTIPLY AND ADD

MULTIPLY AND SUBTRACT

INPUT A CHARACTER

OUTPUT A CHARACTER

NOP

ROUND ACCUMULATOR

STOP

 

Having just completed coding up my SIMPL interpreted language in just about 300 instructions in MSP430 assembly language – the challenge is now to code it up in EDSAC machine language – in under 1k words.

The next few posts will report on my progress – as I battle with the EDSAC simulator.

 

 

 

 

 

 

 

 

 

Advertisements

About monsonite

mostly human
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s