Материал собран из официальных документов, а так же личного опыта многих людейи моих попыток поведать историю.
Материал собран из официальных документов, а так же личного опыта многих людей
и моих попыток поведать историю.

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


Предисловие

В этой статье (или заметке?) я попробую обьяснить простым и понятным языком в чем «соль» этой архитектуры. Сразу оговорюсь, базовое понимание математики, информатики и принципов работы компьютера или телефона с которого читается статья — обязательна.

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

Процессор, сгенерированный очередной моделью, силамиЭльбрус-8С на сервере ЯХОНТ-УВМ 312.
Процессор, сгенерированный очередной моделью, силами
Эльбрус-8С на сервере ЯХОНТ-УВМ 312.

Историческая справка

Московский центральный научно‑исследовательский институт информатики и автоматизации (МЦСТ, первоначально Московский центр SPARC-технологий) был создан в 1992 году в результате реорганизации Московского научно‑производственного объединения «Электроника». Основной целью создания института было развитие отечественной вычислительной техники и программного обеспечения.

Вольные соображения сеткина изложенное выше.
Вольные соображения сетки
на изложенное выше.

В свое время СССР добился достаточно серьезных достижений в создании компьютерной техники. Примером этому может служить серия советских суперкомпьютеров «Эльбрус», которые были созданы в Институте точной механики и вычислительной техники (ИТМиВТ) в 1970-1990-х годах прошлого века, это же название носит серия микропроцессоров и систем, созданных на их основе и выпускаемых сегодня ЗАО МЦСТ (Московский центр SPARC-технологий).

При этом история «Эльбруса» достаточно обширна. Работы над первым компьютером с таким названием велись с 1973 по 1978 год в ИТМиВТ им. Лебедева, руководил этими работами Б. С. Бурцев, разработка велась при участии Бориса Бабаяна, который являлся одним из замов главного конструктора. В то время основным заказчиком данной продукции, конечно же, выступали военные.

Первый компьютер «Эльбрус» обладал модульной архитектурой и мог включать в себя от 1 до 10 процессоров на базе схем средней интеграции. Быстродействие данной машины достигало 15 миллионов операций в секунду. Объем оперативной памяти, которая была общей для всех 10 процессоров, составлял до 2 в 20 степени машинных слов или, если применять принятые сейчас обозначения, 64 Мб. Однако самым интересным в «Эльбрусе-1» была именно его архитектура. Созданный в СССР суперкомпьютер стал первой в мире коммерческой ЭВМ, которая применяла суперскалярную архитектуру. Ее массовое применение за рубежом началось только в 90-х годах прошлого века с появлением на рынке доступных процессоров Intel Pentium.

Позднее выяснилось, что подобные разработки существовали еще до «Эльбруса», ими занималась компания IBM, но работы по данным проектам не были завершены и так и не привели к созданию конечного коммерческого продукта. По словам В.С. Бурцева, являвшегося главным конструктором «Эльбруса», советские инженеры старались применять самый передовой опыт как отечественных, так и зарубежных разработчиков. На архитектуру компьютеров «Эльбрус» повлияли не только компьютеры компании Burroughs, но и разработки такой известной фирмы, как Hewlett—Packard, а также опыт разработчиков БЭСМ-6.

После завершения работ над ЭВМ «Эльбрус-2» в ИТМиВТ взялись за разработку ЭВМ на базе принципиально новой процессорной архитектуры. Проект, который был назван достаточно просто – «Эльбрус-3», также значительно опередил аналогичные разработки на Западе. В «Эльбрусе-3» впервые был реализован подход, который Борис Бабаян называет «постсуперскалярным». Именно такой архитектурой в будущем обладали процессоры Intel Itanium, а также чипы компании Transmeta. Стоит отметить, что в СССР работы над данной технологией были начаты в 1986 году, а Intel, Transmeta и НР присупили к реализации работ в этом направлении лишь в середине 1990-х годов.

К сожалению, «Эльбрус-3» так никогда и не был запущен в серийное производство. Его единственный работающий экземпляр был построен в 1994 году, но в это время он был никому не нужен. Логическим продолжением работ над данным компьютером стало появление процессора «Эльбрус-2000», известного также как Е2К. У российской компании имелись большие планы по серийному производству данного процессора, который должен был пойти в серию одновременно или даже еще раньше, чем Itanium. Но из-за отсутствия необходимого объема инвестиций, все данные планы не были реализованы и так и остались на бумаге.

Архитектура Эльбрус 2000 была создана в России в начале 2000-х годов. Проект разработки новой архитектуры был запущен в 1999 году в рамках программы "Эльбрус" Министерства промышленности, науки и технологий Российской Федерации.

Основной целью программы было создание отечественного высокопроизводительного процессора, который мог бы конкурировать с зарубежными аналогами. В рамках программы были разработаны несколько поколений процессоров, начиная с Эльбрус-1 и заканчивая Эльбрус-4.

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

VLIW больше похоже на RISC, нежели на CISC, т.к., хоть команды и шире намного, чем даже в CISC, но у VLIW ширина команд фиксирована. К слову, Эльбрус – не единственный в мире, кто имел VLIW подход. Был ещё TILE64, MAJC, RAW, Transmeta, TMS320 и так далее...
VLIW больше похоже на RISC, нежели на CISC, т.к., хоть команды и шире намного, чем даже в CISC, но у VLIW ширина команд фиксирована. К слову, Эльбрус – не единственный в мире, кто имел VLIW подход. Был ещё TILE64, MAJC, RAW, Transmeta, TMS320 и так далее...

Архитектура Эльбрус 2000 была успешно протестирована на различных задачах, включая математические расчеты, обработку изображений и видео, а также на задачах, связанных с обработкой больших объемов данных.

Сегодня архитектура Эльбрус 2000 продолжает развиваться и улучшаться. На ее основе создаются новые процессоры, которые успешно используются в различных областях, включая научные и промышленные вычисления, обработку данных и телекоммуникации. А МЦСТ является одним из ведущих отечественных разработчиков компьютеров и программного обеспечения. Институт занимается разработкой вычислительных систем для различных областей применения, включая научные исследования, проектирование, финансы, государственное управление и т. д. Компьютеры МЦСТ используются во многих отечественных организациях и предприятиях, а также экспортируются за рубеж.


Основные особенности

Начнем с основных особенностей архитектуры Эльбрус 2000:

  1. Многопоточность — каждое ядро процессора может обрабатывать несколько потоков одновременно, что позволяет значительно увеличить производительность системы.

  2. Симметричная мультипроцессорность — архитектура поддерживает одновременную работу нескольких процессоров, что также способствует арифметическому увеличению производительности.

  3. Использование эффективных алгоритмов обработки данных, таких как алгоритмы сжатия данных и алгоритмы сортировки, параллельных вычислений, что позволяет ускорить выполнение задач. Например, определение ацикличных участков с дальнейшим разделением на суб‑процессинг, или же использование эффективных алгоритмов предварительного чтения данных из памяти, что снижает задержку при исполнии кода.

  4. Наличие защиты от ошибок и сбоев, что обеспечивает высокую надежность работы системы. А так же особый режим выполнения и матрицы доступа к памяти, который аппаратно исключает вмешательство в соседние страницы памяти ПО. (Вспомним со слезами о Meltdown и Spectra на x86-архитектуре и потере в среднем 15% производительности)

  5. Архитектура Эльбрус 2000 поддерживает ВСЕ операционные системы Linux и Windows, так как спокойно кушает 64-битные инструкции, а так же спокойно может переваривать ассемблер (двоичные инструкции процессора) Intel или AMD64 платформ. Lintel — более производительное решение, даже чем от Купертиновских конкурентов (Apple со своей Rosetta любого поколения.)

Архитектура Эльбрус 2000 имеет ряд преимуществ перед другими архитектурами, такими как высокая производительность и надежность, но также имеет и недостатки, такие как ограниченная поддержка со стороны производителей программного обеспечения и высокая стоимость производства, а также (на момент написания) отсутствие локализации производства на территории РФ.

Давайте начнем разбираться с описанными преимуществами и почему они таковыми являются.


Мультипоточность

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

https://www.altlinux.org/Images.www.altlinux.org/9/97/E2k_internals.web.svg

Процессоры Эльбрус поддерживают два типа мультипоточности: аппаратную и программную.

Аппаратная мультипоточность

Аппаратная мультипоточность в процессорах Эльбрус реализуется с помощью технологии Hyper‑Threading. Она позволяет процессору выполнять два потока инструкций на каждом ядре, используя различные ресурсы процессора, такие как регистры и функциональные блоки.

Hyper-Threading наглядно
Hyper-Threading наглядно

Но тут я остановлюсь подробнее, так как с каждым годом всё больше и больше транзисторов задействуется в процессорах, но производителям постоянно приходится идти на ухищрения для роста производительности, т.к. больше параллелизма им со старым подходом не выжать. Поэтому в 2002-м году свет увидели процессоры Intel Pentium 4, которые первыми на потребительском рынке получили поддержку виртуальной многоядерности или многопоточности, которую назвали Intel Hyper‑Threading. Суть этой технологии в том, что ядро физически у вас одно, но система его видит как 2 разных ядра, и ваши программы работают с одним ядром так, словно их 2.

И, если ранее программы не могли задействовать все вычислительные возможности каждого из ядер процессора, то теперь они на каждом ядре старались задействовать больше ALU (до 2 раз больше).

2 виртуальных ядра делят между собой один и тот же набор арифметико‑логических устройств (АЛУ), один и тот же кэш, но разные регистры, тогда как в случае с двумя обычными ядрами у вас разделены для каждого из ядер и АЛУ, и кэш, и все регистры. За счёт того, что на АЛУ приходится больше параллельных команд (8 вместо 4 в случае с современным суперскалярным подходом CISC процессоров), у вас удаётся загрузить одно ядро процессора в большей мере, и таким образом вы добиваетесь роста производительности в расчёте на каждое из ядер. Но по итогу, да, логические ядро, как правило, медленнее, чем физическое.

Программная мультипоточность

Программная мультипоточность в процессорах Эльбрус реализуется с помощью технологии OpenMP. Она позволяет разделять задачи на несколько потоков, которые выполняются параллельно на разных ядрах процессора. Это позволяет ускорить выполнение задач, которые могут быть разделены на независимые подзадачи.

Мультипоточность в процессорах Эльбрус позволяет увеличить производительность и эффективность работы процессора. Она позволяет выполнять несколько задач одновременно, что уменьшает время выполнения задач и увеличивает общую производительность системы.

Кроме того, мультипоточность позволяет использовать ресурсы процессора более эффективно, что уменьшает нагрузку на систему и повышает ее стабильность и надежность.

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


Симметричная мультипроцессорность

Симметричная мультипроцессорность (SMP) — это архитектура компьютерной системы, в которой два или более процессоров работают параллельно и независимо друг от друга, обмениваясь данными через общую память. В этой архитектуре каждый процессор имеет доступ к общей памяти и периферийным устройствам, что позволяет им выполнять задачи более эффективно, чем в случае использования одного процессора.

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

Архитектура Эльбрус 2000 представляет собой симметричную мультипроцессорную систему, которая имеет ряд преимуществ перед другими архитектурами.

  1. Высокая производительность. Симметричная мультипроцессорность Эльбрус 2000 позволяет использовать несколько процессоров одновременно, что повышает производительность системы. Каждый процессор может выполнять свои задачи независимо друг от друга, что увеличивает скорость обработки данных и снижает время ожидания.

  2. Гибкость системы Архитектура Эльбрус 2000 позволяет легко добавлять или удалять процессоры в системе в зависимости от потребностей пользователя. Это позволяет гибко настраивать систему под конкретные задачи и обеспечивает масштабируемость.

  3. Надежность. Симметричная мультипроцессорность Эльбрус 2000 обеспечивает высокую надежность системы. Если один из процессоров выходит из строя, остальные процессоры могут продолжать работу без проблем. Это позволяет избежать сбоев в работе системы и обеспечивает бесперебойную работу.

  4. Энергоэффективность. Архитектура Эльбрус 2000 потребляет меньше энергии, чем другие архитектуры. Это достигается за счет использования более эффективных алгоритмов обработки данных и оптимизации работы процессоров.

  5. Высокая безопасность. Симметричная мультипроцессорность Эльбрус 2000 обеспечивает высокую безопасность системы. Каждый процессор имеет свой собственный набор инструкций и операционную систему, что делает невозможным взлом системы через один процессор.

Таким образом, симметричная мультипроцессорность архитектуры Эльбрус 2000 обеспечивает высокую производительность, гибкость, надежность, энергоэффективность и безопасность системы.


Алгоритмы обработки данных

Prefetching и аппаратная асинхронная подгрузка данных (APB)

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

Предварительное чтение данных из памяти (Prefetching) является одним из методов оптимизации производительности в архитектуре Эльбрус 2000. Он позволяет загрузить данные из памяти в кэш процессора заранее, до того, как они будут фактически использоваться в вычислениях. Это может существенно ускорить выполнение программы, так как время доступа к кэшу намного меньше, чем к памяти.

В Эльбрус 2000 предусмотрено несколько способов предварительного чтения данных.

Один из них — это использование инструкций PREFETCH. Эти инструкции позволяют загрузить данные из памяти в кэш процессора заранее, до того, как они будут фактически использоваться. Инструкции PREFETCH могут быть использованы как для чтения, так и для записи данных.

Еще один способ предварительного чтения данных — это использование аппаратной поддержки предварительного чтения в кэше процессора, отдельный параллельно работающий модуль для подкачки данных, APB (Asynchronous Prefetch Buffer). В Эльбрус 2000 кэш оборудован специальным механизмом, который автоматически загружает данные из памяти в кэш заранее, если он обнаруживает, что эти данные скоро будут использоваться. Это происходит благодаря анализу обращений к данным и прогнозированию будущих обращений.

Предварительное чтение данных из памяти особенно полезно в случае работы с большими объемами данных или при обработке данных в циклах. Оно позволяет уменьшить время доступа к памяти и ускорить выполнение программы. Однако, необходимо учитывать, что неправильное использование предварительного чтения может привести к ухудшению производительности, так как может привести к загрузке ненужных данных в кэш. Поэтому, необходимо выбирать правильные параметры для инструкций PREFETCH и настраивать аппаратную поддержку предварительного чтения в соответствии с характеристиками программы и алгоритма.

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

Single Instruction Multiple Data

Архитектура Эльбрус 2000 использует специальные инструкции SIMD (Single Instruction Multiple Data), которые позволяют выполнять одну операцию над несколькими данными одновременно. Это особенно полезно в задачах, связанных с обработкой графики, звука и видео.SIMD‑инструкции в Эльбрус 2000 реализуются через специальные регистры, называемые векторными регистрами. Каждый векторный регистр может содержать несколько элементов данных одного типа, например, 16 целых чисел или 8 чисел с плавающей точкой.Для выполнения операций над векторными регистрами в Эльбрус 2000 используются специальные команды, которые могут выполнять операции над всеми элементами векторного регистра одновременно. Например, команда ассемблера «ADDV» складывает все элементы двух векторных регистров и сохраняет результат в третий векторный регистр. (Я прям чувствую как начали закипать мозги:D)

SIMD‑инструкции в Эльбрус 2000 могут быть использованы в различных областях, например:

  • Обработка графики и видео: SIMD‑инструкции позволяют быстро применять эффекты к видео и изображениям, например, изменять яркость и контрастность, применять фильтры и т. д.

  • Обработка звука: SIMD‑инструкции могут быть использованы для обработки аудиосигналов, например, для уменьшения шума или изменения тональности.

  • Математические вычисления: SIMD‑инструкции позволяют быстро выполнять математические операции над большим количеством данных, например, для расчета физических моделей или статистических анализов.

Использование SIMD‑инструкций позволяет значительно ускорить выполнение задач, связанных с обработкой больших объемов данных. В Эльбрус 2000 SIMD‑инструкции реализованы эффективно и позволяют достичь высокой производительности при работе с векторными данными.

Также в архитектуре Эльбрус 2000 используется кэш‑память, которая позволяет ускорить доступ к данным. Кэш‑память хранит наиболее часто используемые данные, что позволяет уменьшить время доступа к ним. Смешно? Тогда вспомните, что огромное число процессоров до сих пор не умеют в L3-cache.

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

Текстовый процессинг

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

Один из таких алгоритмов — это алгоритм сжатия данных LZO (Lempel‑Ziv‑Oberhumer). Он используется для сжатия текстовых данных и может быть применен для уменьшения размера файлов или передачи данных по сети. Алгоритм LZO работает на основе словарного кодирования, когда повторяющиеся последовательности символов заменяются одним кодом. В Эльбрус 2000 реализована оптимизированная версия алгоритма LZO, которая позволяет достигать высокой скорости сжатия и декомпрессии.

Еще один алгоритм для обработки текстовых данных — это алгоритм поиска подстроки в строке. Он может использоваться для поиска слов или фраз в тексте, а также для обработки запросов в поисковых системах. В Эльбрус 2000 реализована оптимизированная версия алгоритма Бойера‑Мура, который работает на основе сравнения символов справа налево.

Также в Эльбрус 2000 реализованы алгоритмы сортировки данных, которые могут быть использованы для обработки текстовых данных. Например, алгоритм быстрой сортировки (QuickSort) может быть использован для сортировки больших массивов строк. В Эльбрус 2000 реализована оптимизированная версия алгоритма QuickSort, которая работает на основе разделения массива на подмассивы и их параллельной сортировки.

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


Продолжение следует…

Источники

  1. PDF: Руководство по эффективному программированию на платформе «Эльбрус»

  2. PDF: Кремнивые секреты

  3. Полезное: Шпаргалка по Assembler x86

  4. Видео: Архитектура процессора Эльбрус 2000 / Дмитрий Завалишин (Digital Zone)

  5. История: История компьютеров Эльбрус

Комментарии (34)


  1. saipr
    00.00.0000 00:00
    -3

    В Эльбрус 2000 реализована оптимизированная версия алгоритма Бойера-Мура
    В Эльбрус 2000 реализована оптимизированная версия алгоритма QuickSort
    В целом, архитектура Эльбрус 2000 предоставляет широкий набор алгоритмов

    Так что, импортозамещение свершилось или как?


    1. nekkitl Автор
      00.00.0000 00:00
      +1

      Поговаривают, что изобретение велосипеда - не есть лучший вариант...


  1. MessirB
    00.00.0000 00:00
    +14

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

    Помнится в конце девяностых годов прошлого века была Transmeta, которая за три года разработала свой VLIW проц с нуля, который точно так же мог в x86 через встроенный транслятор. И в чём ирония, до сих пор, немного порывшись на барахолке вроде авито я смогу купить девайс с этим их процом, но купить что-то на эльбрусе у меня вряд ли выйдет.


    1. zatim
      00.00.0000 00:00
      +1

      Этот проц стоял в некоторых моделях дешевых iRU. У меня был такой ноут.


  1. DustCn
    00.00.0000 00:00
    +3

    У меня мозги закипели на " Архитектура Эльбрус 2000 предоставляет несколько алгоритмов". Как это вы себе представляете? Вот есть сферический алгоритм в вакууме - тот же LZO. Каким образом он привязан к архитектуре? Что x86 не умеет в LZO? Или какой нибудь ARM?


    1. nekkitl Автор
      00.00.0000 00:00
      -2

      Не у всех архитектур есть готовые наборы команд и регистров. Яркий пример AVX512 у Intel, и его отсутствие у AMD. (Вроде как в 7000 Ryzen он только-только появился)


      1. MessirB
        00.00.0000 00:00
        +1

        Вот как раз таки у интела на десктопных процах последних двух поколений AVX-512 не доступен.


        1. nekkitl Автор
          00.00.0000 00:00

          Данное решение Intel связано с предстоящим выходом процессоров Core i5 и Core i3 без энергоэффективных ядер, которые могли бы поддерживать AVX-512 «из коробки», но ввиду своего позиционирования не должны превосходить по возможностям уже представленные старшие Alder Lake.

          Для этого энтузиасты интегрировали старую версию микрокода в новые версии BIOS, фактически создав модифицированный BIOS с поддержкой набора инструкций AVX-512.

          тык

          Т.e. блоки присутствуют, но они отключены из-за внутренней конкуренции линеек? Забавно, не знал что у них все так весело :D


          1. PuerteMuerte
            00.00.0000 00:00

            Т.e. блоки присутствуют, но они отключены из-за внутренней конкуренции линеек?

            Подозреваю, что внутренняя конкуренция линеек — это просто маркетинговая отмазка, а реальная причина в том, что Intel порезала часть вторичного функционала, чтобы уложиться в и без того агрессивный TDP при сохранении высоких частот.


            1. AquariusStar
              00.00.0000 00:00

              Или возможен такой вариант на манер DLC в играх. Хочешь плюшку? Заплати разблокировку и пользуйся. Читал, что Intel хочет такую фичу реализовать в своих процессорах.


      1. domix32
        00.00.0000 00:00

        А neon нынче до какой длины поддерживается?


        1. beeruser
          00.00.0000 00:00

          В NEON 64 и 128-битные инструкции. Вы путаете его с SVE.

          В имеющихся реализация SVE сейчас 512 бит максимум (архитектура поддерживает до 2048).

          Что интересно серверный ARM Neoverse-V2 перехал с 2x256-бит на 4x128-бит,

          потому что так получается гибче.

          @nekkitl

          К слову, Эльбрус – не единственный в мире, кто имел VLIW подход. Был ещё Intel Itanium, который сами же Intel похоронили в 17-м году.

          Вообще-то EPIC, а не VLIW. Хотя VLIW процессоров вагон и маленькая тележка. TILE64, MAJC, RAW, Transmeta, TMS320 и т.д..


          1. nekkitl Автор
            00.00.0000 00:00
            -2

            Схожесть подходов сбила с толку, поправлю, спасибо!


          1. domix32
            00.00.0000 00:00

            Я только знал, что neon это такой аналог avx на arm. А раз у тут речь шла за AVX 512 то сделал заключение, что и неоны разные бывают.


      1. DustCn
        00.00.0000 00:00

        Всмысле имплементированная в железо инструкция LZO? Или что вы имеете ввиду? Любой современный процессор это полная тьюринг машина, значит на ней можно реализовать любой алгоритм. Даже без векторных расширений. Думаю даже на Z80 его можно написать.

        Так что значит ваше "архитектура представляет алгоритм"?


    1. kekoz
      00.00.0000 00:00

      Система команд (instruction set) — это одна из частей архитектуры процессора.


      1. DustCn
        00.00.0000 00:00

        И что вы хотели этим сказать - разверните мысль...


  1. VadimProfii
    00.00.0000 00:00
    +3

    Есть ли возможность производить этот процессор в настоящее время? PS: не сочтите за придирку :)


    1. nekkitl Автор
      00.00.0000 00:00

      а также (на момент написания) отсутствие локализации производства на территории РФ.

      Вот такая вот грусть :(


  1. valeriyvan
    00.00.0000 00:00
    +1

    Интересно, как "Московский центральный научно‑исследовательский институт информатики и автоматизации" сокращается до "МЦСТ"?


    1. nekkitl Автор
      00.00.0000 00:00
      +1

      Ну первоначально он был как Московский центр SPARC-технологий, думаю потом просто забили на нейминг :)


      1. nekkitl Автор
        00.00.0000 00:00

        p.s. добавил в статью


  1. domix32
    00.00.0000 00:00

    Погодите, они сделали quicksort прям на процессоре? Или подразумевается, что они передалали реализации своего clang для оптимизации под процессор?


    1. nekkitl Автор
      00.00.0000 00:00

      Вообще, забегая вперед (об этом в следующей части расписать хотел) - реализация почти всего потенциала лежит на программисте, который знает фишки компилятора LCC, который в свою очередь уже переводит явно распаллелированный код в еще более удобоваримую субстанцию, которая содержит в себе оптимизаций и фишки под e2k. Как раз таки в "оптимизациях на такт" в LCC и фишка. Из-за размера слова и подгонки компилятора при ниже частоте он способен переваривать больше за такт.


  1. OpenA
    00.00.0000 00:00
    +1

    Историческая справка
    В 1994 году был выпущен первый компьютер на базе микропроцессора
    «Эльбрус-1», который был разработан в институте. В 2000 году был выпущен
    компьютер «Эльбрус-2»,

    Вам, уважаемый Никита, неплохо бы сначала школу закончить и поступить в вуз (например в тот же мфти), а потом тут статьи писать. Без обид.


    1. nekkitl Автор
      00.00.0000 00:00
      -1

      А кроме оскорблений что-то будет по конструктиву? Я не вижу в цитате проблем. Если вам нужна детальная справка о том как Sun спасла компанию и остальное - то добро пожаловать в интернет. Я не считаю, что это сейчас так важно, более того - имеет политический подтекст в текущей ситуации.


      1. OpenA
        00.00.0000 00:00
        +4

        Школа это не оскорбление, а среднее образование.

        Проблема не в цитате, а в статье в целом. Она напоминает сочинение про Ленина от ученика средней школы.

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


        1. PuerteMuerte
          00.00.0000 00:00
          +1

          Если бы ты учился в вузе то имел бы уже какое никакое понимание, что просто так что-то написать от балды и выдать не прокатит

          Справедливости ради, как раз вуз и научил той мудрости, что во многих случаях проще написать от балды, чем сидеть и скрупулёзно подбирать информацию, которую все равно никто не будет проверять.
          Хотя думаю, автор не писал эту буффонаду от балды, а где-то нагуглил, мало ли фейковых источников в интернетах?


      1. PuerteMuerte
        00.00.0000 00:00
        +3

        Я не вижу в цитате проблем

        Небольшие проблемы в цитате как бы есть. Эльбрус-1 был разработан не в институте, а выпущен в 1980-м, Эльбрус-2 — в 1985-м, ещё он никак не мог стать первым в мире многопроцессорным компьютером на базе отечественных микропроцессоров просто потому, что в нём не было ни одного микропроцессора. И более того, всё это — ни разу не разработки МЦСТ. Но зато правда насчёт 125 млн оп/с у Эльбруса-2, да.


  1. a1batross
    00.00.0000 00:00
    +4

    Почему статья написана так, будто это плохой курсач первокурсника? Что вы хотели рассказать? Об архитектуре тут и так достаточно статей, причем достаточно подробных, хотя и не про всё. Если просто в общих словах, то чем это отличается от того что и так есть на сайте МЦСТ?


  1. ioccy
    00.00.0000 00:00
    +3

    Это статью можно прямо сейчас по первому каналу зачитывать. По перлу почти в каждом абзаце:


    E2K: от истоков — если от истоков, то с БЭСМа надо начинать, если не раньше


    который стал первым в мире многопроцессорным компьютером на базе отечественных микропроцессоров — это как первый в мире отечественный автомобиль?


    В 2015 году был выпущен «Эльбрус-4С», который стал первым в России, поддерживающим технологию виртуализации — ну, если СССР не брать в расчет, то, может, и первым


    Архитектура Эльбрус 2000 имеет ряд преимуществ перед другими архитектурами, такими как высокая производительность и надежность — в отличие от других архитектур, конечно


    Аппаратная мультипоточность в процессорах Эльбрус реализуется с помощью технологии Hyper‑Threading — не реализуется. Это торговая марка Intel.


    Симметричная мультипроцессорность Эльбрус 2000 обеспечивает высокую безопасность системы. Каждый процессор имеет свой собственный набор инструкций — если у каждого процессора свой собственный набор инструкций, то вряд ли это симметричная многопроцессорность


    На вторую вычитку меня не хватило — (Я прям чувствую как начали закипать мозги:D)


  1. zerg59
    00.00.0000 00:00

    Открываю Википелию: Первые VLIW-процессоры были разработаны в конце 1980-х компаниями Cydrome, MultiFlow, Culler


    1. KonstTr
      00.00.0000 00:00

      Вы знаете про компьютеры Карцева?


      1. PuerteMuerte
        00.00.0000 00:00

        M10, в смысле? Её некорректно называть VLIW, хотя некоторые основы VLIW-идеологии в ней заложены.