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

6 1169

На сайте АО «МЦСТ» появилась новость о доступности руководства по эффективному программированию на платформе Эльбрус; в нём также содержится глава с описанием системы команд «Эльбрус», ранее не публиковавшейся. Книга выпущена под лицензией Creative Commons (CC-BY 4.0) в форматах HTML (архив) и PDF; для удобства чтения HTML выложен мною в развёрнутом виде.

По сути это второй день рождения архитектуры «Эльбрус» — хотя и первый был в некотором смысле сразу двойным, ведь начало разработке было положено в семидесятых годах, уже после рокового правительственного решения 1967 года закрыть все существовавшие тогда в СССР линии развития отечественных ЭВМ и сосредоточиться на клонировании западной аппаратуры ради возможности копировать программное обеспечение.

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

Тем не менее исторически система команд вычислительных комплексов «Эльбрус» была закрытой и не документированной публично, поскольку эти машины активно применялись в военных системах и засекречивание всего и вся затронуло и их; при этом вторая линейка процессоров разработки МЦСТ (например, R500) начиналась как раз с открытой Sun Microsystems системы команд SPARC v8.

Соответственно единственным возможным разработчиком компиляторов под «Эльбрус» были сами создатели платформы; это и хорошо в плане взаимной оптимизации аппаратуры и средств разработки, и плохо в плане ограниченности ресурсов и необходимости отслеживать как более новые стандарты языков, так и получившие распространение расширения популярных компиляторов (в первую очередь GCC). Например, LCC 1.24 «умеет» C, C++ и Fortran, но трансляторы языков вроде Go, Rust, Objective C или D на его базе недоступны.

Стоит отметить, что в данный момент известны как документированные, но закрытые системы команд (x86, ARM, POWER), так и несколько открытых, доступных для воспроизведения силами сторонних компаний (SPARC, OpenRISC, RISC-V). Есть и пограничные случаи — например, отечественный процессор BE-T1000 (ранее «Байкал-Т1») построен на лицензированной системе команд MIPS (точнее, MIPS32r5 LE), следующая ревизия которой, r6, была положена в основу проекта MIPS Open, но затем вновь оказалась закрытой вместе с этим проектом в силу финансовых затруднений западной компании-владельца.

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

Тем временем новое поколение разработчиков уже имеет материал для самообразования по актуальной и перспективной теме отечественной вычислительной техники; будем надеяться, что молодые таланты смогут применить полученные знания не только в рамках особых мероприятий (как ярославская «ПроеКТОриЯ»), а и в повседневной жизни — на домашнем и рабочем компьютере.

PS: новость традиционно отправлена с «Эльбруса» — двухместной 801-РС :)


shigorin©

Квартирный вопрос основательно портит имидж «успешной Америки»

Я вам тут очередную сказочку про американскую успешность и прогрессивность принёс. Открывайте лукошко. Согласно данным Community Housing Improvement Program (CHIP), две трети жителей Нью-Йорка ...

Черноногая кошка: Малютка сеет смерть. Котик-терминатор, что эффективнее тигра

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

Сколько стоит Америка?

Будет «многабукафф», но без них никуда. Так что, кому лениво, проходим мимо. *** Ответ на вопрос в заголовке из разряда риторических. Я, к примеру, утверждаю: США стоят нескол...

Обсудить