Но RAMP это не только железо, но и набор уже готовых моделей архитектур, описанных на специальном языке RDL (RAMP Description Language). В идеале исследовательское подразделение или факультет computer science, приобретая RAMP, вместе с небольшой кучкой железа, которую можно научить изображать другую кучку железа, получает почти все необходимые шаблоны. Вряд ли это очень важно для коммерческих разработчиков, а вот университетам очень пригодится.
Сегодня исследователи договорились о «портировании» на RAMP 32-битных процессоров IBM Power 405, Sun SPARC v8, Xilinx Microblaze (софт-процессор), 64-битного SPARC Niagara. Не исключено также создание моделей для 64-битного IBM Power и Tensilica, ARM, а также MIPS32 и MIPS64. Интеловских архитектур (x86, x86-64) на RAMP, видимо, не будет, хотя специалисты Intel в проекте участвуют.
Чтобы картина не получалась совсем уж радужной, упомянем и о недостатках RAMP, которые очевидны уже сегодня. Во-первых, FPGA-акселератор кое-где проигрывает софтверным симуляторам по функциональности, так как не умеет делать откаты (в случае софтверной симуляции можно отменить или пустить в обратном порядке любой набор инструкций), что, впрочем, компенсируется скоростью. Во-вторых, противники RAMP — а такие тоже есть — полагают, что заявления о точности эмуляции преждевременны, поскольку система в целом выглядит несбалансированной: быстрая память на медленных процессорах — не слишком стандартная конфигурация. Впрочем, Паттерсон к такой критике относится спокойно: по его словам, важна не относительная скорость выполнения тех или иных операций, а количество необходимых циклов процессора, а это — величина абсолютная. В-третьих, есть определенные физические ограничения, которые усложняют построение моделей процессорных архитектур. Так, например, затруднено построение эмуляторов современных процессоров с кэшем второго уровня емкостью больше 2 Мбайт, потому что объем памяти на борту стандартной FPGA меньше этого значения. Тем не менее недостающую память можно эмулировать отдельно. Кроме того, RAMP вполне работоспособен даже в том случае, когда построить полную RTL-модель не удается (например, ее просто нет — как нет модели Intel IA-32) или она слишком сложна для имплементации. В подобных ситуациях RAMP можно использовать в связке с софтверным симулятором, хотя результаты работы такого тандема и потребуют дополнительной верификации.
По большому счету, RAMP вообще не привязан к моделированию процессорных архитектур. Среди предполагаемых проектов, которые можно реализовать на RAMP, упоминаются исследования распределенных протоколов (в этом случае каждый узел RAMP представляет собой скорее терминал, нежели процессор) и создание новых компьютерных архитектур для решения специальных задач (биологии, химии, геофизики и т. п.) в реальном времени. Однако, отмечает Паттерсон, это не более чем побочные результаты. Главная задача проекта RAMP — создание высокоэффективного симулятора процессоров.
Понятно, что Microsoft — да и любому крупному производителю софта, тесно сотрудничающему с производителями микропроцессоров, — такая система не помешает независимо от того, собирается эта софтверная компания проектировать процессоры или нет. С помощью RAMP можно не только значительно сократить время на портирование приложений, но и начать сам процесс портирования или, по крайней мере, прощупывания почвы гораздо раньше, чем было принято до последнего времени. Если подобные системы станут стандартом де-факто, то производителям софта впервые в истории будет дана возможность работать не с обещаниями и планами разработчиков железа, а с реальным, хоть и не совсем законченным продуктом на всех стадиях его разработки.
По сравнению с такой перспективой гипотетические планы Microsoft выйти на рынок микропроцессоров выглядят весьма прозаично. И даже если планам Чака Тэкера создать процессор для третьего поколения Xbox самостоятельно, не суждено сбыться, это ничего не значит. Наверняка новый процессор будет спроектирован с учетом многочисленных и настойчивых пожеланий Microsoft. А кто его будет проектировать — дело уже десятое.
ГОЛУБЯТНЯ: Лебединый ракощук
Автор: Сергей Голубицкий
В Архангельской области в замечательном городке Северодвинске поселилось паскудство по имени «Алмеза Рисёч». Так задолбать, как это умудряется сделать «Алмеза Рисёч», по злому умыслу невозможно, только — по простоте душевной. С упорством, достойным ловли вшей, мой почтовый ящик отравляется посланиями «Алмезы Рисёч» такого вот содержания: "Здравствуйте, sgolub! Предлагаю статью для вашего журнала. Статья новая, еще ни где не публиковалась. Если что не понравится — могу отредактировать. Тема статьи — «Создание универсального диска для автоматической установки ПО».