Cтраница 2
Для обеспечения перемещаемости программ на некоторых машинах используются индексные регистры, а иногда даже специальные наборы регистров перемещения. Необходимое значение вносится в регистр перемещения и затем уже в процессе выполнения программы добавляется к содержимому адресных полей с целью получения истинных адресов. При таком порядке работы прикладные программисты или компилятор должны указывать номера регистров, которые в данной программе будут хранить значения адресного смещения. [16]
Команда состоит из кода операции, содержащего указание на операцию, которую необходимо выполнить, и нескольких адресных полей, содержащих указание на места расположения операндов команды. Способ вычисления адреса по информации, содержащейся в адресном поле команды, называется режимом адресации. Множество команд, реализованных в данной ЭВМ образует ее систему команд. [17]
Избегайте использования буквенно-цифровых адресных кодов; значение и смысл последних должны быть понятны потребителю. Некоторых посетителей раздражает то обстоятельство, что при заполнении формы заказа они не могут использовать знаки пунктуации. Адресные поля должны соответствовать принятым международным почтовым кодам. Не требуйте от посетителей обязательного указания кода региона страны, так как последний может просто не иметь его. [18]
Увеличивая адресность ЭВМ, приходиться увеличивать длину машинного слова, чтобы отвести в нем необходимые поля для адресной части команд. С увеличением объема памяти ЭВМ увеличивается длина поля, необходимого для одного адреса. В то же время не все команды полностью используют адресные поля. Например, для команды записи числа по заданному адресу требуется только одно адресное поле. Неоправданное увеличение длины машинного слова для использования многоадресных команд приводит к уменьшению быстродействия ЭВМ, так как необходимо обрабатывать поля большей длины. [19]
Модификация адресов с помощью индексных регистров используется не только для работы с компонентами массивов, но и для других целей. Например, длина адресного поля в командах УМИР-1, равная двенадцати двоичным разрядам, позволяет непосредственно адресовать только 4096 ячеек. Однако при прямой адресации увеличение емкости памяти требует увеличения длины адресных полей в командах. Например, для емкости памяти в 256К адресные поля должны содержать по крайней мере по 18 двоичных разрядов, что приводит к значительным затратам памяти для хранения программы. [20]
Четвертый формат SI, также занимающий слово, содержит во втором байте восьмиразрядный операнд и указание на адрес по памяти в виде смещения D и номера базы В. Эти команды с непосредственным указанием восьмиразрядного операнда широко используются в программах редактирования строк символьной информации и для поиска в массиве символа, указанного в команде. Наконец, пятый формат 55 ( память-память), занимающий три полуслова, содержит два адресных поля, указанных смещением и базой 51, DI и 52, D2, и два поля L1 и L2, в которых указана длина соответствующих операндов, выбираемых из памяти. Этот формат, в частности, используется для указаний операций с информацией переменной длины для команд, обрабатывающих строки байтов, для команд десятичной арифметики. [21]
![]() |
Временная диаграмма входных и. [22] |
Управляющая микропрограмма размещается в ПЛМ объемом 15800 бит. ПЛМ представляет собой сочетание собственно программируемой логической матрицы объемом 133X32 разрядных слов и ПЗУ объемом 444X26 разрядных слов. Выборка микрокоманд из ПЛМ осуществляется под управлением команд ( или данных о запросах прерываний), хранящихся в РД, и адресных полей микрокоманд, хранящихся в РАМ. Управляющее 16-разрядное поле микрокоманды через мультиплексор и выходной формирователь выводится в ШМК и поступает в РМ. Адресное 9-разрядное поле микрокоманды через РАМ и мультиплексоры поступает по внутренней шине адреса на входной мильтиплек-сор ПЛМ и на логику МА. [23]
Модификация адресов с помощью индексных регистров используется не только для работы с компонентами массивов, но и для других целей. Например, длина адресного поля в командах УМИР-1, равная двенадцати двоичным разрядам, позволяет непосредственно адресовать только 4096 ячеек. Однако при прямой адресации увеличение емкости памяти требует увеличения длины адресных полей в командах. Например, для емкости памяти в 256К адресные поля должны содержать по крайней мере по 18 двоичных разрядов, что приводит к значительным затратам памяти для хранения программы. [24]
Составление таблицы начинают с отметки s и последовательно рассматривают вершины ГСА в направлении стрелок. Адресные поля управляющих МК временно остаются незаполненными. Дойдя до конечной отметки, возвращаются вверх по таблице до первой управляющей МК незаполненным адресным полем и записывают в это поле адрес следующей по порядку свободной ячейки. Далее продолжают движение по ГСА от условной вершины, которой соответствует данная управляющая МК, в направлении дуги, отмеченной единицей. Описанную процедуру возвращения вверх по таблице повторяют до заполнения адресных полей всех управляющих МК, обеспечивая тем самым прохождение всех путей на ГСА. [25]
На шаге б необходимо объявить все существенные для сопряжения данные. Как упоминалось в предыдущем разделе, параметр ТВИМ ( ESTAB) является просто указателем, ссылающимся на таблицу. Поскольку таблица представляет собой структуру, доступную во всем модуле, объявим ее сейчас. На рис. 8.3 показано определение таблицы внешних имен, параметров MATCHES и встроенной функции NULL, которая позже понадобится нам для проверки пустых ( незамкнутых) адресных полей. [26]