1802 old style computer with MMU

When you think of an MMU (memory management unit), you probably think of a modern 32-bit computer. But [Jeff Truck] has a surprise. His new RCA 1802 computer has bank switching, allowing the spunky little processor to address 256K of RAM. This is not just the usual conception of changing banks.

The machine has several unique features. For example, an onboard Arduino can control the CPU so you can remotely control the bus. Apparently it does not replace any of the microprocessor support chips. It also does not add additional memory or control access to it.

The 256K of memory is under the control of the MMU board. This map generates two additional address bits by spying on the execution instruction and determines which register is involved in any memory access. The MMU's memory stores a table that allows you to define different memory pages for each register. This works even if the register is not explicit and also for DMA fetch and machine instruction cycles. If you're familiar with the standard RCA "call and return technique", which also needed a little fix for the MMU. [Jeff] talks about it at the end of the video below.

This is a very simple take on a modern MMU and is an impressive trick for a 50-year-old CPU. We were surprised to learn - no offense to [Jeff] - that the design worked the first time around. Impressive! There's also 3D printing and other tips to follow along the way. But we were very impressed with the MMU. You may never have to do it yourself (although you can), but you can still marvel that it can be done.

We have a soft spot for the 1802s, real or emulated. The original ELF was great, but 256K is much better than the original 256 bytes!

1802 old style computer with MMU

When you think of an MMU (memory management unit), you probably think of a modern 32-bit computer. But [Jeff Truck] has a surprise. His new RCA 1802 computer has bank switching, allowing the spunky little processor to address 256K of RAM. This is not just the usual conception of changing banks.

The machine has several unique features. For example, an onboard Arduino can control the CPU so you can remotely control the bus. Apparently it does not replace any of the microprocessor support chips. It also does not add additional memory or control access to it.

The 256K of memory is under the control of the MMU board. This map generates two additional address bits by spying on the execution instruction and determines which register is involved in any memory access. The MMU's memory stores a table that allows you to define different memory pages for each register. This works even if the register is not explicit and also for DMA fetch and machine instruction cycles. If you're familiar with the standard RCA "call and return technique", which also needed a little fix for the MMU. [Jeff] talks about it at the end of the video below.

This is a very simple take on a modern MMU and is an impressive trick for a 50-year-old CPU. We were surprised to learn - no offense to [Jeff] - that the design worked the first time around. Impressive! There's also 3D printing and other tips to follow along the way. But we were very impressed with the MMU. You may never have to do it yourself (although you can), but you can still marvel that it can be done.

We have a soft spot for the 1802s, real or emulated. The original ELF was great, but 256K is much better than the original 256 bytes!

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow