kc5tja wrote:
aikatt wrote:
Are you going to say
Yes, I AM going to say it. Do the math: a register is addressed in the same cycle as the operand-fetch stage of any instruction. Likewise, a cached line of memory is ALSO fetched during this step. Why do you think CPUs have data caches? Even on the x86, they allow single-cycle execution times.
To me, adding cache and a mmu to a 6502 makes it a non-6502. Keeping the cache full of clean and correct data/instructions to keep the cpu busy then gets very complicated, and again not 6502-ish.
Not that i would keep the 6502 as it is, but as a sorta-microcoded state machine to manipulate external ram contents, it's max speed will be limited to that of the external ram. If you cache all 64k bytes of that ram in 20ns memory, great!, but then why have anything but that 64k 20ns cache?, because then it's not cache at all! But if you figure on caching the equal of a 256megabyte DDRx module, or part of it, or a shared multiprocessor memory section, well, umm,, i sincerely wish you good luck with that and your new mmu design. It's possible, almost anything is possible, but for a 6502 i believe it's a lot of unnecessary overkill. That's just my opinion, and no one hasto agree with me.
aikatt