Загрузка...

Теговая архитектура


В различных архитектурах типы данных определяются программой, иначе говоря, типы данных определяются кодом операции, что приводит к необходимости использовать разные команды для обработки различных типов данных. Каждый тип данных предусматривает наличие специального подмножества команд.

Принцип теговой архитектуры заключается в самоопределение данных, то есть каждая ячейка памяти имеет специальное дополнительное поле (тег), которое служит для описания атрибутов его содержимого. Это позволяет получить инвариантность команд к типам используемых данных. Сокращается число и длина команд. Определение типа данных откладывается на момент выборки этих данных, а не на момент выборки команды. Вполне может быть, что возникают исключительные ситуации, связанные с несоответствием типов командам, как правило, это является ошибкой программирования.

Расширенный принцип тегирования.

Заключается в задании не только типа хранимых данных, но и длины операнда, занятости ячейки и т.д. Используются дополнительные флаги:

1. Бит занятости. Определяет, свободна ячейка или занята.

2. Бит захвата. Необходимость выполнения прерывания при доступе к ячейке.

3. Биты защиты – определяет, какие обращения допустимы к этой «порции» данных (только чтение, только запись, чтение/запись).

4. Длина данных.

Преимущества механизма тегирования

1. Компактная система команд.

2. Строгий контроль типов.

3. Более простые компиляторы. Меньший объем кода.

4. Уменьшение интенсивности пересылки основная память – процессор, т.к. уменьшается код программы, загружающий интерфейс на 50%, а увеличивается объем читаемых данных, загружающий интерфейс на 30%.

Недостатки теговой организации:

1. Строгий контроль типов снижает выразительные способности языка.

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

3. Дополнительные расходы основной памяти в области данных для хранения полей тега.

Загрузка...