Организация ЭВМ и систем


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


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

Рис.2.20. Структура описания данных: а) с теговой          * организацией памяти; б) дескриптор данных

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

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

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

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

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

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




- Начало -  - Назад -  - Вперед -