Лого Сделано у нас
43

СуН на «Эльбрусе» :)

читать полностью

Читайте также...

Вступайте в наши группы и добавляйте нас в друзья :)

Подпишитесь на наш канал в Яндекс.Дзен и сделайте вашу ленту объективнее!
  • 1
    shigorin shigorin
    12.12.1522:03:40

    Почему ж не бывает -- бывают. В данном случае чудо уже то, что людей и наработки хотя бы отчасти сохранили через все девяностые…

    Поставить альт на эльбрус в режиме бинарной трансляции, наверное, можно (запускают же там winxp) -- но это настолько неинтересно, что мы даже не пробовали: если есть свой линукс и своя архитектура, то именно на ней и надо в итоге запуститься.

    Эмуляция там работает независимо от основной операционки как таковой -- на материнской плате есть небольшая CF-ка с транслятором (и, видимо, чем-то вроде гипервизора). О ней лучше почитать здесь или в этой статье (PDF).

    Кстати, на той же технологии сделан ExaGear для Android (x86-на-ARM).

    • 1
      Сергей Барановский
      14.12.1515:51:48

      но это настолько неинтересно, что мы даже не пробовали: если есть свой линукс и своя архитектура, то именно на ней и надо в итоге запуститься.

      Круто, дай Бог чтобы у вас все получилось!

      Эмуляция там работает независимо от основной операционки как таковой -- на материнской плате есть небольшая CF-ка с транслятором (и, видимо, чем-то вроде гипервизора). О ней лучше почитать здесь или в этой статье (PDF)

      Спасибо, прочитал, правда все равно до конца не понял. Речь в статье идет о разных видах компиляторов, которые как я понял на ходу перекодируют x86-инструкции в Эльбрусовские. Соотв, одни это делают быстро, результирующий код будет медленный, другие медленно — но код лучше получается. Просто я подумал, а нельзя было бы сделать так — при установке новой программы х86 сразу сделать максимально хорошую перекомпиляцию в Эль-коды, пусть это займет там 10-15 минут, но зато потом уже программа будет сразу и быстро работать? Или так и делается? И еще я не совсем понял — получается что можно одноврменно запускать и программы для Эльбруса и для х86 в соседнем окне?

      • 0
        shigorin shigorin
        15.12.1500:02:28

        Про трансляцию знаю мало -- эт лучше выбираться на OS Day, если увидите очередной анонс, и расспрашивать людей живьём.

        Не удивлюсь, если технически возможность организовать запуск в соседних окошках есть (см. Eltechs).

      • 2
        Andrey Tupkalo Andrey Tupkalo
        17.12.1516:00:57

        Там, как я понял, используются «толстые» бинарники и многопроходный оптимизирующий транслятор, который работает прозрачно для ОС. При первом запуске — выполняется голая JIT-компиляция практически без оптимизаций (код при этом складывается в дополнительную ветку бинарника), и одновременно производится автоматическое профилирование исполнения, на базе данных которого при следующей загрузке уже сгенерированный код прогоняется через оптимизации, и так до трёх раз, со всё более глубоким набором оптимизаций, пока в итоге не получится код, практически аналогичный по производительности изначально скомпилированному под Эльбрус. Да, несколько первых запусков программы будут сильно проигрывать в производительности, но зато падает общее время реакции, не надо ждать пока оно всё будет полчаса перекомпилироваться при первом запуске.

        • 2
          Сергей Барановский
          17.12.1517:36:10

          Понятно, в принципе вес верно. Но, все-таки еще такой вариант — при установке программы (которая вообще происходит только 1 раз) — почему тогда не сделать эту оптимизацию? В конце-концов можно даже спросить у пользователя- хочет он подождать 15-20 минут перекомпиляции программы. с тем чтобы потом при запуске она открывалась быстрее и работала быстро? Тогда же вообще не будет задержек — уже будет готовый оптимизированный код для запуска, просто дополнительное место на жестком диске потребуется.

          • 1
            Andrey Tupkalo Andrey Tupkalo
            11.01.1605:01:28

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

          • 0
            Zveruga Zveruga
            04.02.1603:47:07

            Чтобы набрать правильную статистику условных переходов необходимо непосредственно исполнить код, а не просто ретранслировать.

        • 0
          shigorin shigorin
          19.09.1721:38:20

          Не, там не толстые, а многослойное оптимизирование/кэширование результатов JIT имеющихся обычных x86-бинарников. Теперь уже знаю больше    

Написать комментарий
Отмена
Для комментирования вам необходимо зарегистрироваться и войти на сайт,