ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
17 июля
435279 Топик полностью
=AlexD= (22.08.2013 13:20, просмотров: 88) ответил ыыыы на да что там непривычного, погуглите DAG - тот же LLVM + graphiz рисует такие же картинки как и у них в доках (только покрасивше :). ну и вообще, к чему бы у всех архитектур, претендующих на производительность, трехоперандные инструкции? это же типа
Да, современные процы с out-of-order и register reordering|renaming устроены примерно по такому же принципу, но они вынуждены использовать кучу аппаратуры для трансляции регистрового кода в нечто похожее на триплеты (операнды + результат), на лету разрешают зависимости между инструкциями по регистрам/памяти держат отдельную очередь исполняющихся МОПов в плоть до их отставки и пр. Это куча вентилей, куча электроэнергии и результат не фонтан - IPC==3 за щасте, а средний IPC==1. Мультиклет - это как-бэ почти идеальный фронтенд для OoOE процессора, хотя ещё допиливать и допиливать его напильником. И при нормальной реализации он влёгкую выдаст IPC==8 без сверхестественных затрат на логику. По поводу проблем 1,2,3) Это легко решается буферизацией результатов исполнения команд в отдельном кольцевом буфере, абсолютно простая и тупая схема, нахрена они замутили коммутатор с ассоциативной памятью непонятно, скорее всего отрыжка предыдущих версий аппаратуры. Для 1) нужен теневой банк кольцевого буфера - и всё, больше ничего не надо. 4) тут не всё так просто, т.к. новые значения(записи) в регистровый файл актуализируются только при смене параграфа, но думаю можно добавить аппаратный счётчик команд записи в регистры, и если они все исполнены - давать следующему параграфу доступ к актуализированному содержимому. Решается переключающимся барабаном регистров с функцией копирования. Не слишком и сложно. 5) опять же можно ввести счётчик, и если все обращения в память отыграли, можно начинать сохранение упорядоченных по адресам данных в память. Посложнее, но реализуемо. 6) ну да, непрогнозируемый доступ к памяти и проблема построения графов исполнения, но это проблему они, кстати, полюбому решат, т.к. делают сбоеустойчивый процессор, способный отключать отдельные клетки. А это означает, что им придётся делать для КАЖДОЙ клетки полный буфер МОПов, и делать отставку исполненых МОПов не только своей, но и чужих клеток, т.е. фактически динамический планировщик. Не только реализуемо, но непременно будет сделано в их сбоеустойчивом чипе :-) 7) автоматически решатся при решении пункта 6) 8) тут врятли можно прогнозировать изменение, хотя внедрение 16битных инструкций пошло бы на пользу 9) так и запилен, есть же у них совершенно стандартный Си компилер, но могли бы и на аппаратном уровне сделать автотрансляцию push operand1 push operand2 в st SP, operand1 st SP+4, operand2 add SP, 8 С теневым автоматическим исполнением последней инструкции в конце параграфа. Для этого нужно иметь сумматор и указатель стека рядом с декодером инструкций. Если Интел смогла сделать Стек Инженеринг, то и Мультиклет сможет ;-) А так они для каждого пуша вычисляют смещение вручную. Отвратительно.
Три кита на которых зиждется реклама: враньё, преувеличение, замалчивание. Новости СМИ - это политическая реклама.