Cтраница 3
![]() |
Некоторые способы адресации, реализованные в ЭВМ 6809. [31] |
Представление на языке ассемблера способов адресации, используемых в различных ЭВМ, довольно разнообразно. Некоторые способы адресации, реализованные в ЭВМ 6809, и соответствующие им представления на языке ассемблера показаны в табл. 7.2. Приведенный в таблице параметр expr является выражением, которое вычисляется во время трансляции и вставляется в команду. В гипотетической ЭВМ Н6809 параметр reg должен выражаться величиной X, в то время как в реальной ЭВМ 6809 указанный параметр может быть представлен любым индексным регистром. Аналогичные способы адресации свойственны большинству процессоров, содержащих регистры общего назначения, где параметр reg может представлять собой регистр общего назначения. [32]
Команды процессора Н8000 сведены в табл. 5.3; здесь операнд ор. Не все способы адресации могут быть использованы для реализации каждой команды. Например, непосредственную адресацию нельзя применять с командой ST ( B), поскольку последняя служит для включения содержимого регистра в последовательность команд. [33]
Относительная адресация имеет много общего с адресацией с индексированием. Однако эти способы адресации имеют и отличия. Во-первых, при использовании рассматриваемых способов адресации смещение складывается с содержимым разных регистров; при относительной адресации смещение прибавляется к текущему содержимому счетчика команд. Во-вторых, в режиме относительной адресации применяется специальная форма арифметических операций над числами, представленными в дополнительном коде. [34]
Нам осталось обсудить способы адресации в командах типа СМР 100, R1 и CLR MEM, в которых вычисление исполнительного адреса в явном виде не затрагивает регистр. Простота таких операторов языка ассемблера скрывает определенные тонкости в сгенерированном ассемблером коде. [35]
Описание процессоров в части III является достаточно полным, так чтобы читатель был в состоянии дать процессорам правильную оценку. Для каждого процессора подробно разобраны способы адресации и наборы команд, но вследствие ограниченного объема книги исключены из рассмотрения некоторые вопросы, касающиеся языков ассемблера, появления побочных эффектов, возникающих при выполнении команд, и функционирования систем разработки. Отсутствуют также сведения о структуре каналов, синхронизации, интерфейсах и др. Читателю, который намеревается составлять программы для одного из процессоров, описанных в части III, а затем прогонять их на этом процессоре, кроме данной книги может понадобиться документация, выпускаемая фирмой-изготовителем процессора. [36]
Есть много способов программирования вычисления адресов. Программисту также следует обратить внимание на способы адресации, так как вычислять адрес надо при каждом сравнении и пересылке. Для большинства машин для нахождения позиций узлов, несомненно, следует рассматривать способы, не использующие деление или умножение. Один из таких способов состоит во введении разных указателей на предшествующие и сравниваемые позиции с начальными значениями 2N - и N - 1 соответственно. [37]
![]() |
Программа сортировки с использованием стеков. [38] |
В программе, приведенной на рис. 7.7, индексные регистры X и Y используются в качестве указателей двух стеков, которые содержат числа, сортируемые в возрастающем и убывающем порядке. Для работы со стеками используются автоинкрементный и автодекрементный способы адресации. Программа вызывает пять подпрограмм для организации ввода-вывода информации: подпрограмма READ обеспечивает считывание числа на входе и помещает его в аккумулятор А; подпрограмма WRNUM выдает на печать значение целого числа, содержащегося в аккумуляторе А; с помощью подпрограмм WRMSG1, WRMSG2 и WRMSG3 осуществляется выдача на печать сообщений. [39]
![]() |
Сравнение способов адресации. [40] |
Когда вы сталкиваетесь с новым компьютером, вы должны изучить все команды и способы адресации не только для того, чтобы знать, какие из них имеются в наличии, но и для того, чтобы понять, почему был сделан именно такой выбор и каковы были бы последствия при другом выборе. [41]
Несмотря на функциональное сходство с компонентами универсальной ЭВМ, арифметическому и управляющему устройству, памяти и каналу управляющей ЭВМ желательно придать специальные характеристики и функции. К основным характеристикам арифметического и управляющего устройства относятся система команд, длина слова и способы адресации. Защита памяти является важным соображением при конструировании запоминающего устройства и связанной с ним логики управления. Особенно важны для АСУ характеристики канала. Нужно обеспечить возможность эффективного применения широкого ряда устройств ввода-вывода, часто с дополнительным требованием высокоскоростной передачи данных. Канал и арифметическое и управляющее устройство должны обладать способностью реагировать на внешние события в технологическом процессе. Эта функция обычно принимает форму аппаратного прерывания, которое может временно прерывать выполнение текущей программы с тем, чтобы отреагировать на внешнее событие выполнением некоторой специальной программы. Универсальные ЭВМ тоже наделены способностью прерывания, но его основное назначение заключается в подключении стандартных устройств ввода-вывода, таких, как печатающие и перфорирующие устройства. Дальнейшее совершенствование управляющей ЭВМ часто идет по линщр совершенствования аппаратуры, реализующей прерывание: устанавливаются классы прерываний, имеющие определенный приоритет. В этом случае сигнал низкого приоритета не может вызвать прерывание программы, имеющей высокий приоритет. [42]
Система команд - характеристика, которая определяется совокупностью операций, обеспечивающих выполнение программы в соответствии с заданным алгоритмом. В систему команд входят: форматы команд и обрабатываемых данных; число команд; способы адресации данных; объем непосредственно адресуемой памяти; объем и организация стека; способы обработки прерываний; организация ввода / вывода. Простое сравнение МП по числу выполняемых команд недостаточно для оптимального выбора. Необходима оценка логической мощности и гибкости команд, выполняемых МП, оценка возможностей организации разветвленных вычислительных процессов. Микропроцессоры с фиксированной разрядностью имеют фиксированную систему команд. Микропроцессоры с наращиваемой разрядностью ( секционные) ориентированы на микропрограммное управление и позволяют пользователю в зависимости от специфики разрабатываемого устройства создавать собственные системы команд. Использовать МПК с микропрограммным управлением наиболее целесообразно при разработке систем специализированного назначения, когда созданием насыщенных и компактных команд можно достичь высокого быстродействия и существенной экономии памяти программ. [43]
В большинстве современных процессоров загрузка данных в стек и их извлечение из стека выполняются с помощью одной команды. Для таких процессоров, как PDP-11, 68000 и 6809, стандартными являются автоинкрементный и автодекрементный способы адресации, так что команды загрузки в стек и извлечения из стека представляют собой частные случаи обычных команд пересылки данных ST - ( SP) и LD ( SP) 4 - соответственно. В процессоре Z8000 загрузка данных в стек и их извлечение из стека обеспечиваются специальными командами. Во всех упомянутых выше процессорах в качестве указателя стека может использоваться любой адресный регистр. Процессор 8086 также имеет специальные команды загрузки в стек и извлечения из стека, но при их выполнении используется только регистр - указатель системного стека. [44]
Язык DL / 1 используется как для логического описания данных, так и для описания их физической организации. Для представления данных на физическом уровне используется ряд стандартных методов их размещения на запоминающих устройствах, каждый из которых имеет свои способы адресации. Эти методы называются методами доступа. Они обсуждаются в части II этой книги. Логическое описание выполняется отдельно от описания физической организации данных. Однако оно зависит от этого описания и не определяет данные полностью, если нет описания физической базы данных. Физическая организация данных ( следовательно, и размещение данных в памяти) может быть изменена без изменения логического описания. [45]