4/7/2023 0 Comments Mini vmac ii powerpc![]() ![]() So it shouldn’t affect speed too much.Īctually, at first it slowed things down a lot. A modern computer can do several things at once as long as they don’t interfere with each other. And the increment and check is done after the current instruction is fetched, and so it could be done in parallel with other things. When fetching the next instruction, it only needs to check against the high limit. ![]() This bug is fixed by keeping low and high limits for the instruction pointer, and checking against them as the pointer is changed. And not just in theory, I have seen this happen in programs running in Mini vMac that were malfunctioning. But it is in theory possible to write code so that the pointer to the next instruction gets set to arbitrary memory that the operating system may not allow Mini vMac to access, resulting in a crash. This is good enough for all known correctly working software. Only for certain long branches would Mini vMac work out from scratch where the instruction is in real memory. But for speed, fetching the next instruction would simply increment a pointer to where the instruction is in real memory, and relative branches would just offset this pointer. Most kinds of memory access emulated by Mini vMac have for a quite while have been designed to always be accurate and safe. Since this is only a bad read, I don’t think any further harm is possible besides crashing Mini vMac. A badly behaved program can cause Mini vMac to crash, attempting to fetch an emulated instruction from random memory, which memory protection on a modern computer prevents. "The latest Mini vMac Development source snapshot improves instruction fetching.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |