В информатике тегированная архитектура — это тип компьютерной архитектуры , в котором каждое слово памяти представляет собой тегированный союз , разделенный на несколько битов данных, и раздел тегов , который описывает тип данных: как они должны быть интерпретируемый, и, если это ссылка, тип объекта, на который она указывает. [1] [2] [3]
Напротив, в архитектуре фон Неймана память программ и данных неразличимы , поэтому способ обращения к памяти имеет решающее значение для интерпретации правильного значения.
Яркими примерами американских тегированных архитектур были машины Lisp , которые имели поддержку тегированных указателей на аппаратном уровне и уровне кода операции , большие системы Burroughs , которые имели управляемую данными архитектуру на основе тегов и дескрипторов, а также некоммерческий компьютер Rice . [4] И машина Берроуза, и машина Лиспа являются примерами компьютерных архитектур на языке высокого уровня , где тегирование используется для поддержки типов из языка высокого уровня на аппаратном уровне.
В дополнение к этому, исходная реализация Xerox Smalltalk использовала младший бит каждого 16-битного слова в качестве бита тега: если он был ясен, то оборудование принимало его как выровненный адрес памяти, а если он был установлен, то это обрабатывалось. как ( сдвинутое ) 15-битное целое число. В текущей документации Intel упоминается, что младшие биты адреса памяти могут аналогичным образом использоваться некоторыми системами на основе интерпретатора .
В Советском Союзе серия суперкомпьютеров «Эльбрус» стала пионером в использовании тегированной архитектуры в 1973 году.