Иван Савватеев @SIISII
Микроконтроллеры, цифровая электроника, ОС…
Information
- Rating
- 1,827-th
- Location
- Солнечногорск, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Embedded Software Engineer
Lead
Микроконтроллеры, цифровая электроника, ОС…
Разговор был о том, что, дескать, Интел всех задоминировала, а значит, её архитектура крута -- а эти вещи вообще никак не связаны.
Это Вы Кобол на русском ещё не видели :) А у меня где-то советский ГОСТ лежит, где Кобол на английском и на русском параллельно.
TLB имелся во всех IBMовских мэйнфреймах с виртуальной памятью -- т.е. почти во всех машинах Системы 370, появившейся в 1970-м. Насчёт SIMT не понял, если честно. Если речь о SIMD, то в СССР в самом начале 1980-х уже была супер-ЭВМ ПС-2000, которая, по сути, SIMD. В Штатах первый Cray появился в 1975-м
Ещё и настоящий конвейер, если память не изменяет, с эффективным временем выполнения простых команд в один такт.
Одно другому не мешает. Техническое совершенство побеждает очень редко, поскольку пользователю, вообще говоря, плевать, что там под капотом.
А архитекторы в Интел -- именно что идиоты. Полные и абсолютные. Совместимость, кстати, придумали не они. Первыми пообещали совместимость в IBM -- в 1964 году, и своё обещание блюдут до сих пор. Можете взять прикладную программу, написанную в середине 1960-х для мэйнфрейма Системы 360, и благополучно запустить её на современном мэйнфрейме z/Architecture.
DEC тоже порядка 20 лет блюла совместимость в своей линейке PDP-11, и погубила её не красивая архитектура (настолько удачная, что к концу 1970-х она стала, пожалуй, самой распространённой архитектурой в мире), а полные и абсолютные идиоты в руководстве компании. Вместо того, чтобы превратить чрезвычайно удачную мини-машину в хорошую персоналку, для чего в 1980-е уже были технические возможности (даже мы в начале 1980-х смогли запустить в производство свои собственные микропроцессоры с этой системой команд -- сначала К1801ВМ1, потом ВМ2 и ВМ3), по всем статьям превосходящую ублюдскую IBM PC, они сделали машину, совместимую по системе команд, но специально совершенно несовместимую по периферии, чем исключили возможность использования штатных ОС и всей кучи ПО, уже наработанного за 1970-е и начало 1980-х, да ещё заломили за это поделие деньги как за самолёт. Естественно, с таким подходом оно провалилось. Минимашины продолжали производиться и продаваться ещё какое-то время, но, очевидно, рынку была нужна именно персоналка (ну или мэйнфрейм, но там уже безраздельно доминировала IBM)
Растут длины линий связи, а значит, не только "прямолинейное" время распространения сигнала, но и паразитные индуктивности и ёмкости. Это сильно ограничивает возможность увеличивать геометрические размеры схемы, а начиная с определённого предела потребует лепить размножители (повторители) сигналов и т.п. промежуточную логику, которая тоже вносит свои задержки. В этом плане вычислительные блоки сильно проще: там связи почти всегда локальные, между близко расположенными транзисторами, а число приёмников у каждого источника невелико. Ну, это грубо, конечно, но все эти факторы и ограничивают возможность увеличения объёма кэша без снижения его частоты.
Совершенно прямых в природе не существует и вряд ли существовать может (из-за противоречивости требований). Но намного более прямые, конечно, имеются -- в частности, та же Система 360 и последовавшая за ней Система 370, про виртуализацию на которой здесь говорилось. DECовские PDP-11 (как по мне, лучшая 16-разрядная архитектура в истории), VAX-11 (вероятно, лучшая 32-разрядная система команд -- но системная архитектура, в общем и целом, хуже IBMовских мэйнфреймов), микропроцессорные -- Z8000, 68000, классический ARM... Везде есть свои странности и ограничения, но в целом все они -- весьма стройные архитектуры без серьёзного количества костылей и тем более откровенных уродств. Ну а 8086 -- прямая противоположность; кажется, Интел смогла в нём собрать все грабли, какие только возможно, а потом ещё добавила новых в 80286 и расширила их в 80386.
Ну, на гитхабе нельзя по политическим причинам: мало ли, обрубят нахрен интернет (ну или МС решит позакрывать -- тем более, что могут иметь место формальные нарушения авторских прав и т.п.). Но вообще, правильно было бы, конечно, иметь нормальный форум или нечто в этом роде. Но решать не мне :)
Если есть дока -- почему б не справиться? Вот если ничего нет, тады проблематично, конечно :)
Сразу вспомнились агатовские Робик и Рапира :)
Ну, я, хотя и был, с одной стороны, "юнгой" (в 17 лет устроился на ЕСку), с другой, быстро стал де-факто программистом, а отчасти и электронщком (по процессору). Понятно, что интимные подробности за давностью лет забылись, но восстановятся быстро, если вдруг нужда возникнет. Ну а если б сохранился не только проц, но и основная дока на него -- вообще никаких проблем.
Софт как раз есть на ПК -- не всё, но довольно многое. А вот схем, по большей части, нет вообще. Из найденного наиболее полный набор оказался на проц от ЕС-1020: примерно 3/4 функциональных схем и около половины принципиальных, плюс все технические описания "верхнего уровня", часть "нижнего" и полный текст микропрограмм, так что мою серию статеек по этой машине можно очень сильно расширить (когда-нибудь в будущем). На остальные ЕСки нет почти ничего подробного.
Команды для манипуляций битами точно были ещё в VAX-11; шифрование одной командой есть и постепенно расширяется (по мере появления новых стандартов) в z/Architecture. Аппаратная виртуализация Системе 370 и её последователям, включая z/Architecture, не обязательна: там сама архитектура достаточно прямая для создания виртуальных машин. Собственно, VM/370 и работала изначально на самых обычных мэйнфреймах Системы 370; поддержка виртуализации, имеющаяся во многих процессорах этой и последующих архитектур, лишь ускоряет работу виртуальных машин, но не является безусловно необходимой -- в отличие от интеловского уродства.
Ну, я без проблем набью. Более того, будь в моём распоряжении рабочий процессор от ЕСки, я бы запустил таки всю машину, сделав эмулятор периферии (дисков, лент, терминалов и т.п.).
Точней: unix -- "у них", а у нас -- демос!
Их в 1990-е массово сдали на металлолом -- банально нечего восстанавливать. Может, у вояк что и осталось, но оттуда не уволочёшь.
Суперскалярность появилась в 1960-е.
И ведь перечисленное Вами -- микропроцессоры. А ведь никуда не делись процессоры на рассыпухе, которые и 32-разрядными были, и вещественной арифметикой располагали, и прочая и прочая (в частности, многопроцессорность; ну а многоядерность -- это просто несколько процессоров на одном кристалле, что концептуально не отличается от нескольких процов, каждый из которых занимает пару отдельных шкафов, но которые входят в состав одной машины).
Ну дык IBM и придумала, коммерческие поставки VM/370 -- с 1971-го. Ну а виртуализация на ПК -- до сих пор жалкое подобие левой руки (с), в первую очередь, из-за фантастически кривой архитектуры что 8086/IA-32/AMD64, что ПК в целом.
580-я использовалась, в частности, в польских терминалах СМ-7209 -- как по мне, лучшие СМовские терминалы были.
Ну а команды -- это от используемой ОС зависит; достаточно широко использовались, как минимум, RSX-11M, RT-11 и Уних -- как в оригинальном виде, так и клонированные и переименованные.