29
и ее основными принципами функционирования, сформулированными фон Нейма-
ном.
Ниже очень коротко рассматриваются некоторые элементы архитектуры совре-
менных ЭВМ четвертого поколения, которые выходят за рамки классических струк-
тур и принципов функционирования первых ЭВМ различных классов. Материал раз-
дела, по возможности, иллюстрируется примерами построения упрощенных элемен-
тов вычислительных устройств на базе
процессора I80386, структуры которых доста-
точно прозрачны.
9.1. ТЕГИ И ДЕСКРИПТОРЫ. САМООПРЕДЕЛЯЕМЫЕ ДАННЫЕ
Одним из эффективных средств совершенствования архитектуры современных
ЭВМ является
теговая организация памяти, при которой каждое хранящееся в па-
мяти или регистре слово снабжается
тегом. Тег определяет тип данных – целое
число, ЧПЗ, десятичное число, адрес, строку символов, дескриптор и т.д. В поле тега
обычно указывают не только тип, но и длину (формат) и некоторые другие его пара-
метры. Теги формируются компилятором. Формат данных, хранимых в памяти, при
этом имеет вид, изображенный на рис. 9.1.
Тег Данные
Рис. 9.1. Теговая организация памяти
Наличие тегов придает хранящимся в машине данным свойство самоопреде-
ляемости. Это принципиальная особенность в функционировании ЭВМ.
Следует отметить, что ЭВМ с теговой памятью выходят за рамки модели вы-
числительной машины фон Неймана именно в результате самоопределяемости
данных. Классическая модель фон Неймана исходит из того, что тип (характер) дан-
ного, хранящегося в памяти, определяется только в контексте выполнения програм-
мы, а
точнее, команды, использующей данное в качестве операнда. В обычных ЭВМ,
соответствующих классической модели фон Неймана, тип данных-операндов и их
формат задаются кодом операции команды, а в ряде случаев размер (формат) опе-
рандов определяется специальными полями команды.
Например, в IBM-360/370 команда
десятичное сложение самим своим кодом
операции определяла, что адресуемые ею операнды являются десятичными числа-
ми. Специальные четырехразрядные поля в этой команде задавали число десятич-
ных цифр в 1-м и 2-м операндах. Таким образом, в IBM-360/370 имелось 256 кодов
только одной команды
десятичное сложение.
Теговая организация памяти позволяет достигнуть инвариантности команд от-
носительно типов и форматов операндов, что приводит к значительному сокраще-
нию набора команд машины. Это упрощает и делает более регулярной структуру
процессора. Кроме того, такая организация памяти дает еще ряд преимуществ, а
именно:
- облегчает работу программиста, в том числе при отладке
программ;
- сокращает затраты времени на компиляцию (отпадает необходимость выбо-
ра типа команды в зависимости от типа данных);
- облегчает обнаружение ошибок, связанных с некорректным заданием типа
данных (например, при попытке сложить адрес с ЧПЗ).
Теговая организация памяти способствует реализации принципа
независимо-
сти программ от данных.
И, наконец, нечто неожиданное. Использование тегов приводит к экономии па-
мяти, несмотря на удлинение формата данных. Это объясняется тем, что в про-
граммах обычных машин имеется большая информационная избыточность на зада-
ние типов и размеров операндов при их использовании несколькими командами.