java san vm

Тема в разделе "WASM.BEGINNERS", создана пользователем _evil, 27 апр 2019.

  1. _evil

    _evil Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    61
    Слышал что сан разработал абсолютно хардовый интерпретатор своей java... А на каком принципе он основан? Поделитесь интересной ининформацией по этому вопросу.
    Как вообще такое возможно ... Да ещё с бланкоми регистров ...
    Если все переменные находились в памяти а не в регистрах то грош цена этому интерпретатору...
     
  2. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    _evil, никогда не слышал, но ведь и не следил :) чем это принципиально отличается от части jvm на smartcard?
     
  3. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Мне кажется такому интерпретатору в любом случае грош цена. Использовать n-ное количество регистров для верхушки стека по-моему никакая не новость и вроде даже интел это со времен царя гороха применяли, как и нелинейное исполнение.

    Скорей всего ты имеешь в виду picoJava-II, которая выпущена не была. Есть также jop https://www.jopdesign.com/perf.jsp , который вроде как таки был выпущен. Я правда так и не понял зачем там в списке бордов есть плата с hitachi h8 и sparc'ом. Но на сайте утверждается, что Altera и Xilinx таки выпустили чипы с этим ЖОПом.
    --- Сообщение объединено, 27 апр 2019 ---
    Там типа без jit, напрямую исполняется.
     
    _evil нравится это.
  4. _evil

    _evil Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    61
    JOp впечатляет по графикам ... И почему его свернули если он такой хороший? ...
    Как так массив регистров на вершине стека ? Может ты сказать хотел кесш - но он будет по медленнее ...
    И если ты говоришь регистры то почему обращение к обычным регистрам намного быстрее чем к переменным в вершине стека?
     
  5. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Ну да, типа кеш, который может сдвигаться весь за один или около того тактов. А какая область применения у процессора, который построил один австриец? При том, что ява без проблем существует и без собственного чипа, и ей это совсем не мешает.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    нет особо принципиальных проблем компилить байт-код джавы в нативный код эхэд-оф-тайм вместо джита... есть граальвм, который умеет и то и то...
     
  7. _evil

    _evil Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    61
    Вместо стека регистров не может быть - что если сделать SP+=20 что оно 20 регистров в память запишет? Как понимать ?
     
  8. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Наибольшее число обращений будет в пределах определенного окна относительно верхушки стека. Ее можно реализовать аппаратно, а все, что в окно не входит, адресовать через память. За счет этого весь профит, обращение к регистру происходит гораздо быстрей, чем к по сути внешнему устройству ОЗУ на системной шине. Другое дело, что современные процессоры устроены не так, как выглядит их программная модель. Там есть и кэш и нелинейное исполнение по готовности операндов и предикция и прочие оптимизации. Что может противопоставить архитектура, разработанная любителем, усилиям целой корпорации за несколько десятилетий? В чем принципиальный выигрыш от использования программной модели java в реальном процессоре? Если даже Sun на эту затею смотрят с недоверием.
     
  9. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    Было бы интересно узнать как они организовали сборщик мусора - схемно или программно ?
    Я всегда удивлялся подобным штукам - например сохранение значений регистров при переключении задач в защищённом режиме - как они это сделали ? последовательное сохранение каждого регистра (это ж медленно) или параллельная запись (что-то много дорожек в проце).