Тэговая архитектра
Тэговая архитектура — это разновидность архитектуры компьютера, в которой каждое машинное слово в памяти представляет собой тип-сумму, включающую биты данных и специальную секцию — тэг. Тэг определяет тип данных, указывая, как их следует интерпретировать, а в случае ссылки — тип объекта, на который она указывает.
- Предыстория
Некоторые ранние вычислительные системы применяли тэги данных в памяти, однако не обладали всеми чертами, которые сегодня ассоциируются с тэговой архитектурой.
- RCA 601
Компьютер RCA 601 от Radio Corporation of America использовал 3-битные тэги для регистров и для каждого 24-битного полуслова. Любая инструкция могла инициировать проверку соответствия тэга, и при несовпадении возникало маскируемое прерывание. Архитектурно тэг не был связан с содержимым полуслова — эта связь устанавливалась исключительно программным обеспечением.
- Burroughs B5000, B5500 и B5700
В крупных системах Burroughs, таких как серия 48-битных мейнфреймов B5000, B5500 и B5700, слова не содержали поля тэгов. Тем не менее, все форматы контрольных слов включали 3-битный тэг, хотя слова с символами, инструкциями и числами с плавающей запятой его не имели. Начиная с модели B6500, тэг стал присутствовать в каждом слове.
- Особенности архитектуры
В отличие от архитектуры фон Неймана, где программная и оперативная память не различаются, в тэговой архитектуре способ обращения к памяти играет ключевую роль для корректной интерпретации данных.
Среди известных американских систем с тэговой архитектурой можно выделить Лисп-машины, которые обладали аппаратной поддержкой в коде операций, компьютеры с управляемой данными тегированной и дескрипторной архитектурой, а также разработки Университета Райса. Как системы Burroughs, так и Лисп-машины служат примерами применения тегирования для аппаратной поддержки типов данных высокоуровневых языков программирования.
В первоначальной реализации Smalltalk младший бит каждого 16-битного слова использовался в качестве тэга. Если бит был сброшен, оборудование интерпретировало слово как выровненные данные памяти, а если установлен — как 15-битное целое число. Современная документация Intel отмечает, что младшие биты адресов памяти могут аналогично использоваться в интерпретаторных системах.
В Советском Союзе первыми применение тэговой архитектуры осуществили суперкомпьютеры серии «Эльбрус» в 1973 году.
- См. также
- Защита исполняемого пространства
- Гарвардская архитектура
- Примечания
(Большая часть материала написана в 1994 году или ранее)
- Литература
(Список литературы отсутствует)