Теги и дескрипторы. самоопределяемые данные

      Комментарии к записи Теги и дескрипторы. самоопределяемые данные отключены

Одним из эффективных средств совершенствования архитектуры современных ЭВМ является теговая организация памяти, при которой каждое хранящееся в памяти (или регистре) слово снабжается указателем — тегом (рис. 4.8,а).

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

Наличие тегов придает хранящимся в машине данным свойство самоопределяемости, вносящее принципиальные особенности в архитектуру и функционирование ЭВМ.

В обычных ЭВМ, соответствующих классической модели фон Неймана, тип данных — операндов и их формат задаются кодом операции команды, а в ряде случаев размер (формат) определяется следующими полями команды.

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

Другие преимущества теговой организации памяти ЭВМ:

¨ упрощается и делается более регулярной структура процессора;

¨ облегчается работа программиста, в том числе при отладке программ;

¨ упрощаются компиляторы и сокращаются временные затраты на компиляцию (так как отпадает необходимость выбора типа команды в зависимости от типов данных);

¨ облегчается обнаружение ошибок, связанных с некорректным заданием типа данных (например, при попытке сложить адрес с числом с плавающей точкой);

¨ теговая организация памяти способствует реализации принципа независимости программ от данных;

¨ использование тегов приводит к экономии памяти, так как в программах обычных машин имеется большая информационная избыточность на задание типов и размеров операндов при их использовании несколькими командами.

Недостатки теговой организации памяти — некоторое замедление работы процессора из-за того, что установление соответствия типа команды типу данных, в обычных ЭВМ выполняемое на этапе компиляции, при использовании тегов переносится на этап выполнения программы.

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

Дескриптор содержит сведения о размере массива данных, его местоположении (в ОП или внешней памяти), адресе начала массива, типе данных, режиме защиты данных (например, запрет записи в ячейки массива) и некоторых других параметрах данных. Отметим, что задание в дескрипторе размера массива позволяет контролировать выход за границу массива при индексации его элементов. На рис. 4.8 в качестве примера представлен один из видов дескрипторов — дескриптор данных.

Дескриптор содержит специфический тег — ТДс, указывающий, что данное слово является дескриптором определенного вида; Ук — группа указателей; А — адрес начала массива данных; L — длина массива; X — индекс.

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

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

Рис. 4.8. Описание двумерного массива данных древовидной структурой дескрипторов: ТДс и ТДн – теги дескрипторов и данных.

Статьи к прочтению:

Заголовки-теги h1, h2, h3- мифы, реальность и шо делать?


Похожие статьи:

  • Синтаксис объявления данных

    Объявлять данные очень просто — например, чтобы объявить байт cо значением 5 достаточно написать: x db 5 где x — название нашей переменной или константы,…

  • Энергонезависимая память данных (eeprom).

    Все микроконтроллеры семейства Mega имеют в своем составе энергонезависимую память (EEPROM-память). Объем этой памяти колеблется от 256 байт в моделях…