If you mean having each general purpose register addressing a different 16-bit area of memory --- I'd rather keep the virtual address space 16-bits in its entirety.psycopathicteen wrote:If you're going to have the MMU built in the chip, I still don't understand why you can't have the registers have their own selectable bank, since there's not going to be an absolute addressing mode. You can probably use two banks for program counter, to avoid the need of a long jump instruction.
Proposed boot sequence:
Code: Select all
============================[ 1.G. Boot Sequence ]==============================
At initial power on, the state of all memory, registers, and cache is unknown
with one exception: The Processor Status is set to $8000 (Supervisor mode, no
features enabled).
At Power-On, the processor follows the following bootstrap sequence:
LOD R1, %1010000000000000
TRS R1, PS ; Enable Memory Paging, Supervisor Mode
LOD R0, $0000
TRS R0, IA ; IA table begins at $0000
LOD R1, %1000000000000000
MMW R0, R1 ; MMU Bank 0 = ROM Bank 0
.RESET ; Raise RESET Interrupt