3 ms·
Of course it would be slower, but suppose time is not a priority while performing computations. CPU could start and stop the emulation, perform some memory mana
by amts 4y ago
Of course it would be slower, but suppose time is not a priority while performing computations. CPU could start and stop the emulation, perform some memory management, but not the computation itself.
Like, some type of linked list on an SSD, it would take a bit from an input cell, which is linked to a logical "NOT" cell, which will reverse this bit to zero (which is easy to just assume an opposite value), and send the result to the next linked "output" cell.
- navjack27 4y agoThe SSD isn't going to miraculously sprout a way to perform calculations on itself without something performing calculations on it itself. What is the "it" that you keep talking about that is taking a bit from an input cell? I mean okay, try to imagine that you could store some magical sequence of bits to a SSD that would signal to the SSD itself that it should be performing some sort of computation on this range of bits by just shifting them around. Now imagine how many bits in how many permutations are stored on all of the ssds in the world. Now ask yourself why this hasn't just miraculously happened.
- amts 4y ago"it" = some type of linked list. You can have the truth table, for example, for an "AND" gate be statically defined as 4 cells each for every possible result in the list (like 1 and 1 is 1, 1 and 0 is 0 etc). So when there's 1 and 1 in the input cells, the linked cell storing 1 is selected: basic if, else logic. Sort of, if all possible results of basic logic operations would be statically stored on an SSD, and the emulator would just select the needed one based in inputs. And these inputs could be just a data array stored in another place on an SSD. I am not asking myself why this hasn't just miraculously happened, but am sure that if enough physical logic elements of an SSD are emulated, this may provide venue for emulating basic computational operations.
- layer8 4y ago> the emulator would just select What is “the emulator” here? If it’s the original CPU, you’re just trading off some of its computing power to a slower, emulated CPU. For emulating a CPU, you don’t need a lot of storage, and it’s much faster to use main memory (RAM) instead of using SSD memory. What you need for emulating a CPU, however, is computing power, and only another CPU can provide that.
- amts 4y agoEmulator can be a program with some type of linked list, whose core can emulate computations, which may be stored on various types of memory. In some types of emergencies when all CPUs and RAMs are busy, it can be handy. Maybe part of computational operations (like comparisons) can be done by CPU. Truth tables are essentially the already computed results of basic AND/OR/XOR operations, so at least these operations may be emulated on a storage via selection of a predefined result of computation. But whatever (I hope I won't run out of functionality provided by 2 cores).
- layer8 4y agoWhile you could conceivably speed up emulation by using huge stored lookup tables (I don’t think it’s really possible though, SSD is just too slow compared to RAM and CPU caches), it’ll still be considerably slower than using the CPU directly, instead of having it emulate a virtual CPU by use of those lookup tables. In other words, you would be losing compute power in sum, instead of gaining more.