Что такое регистр индекса X?

Ссылка , предоставленная @MichaelHaren, по-видимому, обеспечивает причину root . Точка с запятой (как указывали другие) наследуется от C. Но это не объясняет, почему C использовал ее в первую очередь. Обсуждение включает эту жемчужину примера:

struct fred { int x; long y; }; 
main() 
{ 
  return 0; 
} 

Старые версии C имели неявный int возвращаемый тип из функции, если не указано иначе. Если мы опустим ; в конце определения структуры, мы не только определяем новый тип fred, но также объявляем, что main() вернет экземпляр fred. То есть код будет анализироваться следующим образом:

struct fred { int x; long y; } main()
{ 
  return 0; /* invalid return type, expected fred type */
} 

-1
задан Peter Cordes 11 March 2019 в 16:20
поделиться

1 ответ

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

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

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

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

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


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

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

0
ответ дан Peter Cordes 11 March 2019 в 16:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: