01-24-2014, 05:37 PM
Ever since comparators were introduced I've been thinking about an efficient way to use them in memory, and with Analog Serial RAM, I have one.
Normal Analog RAM is limited by the delay required for moving specific signal strengths over short distances - you need to use comparators, so by necessity, the delay is 1 tick/bit. This is very bad because it means as your memory expands, it gets slower at a linear rate. However, when moving lots of data, there is an advantage to using serial, which by default has delay between bits. What this means, is that using analog memory and serial together negates the problems of delay between bits, because now it's an advantage.
As I mention in the video, this RAM contains an analog memory cell that is written to by an analog serial decoder, and read from by an analog serial encoder. In the video I use parallel serial, which means I have multiple serial lines in parallel so that the delay is distributed. It's worth noting that analog serial 2 ticks/hex bit at its fastest. This is still faster than 1 tick/bit binary serial, because we're sending 4 bits of data every 2 ticks for an effective speed of 0.5 ticks/binary bit.
I think that this method has tremendous potential in the world of redstone computing, because it allows us to handle massive quantities of data in a small space, at a reasonably fast speed.
Normal Analog RAM is limited by the delay required for moving specific signal strengths over short distances - you need to use comparators, so by necessity, the delay is 1 tick/bit. This is very bad because it means as your memory expands, it gets slower at a linear rate. However, when moving lots of data, there is an advantage to using serial, which by default has delay between bits. What this means, is that using analog memory and serial together negates the problems of delay between bits, because now it's an advantage.
As I mention in the video, this RAM contains an analog memory cell that is written to by an analog serial decoder, and read from by an analog serial encoder. In the video I use parallel serial, which means I have multiple serial lines in parallel so that the delay is distributed. It's worth noting that analog serial 2 ticks/hex bit at its fastest. This is still faster than 1 tick/bit binary serial, because we're sending 4 bits of data every 2 ticks for an effective speed of 0.5 ticks/binary bit.
I think that this method has tremendous potential in the world of redstone computing, because it allows us to handle massive quantities of data in a small space, at a reasonably fast speed.