27 января разработчики NetBSD объединили код по поддержке платформы eMIPS («Extensible MIPS») с древом исходных проектов NetBSD. В рамках открытия кода были представлены еще два проекта:
- безопасный формат исполняемых файлов (secure executable format);
- платформа и планировщик для ускорения выполнения приложений.
Все имущественные права на код переданы фонду NetBSD Foundation. Данные разработки связаны с проектами Microsoft Research по созданию компьютера с легко изменяемой конфигурацией.
Как основу проекта выбрали NetBSD благодаря легкости ее портирования на другие аппаратные платформы. В конце концов, к MS обратились с предложением, что неплохо было бы посмотреть, а что же получилось в результате, и исследовательское подразделение MS откликнулось на это предложение, открыв код поддержки emips под лицензией BSD.
В качестве аппаратуры для тестирования были использованы устройства FPGA Xilinx ML401/2 (Virtex V4), XUP (V5) и Beecube BEE3 (4xV5), а также симулятор Giano.
Архитектура eMIPS позволяет организовать динамическую загрузку/выгрузку расширений процессора, а так же планировать работу аппаратных компонентов ЦП исходя из того, какая вычислительная задача стоит перед процессором сейчас.
Реконфигурация с точки зрения выполнения приложения выглядит так:
- сначала происходит мониторинг работы приложения для выявления наиболее медленных инструкций;
- затем создаются сложные инструкции процессора, которые в ходе выполнения программы заменяются инструкциями по работе с оптимизированными под задачу расширениями. Такая замена организуется за счет применения патча к программе «на лету».
>>> Подробности