Что такое регистр индекса X? - PullRequest
0 голосов
/ 11 марта 2019

прошу в общем. Я пытаюсь понять назначение регистра индекса X в любом микроконтроллере в целом, так как мне нужно создать виртуальный микроконтроллер. В чем разница между этим регистром MAR и ПК? Спасибо всем, кто ответил.

1 Ответ

3 голосов
/ 11 марта 2019

MAR - это деталь реализации.Конвейерный ЦП может не иметь MAR сам по себе или не иметь единственного MAR, особенно если он имеет многопортовый кеш, который может читать + записывать в одном и том же цикле.

В архитектурах с регистром с именем X, X - это архитектурный регистр , который хранит свое значение независимо от того, что еще обращается к памяти.

например, абсолютная неиндексированная загрузка будет использовать MARдля управления адресной шиной, но ЦП все равно должен будет сохранить то же значение для X.Кроме того, MAR должен иметь ширину, равную физическим адресам в машине, но X - это только 8-битный регистр в 6502. (Таким образом, вы можете индексировать только 256 байтов из заданной базы).

программный счетчик обычно не доступен напрямую, за исключением режимов адресации, относящихся к ПК, или инструкции вызова хранят где-то обратный адрес.И прыгает, пишет ПК.Но в некоторых отношениях это также деталь реализации;конвейерный процессор не обязательно будет иметь один регистр ПК.Но скалярный конвейер порядка будет эффективно иметь ПК в стадии извлечения.(Или, конечно, в непроцессорном процессоре будет один ПК.)

Предположительно, код-выборка копирует ПК в MAR как часть загрузки машинного кода для следующей инструкции.


Архитектуры с регистром X включают в себя

8080 имеет HL, а не X.

...