Die ursprünglichen kommerziellen Maschinen für VMs hatten keine MMU - sie hatten VMs in den Prozessor eingebaut. Meiner Meinung nach sind MMUs nur ein nachträglicher Gedanke, um VMs auf Nicht-VM-Prozessoren zu platzieren. VM wurde an der Universität Manchester entwickelt, und die Designer von Burroughs waren überzeugt, dass sie es einbeziehen sollten - obwohl es zu dieser Zeit sehr innovativ war.
Die Burroughs B5000 (jetzt Unisys MCP-Maschinen) verwendeten Speicherdeskriptoren, die Speichergrenzen erzwingen - gehen Sie über eine Grenze hinaus und Ihr Programm wird entleert (das Respektieren von Grenzen ist die Grundlage einer netten Gesellschaft, aber einige missbrauchen das Privileg, daher müssen Grenzen erzwungen werden).
Deskriptoren enthalten eine Speicheradresse, Blocklänge und einen Datentyp, aber auch das alles entscheidende P-Bit oder Präsenzbit. Das p-Bit zeigt an, dass sich der Block im Speicher befindet. Ein p-Bit von Null bedeutet, dass sich der Block im Massenspeicher befindet und die Adresse die Speicheradresse ist, entweder im ursprünglichen Programm (Code oder Daten) oder in der VM (ausgelagerte Daten).
Diese Maschinen implementierten ein hierarchisches Speichermodell. MMUs scheinen die Mängel des flachen Speichers auszugleichen und müssen Benutzerobjekte in den flachen Speicher abbilden. JK Iliffe entwarf auch ICL-Maschinen mit diesem Modell:
http://www.computerconservationsociety.org/resurrection/res74.htm#f
https://en.wikipedia.org/wiki/Burroughs_large_systems
Der Unterschied zwischen diesen Maschinen und den meisten heutigen Maschinen besteht darin, dass sie sich auf die gesamte Systemarchitektur und nicht nur auf eine CPU-Architektur beziehen.
Es scheint also, dass nicht nur MMUs nicht notwendig sind, sondern auch Systeme ohne sie besser dran sind.