Primula C Compiler     Xameleon Project        |        In English

Добро пожаловать на сайт разработчиков процессора Everest!

Мы — команда энтузиастов, работающая над созданием оригинального микропроцессора со встроенным аппаратным планировщиком.
Наша цель — создать микропроцессор для использования в проекте Хамелеон.

32-х битное ядро «Эверест» использует собственную систему команд основанную на архитектуре Complex Instruction Set Computing (CISC). Ядро показано на следующем рисунке:
Core

32-х битное ядро «Эверест» имеет следующие характеристики:

  • Система команд использует принципы частотного кодирования, при котором наиболее часто используемые инструкции кодируются меньшим числом байт.
  • Максимальный размер команды — 40 бит, что позволяет одной инструкцией загрузить константу в регистр. Выбор 40-битной инструкции за один такт осуществляется с помощью 2-х портовой кэш памяти.
  • Ядро использует 16 равноправных 32-х битных регистров общего назначения. Один из этих регистров используется так же для хранения адреса возврата из подпрограммы. Отвественность за его сохранение и восстановление лежит на программисте и компиляторах.
  • Система команд использует позиционно-независимые переходы — для условных и безусловных переходов и вызовов подпрограмм используется смещение относительно текущей команды. Аналогичный принцип используется при загрузке указателей на статические константы и переменные — адрес таких структур данных помещается в регистр с учётом смещения относительно текущей инстукции.
  • Система команд ядра «Эверест» легко расширяема, а её разбор прост и не требует большго количества логических элеиентов.
  • Вычислительное ядро может быть использовано как самостоятельно в виде микроконтроллера, так и совместно с аппаратным планировщиком, являясь при этом устройством, аппаратно реализующим базовые примитивы микроядерной операционной системы.

Аппаратный планировщик управляет одним или несколькими вычислительными ядрами — обеспечивает переключение задач и обмен сообщениями. Исключительные ситуации и внешнние прерывания аппаратный планировщик транслирует в сообщения L4.