PALcode

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

PALcode (аббр. от англ. Privileged Architecture Library code) — набор функций в микропрограммах SRM и AlphaBIOS для процессоров DEC Alpha, предоставляющий слой абстракции от оборудования для системного ПО, включающий такие возможности, как управление оперативной памятью и кэшем, обработка прерываний и исключений.

PALcode является машинным кодом, выполняемым в специальном режиме, что позволяет получать доступ к внутренним регистрам специфичным для разных реализаций процессоров Alpha. Таким образом он выполняет некую среднюю роль между микрокодом и аппаратным эмулятором.

PALcode выполняет те функции, которые слишком сложны для аппаратной реализации, но не могут быть выполнены операционной системой, такие, как:

  • Привилегированные инструкции
  • Атомарные операции (например, возврат из исключений и прерываний)
  • Функции, выполняемые микрокопрограммой в других архитектурах (например, заполнение буфера трансляции)
  • Эмуляция инструкций, не имеющих аппаратной поддержки


PALcode зависит от операционной системы: для OpenVMS, Tru64 UNIX и Windows NT требуются разные версии PALcode. PALcode для Tru64 UNIX также используется в NetBSD, FreeBSD, OpenBSD и Linux.