If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Non-deterministic CPU's.
The first rule of digital electronics is they should be predictable -
ie. when the same data is fed into a circuit twice, the output should be the same every time. I'm trying to do a thought experiment to see what could happen if this restriction was to be relaxed for CPU's. Current CPU's should process every instruction with 100% accuracy. What if I remove that restriction and say an error may be made in one in every 1000 instructions. The error could effect anything, from simple incorrect results of an arithmetic operation to incorrect branching in the flow of control. After an "incorrect" instruction, I understand that any further instructions executed could depend on the "faulty" one, and therefore also produce unexpected results. My question is what optimizations and speedups could be applied to CPU design if they were allowed to occasionally produce "wrong" results? For example I suspect a higher clock speed would be ok, higher operating temperature range would be possible, on-die defects would be ok (provided they only affect a few operations), due to more defects being allowed, feature size could be reduced with the same manufacturing process, and therefore clock speeds increased further, and finally I'm guessing operating voltage could be reduced, reducing power consumption. My main question is could a CPU design expert take an "out of the air" estimate how much faster a CPU could be made if it only had to produce mainly-correct results, and not perfect results? Before anyone asks why I want such a CPU, it's just a thought experiment to see how an algorithm that can't be multi-threaded could be run fastest. By having multiple CPU's running on the same code and data data and being "synched" every 100 instructions or so, the current state of each processor could be compared, and a majority decision taken. Any CPU which isn't in the correct state would be reset by copying the state of another CPU, and execution would continue. |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Which cpu's? | ***** charles | Intel | 2 | June 4th 07 10:14 AM |
CPU's | ET | Intel | 0 | August 14th 06 01:50 PM |
FX CPU's | Legend | AMD x86-64 Processors | 12 | February 16th 06 02:56 AM |
CPU's RAM and FSB | Mark | Homebuilt PC's | 4 | August 29th 04 03:02 PM |
AMD CPU's | Halfgaar | General | 2 | July 5th 03 11:48 PM |