Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't think I'd call the transputer "hardware multitasking" so much as "integrated communications network."

For a time the T800 was the top of the FP pile. Not for long, though, and then the long, long, long wait for the disappointing T9k doomed the whole architecture.



>I don't think I'd call the transputer "hardware multitasking"

"A Transputer had a number of simple operating system functions built into the hardware. These included hardware multitasking with foreground and background priority levels, hardware timers, and hardware time-slicing of background tasks."

The Hardware and Software Architecture of the Transputer -- https://archive.org/details/Xputer

There are special instruction to start and end a process, and the fact that it was a stack machine means context switches were extremely fast, almost no registers to save/restore.

> so much as "integrated communications network."

It had both, and both were integrated. IIRC, the instructions to send/receive on the links were integrated with the multitasking hardware.

"The first 16 'secondary' zero-operand instructions (using the OPR primary instruction) were:

   Mnemonic Description
   REV      Reverse – swap two top items of register stack
   LB       Load byte
   BSUB     Byte subscript
   ENDP     End process
   DIFF     Difference
   ADD      Add
   GCALL    General Call – swap top of stack and instruction pointer
   IN       Input – receive message
   PROD     Product
   GT       Greater Than – the only comparison instruction
   WSUB     Word subscript
   OUT      Output – send message
   SUB      Subtract
   STARTP   Start process
   OUTBYTE  Output byte – send one-byte message
   OUTWORD  Output word – send one-word message"
https://en.wikipedia.org/wiki/Transputer

Also, you could designate memory locations as local communications channels, and the same instructions would work. So the same binary could run locally or distributed.


This manual is a great find! Thank you.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: