The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Интервью с разработчиками KolibriOS"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
. "Интервью с разработчиками KolibriOS" +2 +/
Сообщение от Аноним (-), 11-Фев-13, 18:18 
[...]
> Я, откровенно говоря, не в курсе, что там было с VAX и
> Alpha, но идея трактовать ассемблер одной архитектуры, как высокоуровневый язык для
> генерации машинных кодов другой архитектуры - очень хорошая идея, которая в
> этой ветке треда и рассматривалась.

Видите ли в чем фокус, ассемблер по определению является НИЗКОУРОВНЕВЫМ языком, т.е. очень сильно зависит от аппаратной реализации. В принципе, можно ассемблер CISC-архитектуры считать сравнительно высокоуровневым языком для RISC-архиректуры, но это никак не решает проблему эмуляции несоответствий архитектуры - разного количества регистров, разного их назначения, разной системы прерываний, разной модели памяти, разного порядка байт в памяти (мелкий/большой "индеец" ;) ), разного подхода к конструированию комманд (фиксированной/переменной длины).
Вы можете привести в качестве примера реализацию современных архитектур x86_64 - "снаружи CISC, внутри - RISC", но согласитесь, то, что "внутри RISC" - это довольно-таки специфический RISC, который не так-то просто заменить на какой-либо другой.

> Разумеется, тема эффективности генерируемого таким образом кода даже не поднималась. Но
> все-таки, по сравнению с эмулятором, как Вы упомянули, все равно будет
> быстрее - ибо, как я понимаю, эмулятор ведь параллельно транслирует и
> выполняет команды, а тут предлагается сразу оттранслировать команды и загружать изначально
> их, уже на другой платформе.

Это тоже довольно спорное утверждение. В современных эмуляторах все чаще используется динамическая трансляция, которая позволяет осуществить некоторые "интеллектуальные" оптимизации с учетом данных времени исполнения, что в большинстве случаев дает определенный выигрыш в скорости за счет фоновой трансляции, удаления переходов, вызова процедур и возврата из них, оптимизации по удалению избыточности, распространения копий и констант, «раскрутки» циклов и т.д.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Интервью с разработчиками KolibriOS, opennews, 10-Фев-13, 18:05  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру