Эльбрус/архитектура — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
м (Версии: выделил поддерживаемые альтом)
м (Ссылки: +1 (вообще это в эльбрус/оптимизация уже, по-хорошему))
 
Строка 31: Строка 31:
 
** [http://www.mcst.ru/e2k_arch.shtml Основные принципы архитектуры Е2К] (2001)
 
** [http://www.mcst.ru/e2k_arch.shtml Основные принципы архитектуры Е2К] (2001)
 
* [http://0x1.tv/20181012BB Вычислительная платформа «Эльбрус» и её практическое применение] (SECR-2018)
 
* [http://0x1.tv/20181012BB Вычислительная платформа «Эльбрус» и её практическое применение] (SECR-2018)
 +
* [https://habr.com/ru/company/smartengines/blog/317672/ Оптимизация кода для платформы Эльбрус на простых примерах]
 
* [https://habr.com/ru/company/jugru/blog/419155/ Портирование JS на Эльбрус]
 
* [https://habr.com/ru/company/jugru/blog/419155/ Портирование JS на Эльбрус]
 
* [https://github.com/smxi/inxi/issues/197 inxi: Elbrus CPU support data and implementation]
 
* [https://github.com/smxi/inxi/issues/197 inxi: Elbrus CPU support data and implementation]
  
 
{{Category navigation|title=E2K|category=E2K|sortkey=*}}
 
{{Category navigation|title=E2K|category=E2K|sortkey=*}}

Текущая версия на 20:46, 4 декабря 2019

Архитектура "Эльбрус"[править]

Оригинальная 64-битная Little Endian VLIW; также известна как "Эльбрус-2000" (сокращённо e2k).

Версии[править]

Микропроцессоры "Эльбрус" различаются версиями микроархитектуры и системы команд; на июль 2019 года известны следующие:

  • v2: "Эльбрус-2С+", "Эльбрус-2СМ" (устарела)
  • v3: "Эльбрус-4С" (предыдущая)
  • v4: "Эльбрус-8С", "Эльбрус-1С+" (актуальная)
  • v5: "Эльбрус-8СВ" (инженерные образцы, расширенные векторные вычисления)
  • v6: "Эльбрус-16С", "Эльбрус-12С", "Эльбрус-2С3" (перспективная, с аппаратной виртуализацией)

Совместимость[править]

В процессе портирования Альта была отмечена отличная практическая совместимость процессоров четвёртого поколения с бинарным кодом e2kv3, включая ядро, видеоподсистему и даже бинарный транслятор; тем не менее официально она не гарантируется.

Производительность[править]

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

При этом разница по 7za b, собранным под v3 и v4, на v4 составила у нас порядка процента.

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

Ссылки[править]