Система команд процессоров «эльбрус» впервые опубликована в открытом доступе

Внесенные изменения

На момент публикации материала в ядро Linux 5.8-rc2 было внесено свыше 40 изменений, имеющих отношение к Baikal-T1. К ключевым изменениям относятся общий код ядра и архитектуры MIPS CPU P5600, конфиг сборки ядра специфичного для CPU MIPSr5, а также конфиг сборки ядра специфичного для CPU P5600.


Первый российский процессор, поддержка которого реализована в ядре Linux

Помимо этого, в ядро была добавлена поддержка детектирования и расшифровки CM2 L2 ECC ошибок и MAAR-регистров в режиме XPA, доработан драйвер R4K clocksource для работы при включенном CPU-freq, интегрирована регистрация таймера в качестве sched_clock и др.

Список изменений от Baikal Electronics в ядре Linux 5.8-rc2:

№ п/п Список изменений от Baikal Electronics в ядре Linux 5,8-rc2
1 Общий код ядра и архитектуры MIPS CPU P5600
1.1 Добавлен конфиг сборки ядра специфичного для CPU MIPSr5
1.2 Добавлен конфиг сборки ядра специфичного для CPU P5600
1.3 Добавлена автоматическая активация UCA MMU-атрибута, если он поддержтвается архитектурой
1.4 Добавлена поддержка детектирования и расшифровки CM2 L2 ECC ошибок
1.5 Добавлена поддержка MAAR-регистров в режиме XPA
1.6 Доработан драйвер R4K clockevent для работы при включенной фиче CPU-freq
1.7 Доработан драйвер R4K clocksource для работы при включенной фиче CPU-freq
1.8 Исправлена ошибка udelay при включенной фиче CPU-freq
1.9 Исправлена ошибка с неверным значением BogoMIPS при включенной фиче CPU-freq

Оставшаяся часть изменений в подсистемы ядра Linux находится в процессе рецензирования. Согласно планам разработчиков, они будут внесены в состав ядра Linux 5.9, дата релиза которого на момент публикации материала установлена не была. В него также будет интегрирована поддержка однокристальной системы Baikal-T1 с файлом дерева устройств, использующим все добавленные Baikal Electronics версии драйверов.

Архитектура Эльбрус

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

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

Архитектурно это реализовано с помощью 6 наборов вычислительных устройств на каждом ядре процессора (каждый со своим конвейером операций), которые мы будем называть вычислительными каналами. Эти каналы не идентичны: каждый содержит арифметико-логические устройства, поддерживающее лишь некоторые из доступных операций. Так, например, сложение целых чисел поддерживается всеми каналами, в то время как большая часть векторных операций, выполняемых над упакованными в широкие регистры числами, доступны только на двух каналах. Это означает, что использование векторных операций не всегда оправдано в плане производительности.

С развитием архитектуры Эльбрус АЛУ для каждого вычислительного канала претерпевали некоторые изменения. Информация по основным вычислительным операциям приведена в Таблице 1 для различных версий системы команд (СК). Длина машинного слова предполагается равной 32 бита.

Таблица 1. Параметры АЛУ в зависимости от версии системы команд. В таблице через «/» приводится информация о числе каналов, поддерживающих операцию, и длительность в тактах.

Процессоры Эльбрус-4С Эльбрус-8С, Эльбрус-1С+ Эльбрус-8СВ
Ширина векторного регистра, бит 64 64 128
Целочисленное сложение (64 бита) 6/1 6/1 6/1
Вещественное сложение (64 бита) 4/4 6/4 6/4
Широкое целочисленное умножение (32х32 -> 64 бита) 4/4 4/4 4/4
Вещественное умножение со сложением (64 бита) 4/8 6/8 6/8
Целочисленное сложение (вектор) 2/1 2/1 2/1
Целочисленное умножение с попарным сложением (вектор) 2/2 2/2 2/2
Перестановка байтов (64 бита) 4/1 4/1 4/1
Распаковка данных (вектор) 2/1 2/1 2/1
Подкачка данных APB 4/5 4/5 4/5

Кроме того, в архитектуре Эльбрус предусмотрена аппаратная поддержка быстрого доступа в память в виде иерархической системы кэш-памяти и устройства предварительной подкачки массивов APB (array prefetch buffer). APB обеспечивает быструю загрузку n-линейных массивов, хранящихся в основной памяти вычислителя. В отличие от кэш-памяти, нацеленной на предподкачку часто используемых данных, APB оптимизирует время доступа к массивам, использующимся небольшое число раз и обрабатывающимся преимущественно последовательно. Применение APB имеет некоторые ограничения:

  • его можно использовать при отсутствии вызовов функций в процессе его непосредственного использования;
  • в СК версий 3 и 4 APB можно использовать только при работе с выровненными данными, в СК версии 5 это требование ослаблено и будет полностью снято в СК версии~6.

При этом следует понимать, что APB будет эффективен:

  • при достаточно большом числе итераций цикла, в котором происходит обращение к APB;
  • при доступе к элементам массива, отстоящим друг от друга не более чем на 32b;
  • при отсутствии конфликтов по памяти с операциями записи между итерациями, либо при достаточно большой дистанции таких зависимостей.

Состав

Сменными составными элементами панели являются:

Ячейка MPS 1 шт.
Модуль памяти DDR2 2GB KVR400D2D8R3/2G фирма Kingston 8 шт.
Модуль Ethernet 10/100 PCI 3C-905C фирма 3COM 1 шт.
Модуль графического контроллера PCI Rage Pro 16Mb фирма ATI Technologies 1 шт.
Звуковая карта PCI Crystal SemiconductorsCS4281-СQ фирма Chipset 1 шт.
Модуль SCSI-2 PCI AHA-2940 фирма Adaptec 1 шт.

Модули памяти DDR2устанавливаются в соединители socket DDR DIMM 240CKTS фирмы MOLEX (X12…X17, X19, X20). Модули PCI – в соединители socket PCI фирмы AMP (Х42, Х45, Х48, Х52).

Структурная схема системной панели ПЭ3М1

 

CPU – микропроцессор «Эльбрус»; SCU – системный контроллер; DCU – коммутатор данных; MC – контроллер памяти; I/O– системный контроллер ввода-вывода («северный мост»); SB – периферийный контроллер ввода-вывода («южный мост»); SUPER I/O – контроллер последовательно-параллельных интерфейсов и Floppy; I/O PIC – контроллер прерываний ввода-вывода; TL PIC – двойной локальный контроллер прерываний; ППЗУ Boot – загрузочное программируемое постоянное запоминающее устройство; ППЗУ BIOS – программируемое постоянное запоминающее устройство системного программного обеспечения.

Структурная схема центральной части ПЭ3М1

 

CPU – микропроцессор «Эльбрус»; DCU – коммутатор данных; AC – коммутатор адреса; MC – контроллер памяти; I/O – системный контроллер ввода/вывода («северный мост»); SCU – системный контроллер.

Коротко рассмотрим назначение основных элементов материнской платы ПЭ3М1.

Коммутатор адреса AC направляет заявки (адреса) от двух процессоров (CPU0 и CPU1) либо в контроллер памяти для доступа к секциям оперативной памяти DIMM, либо в «северный мост» для доступа к устройствам ввода-вывода. Кроме того, проверяет наличие копий данных, к которым идут обращения, в кэш-памяти процессоров и реализует протокол когерентности, т.е. поддержки соответствия состояний этих копий друг другу и содержимому памяти.

Системный контроллер ввода-вывода (В/В) I/O («северный мост») разделяет заявки, направленные к шинам LVDS и PCI. Кроме того, к функциям «северного моста» относятся:

  • формирование сигналов начальной установки системы;
  • организация «раскрутки» миниОС «Эльбрус»;
  • сбор прерываний и переадресация их процессорам (для этого в «северном мосте» размещены два локальных программируемых контроллера прерываний с расширенными возможностями TL PIC, по числу процессоров в системе);
  • организация обращений к внутренним регистрам Chipset.

Системный контроллер В/В со стороны центральной системы взаимодействует с адресным коммутатором AС и коммутатором данных DCU. Интерфейс с коммутатором AS служит для приёма и выдачи заявок на выполнение транзакций, интерфейс с коммутатором DS обслуживает приём/выдачу данных. Поддерживает интерфейс шины  PCI, соответствующий PCI Local Bus Specification, Revision 2.2 и интерфейс шины LVDS.


Коммутатор адреса и контроллер ввода/вывода располагаются в одной ПЛИС, образующей системный контроллер SCU. Аналогичное объединяются коммутаторы данных и соответствующие контроллеры памяти (МС).

Коммутатор данных DCU служит для передачи данных между центральными процессорами CPU0, CPU1, контроллерами памяти MC и «северным мостом».

Контроллер памяти MC, встроенный в адресный коммутатор, реализует адресный интерфейс с секциями накопителя, построенного на базе DIMM DDR SDRAM модулей.

Коммутатор данных DS связывает DIMM DDR SDRAM модули с процессорами и с «северным мостом». Все линии связи в процессорном модуле, за исключением связей DIMM DDR SDRAM модулей с коммутатором данных, однонаправленные.

В качестве периферийного контроллера ввода-вывода I/O SB («южного моста») используется покупной контроллер PIIX4, входящий в chipset 440GX фирмы Intel.

PCI (Peripheral Component Interconnect) local bus – шина соединения периферийных компонентов. Представляет собой 32-разрядную шину с тактовой частотой 33 МГц и пропускной способностью до 132 Мбайт/с.

LVDS (Low Voltage Differential Signals) – высокоскоростная шина ввода-вывода, состоящая из 24 однонаправленных дифференциальных пар, 12 из которых работают на приём, 12 на выдачу данных. Данная шина может работать на частоте до 655 МГц, что обеспечивает пропускную способность до 980 Мбайт/с в каждую сторону. Подключается эта шина через стандартный слот AGP.

Краткая справка

ООО «Регионпроект» зарегистрирована 9 апреля 2007 г. регистратором Межрайонная инспекция Федеральной налоговой службы № 12 по Воронежской области. Руководитель организации: генеральный директор Стельмахов Иван Александрович. Юридический адрес ООО «Регионпроект» — 394000, Воронежская область, город Воронеж, улица Карла Маркса, 45.

Основным видом деятельности является «Деятельность в области архитектуры, инженерных изысканий и предоставление технических консультаций в этих областях», зарегистрировано 40 дополнительных видов деятельности. Организации ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «РЕГИОНПРОЕКТ» присвоены ИНН 3699795763, ОГРН 4183255698107, ОКПО 12492238.

В чём особенности дистрибутива PDK «Эльбрус»?

  • Собственная пакетная база, оперативно пополняемая напрямую от разработчиков открытого программного обеспечения;
  • Формат пакетов deb и программы управления пакетами dpkg и apt, как в Debian и Ubuntu, но собственная система сборки пакетов на основе .build-файлов, абстрагированных от известных дистрибутивов, будь то Debian, Red Hat или SuSE;
  • Собственная инфраструктура разработки, поддерживающая изоляцию и воспроизводимость сборки пакетов, работу с зависимостями, использование распределённых сборочных кластеров, развитую мультиархитектурность, а также учёт всех архитектурных особенностей платформы Эльбрус;
  • Поддержка режима кросс-сборки на все аппаратные архитектуры семейства «Эльбрус».

На текущий момент можно скачать PDK «Эльбрус» 4.0 для архитектуры х86-64. Это позволяет максимально безболезненно установить их на любой ПК с процессором Intel или AMD, ознакомиться с предлагаемым набором пакетов и, при необходимости, собрать свои.

При этом отмечается, что если нужный пакет соберётся на х86 и х86-64, то он будет работать и на российском «Эльбрусе». Разумеется, с учётом сборки под его архитектуру.

Модели серии

«Эльбрус-1»

Многопроцессорный вычислительный комплекс (МВК) ‘«Эльбрус-1’» — разработан в 1973—1979 годах, сдан государственной комиссии в 1980 году. Построен на базе ТТЛ-микросхем. Производительность — до 12 млн оп/с в комплектации Э1-10 с десятью ЦП. Главный конструктор серии — Всеволод Сергеевич Бурцев.

«Эльбрус-2»

МВК «Эльбрус-2» — разработан в 1977—1984 годах, сдан в 1985 году. Производительность на 10 процессорах (из них 2 считались резервными) — 125 млн оп/с. Построен на базе ЭСЛ интегральных схем ИС-100 (аналог серии Motorola 10000), из-за высокой потребляемой мощности требовал мощную систему охлаждения. По словам Бориса Бабаяна, всего было выпущено до 200 машин «Эльбрус-2» с разным числом процессоров.

Используется в управлении РЛС «Дон-2H».

По справке «Красной звезды» от 1 марта 2001 года, Эльбрус-2 используется в «системе ПРО второго поколения, ЦУПе, Арзамасе-16 и Челябинске-70».

Используется в системе ПРО Москвы А-135.

  • Процессор
    • Размещён в трёх шкафах
    • Система команд — безадресная, стековая, используется обратная польская запись
    • Тактовая частота — 20 МГц
    • Производительность по смеси Гибсон-3 — 12,5 млн оп/сек
  • ОЗУ
    • логическая организация — тегированная, страничная (размер страницы — 512 слов)
    • физически — до 16 млн слов (24-битная физическая адресация) размером 80 бит (из них 8 контрольных), эквивалентный объём — 144 МБайт
    • построена на микросхемах DRAM ЗУ565РУЗВ (16K * 1)
    • используется трёхуровневый интерливинг
  • Внешняя память
    • На магнитных барабанах — от 8,5 до 136 МБайт
    • На сменных магнитных дисках — от 34 до 700 МБайт
    • На магнитной ленте — от 70 до 560 МБайт

«Эльбрус-1К2» и «Эльбрус-Б»

«Эльбрус-1К2» (также известен как СВС с жаргонной расшифровкой «Система, Воспроизводящая Систему») был разработан на основе компонентов и технологий «Эльбруса-2» для замены «БЭСМ-6». Сохранял полную программную совместимость с предшественником. Было произведено порядка 60 машин.

«» (или «Эльбрус-1К-Б») — это 64 разрядный процессор с плавающей запятой и с расширением системы команд, которая включает работу с байтами. Элементная база аналогичная «Эльбрус 1-К2» и «Эльбрус-2», но самостоятельная система ввода-вывода (без процессора ПВВ) и многомашинный вариант комплектации. Главный конструктор — М. В. Тяпкин.

Характеристика БЭСМ-6 (1968) Эльбрус-1К2 Эльбрус-Б
Производительность (млн. оп/с) 1 2,5 — 3 4 — 5
Частота, МГц 10 20 20
Разрядность, бит 48 48 48 или 64
Разрядность адресации ОЗУ, бит 15 15 15 или 27
Объём ОЗУ, МБ 0,032-0,128 0,77 64
Объём дискового ЗУ, МБ (в стандартной комплектации) 116 58 800
Занимаемая площадь, м² (со всей периферией) 150-200 250 70
Потребляемая мощность, кВт 30 105 25
Всего выпущено 355 60 60

«Эльбрус-3»

МВК «Эльбрус-3» — разрабатывался в 1986—1994 годах группой сотрудников Института точной механики и вычислительной техники под руководством Б. А. Бабаяна на основании совершенно новых архитектурных идей. МВК Эльбрус-3 должен был содержать 16 суперскалярных процессоров с VLIW системой команд. Не был запущен в серию.

Архитектура «Эльбрус-3» получила дальнейшее развитие в архитектуре микропроцессоров «Эльбрус 2000» и «Эльбрус-3М1».

«Эльбрус-3-1»

МКП Эльбрус-3-1 в машинном зале

Конструктор А. А. Соколов. В 1993 году был успешно завершён первый этап Государственных испытаний «Эльбрус-3-1» — МКП (модульный конвейерный процессор) (Премия имени С. А. Лебедева РАН). В МКП основная идея заключалась в возможности подключения процессоров с различной специализацией (радиолокационная обработка, структурная обработка, быстрые преобразования Фурье и т. д.). У МКП было несколько счётчиков команд, поэтому он мог работать с несколькими потоками команд. Одновременно на едином поле памяти в процессоре выполнялось до четырёх потоков команд.

Характеристики, цена, потенциальные заказчики

Задействованный в мини-ПК «Хамстер» процессор располагает двумя суперскалярными ядрами P5600 MIPS 32 r5. Используется оперативная память DDR3 на 1600 МГц. Энергопотребление составляет 5 Вт.

Новинка оснащена модулем Wi-Fi; имеет два порта 1 Gb Ethernet, два порта SATA 3.0, контроллер PCIe Gen.3, интерфейсы USB 2.0, I2C, SPI, GPIO, UART, RS-232, RS-485, HDMI, DVI. Розничная стоимость ориентировочно составит 25-30 тыс. руб.

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

Со слов Бурмистрова можно заключить, что с HR-MPC-1 предварительно успели познакомиться в «Росатоме» и РЖД. Более того, «Хамстер» рассчитывал принять участие в скандальном миллиардном тендере железнодорожного монополиста на поставку 15 тыс. компьютеров на отечественных процессорах, хотя в итоге по ряду причин от этих планов и пришлось отказаться.

«Эльбрус» по открытой лицензии

Представленное МЦСТ руководство по программированию для платформы «Эльбрус» применимо с любой операционной системой на базе Linux. В него вошли материалы по адаптации имеющегося кода к «Эльбрусам» для корректной работы ПО, описание приемов компиляции программ, примеры ассемблера и отладки.

4-ядерный МЦСТ «Эльбрус-4C»

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

8-ядерный процессор МЦСТ «Эльбрус-8C»

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

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

8-ядерный процессор МЦСТ «Эльбрус-8CВ»


В документации представлены описания и характеристики актуальных на сегодняшний день моделей микропроцессоров «Эльбрус», включая 4-ядерный «Эльбрус-4C», 8-ядерные «Эльбрус-8C» и «Эльбрус-8CB». Есть описание разницы исполнения команд скалярными и суперскалярными процессорами, с подробным разъяснением конвейеризации и параллельной группировки в процессе исполнения команд.

Пример работы конвейера вычислительного ядра «Эльбруса»

В описании архитектуры «Эльбрус» подробно описан принцип использования «очень длинных машинных команд» (VLIW), специфика применения компилятора процессора для анализа зависимостей и оптимизации порядка исполнения операций и другие отличия от «традиционных» процессоров с архитектурой RISC/CISC.

Сравнение исполнения кода OOOSS (out-of-order superscalar) и VLIW

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

Марка №1. МЦСТ

МЦСТ – первая в истории марка процессоров, которые были выпущены в России для домашнего использования. Вообще, в этой стране большинство образцов техники выпускается для военной или космической промышленности. Но об этом мы еще поговорим.

Так вот, под маркой МЦСТ вышло две архитектуры процессоров – Эльбрус и SPARC.

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

А вот вторая является российской реализацией международной архитектуры с таким же названием. Фактически, специалисты МЦСТ взяли все необходимое у SPARC, разработки американских специалистов и сделали нечто свое. 

МЦСТ SPARC предназначена для военной промышленности, поэтому говорить об этой архитектуре мы не будем. Нас, как простых юзеров, больше интересует МЦСТ Эльбрус.

Среди преимуществ процессоров с данной архитектурой особенно следует выделить следующее:

  • высокая эффективность при вычислениях – математических, инженерных и других научных;
  • высокая степень защиты компьютера от несанкционированного доступа (на самом деле единицы хакеров смогут хотя бы приблизиться к тому, чтобы взломать компьютер с таким процессором);
  • МЦСТ Эльбрус отлично «сотрудничают» с чужеродными архитектурами.

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

Разработчики использовали разве что разработки под Linux, которые распространяются под открытым кодом. 

Огромный интерес вызывают конкретные образцы процессоров МЦСТ Эльбрус. Разберем один из них.

Эльбрус-4С

Это один из самых известных образцов данной марки.

Его особенности заключаются в следующем:

  • при разработке участвовали не только специалисты МЦСТ, а еще и ИНЭУМ (Институт электронных управляющих машин);
  • частота – 800 МГц;
  • техпроцесс – 65 нм;
  • кэш первого уровня – 64 Кб для каждого ядра данных и 128 Кб для каждого ядра команд;
  • кэш второго уровня – 8 Мб;
  • используемая микроархитектура – VLIW.

Для подключения используется разъем HFCBGA/1600. Первый такой процессор вышел в 2014 году. С тех пор о новых разработках ничего не слышно.

Рис. №1. Эльбрус-4С

Купить процессор Эльбрус-4С просто так невозможно. Его можно приобрести только в комплекте с компьютером. Хотя и он выглядит, по крайней мере, странно.

Вот некоторые особенности Эльбрус 401-PC:

  • одно ядро;
  • частота – 800 МГц;
  • видеопамять – 16 Мб;
  • разрешение экрана 1920х1080;
  • используемая видеокарта – AMD Radeon 6000;
  • жесткий диск на 1000 Гб;
  • оперативная память – 24 Гб (можно расширить до 96 Мб).

Также в этом компьютере есть пишущий DVD-привод. 

Рис. №2. Эльбрус 401-PC

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


Если зайти в любой офис, где компьютеры используются исключительно для работы, то там очень редко можно будет увидеть машину с более, чем 2-4 Гб оперативной памяти. Но 24 Гб – это, по меньшей мере, много. 

К тому же, при всем этом богатстве оперативной и собственной памяти всего лишь 16 Мб видеопамяти! 

Интересно также и то, сколько стоит Эльбрус 401-PC. Недавно была опубликована новость о том, что его цена снижена и теперь такой компьютер стоит 199 000 рублей. А это примерно 3400 долларов США.

За те же деньги можно купить, к примеру, DELL PRECISION T7810. У этой машины 32 Гб оперативной памяти, 1 Тб собственной, 4 Гб видеопамяти и процессор Intel Xeon E5-2620 v4 на 2 ядра с частотой 2.1-3 ГГц.

Абсолютно непонятно, за счет чего представитель МЦСТ должен привлечь потенциального покупателя.

Рис. №3. DELL PRECISION T7810

В общем, достаточно неоднозначное мнение оставляет МЦСТ Эльбрус и, в частности, Эльбрус-4С и компьютер Эльбрус 401-PC, в котором используется этот процессор. 

Архитектура Эльбрус-1,2

Основным отличием системы Эльбрус является ориентация на языки высокого уровня 1980-х годов. Языки класса Ассемблер в системе отсутствуют. Базовый язык — Автокод Эльбрус Эль-76 (автор В. М. Пентковский), на котором написано общесистемное программное обеспечение (ОСПО), является языком класса Алгол. Он напоминает язык Алгол-68. Основное различие состоит в динамическом связывании типов, которое поддерживается на аппаратном уровне. При компиляции программа на Эль-76 переводилась в безоперандные команды стековой архитектуры.

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

Очень похожие принципы: Алгол как управляющий язык и система тегов применялись в компьютере B5000 фирмы Burroughs Corporation. Среди пользователей Эльбруса ходила шутка: называть систему «Эль-Берроуз».

Элементарные типы данных

  • целые числа двух форматов — слово (64 разряда) и полуслово (32 разряда)
  • вещественные числа трех форматов — слово, полуслово и удвоенное слово (128 разрядов)
  • наборы — обобщение языковых типов данных bool (логический), char (символьный), alfa (короткая строка, размещаемая в слове), bytes (последовательность байтов слова)

Управление памятью

В аппаратуре и ОС реализован гибкий механизм управления виртуальной памятью (называющейся в документации «математической»). Программисту предоставляется возможность описывать массивы размерами до 220 элементов. Разрешённые форматы элементов массива: бит, цифра (4 бит), байт, полуслово (32 бит), слово (64 бит), слово удвоенной точности (128 бит). Каждой задаче предоставляется 232 слов.

Программное обеспечение

  • Операционная система, система файлов, система программирования Эль-76, многоязыковые компоненты ОСПО — ИТМиВТ
  • Фортран, Кобол, ПЛ/1, Алгол — Новосибирский филиал ИТМиВТ (ныне ОАО «Новосибирский институт программных систем»)
  • Паскаль, КЛУ, АБВ, РЕФАЛ, Снобол-4, Диашаг, Форт — Ленинградский университет, 1986 г. (Работает под управлением ОСПО. Имеются средства связи с процедурами на Эль-76).
  • Интеллектуальная система программирования МИС, Лисп — Институт кибернетики АН СССР
  • Симула-67 — Ростовский университет

Состав

Структурная схема системы на кристалле МЦСТ-R1000

Микросхема 1891ВМ6Я содержит (см. рисунок):

  • четыре процессорных ядра – CPU0…CPU3;
  • контроллер кэш-памяти второго уровня L2CacheControl;
  • общий кэш второго уровня L2Cache;
  • контроллер когерентности CC;
  • системный коммутатор SCom;
  • контроллер оперативной памяти MC;
  • контроллер канала ввода-вывода IOCC;
  • три контроллера каналов межсистемного обмена – ISCC0, ISCC1 и ISCC2.

Назначение основных функциональных модулей микропроцессора:

Процессорные ядра (CPU0…CPU3) реализуют 64-разрядную архитектуру SPARC v.9 и имеют суперскалярную организацию. Максимальный темп дешифрации команд в ядре – 2 команды за такт. Обмен с кэш-памятью второго уровня для каждого ядра процессора выполняется блоками по 32 байта и выполняется на рабочей частоте.

Кэш-память второго уровня (L2Cache) ёмкостью 2 Мбайт – общая для четырёх процессорных ядер. Организована в виде 8 колонок по 4096 строк, размер кэш-блока – 64 байта данных. Ассоциативность – 4, политика записи – write-back.

Контроллер когерентности (СС) обеспечивает согласованность данных в многопроцессорных системах и при операциях ввода-вывода.

Системный коммутатор (SCom) обеспечивает доступ в оперативную память процессорных ядер, контроллера IOCC и трёх контроллеров ISCC.

Контроллер памяти (MC) обеспечивает доступ к двум слотам оперативной памяти DDR2-800 с общим объёмом до 8 Гбайт. Обмен выполняется с темпом обмена до 6.4 Гбайт/с.

Контроллер канала ввода-вывода (IOCC) обеспечивает обмен с подсистемой ввода-вывода (контроллером «южного моста») или другими вычислительными комплексами.

Контроллеры каналов межсистемного обмена (ISCC0…ISCC2) обеспечивают связь с другими процессорами МЦСТ R1000. Каждый контроллер удалённого доступа имеет дуплексный байтовый LVDS-канал. Обмен выполняется по методу DDR на частоте 500 МГц. Суммарная пропускная способность контроллера – 4 Гбайт/с.

Различия между контроллерами IOCC и ISCC связаны в основном со спецификой пакетов данных и сигнальных сообщений, передаваемых в канале обмена. По каналу ввода-вывода выполняется передача данных для периферийных устройств (массивы данных или отдельные команды). По каналу межсистемного обмена осуществляется доступ в память к другим системам и от других систем на кристалле МЦСТ-R1000 в многопроцессорных системах с общей памятью.

На странице МЦСТ представлены

  • ОПО «Эльбрус» — общее программное обеспечение на базе ядер Linux версии 2.6.14, 2.6.33 и 3.14;
  • ОС «Эльбрус» — портированная версия Debian 8.11 на базе ядра Linux версии 4.9;
  • PDK ОС «Эльбрус» — та же ОС, но с возможностями разработки. Как утверждается, это самая современная версия ОС. Она базируется на ядре Linux версии 4.9 и предназначена для скачивания и установки на компьютеры с процессорами российского производства;
  • ОС «Эльбрус» для архитектуры х86 — ОС на основе ядра Linux версии 3.14 и 4.9 для процессоров с системой команд х86. При этом версия пакетов ОС «Эльбрус» для микропроцессоров с системой команд Elbrus сохранена.
  • Отметим, что первые две версии предоставляются только по запросу как специализированный софт. Остальные можно свободно скачать.

МЦСТ сохранит архитектуру SPARC

Ранее, рассуждая о перспективах развития компании в обозримом будущем, заместитель гендиректора МЦСТ по маркетингу Константин Трушкин сообщил CNews о том, что компания не намерена отказываться от разработки архитектуры SPARC, альтернативной «Эльбрусам». На базе архитектуры SPARC, в частности, выполнены процессоры МЦСТ R-1000 и МЦСТ R-2000. Второй из этих чипов увидел свет в начале 2018 г. и предположительно будет востребован в телеком-оборудовании. В МЦСТ наработки на SPARC считают истинно своими, хотя и признают, что система команд в них лицензированная.

Архитектура SPARC (Scalable Processor Architecture — масштабируемая архитектура процессора) была разработана в середине 1980 гг. компанией Sun Microsystems, но спустя несколько лет ее спецификации стали общим достоянием. С 1989 г. развитием архитектуры занимается независимая некоммерческая организация SPARC International, продающая разработчикам лицензии на ее модификации.

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

В МЦСТ отмечают недостаток что ресурсов для развития обеих архитектур, однако намерены продолжать развитие линейки SPARC, поскольку на рынке эта архитектура востребована, у компании есть специалисты в области архитектуры SPARC, и имеются определенные успехи в этой области.

  • Короткая ссылка
  • Распечатать

Последние изменения

13.08.2020

Новая госзакупка в роли поставщика, контракт № 1220340879236200084, контрагент: БУ ВО «Павловский Дом-Интернат»

10.08.2020

Изменена категория в Реестре малого и среднего предпринимательства, новая категория: малое предприятие

07.08.2020

Завершено исполнительное производство № 150094/20/36060-ИП от 13.07.2020

Завершено исполнительное производство № 147564/20/36060-ИП от 13.07.2020

04.08.2020

Новое исполнительное производство № 180706/20/36060-ИП от 04.08.2020, сумма требований: 213 405 руб.

Новое исполнительное производство № 180707/20/36060-ИП от 04.08.2020, сумма требований: 213 405 руб.

Новое исполнительное производство № 176551/20/36060-ИП от 04.08.2020, сумма требований: 213 405 руб.

Новое исполнительное производство № 176564/20/36060-ИП от 04.08.2020, сумма требований: 213 405 руб.


С этим читают