Цвет сверхдержавы - красный. Трилогия
Шрифт:
Но теперь, выполняя решение Первого секретаря об обеспечении совместимости, Рамеев делал ЭВМ 32-х разрядной. (В реальной истории ЭВМ Рамеева была 36-разрядной
Невероятно быстрый темп внедрения полупроводниковых технологий даже помешал разработке. В конце 1953 года, когда разработка только началась, в наличии были лишь лампы и купроксные диоды.
Рамеев при проектировании сразу заложил в конструкцию принцип мелкомодульности. Каждая лампа устанавливалась в шкаф в отдельном съёмном модуле, вместе со своей электронной обвязкой. (как это выглядело, см. здесь.
Но к началу 1955 года ожидалось появление серийных полупроводниковых
Изначально машина предполагалась чем-то вроде «большого калькулятора», обычным «числогрызом» с разрядностью 36 бит для широкого круга задач, но в первую очередь для инженерных расчетов, отсюда и требование к обработке чисел с высокой точностью. Причем предусматривалась работа также с 18-битными числами и 72-битными числами двойной точности. Упрощение же конструкции было достигнуто за счет одноадресной архитектуры с обязательным естественным порядком выполнения команд, а так же выносом управления на пульт.
Совещание в декабре 1953-го перевернуло все представления Рамеева о том, как должна работать его ЭВМ.
При тщательном изучении присылаемых ему, как и другим разработчикам ЭВМ, информационных материалов. Первоначально его заинтересовали системы команд и архитектуры процессоров х86 и ARM. Но вскоре Рамеев понял, что за скромным «x» скрывается целое семейство процессоров с богатой историей.
Так, разбираясь в архитектуре х86, Рамеев часто натыкался на разные решения, казавшиеся ему, как минимум, странными. Складывалось впечатление, что архитектуру лепили как попало, без всякой систематизации, часто впихивая реализацию новых возможностей в «дыры», оставшиеся от предыдущего решения, что ярко было видно на примере адресации. Это породило кучу исключений и очень запутанную систему префиксов команд, сами команды при этом, казалось, не имели вообще никакой системы. И да, в пояснениях было явно указано, что эти «особенности» архитектуры проявились из-за реализации новой архитектуры поверх старой, т.е. ради совместимости. Архитектура ARM поэтому представлялась более простой и логичной, легче реализуемой.
И вот, на основе описания архитектуры ARM, постепенно у коллектива разработчиков СКБ-245 сложилась собственная архитектура, отчасти похожая на ARM, но переработанная с учетом собственных размышлений. Так, разработчиков не устраивало: слишком малое число команд, которое в огромном количестве случаев является недостатком и приводит к непродуктивной работе процессора, главное – к серьезному увеличению размера программ (до 30% объема по сравнению с CISC), что при малом объеме и медленной работе памяти – становится важнейшим и серьезнейшим недостатком. Так же однословная команда RISC исключает прямую адресацию для полного 32-битового адреса. Поэтому Рамеев с командой разработчиков приступили к разработке своей оригинальной машины, конечно же, подсматривая
Во-первых, после получения пакета информации по процессорам общего назначения на базе PDP-11, ARM, MIPS, POWER и х86, первое решение, которое было принято, состояло в том, что теперь процессор «Урала» надо было делать аккумуляторным, магистральной архитектуры с 3-х стадийной конвейеризацией на матричных умножителях (реализация дерева Уоллеса).
Рассматривая набор регистров, команда Рамеева остановилась на 16-ти регистрах общего назначения (4 – 8-ми битных, 8 – 32-х битных и 4 – 64-х битных) и 15 специальных (регистры дескрипторов, регистры УУ, и т.д. включая 8 специальных парных адресных регистров: две пара регистров преобразования адресов блоков команд, и две пара преобразования адресов блоков данных, всего 31 регистр, 32-й регистр – нулевой – всегда имеет значение 0.)
Во-вторых, набор команд был основан на идее суперскалярной обработки с тремя конвейерами и тремя независимыми исполнительными устройствами: с фиксированной точкой, с плавающей точкой и устройству переходов. Таким образом то, изначальное АЛУ, которое он планировал для своей ЭВМ, эволюционировало в математический сопроцессор, работающий с числами, одинарной и двойной точности с плавающей точкой. Но оригинальная конструкция теперь не удовлетворяла потребностям, и сопроцессор был переработан, теперь он имел 16 регистров, 8 для работы с числами обычной точности (32 бит), 8 для работы с числами двойной точности (64 бит).
В-третьих, набор команд был расширен по сравнению с командами RISC, вводились «смешанные команды», в первую очередь: команды групповой загрузки и записи, команды модификации аккумулятора, команды манипуляции битовыми полями, и т.д. Но при этом основное «преимущество» RISC архитектуры – постоянная длина команды – сохранялось.
В-четвертых, вводился расширенный по сравнению с RISC машинами регистр условий.
Новый, переработанный «Урал-1» поддерживал реальную и страничную адресацию. Реальная адресация совпадала с эффективной (2^32) и составляла 4 ГБ, а виртуальная могла быть расширена до 52-х битов (2^52), но фактически, пока оставалась в том же 32-х битном пространстве, ради упрощения архитектуры. Но расширение адресного пространства до 52-х бит было заложено в архитектуру изначально.
В конечном итоге, конечная машина разрослась до 8 устройств – шкафов:
1. Блок целочисленной арифметики (обработка данных 8-ми и 32-х разрядных),
2. Блок вычислений с плавающей точкой (32, 64-х разрядные числа),
3. Устройство специальных (системных) регистров,
4. Устройство загрузки/записи,
5. Блок обработки переходов (предсказания переходов),
6. Устройство управления памятью,
7. Блоки памяти данных (1 для работы АЛУ, второй – FPU),
8. Блок памяти команд (общий).
По планам развёртывания производства «Урал» опережал планирующуюся элементную базу, но уже мог рассчитываться на основе дискретных элементов, внедряемых в производство. Понимая, что дёшево реализовать разработанную архитектуру, существенно потяжелевшую относительно первоначального проекта в 10-12 раз, (в РеИ «Урале-1» было 800 ламп и 3000 полупроводниковых выпрямителей, а переработанная архитектура тянула на все 40-45 тысяч вентилей), на планарных микросхемах не удастся, Башир Искандарович решил приближаться к цели постепенно, по мере прогресса элементной базы.