
- •ВВЕДЕНИЕ
- •Глава 1. ОРГАНИЗАЦИЯ УПРАВЛЕНИЯ ЭВМ
- •1.1 Общие сведения об управлении ЭВМ
- •1.3 Способы адресации информации в ЭВМ
- •1.4. Классификация устройств управления
- •Глава 2. СХЕМНЫЕ УСТРОЙСТВА УПРАВЛЕНИЯ
- •3.4. Формирование адресов микрокоманд
- •3.5. Последовательность выполнения микрокоманды
- •ЛИТЕРАТУРА
единичное значение, если выбранная из ОП команда является операционной командой, задающей двухместную операцию.
Условные вершины ОП готов и АЛУ готов включены в микропрограмму из следующих соображений. Время выполнения операции в АЛУ и микроопераций чтения и записи в ОП превосходит время выполнения любой другой микрооперации. Поэтому длительность тактов, в которых выполняются данные действия, должна превышать длительность остальных тактов. Для того чтобы не использовать сложные схемы синхронизации, обеспечивающие формирование тактовых сигналов различной длительности, применяют асинхронное выполнение указанных операции, при котором УА УУ взаимодействуют с УА АЛУ так же, как и в десятом такте рассматриваемой микропрограммы. Аналогичным образом УА УУ
взаимодействует и с блоком управления ОП (выход сигнала ОП готов блока управления ОП на рис. 2 не показан). Это асинхронность и отраженна в микропрограмме условными вершинами ОП готов и АЛУ готов, которые иначе называют ждущими вершинами.
В некоторых ЭВМ время цикла обращения к ОП кратно времени одного такта УА УУ, и после запуска чтения или записи в ОП управляющий автомат УУ просто формирует соответствующее количество пустых тактов. Часть из них целесообразно использовать для реализации каких-либо микроопераций, которые можно выполнить до окончания чтения или записи в ОП, не нарушая логической последовательности действий. Такая организация УУ описана ниже.
1.3 Способы адресации информации в ЭВМ
Извлечение команд и операндов из оперативной памяти ЭВМ, а также запись результатов в память в ходе выполнения программ осуществляется с помощью указания адреса ячейки, слова или байта оперативной памяти, в которой располагается необходимая информация. Адрес, по которому производится обращение за данными или командой или осуществляется запись результата, принято называть исполнительным адресом AE. Однако в большинстве случаев в адресном поле команды исполнительный адрес не указывается, а записываются некоторые сведения, называемые далее исходным адресом AO, на основании которых может быть получен исполнительный адрес. Способ получения исполнительного адреса из исходного называется способом адресации.
Основные причины, которые обусловливают целесообразность задания в адресном поле команды исходных адресов, отличных от исполнительных, следующие:
- необходимость получения возможно меньшей разрядности адресного поля команды при адресации оперативной памяти большой емкости;
-требование удобства адресации элементов массивов данных в циклических программах, которые в каждом новом цикле обрабатывают новый элемент массива;
-необходимость обеспечения возможности написания программ, которые могут загружаться в любое свободное место оперативной памяти, т.е. перемещаемых программ, не зависящих от абсолютных адресов памяти.
В зависимости от особенностей структуры процессора и оперативной памяти ЭВМ применяются различные способы адресации, причем в некоторых моделях ЭВМ используют до десяти и более отличающихся друг от друга способов адресации. Наиболее распространенными являются следующие.
Прямая адресация – способ адресации, при котором исполнительный
адрес AE совпадает с исходным AO, т.е. в адресном поле команды указывается исполнительный адрес. Такой способ адресации является наиболее простым с точки зрения его реализации на ЭВМ, но не обеспечивает перечисленных выше требований и приводит к большой разрядности адресного поля команды.
Непосредственная адресация – способ адресации, при котором в адресном поле команды размещается сам операнд, подлежащий обработке. Обычно этим способом адресуются константы, не изменяемые в процессе выполнения программы. При использовании непосредственной адресации необязательно выделение специальной ячейки памяти для хранения операнда, однако его разрядность не должна превышать разрядности адресного поля команды. В такой ситуации непосредственная адресация обеспечивает экономию места в памяти и уменьшает объем выполнения команд, т.к. не требуется производить обращение к памяти за операндом.
В некоторых моделях ЭВМ, на пример в СМ ЭВМ, непосредственно задаваемый операнд размещается в ячейке следующей за той, в которой расположена команда с непосредственной адресации.
Косвенная адресация – способ адресации, при котором в адресном поле команды указывают адрес ячейки (слова) памяти, в которой хранится исполнительный адрес. Таким образом, для извлечения операнда необходимо
обратиться в оперативную память по исходному адресу AO, который при данном способе адресации называют косвенным адресом, прочитать записанную в этой ячейке информацию и использовать ее как адрес для нового обращения к памяти. По этому адресу и будет располагаться искомый операнд. Следовательно, для извлечения операнда потребуется выполнить два обращения к памяти, как показано на рис.4, что несколько увеличивает время выполнения команды с косвенной адресацией.
Несмотря на определенное увеличение времени выполнения команды, косвенная адресация является достаточно распространенной, в особенности в мини-ЭВМ, так как позволяет получить небольшую разрядность адресного поля команды, упростить обработку массивов и списков, переходы к подпрограммам и т.д. Уменьшение разрядности адресного поля команды

может быть достигнуто, например, за счет размещения исполнительных адресов только в регистрах общего назначения при определенной части оперативной памяти, что позволяет адресовать эту часть памяти с помощью меньшего числа разрядов.
Рис. 4. Выборка операнда из оперативной памяти при косвенной адресации
Известны варианты многократной косвенной адресации, когда исходный косвенный адрес AO определяет ячейку памяти, в которой хранится не исполнительный адрес, а также косвенный адрес AO', указывающий ячейку памяти, хранящую косвенный адрес AO'', и т.д.
Относительная адресация (в некоторых случаях называемая иначе индексной) – способ адресации, при котором исходный адрес AO состоит из адреса индекса AX и смещения D: AO = <AX, D>. Адрес индекса является номером регистра или адресом ячейки (в зависимости от типа ЭВМ), где храниться значение индекса Х. Исполнительный адрес AE при относительной адресации получают посредством сложения содержимого регистра или ячейки (AX)=Х, указываемых адресом индекса AX, и смещения D, т.е.
AE =(AX) + D = X + D,
где (AX) – содержимое регистра с номером AX или ячейки с адресом AX. Использование такой адресации позволяет сократить разрядность
адресного поля команды, т.к. разрядность адреса индекса AX определяется количеством регистров или ячеек, отведенных для хранения индексов, а разрядность смещения, вообще говоря, может быть произвольной. Количество ячеек или регистров для хранения индексов в различных ЭВМ, как правило, не превосходит 16, а разрядность смещения составляет 6...12 двоичных разрядов. Поэтому, например, в ЕС ЭВМ максимальная емкость оперативной памяти может достигать 16777216 байт (2 в 24 степени байт), однако разрядность адресного поля команды (для данного адреса) благодаря индексной адресации составляет 16 двоичных разрядов, что 1.5 раза меньше, чем необходимо для прямой адресации памяти такого объема.
Индексирование позволяет также либо эффективно составлять циклические программы обработки массивов информации, либо создавать перемещаемые в памяти программы, но предоставляют обе эти возможности
одновременно. Например, при выполнении циклической программы, использующей индексную адресацию, достаточно перед очередным циклом увеличить содержимое регистра или ячейки, где храниться индекс, тогда команды цикла будут обращаться к новому элементу массива данных, так как будет формироваться новое значение исполнительного адреса. Сама же запись команд цикла при этом не изменится.
Перемещать в памяти программы с помощью механизма относительной адресации можно в том случае, если эта программа составлена с использованием одного и того же регистра (или ячейки), применяемого для хранения индекса, во всех командах, а значение индекса не изменяется командами программы (как при выполнении циклов). При загрузке такой программы в оперативную память значение индекса, помещаемое в выбранный регистр или ячейку, устанавливается равным адресу начала участка памяти, в который загружается программа.
Если механизм индексирования используют для создания перемещаемых в памяти программ, то индекс называют базой, а процесс формирования исполнительного адреса – базированием.
Дальнейшим развитием относительной адресации является адресация с двойным индексированием (базированием и индексированием). Исходный адрес AO при этом состоит из трех частей: адреса базы AB, адреса индекса AX, смещения D, AO = <AB, AX, D>. Адрес индекса и смещения имеют такое же назначение, как при индексной адресации. Адрес базы AB определяет номер регистра или адрес ячейки памяти, где хранится величена, называемая базой В, т.е. (AB) = В. База используется аналогично индексу, а исполнительный адрес AE получают при двойном индексировании посредством суммирования базы, индекса и смещения:
AE =(AB) + (AX) + D = В + Х + D.
Такой способ позволяет использовать относительную адресацию для написания циклических программ. которые за счёт базирования могут при этом перемещаться в памяти.
Формирование исполнительного адреса при относительной адресации и адресации с двойным индексированием основано на операции суммирования. Это действие может быть выполнено в основном АЛУ процессора. В ЭВМ высокой производительности для формирования исполнительных адресов используются специальные адресные АЛУ (адресный сумматор), который включается в состав процессора наряду с основным АЛУ.
В некоторых случаях, для того чтобы избежать дополнительной операции суммирования с базой В, применяют приём, называемый приформированием. Этот приём состоит в том, что разряды смещения D не суммируются с базой, просто приписываются к разрядам базы справа, т. е. AE = B.D, где “.” – знак конкатенации (сцепления).