EdS wrote:
Quote:
The idea, at minimum, is to make a lot more memory available than the address space of the host machine. No reason not to hang a pair of clotheslines, or a larger number.
This is an interesting idea for some common applications. The idea of maximising the length of the queue of inline instructions, and minimising jumps and calls - because random access is going to have severe time and complexity penalties.
Think of a CNC drill program coded onto a paper tape. The controller need only read X, read Y, move drill to coordinates (X,Y) and drill hole, then move to the next instruction(s). Once in a while it might have to change the drill size, or replace with a sharper one - but essentially it is a sequential process limited only by the length of the paper tape.
The controller, back in the day would not have and does not need to have random access to every location on the tape
The other example is a video display, read the byte or bytes for the next pixel and push it out to the video system. Repeat until the end of the line, and ultimately repeat to the end of the frame.
Both of these applications would appear to be suitable for a clothesline or Queue machine.
A modern example is SPI serial memory - this is the modern equivalent of paper tape. Just keep clocking and the data automatically progresses byte after byte until the end of the memory - at which point it wraps around back to the beginning.
As with all serial memory, random access incurs a high overhead, but for a Queue machine with long unbroken runs of inline code it would make perfect sense.
Serial memory is now offering dual SPI, quad SPI and even octal SPI as a means to provide a greater bit rate. This is the equivalent of Ed's multiple clothes lines.
Because a subroutine call could create a large time penalty - it might be more efficient to switch to a different "clothes line" in order to execute the subroutine code.
Two closing thoughts - nobody likes a queue jumper, and don't air your dirty washing in public........