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

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

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

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

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

Ссылки

OpenVMS FAQ на сайте Hewlett-Packard https://web.archive.org/web/20081015160447/http://www.cs.auckland.ac.nz/~bruce-h/lectures/210OperatingSystems/PAL.doc

Категория:Аппаратное обеспечение DEC Категория:Микропрограммы