Спецпроекты

В ядре Linux впервые в истории появилась поддержка российского процессора

6532
ПО Свободное ПО Электроника Техника Маркет

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

Прецедент для российских процессоров

Разработчики ядра Linux интегрировали в него код для поддержки российского процессора Baikal-T1 компании Baikal Electronics и основанной нем на однокристальной системы BE-T1000. Как сообщили CNews представители компании, Baikal Electronics стал первым из производителей процессоров в России, включенным в основную ветку ядра Linux.

Изменения были переданы разработчикам ядра в конце мая 2020 г. Они вошли в состав ядра Linux версии 5.8-rc2 (Release Candidate), вышедшей 22 июня 2020 г. С ней, помимо поддержки российского процессора, связано еще одна историческая веха – она вобрала в себя самое большое количество изменений с момента появления самого первого релиза ядра. По оценке разработчиков, в него вошло 1026178 строк нового кода.

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

На момент публикации материала в ядро 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

Источник: Baikal Electronics

Перейти к полной таблице

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

Спецификации Baikal-Т1

Отечественный процессор Baikal-Т1 производится по нормам 28-нанометрового техпроцесса. Он был разработан с использованием блока процессорного ядра MIPS32 P5600 Warrior, лицензированного у компании Imagination Technologies.

Блок-схема Baikal T1

Состав процессора включает два суперскалярных ядра P5600 MIPS 32 r5 с тактовой частотой 1,2 ГГц. В нем содержатся 1 МБ кэш-памяти второго уровня, контроллеры PCIe Gen.3 х4 и оперативной памяти DDR3-1600 ECC, а также следующие интегрированные интерфейсы: один порт Ethernet 10Gb, 2 Ethernet 1Gb, два порта SATA 3.0 и один USB 2.0.

Процессор потребляет менее 5 Вт энергии и поставляется в корпусе HFCBGA-576 размерами 25х25 мм. Число контактных выводов – 576 с шагом 1 мм.

Как сообщал CNews, процессор Baikal-Т1 был выпущен в конце мая 2015 г., а его первые образцы стали доступны для разработчиков с 1 июня 2015 г. Процессор поставляется в комплекте со средствами разработки программного обеспечения (SDK), которые в середине июня 2020 г. получили обновление до версии SDK-T-5.4.

В новую версию SDK внесены следующие основные изменения: содержит ядро Linux 5.4.43. Добавлен драйвер XGbE. Добавлена поддержка сокетов AF_XDP в драйвер Gigabit Ethernet. Устранены зависания ядра, связанные с возникновением исключений TLB при обработке прерываний.

Добавлены рекомендации по сборке прикладных библиотек и утилит ffmpeg, libvpx, x264 (директория baikal/usr/mips_tips). Исправлена ошибка с некорректным выводом частоты DDR3 в U-Boot. Убран Eclipse. Исправлены мелкие ошибки в скриптах сборки. Исключены цели сборки BFK-1.6, BFK-1.6+ и QEMU.

Где используется Baikal-Т1

В феврале 2020 г. стало известно, что «Газпром автоматизация» собирается массово использовать на объектах «Газпрома» модульные компьютеры российской компании Fastwel, изначально разработанные на чипах AMD, но позже модифицированные под отечественные процессоры Baikal-T1. Речь идет о компьютере МК150-02 для применения, в том числе, в качестве автономного вычислительного устройства в автоматизированных системах управления технологическими процессами (АСУТП).

Fastwell МК150-02

По данным сайта Fastwel, МК150-02, помимо процессора Baikal-T1 с тактовой частотой 1,2 ГГц, располагает ОЗУ объемом 4 ГБ, встроенным Flash-диском на 8 ГБ. Габариты компьютера составляют 150х200х150 мм. Диапазон рабочих температур находится в интервале от -40ºС до +50ºС. Потребляемая мощность составляет менее 30 Вт. Напряжение питания — 10,5-36 В. Заявленный срок службы — более 15 лет.

В апреле 2020 г. в России появился мини-ПК на отечественном процессоре Baikal-T1 и с российской ОС «Альт Линукс». Габариты новинки, получившей название HR-MPC-1, составляют 115 х 115 х 35 мм.

baikal603.jpg
Неттоп HR-MPC-1 на базе Baikal T1

На тот момент свет увидели лишь опытные образцы компьютера, а выпуск промышленной партии из-за пандемии коронавируса был отложен на осень 2020 г. Перспективные заказчики – бизнес и госсектор.