Аппаратное представление - Большая Энциклопедия Нефти и Газа, статья, страница 2
Аксиома Коула: суммарный интеллект планеты - величина постоянная, в то время как население планеты растет. Законы Мерфи (еще...)

Аппаратное представление

Cтраница 2


Комплексное число представляется в виде пары вещественных чисел. Хотя имеется четыре основных типа вещественных чисел ( десятичные и двоичные с фиксированной точкой, десятичные и двоичные с плавающей точкой) и большое количество возможных спецификаций точности, на самом деле число каждого типа представляется во время выполнения программы с помощью наиболее близкого к нему аппаратного представления - во время выполнения обычно не используется программное моделирование представлений вещественных чисел и арифметических операций. Так, например, в реализации ПЛ / I на вычислительных машинах IBM 360 задается максимальная точность для вещественных чисел с плавающей запятой; описания точности, превышающие этот максимум, не допускаются и все десятичные или двоичные числа с плавающей точкой, точность которых меньше максимальной, представляются с помощью соответствующего аппаратного представления чисел с плавающей точкой с обычной или двойной точностью. Множество атрибутов числовых данных образует аппаратно независимое, но в то же время довольно хорошо управляемое описание. Отметим также, что одно и то же описание может обрабатываться разными компиляторами по-разному.  [16]

Ценой машинной независимости описаний данных как цепочек литер является снижение скорости выполнения программы, поскольку границы машинных слов могут не совпадать с границами элементов данных, что затрудняет доступ к последним, и поскольку перед выполнением арифметических операций числа должны преобразовываться в аппаратное представление и результат должен быть преобразован опять в форму цепочки литер. В качестве компромисса в языке имеются используемые по желанию фразы: SYNCHRONIZED, с помощью которой можно совместить начало или конец элемента данных с границей слова ( или другой естественной единицы памяти) и USAGE IS COMPUTATIONAL ( используется в вычислениях), позволяющей использовать для конкретного элемента данных аппаратное представление чисел. Применение этих фраз приводит к тому, что длина структур данных или индивидуальных элементов становится зависимой от реализации, но выигрыш в скорости выполнения может быть огромным.  [17]

Цепочки литер и битовые цепочки в ПЛ / 1 могут использоваться в качестве значений данных. Переменные и элементы структур данных могут иметь тип цепочка литер или битовая цепочка, но соответствующая цепочка должна иметь либо фиксированную длину, указанную в описании, либо переменную длину, не большую максимальной, указанной в описании. Используется аппаратное представление битов и литер, и, поскольку в описаниях обязательно указываются границы цепочек, во время выполнения программы для каждой переменной цепочки может быть выделен блок памяти фиксированного размера. Другой способ определения переменных, имеющих значения в виде цепочки литер, состоит в использовании описания PICTURE, аналогичного употребляемому в Коболе. ПЛ / I не содержит в явном виде логического типа данных.  [18]

Целая переменная К описывается неявно через использование. Она также создается транслятором и существует во время выполнения программы. Число считывается в форме цепочки литер и, прежде чем будет запомнено как значение К, преобразуется в целочисленное аппаратное представление.  [19]

Комплексное число представляется в виде пары вещественных чисел. Хотя имеется четыре основных типа вещественных чисел ( десятичные и двоичные с фиксированной точкой, десятичные и двоичные с плавающей точкой) и большое количество возможных спецификаций точности, на самом деле число каждого типа представляется во время выполнения программы с помощью наиболее близкого к нему аппаратного представления - во время выполнения обычно не используется программное моделирование представлений вещественных чисел и арифметических операций. Так, например, в реализации ПЛ / I на вычислительных машинах IBM 360 задается максимальная точность для вещественных чисел с плавающей запятой; описания точности, превышающие этот максимум, не допускаются и все десятичные или двоичные числа с плавающей точкой, точность которых меньше максимальной, представляются с помощью соответствующего аппаратного представления чисел с плавающей точкой с обычной или двойной точностью. Множество атрибутов числовых данных образует аппаратно независимое, но в то же время довольно хорошо управляемое описание. Отметим также, что одно и то же описание может обрабатываться разными компиляторами по-разному.  [20]

Если во время выполнения программы требуется наличие дескрипторов для чисел, как в языках Лисп и Снобол 4, необходимо другое представление, поскольку аппаратных дескрипторов нет. В Лиспе вещественное число должно храниться в виде цепочки битов вместе с индикатором типа данных, указывающим, что эта цепочка битов является закодированным вещественным числом. Поскольку программное моделирование арифметики обычно очень неэффективно, желательно применять арифметические операции, имеющиеся в аппаратуре. Можно использовать аппаратное представление числа в виде цепочки битов и, поскольку цепочка битов, скорее всего, занимает полное слово памяти, разместить дескриптор в отдельном слове где-либо в памяти вместе с указателем на слово, содержащее эту цепочку битов.  [21]

Структуры данных представлены только однородными многомерными массивами, содержащими элементы одного из этих двух типов. Массивы могут иметь произвольное число измерений. Массивы хранятся последовательно с полными дескрипторами, используемыми во время выполнения программы. Для хранения литер применяется их аппаратное представление. Числа хранятся в форматах с фиксированной и плавающей точкой и автоматически преобразуются, когда в этом возникает необходимость во время выполнения; программист не может управлять внутренним представлением чисел.  [22]

Управление передается сюда по завершении обработки входного файла. Теперь формируется и выводится конечная строка. В строке 44 сумма цен, которая была накоплена в простой переменной ТОТ, присваивается элементу SUM-OUT записи SUM-LINE. Поскольку фразы PICTURE различаются, число преобразуется из внутреннего двоичного формата ( или другого аппаратного представления) в форму цепочки литер.  [23]

Описывается простая переменная ( номер уровня 77) с именем ТОТ. Первоначальное значение ТОТ равно нулю. При отсутствии фразы USAGE ТОТ хранилась бы в форме цепочки литер, состоящей из девяти цифр, и перед каждой арифметической операцией ее нужно было бы преобразовывать к соответствующему аппаратному представлению, что значительно снизило бы скорость выполнения программы.  [24]

Для представления чисел используется фиксированное количество бит. Таким образом, тип int относится к целым числам определенного диапазона, который зависит от количества бит, используемых для их представления. Числа с плавающей точкой приближаются к действительным числам, а используемое для их представления количество бит определяет точность этого приближения. В языке C путем выбора типа достигается оптимальное соотношение точности и занимаемого пространства. Для целых допускаются типы int. В большинстве систем эти типы соответствуют базовым аппаратным представлениям. Тем не менее, язык C предоставляет определенные гарантии. В этой книге, ради простоты, обычно используются термины int и float, за исключением случаев, когда необходимо подчеркнуть, что задача требует применения больших чисел.  [25]



Страницы:      1    2