Cтраница 2
При отображении АЛМО на конкретную машину единица смещения, задаваемая значением модификатора, не всегда может совпадать с единицей переадреса-цни ( единичным значением индексного регистра) этой машины. Это зависит от переадресуемой единицы памяти в машине и количества ячеек, на которые отображаются слова с различными указателями размера. Например, переадресуемой единицей памяти является 24-разрядная ячейка. [16]
В отличие от большинства языков в Фортране определяются основные свойства представления массивов в памяти. Каждый элемент массива занимает одну единицу памяти ( размер которой зависит от конкретной реализации), если массив целого, вещественного или логического типа, и две единицы, если тип массива комплексный или двойной точности. В памяти хранятся только значения элементов массивов; дескриптор во время выполнения не нужен. [17]
Для моделирования процессов параллельной обработки тран-зактов используется два типа блоков: ENTER и LEAVE. Эти блоки определяют номер накопителя и число единиц памяти, которое транзакт должен занять или освободить. Когда транзакт входит в блок ENTER, содержимое накопителя увеличивается на соответствующее число единиц. Блок LEAVE соответственно уменьшает содержимое накопителя. [18]
![]() |
Вывод на печать значения элемента объединения в формате каждого из типов данных. [19] |
Все данные представляются внутри компьютера как последовательности битов. В большинстве систем последовательность из 8 бит образует байт - стандартную единицу памяти для переменной типа char, для хранения других типов данных используется большее число байтов. В поразрядных операциях обычно используются беззнаковые целые. [20]
Обычно старший ( крайний левый) бит используется для представления знака числа: нуль - для положительного, единица - для отрицательного. Здесь возникает проблема представления знака при показателе степени, так как единица памяти обычно имеет только один знаковый бит. При избыточном представлении из единицы памяти выделяется определенное количество битов и эти биты используются для хранения показателя степени числа с плавающей точкой. Тогда мы берем максимальное число, которое можно представить таким количеством битов, и делим его на два. Полученное при делении число 2n - для п бит используется для представления показателя степени и называется смещением. Положительные показатели степени формируются прибавлением соответствующего показателя степени к смещению, а отрицательные - вычитанием показателя степени из смещения. Таким образом, можно заметить, что представление в виде смещения во многом аналогично представлению в виде дополнения, рассмотренному ранее. Когда производятся арифметические операции над показателями степени, знаки при самих числах могут не учитываться. [21]
Монье и др. ( 1972) установили, что повторение улучшало кратковременное воспроизведение, но не запоминание в долгосрочной памяти. По данным Райтмана ( 1971), два фактора способствуют утрате единиц памяти ( item) в краткосрочной памяти: а) отвлечение памяти от подлежащей вспоминанию единицы; б) сходство между накопленными ( запомнившимися) единицами и интерполируемым материалом. [22]
Известны цель использования справочника, число позиций, способ кодирования одной позиции. На этой основе может быть определен порядок размещения данных позиции в памяти и объем справочника в единицах памяти - в байтах. Подобным образом может определяться и объем указателя, используемого при программной работе с данным справочником. [23]
Ценой машинной независимости описаний данных как цепочек литер является снижение скорости выполнения программы, поскольку границы машинных слов могут не совпадать с границами элементов данных, что затрудняет доступ к последним, и поскольку перед выполнением арифметических операций числа должны преобразовываться в аппаратное представление и результат должен быть преобразован опять в форму цепочки литер. В качестве компромисса в языке имеются используемые по желанию фразы: SYNCHRONIZED, с помощью которой можно совместить начало или конец элемента данных с границей слова ( или другой естественной единицы памяти) и USAGE IS COMPUTATIONAL ( используется в вычислениях), позволяющей использовать для конкретного элемента данных аппаратное представление чисел. Применение этих фраз приводит к тому, что длина структур данных или индивидуальных элементов становится зависимой от реализации, но выигрыш в скорости выполнения может быть огромным. [24]
Конструкции объявления общих объектов ( COMMON) и объявления эквивалентности ( EQUIVALENCE) используются для совмещения в памяти различных блоков. При этом стандартном предусмотрено совмещение разнотипных элементов: Считается, что объект типа двойной точности или типа комплексный занимает две последовательные единицы памяти, а объект типа целый, вещественный и логический - одну единицу памяти. В то же время существуют реализации языка, где это соглашение не выполняется. Поэтому не рекомендуется размещать в одной памяти объекты разных типов. [25]
Нельзя сравнивать структуры, поскольку элементы структуры не обязательно хранятся в последовательных байтах памяти. Иногда в структурах бывают дыры из-за того, что компьютеры могут хранить специфические типы данных только в определенных позициях памяти, таких как граница полуслова, слова или двойного слова. Слово является стандартной единицей памяти, используемой для хранения данных в компьютере - обычно два или четыре байта. [26]
При отображении АЛМО на конкретную машину единица смещения, задаваемая значением модификатора, не всегда может совпадать с единицей переадреса-цни ( единичным значением индексного регистра) этой машины. Это зависит от переадресуемой единицы памяти в машине и количества ячеек, на которые отображаются слова с различными указателями размера. Например, переадресуемой единицей памяти является 24-разрядная ячейка. [27]
Тип WORD ( слово) соответствует единице основной памяти компьютера. Слово занимает такой же объем памяти, как типы CARDINAL или INTEGER, но его не рассматривают как число. WORD - просто некоторая единица памяти, не интерпретируемая ни как число, ни каким-либо иным способом. [28]
Дело в том, что виды бит и слог определены для того, чтобы программист мог воспользоваться преимуществами определенных ( конструктивных) особенностей машины, на которой реализован язык. При этом вид бит будет очень близок к машинному слову, а запрос к обстановке размер бит будет длиной слова. Вид слог может быть единицей памяти, в которую можно эффективно поместить определенное число литер; его можно рассматривать как строку фиксированной длины размер слог. [29]
Это означает, что объем памяти системы сократился наг единиц и стал вместо N 1 равен N 1 - г единиц. Это понятно и физически, ибо при переходе к r - му приращению процесса исчезает полином г - 1 - й степени. Тем самым мы как бы уже израсходовали г единиц памяти на абсолютно точное воспроизведение полинома г - 1 - й степени. [30]