
- •Организация эвм
- •Принципы Неймана построения эвм. Элемент Неймана. Автомат Неймана.
- •Структура классической эвм. Назначение и взаимосвязь ее основных устройств.
- •Машина Тьюринга.
- •Команда и ее формат. Взаимосвязь формата команды и основных параметров эвм
- •Системы кодирования команд. Структура одно-, двух-, трех-, четырехадресной эвм. Естественный и принудительный порядок выполнения программы.
- •Стековая память. Структура безадресной эвм.
- •Цикл выполнения команды. Взаимодействие основных узлов и устройств эвм при автоматическом выполнении команды в трехадресной эвм.
- •Основы схемотехнической реализации эвм
- •Системы логических элементов. Основные параметры логических элементов. Условно-графические обозначения основных логических элементов.
- •Этапы проектирование логических схем на элементах “и-не”, “или-не”. Быстродействие логических схем.
- •Д ешифратор: назначение, таблица истинности. Условно-графическое обозначение.
- •Триггер. Назначение. Классификация триггерных схем.
- •Асинхронный двоичный счетчик. Назначение. Временная диаграмма работы. Оценка быстродействия.
- •Регистры. Назначение. Регистр хранения. Регистр сдвига. Условно-графическое обозначение. Регистр хранения
- •Устройства эвм
- •Устройство управления (уу): назначение, принципы построения.
- •Структурная схема уу с жесткой логикой. Реализация датчика сигналов на счетчике с дешифратором и на сдвиговом регистре.
- •Структурная схема микропрограммного уу.
- •Запоминающие устройства (зу): назначение, основные параметры. Иерархическая структура зу современных эвм.
- •Конвейерная организация работы микропроцессора. Ступени конвейера.
- •Оценка производительности микропроцессора при конвейерной организации работы.
- •Типы конфликтов в конвейере и методы уменьшения их влияния на снижение производительности микропроцессора.
- •Недостаточное дублирование некоторых ресурсов.
- •Система управления памятью. Статическое и динамическое распределение памяти. Страничная организация памяти. Виртуальная память.
- •Система прерываний. Назначение. Последовательность действий компьютера при обработке запросов прерываний.
- •Мультипрограммная эвм
- •Мультипрограммный режим работы эвм. Процесс и ресурс в мультипрограммных эвм.
- •Структура мультипрограммной эвм и особенности ее функционирования. Основные характеристики работы эвм в мультипрограммном режиме.
- •Счет1 - ввод - счет2 - вывод.
- •Одноочередные дисциплины распределения ресурсов в мультипрограммных эвм: fifo, lifo, круговой циклический алгоритм.
- •Многоочередная дисциплина распределения ресурсов в мультипрограммных эвм и ее модификации.
- •Режимы работы мультипрограммных эвм: пакетный, разделения времени, реального времени.
- •Организация работы персональной эвм
- •Структура персональной эвм.
- •Структура микропроцессора 8086, состав и назначение его основных блоков.
- •Организация памяти в ibm pc: физическое адресное пространство, адрес байта, слова, двойного слова.
- •Символическое и машинное представление команд: назначение, область применения.
- •Формат двухоперандной команды ibm pc общего вида. Назначение полей команды.
- •Режимы адресации операндов в ibm pc.
- •Формирование физического адреса в ibm pc в реальном режиме работы.
- •Формат команды ibm pc, использующей непосредственный операнд. Назначение полей команды.
- •Структура 32-разрядного микропроцессора, состав и назначение его основных блоков. Структура 32-разрядного универсального микропроцессора
- •Обработка прерываний в персональной эвм.
- •Порядок обработки прерываний
- •Контроллер приоритетных прерываний. Назначение. Порядок работы. Контроллер приоритетных прерываний
- •Каскадное включение контроллеров приоритетных прерываний
- •Защита памяти в мультипрограммных эвм. Назначение. Классические методы защиты Защита отдельных ячеек памяти. Метод граничных регистров. Метод ключей защиты памяти.
- •Организация защиты памяти в персональной эвм. Защита при управлении памятью. Защита по привилегиям.
- •Ввод-вывод информации в эвм. Проблемы организации ввода вывода и пути их решения.
- •Основные интерфейсные сигналы шины isa.
Стековая память. Структура безадресной эвм.
Безадресное кодирование команд.
Безадресное кодирование команд используются в компьютерах, имеющих стековую организацию памяти. Обращение к ячейкам такой памяти производится последовательно с помощью специального указателя стека (УС), определяющего рабочую в данный момент ячейку. Каждая ячейка снабжена тэгом – специальным признаком хранимой информации.
Такая ЭВМ имеет структуру, представленную на рисунке. В ее состав помимо АЛУ входят два специальных буферных регистра РР1 и РР2.
Здесь значение тэгов следующее:
Op – в данной ячейке хранится операнд,
C – признак наличия в ячейке кода операции.
Проиллюстрируем работу такой ЭВМ на примере вычисления выражения ((a + b) * c - d) / e.
На первых двух тактах работы из памяти извлекаются операнды a и b и помещаются в рабочие регистры РР1 и РР2.
Считав следующую ячейку стековой памяти, устройство управления по ее тэгу определяет, что данная информация представляет собой код операции.
Этот код направляется в АЛУ, где и проводится сложение хранящихся в регистрах операндов с записью результата в один из рабочих регистров.
Так как в следующей ячейке хранится операнд, то он направляется в РР, свободный от записанного результата. После этого производится выполнение следующей операции и так далее.
Такая структура ЭВМ обеспечивает высокое быстродействие, но требует весьма сложного программирования.
Основные способы адресации операндов: непосредственный, прямой (регистровый и к оперативной памяти), косвенный (через регистр и через ячейку оперативной памяти), относительный, базовый индексный. Зависимость длины поля адреса и времени выборки операнда от способа адресации.
Способы адресации
Решить проблему сокращения разрядности команды только за счет сокращения количества указываемых в команде операндов и применения регистровой памяти невозможно. Этой же цели служит использование различных способов адресации операндов. Кроме того, применение нескольких способов адресации повышает гибкость программирования, так как в каждом конкретном случае позволяет обеспечить наиболее рациональный способ доступа к информации в памяти.
Различные способы адресации базируются на разных механизмах определения физического адреса операнда, то есть адреса фактического обращения к памяти при выполнении команды. Определение набора способов адресации, закладываемых в систему команд, является одним из важнейших вопросов разработки ЭВМ, существенно влияющим на ее архитектуру, вычислительные возможности, объем оборудования, быстродействие и другие характеристики.
К основным способам адресации относятся следующие:
прямая,
непосредственная,
косвенная,
относительная.
Прямая адресация.
Физический адрес операнда совпадает с кодом в адресной части команды
Формальное обозначение:
Операндi = (Аi), где Аi – код, содержащийся в i-м адресном поле команды.
Выше при описании способов кодирования команд и расчете длины адресного поля предполагалось использование именно этого способа адресации.
Допускается использование прямой адресации при обращении как к основной, так и к регистровой памяти.
Непосредственная адресация. В команде содержится не адрес операнда, а непосредственно сам операнд Операндi= Аi.
Непосредственная адресация позволяет повысить скорость выполнения операции, так как в этом случае вся команда, включая операнд, считывается из памяти одновременно и на время выполнения команды хранится в процессоре в специальном регистре команд ( РК ). Однако при использовании непосредственной адресации появляется зависимость кодов команд от данных, что требует изменения программы при каждом изменении непосредственного операнда.
Косвенная адресация
Адресная часть команды указывает адрес ячейки памяти или номер регистра, в которых содержится адрес операнда:
Операндi = ((Аi)).
Применение косвенной адресации операнда из оперативной памяти при хранении его адреса в регистровой памяти существенно сокращает длину поля адреса, одновременно сохраняя возможность использовать для указания физического адреса полную разрядность регистра.
Недостаток этого способа – необходимо дополнительное время для чтения адреса операнда. Вместе с тем он существенно повышает гибкость программирования. Изменяя содержимое ячейки памяти или регистра, через которые осуществляется адресация, можно, не меняя команды в программе, обрабатывать операнды, хранящиеся по разным адресам.
Косвенная адресация не применяется по отношению к операндам, находящимся в регистровой памяти.
Предоставляемые косвенной адресацией возможности могут быть расширены, если в системе команд ЭВМ предусмотреть определенные арифметические и логические операции над ячейкой памяти или регистром, через которые выполняется адресация, например увеличение или уменьшение их значения на единицу. Так, адресация, при которой после каждого обращения по заданному адресу с использованием механизма косвенной адресация, значение адресной ячейки автоматически увеличивается на длину считываемого операнда, называют автоинкрементной. Адресация с автоматическим уменьшением значения адресной ячейки называется автодекрементной.
Относительная адресация.
Этот способ используется тогда, когда память логически разбивается на блоки, называемые сегментами. В этом случае адрес ячейки памяти содержит две составляющих:
адрес начала сегмента (базовый адрес)
смещение адреса операнда в сегменте.
Адрес операнда определяется как сумма базового адреса и смещения относительно этой базы:
Операндi = (базаi + смещениеi).
Для задания базового адреса и смещения могут применяться ранее рассмотренные способы адресации. Как правило, базовый адрес находится в одном из регистров регистровой памяти, а смещение может быть задано в самой команде или регистре.
Рассмотрим два примера.
Адресное поле команды состоит из двух частей: в одной указывается номер регистра, хранящего базовое значение адреса (начальный адрес сегмента), а в другом адресном поле задается смещение, определяющее положение ячейки относительно начала сегмента. Именно такой способ представления адреса обычно и называют относительной адресацией.
Рис. 11.7. Относительная адресация
Первая часть адресного поля команды также определяет номер базового регистра, а вторая содержит номер регистра, в котором находится смещение (рис. 11.8). Такой способ адресации чаще всего называют базово-индексным.
Главный недостаток относительной адресации – большое время вычисления физического адреса операнда. Но существенное преимущество этого способа адресации заключается в возможности создания "перемещаемых" программ – программ, которые можно размещать в различных частях памяти без изменения команд программы. То же относится к программам, обрабатывающим по единому алгоритму информацию, расположенную в различных областях ЗУ. В этих случаях достаточно изменить содержимое базового адреса начала команд программы или массива данных, а не модифицировать сами команды. По этой причине относительная адресация облегчает распределение памяти при составлении сложных программ и широко используется при автоматическом распределении памяти в мультипрограммных вычислительных системах.
Сравнить способы адресации можно по большому числу самых разнообразных критериев. В таблице представлена характеристика рассмотренных способов по времени, необходимому для выборки операнда, длине адресного поля, требуемого для того или иного способа адресации, и удобству использования данного способа адресации при программировании. В соответствующих полях таблицы помимо указания по методике расчета необходимой величины содержится и место рассматриваемого способа адресации по избранному критерию. При расчетах учитывались лишь основные составляющие, влияющие на значение оцениваемой величины. Естественно, критерий, оценивающий гибкость того или иного способа адресации при программировании, не может быть абсолютно объективным и зависит от характера программы.
Таблица 11.1. |
|||||||
Критерий |
Адресация |
||||||
Прямая |
Косвенная |
Относи- тельная |
Базово-индексная |
Непосред- ственная |
|||
ОЗУ1) |
РП |
через ОЗУ2) |
через РП |
||||
Время выборки операнда |
tОЗУ 3 |
tРП 2 |
2tОЗУ 7 |
tОЗУ+tРП 4 |
5 |
6 |
tРК 1 |
Длина поля адреса |
log2VОЗ У 5 |
log2Vр П 1 |
log2VОЗ У 5 |
log2VРП 1 |
log2VРП+log2VСЕГМ 44) |
log2VРП 2 |
Lоперанда 33) |
Гибкость при адресации данных 5) |
5 |
4 |
3 |
2 |
1 |
1 |
6 |
Принятые обозначения:
tОЗУ –
время считывания информации из ОЗУ; tРП
– время считывания информации из РП;
tРК – время считывания информации
из регистра команд;
–
время суммирования составных частей
адреса; VОЗУ – объем ОЗУ; VРП
– объем РП; VСЕГМ – объем сегмента;
Lоперанда – длина операнда.