Большой регистровый файл делятся на две части - пул блоков регистров задачи и пул блоков регистров сообщений.
Каждый элемент пула блоков регистров задачи состоит из регистров общего назначения и вспомогательных регистров.
Каждый элемент пула блоков регистров сообщений состоит из 64 регистров.
В простейшем случае, при использовании стандартного программного обеспечения регистры сообщений не используются, а из блоков регистров задачи используется только первый блок регистров - таким образом модифицрованный процессор остаётся полностью обратно совместимым с предыдущими версиями.
Вводится дополнительный внутренний регистр, определяющий активную задачу - это может быть индекс блока регистров задачи в пуле или просто смещение относительно начала пула. Любая инструкция процессора, используяющая регистры, использует регистр задачи для выбора блока активных регистров из пула задачи. Таким образом переключение задач это всего лишь запись в этот регистр.
Инструкции LockMessage и UnlockMessage - используются для коммутации блока регистров сообщений. LockMessage добавляет к активному регистровому пространству 64 дополнительных регистра, а UnlockMessage отсоединяет эти 64 регистра от активного регистрового пространства. Поскольку адрес регистра в коде инструкции имеет ограниченное число бит, возможно понадобится так же ввести две команды для пересылки данных из регистров сообщения в РОН и в обратную сторону. С другой стороны, интересна возможность работы с регистрами сообщения как с обычными регистрами, но это возможно только если система команд позволяет.
Наконец, самое вкусное и интересное - это команда ExchangeMessage. Это вход в микропрограмму, которая осуществляет обмен синхронными сообщениями и переключючение задач. В идеале, инструкция ExchangeMessage может быть реализована в виде логического устройства, а в простейшем случае - инструкция вызывает привелегированную программу, которая имеет доступ ко всем регистрам большого регистрового файла.
Вот вкратце то, что хотелось бы увидеть в процессорах. Если подробнее, то я готов предоставить формальное описание с регистрами и алгоритмами.
Собственно эти идеи не завязаны на конкретный микропроцессор и если, к примеру, это может быть реализовано на плате Марсохода-2, то привлекательная цена и близкое географическое положение разработчиков Марсохода - очень весомые аргументы для покупки FPGA.