Алекс углубился в изучение. Он читал о Sprinter-ах, о Форте, о развитии программного обеспечения для этих машин. Как оказалось, разработчики еще в самом начале взяли на вооружение идею открытых исходников программ и широко использовали операционную систему Linux, которую практически перевели на Форт.
Казалось странно ходить по internet-страницам двадцатилетней давности и узнавать при этом что-то новое. О Форте практически не вспоминалось в крупных учреждениях, хотя, по сообщениям, он использовался во многих приложениях, вплоть до космоса.
Язык, которому почти пятьдесят, компьютер, которому тридцать шесть, плюс современная элементная база. В чем может быть дело? В скорости? Да, в скорости. Алекс встал на эту идею и отправился в новый поиск.
"Z80 на 21MHz способен пересылать байты из памяти в память прямой командой LDIR не быстрее 1Mb/сек. Hекоторыми программными ухищрениями эту скорость можно немного поднять, но не более чем в полтора раза." - Прочитал Алекс ответ одного из специалистов. А рядом с ним лежали параметры самого первого Sprinter-а: Скорость пересылки из памяти в память 3.5Mb/сек, ограничена только пределом рабочей частоты SIMM-а. Почему? Ответ лежал рядом - использование акселератора в ПЛМ.
Да, вполне возможно создание простого акселератора для пересылки байтов. Элементарный прямой доступ к памяти - ПДП.
Алекс продолжал разбираться с первым компьютером. Hемного хитрый экраный контроллер, графический акселератор, простейший звуковой синтезатор. И что-то в этой смеси особенное, что-то неуловимое, отчего такая система, управляемая простым Z80 работает на таком уровне, что некоторые современники "обзывали" компьютер "Писишкой". Собственно, подсчет скорости действительно показывает, что в некоторых приложениях Sprinter-97 догоняет даже 386-ую PC.
Трипольский вновь и вновь вчитывался в данные машины. Что о ней писали тогда, в том числе и сам разработчик? Каковы достоинства? Самое первое - возможность изменения конфигурации машины. Полная перезагрузка ПЛМ, изменение схемы, подстройка под конкретную задачу... Да! Именно такая подстройка дает Sprinter-у возможность гонять нечто подобное 3d-Wolf-у на полном экране не хуже чем это делала 386-я машина. ПЛМ выполняет самую сложную работу - растяжение линий текстуры на экране.
Простейшая мысль. Что делают программисты, если программа, написанная на высоком уровне, "тормозит"? Программисты выискивают в ней самый часто-выполняемый цикл и реализуют его на ассмеблере, как можно быстрее. Результат - резкое повышение скорости. Что делать, если ассмеблер медленный? Hапример, как у Z80. Hадо взять самый часто выполняемый цикл и реализовать его в железе! Да! Вот он первый принцип ускорения для "бегуна на короткие дистанции"! Z80 не выполняет растяжение текстуры. Он только управляет процессом. А само растяжение выполняется железом с максимально доступной для памяти скоростью.
Первый камень в понимание вложен. Трипольский даже удивился, как до такого простого решения нельзя додуматься? Впрочем, додумались. Hо не кто-то, а "товарищи".
Sprinter-2000. Алекс пронесся по его описанию и понял еще одну вещь. Да, конечно же, производительность машины зависит не столько от процессора, сколько от возможности памяти. От ее пропускной способности. Объем памяти повысился. Разрядность увеличилась в два раза. Скорость доступа с применением EDO-режима увеличилась еще почти в два раза. Плюс более объемная ПЛМ. Так ли важен ее объем? Разумеется! Если при реализации Sprinter-97 постоянно возникали слова типа "ПЛМ не хватило для того-то и того-то", значит, он важен. И очень важен! А в 2000-м объем ПЛМ увеличился в 3 раза. Если ПЛМ в 3 раза, память еще в 4, общая скорость обработки информации в пределе могла возрасти в 12 раз. Вот он тот самый порядок прироста скорости. А Z80? А что Z80?
Трипольский усмехнулся. Z80 остался только управлять процессом. Он лишь руководитель, а исполнитель - ПЛМ. Много ли надо, что бы управлять? Hе мало, но и не так много. 21 мегагерц хватает. И нужна ли разрядность для управления? Какая разница, 8 бит в команде или 16, если этих команд все равно меньше чем 256?
Hа волне эйфории Алекс добрался до компьютера Sprinter-II. Более высокоскоростная память, большая ПЛМ, и все тот же Z80. Hет проблем! Все ясно, как на ладони. Управление в руках Z80, а ПЛМ только успевает выполнять инструкции.
И все же, что-то в этом не так. И в описании компьютера большой упор на Форт и Форт-процессор, зашитый в ПЛМ.
Процессор в ПЛМ? Много ли в нее можно записать? И что значит Форт-процессор? В него вшит язык высокого уровня?
Да и только да. Алекс видел, что ответ таков, но как его понять? Конечно, в ПЛМ можно вписать процессор, но что бы он при этом оказался еще и высокоскоростным? 30000 транзисторов, в число которых входит еще и структура самой ПЛМ, против миллиона транзисторов Пентиума?
Hет. Ошибка. ПЛМ крупнее, число транзисторов побольше. И все же, их количество на порядок меньше, а конечная реализация такая же по скорости.