Данному образовательному сайту пришлось несколько раз менять свое имя. С 2022 года доступ к нему обеспечивается по URL
emc.orgfree.com

emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-2021) ==> emc.orgfree.com (2022-...)
Более подробно об истории сайта можно прочитать здесь.


Учебные модели компьютера



Модели (software):

"Е14" (parallel !!!)
"S9PU" (parallel)

Модели (hardware):






Награды сайта
Награды сайта 2005

Форматы данных

В данном разделе будут описаны форматы данных, с которыми может работать MMIX.

Начнем с того, что для большинства операций существуют инструкции, которые могут работать с данными двух типов: числами со знаком и без знака. Обозначение команд второго типа Кнут дополняет буквой U6, например, ADD – сложение чисел со знаком (код операции 20) и ADDU – сложение операндов без знака (код 22). Наиболее важное формальное отличие между такими операциями состоит в том, что в модификации с литерой U отсутствует анализ переполнения разрядной сетки машины.

Для того чтобы лучше представить себе разницу между данными без знака и со знаком рассмотрим самые простые однобайтовые данные. Беззнаковые значения начинаются с 0 и достигают максимума при 255. Чисел со знаком тоже 256, но они “сдвинуты” вдоль числовой оси: их диапазон составляет от –128 до +127 включительно. Рассмотрим следующую таблицу:

код 0 1 2 7F 80 81 FE FF
число без знака 0 1 2 127 128 129 254 255
число со знаком 0 1 2 127 -128 -127 -2 -1

Для положительных чисел она достаточно тривиальна, а вот отрицательная часть таблицы с непривычки вызывает недоумение. Чтобы разобраться в ней, отметим два важных факта. Во-первых, старший бит чисел является знаковым; он равен 1 для отрицательных чисел и 0 для остальных. Во-вторых, отрицательные числа представляются специальным образом (математики называют его дополнительным кодом). Более подробно с данным способом представления чисел и его свойствами можно познакомиться, например, в книгах [3,4]. В частности, в [3] очень хорошо сказано, что

“к понятию дополнительного кода, … весьма неудобному для человеческого восприятия, можно подойти естественным путем, выполняя … вычитание из меньшего числа большего. Этот подход не избавляет от неудобств, но может служить определенным утешением, так как показывает, что неудобства не придуманы людьми, а являются неотъемлемым свойством двоичного представления чисел”.

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

Другое деление данных по форматам принято для целых и вещественных чисел. Известно (см., например [4]), что способы их хранения в памяти ЭВМ различны, отсюда имеется два набора арифметических операций – для целых и для вещественных чисел. Например, есть операция сложения двух целых чисел (уже упоминавшаяся ранее инструкция ADD с кодом 20) и аналогичная для вещественных – FADD (ее код 04). Аналогично обстоит дело и с остальными арифметическими операциями.

Наконец, последнее разнообразие форматов данных имеется в командах чтения из ОЗУ и записи в него. В MMIX существуют инструкции для 1 байта (их мнемоника содержит букву B – Byte), 2 байт (W – Wyde), 4 (T – Tetrabyte) и 8 (O – Octabyte) байт. Интересно, что при описании этой стороны работы MMIX Кнут связывает однобайтовые данные с ASCII-символами, двухбайтовые – с символами нового стандарта Unicode (в данный момент 16-битные данные чаще связывают с устаревшим стандартом целых чисел), а полная 8-байтовая ячейка ассоциируется с числами.

Примеры операций записи в ОЗУ с данными всех четырех типов приведены в следующем разделе.



6 от английского Unsign – без знака


На начало статьи      Дальше


© Е.А.Еремин, 2002
Статья:
Еремин Е.А. MMIX – учебный RISC-процессор нового тысячелетия от Дональда Кнута. - Газета "Информатика", 2002, N 40, с.18-27


Автор сайта - Евгений Александрович Еремин (Пермский государственный педагогический университет). e_eremin@yahoo.com


Free Web Hosting