Давай рассмотрим два твоих варианта основываясь на микрокоде ВМ2.
@(PC)+ (абсолютный адрес переменной):
1. Ожидаем готовности BRI (буферного регистра инструкции), чтобы в него загрузилось следующее слово
2. АЛУ: Вычисляем адрес = BRI (4 такта) и запрашиваем цикл чтения шины
3. Ожидаем готовности BRD (буферного регистра данных)
4. АЛУ: Вычисляем CLR (4 такта) и запрашиваем цикл записи шины
5. Переходим на команду выбора следующей некэшированной инструкции (т.к. мы адресовались по R7).
X(PC) (относительный адрес переменной):
1. Ожидаем готовности BRI (буферного регистра инструкции), чтобы в него загрузилось следующее слово
2. АЛУ: Вычисляем адрес = BRI+PC (4 такта) и запрашиваем цикл чтения шины
3, 4, 5 шаги такие же, как и в предыдущем варианте.
Итого, по скорости абсолютно все равно, какой вариант.
- - - Добавлено - - -
АЛУ у ВМ2 очень гибкое, и легко вычисляет сложные исполнительные адреса одной операцией.





Ответить с цитированием