Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
HP-PA 05.07.05 10:15 Число просмотров: 5150
Автор: leo <Леонид Юрьев> Статус: Elderman Отредактировано 05.07.05 10:30 Количество правок: 1
|
Это уже было сделано в варианте когда вместо регистров есть верхушка стэка (стэковые процессоры). В "чистом виде" регистров остается три - PC, SP и флаги. Опционально вводятся псевдо-регистры, номер "регистра" как-бы определяет смещение от верхушки стэка.
Одна из наиболее удачных реализаций (насколько мне известно) - HP-PA, это RISC-процессор с отображением регистров на память. Часть виртуальных регистров (с меньшими номерами) на самом деле реальные, а процессор автоматически поддерживает когерентность. В последних моделях кажется используется переименование и фактически получается как-бы "регистровый кэш".
В результате это RISC с как-бы очень большим кол-вом регистров, но с "чемоданом батареек" в виде блока кеширования этих "регистров" и специфических трудностей при автоматической генерации оптимального кода. Одна из проблем - первоначальная (в циклах) трудно-отличимость для CPU "регистров", которые компилятор (или asm-программист) использует как счетчики/индексы от всего прочего. Фактически, для "регистров" необходимо вводить команды вида prefech и store-non-temporal/store-purge, а чтобы быть не хуже других - тоже самое и для не-регистровых данных (для косвенной адресации).
В итоге, как ни стараются компилятор и процессор, в целом получается хоть немного, но медленнее чем "классический" RISC с набором "обычных" регистров.
|
|
|