Регистры ввода-вывода с отображением в память и регистры с отображением в памяти не одно и то же и не так тесно связаны.
Ввод-вывод с отображением в память использовался, например, на ранних ПК, где часть адресного пространства ОЗУ была сопоставлена с буфером дисплея. (И в некоторых продуктах обычная ОЗУ фактически использовалась для буфера дисплея, в отличие от наличия буфера на плате адаптера дисплея.) В других случаях аппаратное устройство, такое как контроллер дисковода, использовало бы отображенную в памяти адресацию для установки / чтения своего управления регистры. (И я предполагаю, что современные графические карты все еще отображают память дисплея в адресное пространство графического процессора, хотя я не знаю, что это факт.)
«Регистры с отображением в памяти» могут означать несколько вещей. Одним из них может быть приведенный выше пример контроллера дисковода с отображаемыми в памяти управляющими регистрами. Другой, совершенно другой случай - это процессор, который на самом деле имеет свои регистры в оперативной памяти. Это было довольно распространенным явлением на ранних (с 50-х до начала 70-х) процессорах, поскольку оно значительно уменьшало количество деталей, а также допускало некоторые «умные» практики программирования. В некоторых случаях процессор был доступен в двух моделях: одна с отображаемыми в памяти регистрами, а другая с (более быстрыми) «аппаратными» регистрами.
И в некоторых случаях это было неоднозначно относительно того, что было регистром, а что нет, как в «стековых» машинах Берроуза, где вместо стандартных регистров использовался «стек» (в IIRC есть несколько различных схем для « слежка за "регистрами в оперативной памяти".