Способы адресации
Решить проблему сокращения разрядности команды только за счет сокращения количества указываемых в команде операндов и применения регистровой памяти невозможно. Этой же цели служит использование различных способов адресации операндов. Кроме того, применение нескольких способов адресации повышает гибкость программирования, так как в каждом конкретном случае позволяет обеспечить наиболее рациональный способ доступа к информации в памяти.
Различные способы адресации базируются на разных механизмах определения физического адреса операнда, то есть адреса фактического обращения к памяти при выполнении команды. Определение набора способов адресации, закладываемых в систему команд, является одним из важнейших вопросов разработки ЭВМ, существенно влияющим на ее архитектуру, вычислительные возможности, объем оборудования, быстродействие и другие характеристики.
К основным способам адресации относятся следующие: прямая, непосредственная, косвенная, относительная.
Прямая адресация. Физический адрес операнда совпадает с кодом в адресной части команды (рис. 11.4). Формальное обозначение:
Операндi = (Аi),
где Аi – код, содержащийся в i-м адресном поле команды.
Рис. 11.4. Прямая адресация
Выше при описании способов кодирования команд и расчете длины адресного поля предполагалось использование именно этого способа адресации.
Допускается использование прямой адресации при обращении как к основной, так и к регистровой памяти.
Непосредственная адресация. В команде содержится не адрес операнда, а непосредственно сам операнд (рис. 11.5):
Операндi= Аi.
Рис. 11.5. Непосредственная адресация
Непосредственная адресация позволяет повысить скорость выполнения операции, так как в этом случае вся команда, включая операнд, считывается из памяти одновременно и на время выполнения команды хранится в процессоре в специальном регистре команд (РК). Однако при использовании непосредственной адресации появляется зависимость кодов команд от данных, что требует изменения программы при каждом изменении непосредственного операнда.
Косвенная адресация (рис. 11.6). Адресная часть команды указывает адрес ячейки памяти (рис. 11.6,а) или номер регистра (рис. 11.6,б), в которых содержится адрес операнда:
Операндi = ((Аi)).
Рис. 11.6. Косвенная адресация
Применение косвенной адресация операнда из оперативной памяти при хранении его адреса в регистровой памяти существенно сокращает длину поля адреса, одновременно сохраняя возможность использовать для указания физического адреса полную разрядность регистра.
Недостаток этого способа – необходимо дополнительное время для чтения адреса операнда. Вместе с тем он существенно повышает гибкость программирования. Изменяя содержимое ячейки памяти или регистра, через которые осуществляется адресация, можно, не меняя команды в программе, обрабатывать операнды, хранящиеся по разным адресам.
Косвенная адресация не применяется по отношению к операндам, находящимся в регистровой памяти.
Предоставляемые косвенной адресацией возможности могут быть расширены, если в системе команд ЭВМ предусмотреть определенные арифметические и логические операции над ячейкой памяти или регистром, через которые выполняется адресация, например увеличение или уменьшение их значения на единицу. Так, адресация, при которой после каждого обращения по заданному адресу с использованием механизма косвенной адресация, значение адресной ячейки автоматически увеличивается на длину считываемого операнда, называют автоинкрементной. Адресация с автоматическим уменьшением значения адресной ячейки называется автодекрементной.
Относительная адресация. Этот способ используется тогда, когда память логически разбивается на блоки, называемые сегментами. В этом случае адрес ячейки памяти содержит две составляющих: адрес начала сегмента (базовый адрес) и смещение адреса операнда в сегменте. Адрес операнда определяется как сумма базового адреса и смещения относительно этой базы:
Операндi = (базаi + смещениеi).
Для задания базового адреса и смещения могут применяться ранее рассмотренные способы адресации. Как правило, базовый адрес находится в одном из регистров регистровой памяти, а смещение может быть задано в самой команде или регистре.
Рассмотрим два примера.
Рис. 11.7. Относительная адресация
Рис. 11.8. Базово-индексная адресация
Главный недостаток относительной адресацией – большое время вычисления физического адреса операнда. Но существенное преимущество этого способа адресации заключается в возможности создания "перемещаемых" программ – программ, которые можно размещать в различных частях памяти без изменения команд программы. То же относится к программам, обрабатывающим по единому алгоритму информацию, расположенную в различных областях ЗУ. В этих случаях достаточно изменить содержимое базового адреса начала команд программы или массива данных, а не модифицировать сами команды. По этой причине относительная адресация облегчает распределение памяти при составлении сложных программ и широко используется при автоматическом распределении памяти в мультипрограммных вычислительных системах.
Сравнить способы адресации можно по большому числу самых разнообразных критериев. В табл.11.1 представлена характеристика рассмотренных способов по времени, необходимому для выборки операнда, длине адресного поля, требуемого для того или иного способа адресации, и удобству использования данного способа адресации при программировании. В соответствующих полях таблицы помимо указания по методике расчета необходимой величины содержится и место рассматриваемого способа адресации по избранному критерию. При расчетах учитывались лишь основные составляющие, влияющие на значение оцениваемой величины. Естественно, критерий, оценивающий гибкость того или иного способа адресации при программировании, не может быть абсолютно объективным и зависит от характера программы.
Таблица 11.1. | ||||||||
Критерий | Адресация | |||||||
Прямая | Косвенная | Относительная | Базово-индексная | Непосредственная | ||||
ОЗУа) | РП | через ОЗУб) | через РП | |||||
Время выборки операнда | tОЗУ | tРП | 2tОЗУ | tОЗУ+tРП | tОЗУ+tРП+tРК+t∑ | tОЗУ+2tРП+t∑ | tРК | |
Длина поля адреса | log2VОЗ У | log2Vр П | log2VОЗ У | log2VРП | log2VРП+log2VСЕГМ 4г) | log2VРП | Lоперанда 3в) | |
Гибкость при адресации данных д) |
Принятые обозначения:
tОЗУ – время считывания информации из ОЗУ; tРП – время считывания информации из РП; tРК – время считывания информации из регистра команд; t∑ – время суммирования составных частей адреса; VОЗУ – объем ОЗУ; VРП – объем РП; VСЕГМ – объем сегмента; Lоперанда – длина операнда.
Примечания:
12. Лекция: Цикл выполнения команды | |
вопросы |» | | учебники | для печати и PDA | ZIP |
Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter | |
Рассматривается взаимодействие узлов и устройств классической трехадресной ЭВМ на различных этапах автоматического выполнения программ. | |
Для улучшения понимания вопросов взаимодействия узлов и устройств ЭВМ рассмотрим автоматическое выполнение команды в трехадресной ЭВМ с классической архитектурой. Структурная схема такой ЭВМ показана на рис. 12.1
Рис. 12.1. Структурная схема трехадресной ЭВМ
Обработку команды можно разбить на ряд функционально завершенных действий (этапов), составляющих ее цикл (рис. 12.2).
Рис. 12.2. Цикл выполнения команды
Изучение цикла команды проведем при следующих начальных условиях и предположениях:
|
13. Лекция: Основы схемотехнической реализации ЭВМ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Страницы: 1 | 2 | вопросы |» | | учебники | для печати и PDA | ZIP | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Рассматриваются основные элементы, составляющие систему логических элементов, их схемотехническая реализация, статические и динамические параметры, порядок проектирования комбинационных схем на примере одноразрядного сумматора. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Системы логических элементов
Системой логических элементов называется функционально полный набор логических элементов, объединенных общими электрическими, конструктивными и технологическими параметрами и использующих одинаковый тип межэлементных связей [1]. Системы элементов содержат элементы для выполнения логических операций, запоминающие элементы, элементы, реализующие функции узлов ЭВМ, а также элементы для усиления, восстановления и формирования сигналов стандартной формы.
Условно-графические обозначения (УГО) некоторых логических элементов представлены на рис.13.1.
Рис. 13.1. Условно-графические обозначения логических элементов
УГО элемента представляет собой прямоугольник, к которому слева подходят входные сигналы, а справа выходят выходные. Внутри прямоугольника ставится условное обозначение выполняемой элементом логической функции. Если значение выходного сигнала принимает инверсное значение по отношению к обозначенной внутри элемента функции, то данный выход обозначается на УГО элемента кружком (рис.13.1,в – 13.1,д). Аналогично, если активным уровнем входного сигнала является логический "0", то данный вход обозначается кружком (вход E элемента 13.1,ж).
Если элемент выполняет сложную функцию, имеет несколько функционально различных групп входов и выходов, то входы и выходы отделяются от основного поля УГО вертикальными линиями. Внутри каждого из получившихся полей функционально различные группы входов и выходов отделяются друг от друга горизонтальными линиями. На рис.13.1,ж показан элемент, выход которого может находиться в одном из трех состояний: логический "0", логическая "1", состояние высокого сопротивления. В состоянии высокого сопротивления выход элемента отключается от входов всех других элементов, с которыми он связан. Вход E (enable) этого элемента управляет состоянием его выхода. Так как на условно-графическом обозначении этот вход отмечен кружком, то отсюда следует, что функция разрешения передачи двоичного сигнала с входа на выход элемента выполняется при состоянии логического "0" на входе разрешения E. Если на вход E подан сигнал логической "1", то выход элемента находится в отключенном (так называемом "третьем") состоянии.
Каждый логический элемент – это электронно-техническое изделие (рис.13.2). В этих схемах все транзисторы работают в ключевом режиме. Это означает, что при подаче сигнала высокого уровня на базу транзистора, его сопротивление становится пренебрежимо малым, то есть транзистор как бы "стягивается в точку". При низком потенциале на базе транзистора сопротивление между коллектором и эмиттером становится чрезвычайно большим, что фактически означает разрыв цепи.
Рис. 13.2. Схемотехническая реализация логических элементов
Рассмотрим это на примере работы инвертора (рис.13.2,а). Если сигнал X имеет высокий потенциал, то ключ, реализованный на транзисторе, замкнут, и потенциал точки Y низкий. В противном случае связь между точкой Y и "землей" разорвана, и сигнал Y имеет высокий уровень, что и обеспечивает реализацию логической функции "отрицание".
Для элемента "И-НЕ" сигнал в точке Y будет иметь низкий уровень (НУ) лишь тогда, когда оба сигнала X1 и X2 имеют высокий уровень (ВУ). Работа этого элемента описывается таблицей 13.1.
Если принять, как это делается в наиболее распространенных сериях логических элементов, высокий уровень сигнала за логическую "1", а низкий уровень - за логический "0", то получим таблицу истинности данного элемента (таблицей 13.2).
Эта таблица соответствует логической функции "И-НЕ". В то же время, принимая высокий уровень сигнала за логический "0", а низкий уровень – за логическую "1", получим следующую таблицу истинности (табл. 13.3).
Эта таблица соответствует уже функции "ИЛИ-НЕ". Таким образом, кодирование сигналов в системе логических элементов может влиять на выполняемую им логическую функцию. В дальнейшем будем полагать кодировку сигналов, принятую для табл. 13.2. Для элемента "ИЛИ-НЕ" (см. рис.13.2) сигнал в точке Y будет иметь высокий уровень лишь тогда, когда оба сигнала X1 и X2 имеют низкий уровень. Работа этого элемента описывается табл. 13.4, а его таблица истинности при сделанных предположениях о кодировке сигнала – таблицей 13.5. Эта таблица соответствует логической функции "ИЛИ-НЕ".
Параметры элементов принято делить на статические и динамические [1]. Статические параметры инвариантны к переходным процессам и измеряются в статическом режиме. Динамические, наоборот, определяют реактивные свойства элемента и измеряются во время переходных процессов. К статическим параметрам относятся токи, текущие по выводам схемы, и соответствующие напряжения. Отметим среди этих параметров следующие:
Среди многочисленных динамических параметров, характеризующих схему, выделим следующие:
Проиллюстрируем некоторые статические и динамические параметры логических схем на примере работы элемента "НЕ" (см. рис. 13.2,а). Временная диаграмма входного и выходного сигналов этого элемента, на которой отмечены его статические и динамические параметры, приведена на рис. 13.3. |
| Поделиться: |
Познавательные статьи:
Последнее изменение этой страницы: 2016-08-15; просмотров: 486; Нарушение авторского права страницы; Мы поможем в написании вашей работы!
infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.198.75 (0.03 с.)