Во-первых, после получения пакета информации по процессорам общего назначения на базе 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 тысяч вентилей), на планарных микросхемах не удастся, Башир Искандарович решил приближаться к цели постепенно, по мере прогресса элементной базы.
Вначале решено было применить диодно-транзисторную логику, на базе транзисторных парафазных усилителей на диодной логике (http://www.computer-museum.ru/document/pu_tyapkin.htm), т.е. применять в конструкции машины пусть и сходу устаревшую элементную базу но эффективно организованную и позволяющую получить высокое быстродействие.
Оставалась пока только проблема быстрой памяти. Все существующие на тот момент решения категорически не подходили под возможности новой машины, и фактически её быстродействие было заложником жутко медленных реализаций памяти. Изначальное решение 1953 года сделать оперативную память на магнитном барабане с частотой вращения 6000 оборотов в минуту, причём барабан служил одновременно и тактовым генератором, задающим частоту, Рамеев, ознакомившись с полученными материалами, отбросил, как кошмарный сон. Такая память не позволяла получить быстродействие более 100 операций в секунду (частота вращения барабана), в то время как лебедевская БЭСМ-1 уже делала 10000 оп/с.
Решение можно было найти через более эффективные механизмы работы с памятью, и тут Рамеев обратил своё внимание на опыт архитектуры ЭВМ БЭСМ-6, которая за счет 8-слойной физической организации памяти могла даже с ферритовыми кубами работать на высоких скоростях. Новая же память на плакированном проводе (plated-wire memory, разновидность твистор-памяти) была побыстрее ферритовых кубов, а главное дешевле и позволяла серьёзно нарастить объем памяти.
Читать дальше