
- •Архитектура ом
- •Структура машин фон-Неймана, із загальною шиною, з каналами прямого доступу в пам'ять. Порівняльний аналіз і область застосування.
- •Апаратно-програмна реалізація обчислювальної системи. Призначення й основні функції операційної системи, однопрограмний і багатопрограмний режими роботи системи.
- •Класифікація операцій. Формати представлення команд і даних. Чотири-, трьох-, двох-, одно- і нуль-адресні команди. Определение наборов операций
- •Форматы команд
- •Способи адресації операндів. Безпосередня, пряма, непряма й індексна адресації. Призначення й область застосування.
- •Відносна, сторінкова і сегментна адресація. Переміщення програм і даних в оперативній пам'яті машини.
- •Операції переходу і розгалуження, їхня реалізація.
- •Операції звертання до підпрограм. Способи організації підпрограм. Організація динамічного розподілу пам'яті для підпрограм і їхніх даних.
- •Віртуальна пам'ять. Сторінкова організація віртуальної пам'яті. Алгоритми звертання до пам'яті.
- •Самообумовлені дані. Теги і дескриптори. Призначення і їхнє застосування.
- •Захист пам'яті. Призначення. Методи захисту верхніми і нижніми границями.
- •Захист пам'яті за допомогою ключів захисту. Структурна схема пам'яті з захистом. Достоїнства і недоліки.
- •Віртуальні процесори. Призначення і реалізація.
- •Віртуальні периферійні пристрої. Призначення, приклад реалізації.
- •Віртуальні машини. Призначення і приклад реалізації.
- •Операції вводу-виводу в ibm pc.
- •НкДтаЕ еом
- •Об'єкт діагностування, клас несправності, тест, система діагностування. Основні поняття і визначення.
- •Методи параметричного діагностування (пд).
- •Детермінований функціональний підхід до синтезу тестів.
- •Детермінований структурний підхід до синтезу тестів.
- •Обзор существующих методов
- •Застосування логічного моделювання для синтезу тесту.
- •Методи аналізу вихідних реакцій.
- •Ймовірний подхід до синтезу тестів.
- •Основні підходи до тестування мікропроцесорних пристроїв.
- •Попередні перетворення опису схем для синтезу схем.
- •Двійкова і двійково-кодована система числення.
- •Представлення числової інформації в еом.
- •Алгоритми додавання чисел.
- •Алгоритми множення чисел.
- •Алгоритми ділення чисел.
- •Виконання арифметичних операцій над числами з плаваючою крапкою.
- •Виконання арифметичних операцій у двійковій-десятковій системі числення.
- •Контроль по модулю арифметичних операцій.
- •Точність представлення чисел і виконання арифметичних операцій.
- •Проектування мпс
- •Мікропроцесори 2 і 3-го покоління фірми Intel.
- •Організація пам'яті в мікропроцесорних системах.
- •Організація переривань у мікропроцесорних системах.
- •Програмуємий послідовний інтерфейс мпс.
- •Організація вводу-виводу на базі віс пдп.
- •Реалізація внутрішніх системних інтерфейсів мпс.
- •Однокристальні мікро-еом фірми Intel.
- •Віс мпк 2 і 3-го поколінь фірми Intel.
- •Зовнішні інтерфейси мпс.
- •Структура пеом ibm pc.
- •Структура 32-х розрядних мікропроцесорів 4-го покоління фірми Intel.
- •Структура віс мікропроцесорного комплекту 4-го покоління для 32-х розрядних мікропроцесорних систем.
- •Комбінаційні схеми (кс). Основні поняття і визначення. Канонічний метод синтезу кс.
- •Комбінаційні схеми (кс). Аналіз кс. Основні методи аналізу кс.
- •Абстрактний автомат. Основні поняття і визначення. Класифікація. Способи завдання.
- •Способы описания и задания автоматов.
- •Канонічний метод синтезу кінцевого автомата.
- •Кодування внутрішніх станів автомата.
- •Кодирование состояний и сложность комбинационной схемы автомата.
- •Принцип мікропрограмного керування.
- •Структура операційного пристрою. Функції операційного і керуючого автоматів.
- •Мікропрограмні автомати (мпа). Інтерпретація граф-схеми алгоритму. Способы описания алгоритмов и микропрограмм
- •Канонічний метод синтезу мпа Милі з "жорсткою" логікою.
- •Канонічний метод синтезу мпа Мура з "жорсткою" логікою.
- •Достоинства и недостатки автоматов с жесткой логикой.
- •Синтез мпа Мура на базі регістру зсуву. Синтез управляющего автомата Мура на базе регистра сдвига.
- •Операційний автомат і мікропрограма додавання дробових чисел з фіксованою крапкою.
- •Операційний автомат і мікропрограма множення дробових чисел з фіксованою крапкою.
- •Двійкові-десяткові коди (д-коды) і їхньої властивості. Виконання арифметичних операцій у д-кодах.
- •Система числення в залишкових класах. Її особливість і застосування в обчислювальній техніці.
Класифікація операцій. Формати представлення команд і даних. Чотири-, трьох-, двох-, одно- і нуль-адресні команди. Определение наборов операций
При проектировании ЭВМ надо выбрать такой набор операций Fn , который на заданном классе алгоритмов А обеспечивает требуемую производительность и минимальную стоимость.
В настоящее время формальное решение этой задачи отсутствует, это обусловлено:
отсутствием достоверных данных об алгоритмах, решаемых на ЭВМ общего назначения или проблемно ориентированном ЭВМ
отсутствием методов количественной оценки затрат оборудования в зависимости от используемой системы команд
Эта задача упрощается для специализированного ЭВМ. В этом случае иерархия наборов операций определяется методом структурного программирования.
алгоритм А рассматривается как один оператор
A: F1 = {f1}
оператор разбивается на части, т.е. программируется последовательностью более простых операторов
повтор 2
В конце выполнения этого алгоритма мы получим иерархию наборов операций. Для каждой операции определяем частоту ее выполнения при одной реализации алгоритма.
Ni = ∑ng
Исходя из характеристик выбранной элементарной базы, можно определить среднее время выполнения одной операции, тогда время на выполнение всего алгоритма
Ti = Ni τi
Таким образом, для каждого набора можно определить Ti . Тогда, если задана величина требуемой производительности ЭВМ, то нам нужно выбрать такой набор операций Fm , для которого выполняется условие
T* - Tm ≥ 0
Наборы операций для ЭВМ общего назначения определяются с учетом опыта разработки и эксплуатации ЭВМ. Существует два подхода:
основан на утверждении, что в набор операций надо вводить сложные операции, которые обеспечат требуемую производительность.
требуемая производительность достигнута с использованием простых операций, но за счет структурной организации ЭВМ.
Форматы команд
Для правильной интерпретации устройства управления команда должна иметь определенную структуру – формат команды. У процессоров разных типов форматы команд различны:
КОП |
А |
КОП - поле кода операции
А – адресное поле
Распространены команды:
четырехадресные
КОП |
А1 |
А2 |
А3 |
А4 |
А1 – адрес первого операнда
А2 – адрес первого операнда
А3 – адрес результата
А4 – адрес следующей команды
трехадресные команды
КОП
А1
А2
А3
двухадресные
КОП |
А1 |
А2 |
безадресные
В микропроцессорах используется различные форматы.
Способи адресації операндів. Безпосередня, пряма, непряма й індексна адресації. Призначення й область застосування.
Способы адресации операндов
Вопрос о том, каким образом в адресном поле команды может быть указано местоположение операндов, считается одним из центральных при разработке архитектуры ЭВМ. С точки зрения сокращения аппаратурных затрат очевидно стремление разработчиков уменьшить длину адресного ноля при сохранении возможностей доступа ко всему адресному пространству. С другом стороны, способ задания адресов должен способствовать максимальному сближению операторов языков программирования высокого уровня и машинных команд. Все это привело к тому, что в архитектуре системы команд любой ЭВМ предусмотрены различные способы адресации операндов.
Приступая к рассмотрению способов адресации, вначале определим понятия «исполнительный» и «адресный кол».
^ Исполнительным адресом операнда (Амп) называется двоичный код номера ячейки памяти, служащей источником или приемником операнда. !0ют код полается на адресные входы напоминающею устройства (-:)У), и по нему происходит фактическое обращение к указанном ячейке. Сели операнд хранится не и основной памяти, а в регистре процессора, его исполнительным адресом будет номер регистра.
^ Адресный код команды (АК) — это двоичный код в адресном поле команды, из которого необходимо сформировать исполнительный адрес операнда,
В современных ЭВМ исполнительный адрес и адресный код, как правило, не совпадают, и для доступа К данным требуется соответствующее преобразование. Способ адресации — это способ формирования исполнительного адреса операнда по адресному коду команды. Способ адресации существенно влияет на параметры процесса обработки информации. Одни способы позволяют увеличить емкость адресуемой памяти без удлинения команды, но снижают скорость выполнения операции, другие — ускоряют операции над массивами данных, третьи — упрощают работу с подпрограммами и т.д. В сегодняшних ЭВМ обычно имеется возможность приложения нескольких различных способов адресации операндов к одной и той же операции.
Чтобы устройство управления вычислительной машины могло определить, какой именно способ адресации принят в данной команде, в разных ЭВМ используются различные приемы. Часто разным способам адресации соответствуют и разные коды операции. Другой подход — это добавление в состав команды специального поля способа адресации, содержимое которого определяет, какой из способов адресации должен быть применен. Иногда в команде имеется нескольких полей — по одному на каждый адрес. Отметим, что возможен также вариант, когда в команде вообще отсутствует адресная информация, то есть имеет место неявная адресация. При неявной адресации адресного поля либо просто нет, либо оно содержит не все необходимые адреса—отсутствующий адрес подразумевается кодом операции. Так, при исключении из команды адреса результата подразумевается, что результат помещается на место второго операнда. Неявная адресация применяется достаточно широко, поскольку позволяет сократить длину команды.
Выбор способов адресации является одним из важнейших вопросов разработки системы команд и всей ЭВМ в целом, при этом существенное значение имеет не только удобство программирования, но и эффективность способа. Эффективность способа адресации можно характеризовать двумя показателями: затратами оборудования С и затратами времени Т на доступ к адресуемым данным. Затраты оборудования определяются суммой
С = СВА + СЗУ,
где СВА – затраты аппаратных средств, обеспечивающих вычисление исполнительных адресов; СЗУ – затраты памяти на хранение адресных кодов команд. Обычно СЗУ >> СВА , поэтому при оценке затрат оборудования ограничиваются учетом величины СЗУ. Затраты времени Т определяются суммой времени tФИА формирования исполнительного адреса и времени tЗУ выборки или записи операнда:
T = tФИА + tЗУ.
В настоящее время используются различные виды адресации, наиболее распространенные из которых рассматриваются ниже.
Непосредственная и прямая адресации
При непосредственной адресации (НА) в адресном поле команды вместо адреса содержится непосредственно сам операнд. Этот способ может применяться при выполнении арифметических операции, операций сравнения, а также для загрузки констант в регистры.
Помимо того, что в адресном поле могут быть указаны только константы, еще одним недостатком данного способа адресации является то, что размер непосредственного операнда ограничен длиной адресного поля команды, которое в большинстве случаев меньше длины машинного слова.
Непосредственная адресация сокращает время выполнения команды, так как не требуется обращение к памяти за операндом. Кроме того, экономится память, поскольку отпадает необходимость в ячейке для хранения операнда. В плане эффективности этот способ можно считать «идеальным» (СНА = 0, ТНА = 0), и его можно рекомендовать к использованию во всех ситуациях, когда тому не препятствуют вышеупомянутые ограничения.
При прямой или абсолютной адресации (ПА) адресный код прямо указывает номер ячейки памяти, к которой производится обращение, то есть адресный код совпадает с исполнительным адресом.
При всей простоте использования способ имеет существенный недостаток – ограниченный размер адресного пространства, так как для адресации к памяти большой емкости нужно «длинное» адресное поле. Однако более существенным несовершенством можно считать то, что адрес, указанный в команде, не может быть изменен в процессе вычислений. Это ограничивает возможности по произвольному размещению программы в памяти.
Прямую адресацию характеризуют следующие показатели эффективности СПА = int(log2(Ni)), TПА = tЗУ, где Ni – количество адресуемых операндов.
Косвенная адресация
Одним из путей преодоления проблем, свойственных прямой адресации, может служить прием, когда с помощью ограниченного адресного поля команды указывается адрес ячейки, содержащей полноразрядный исполнительный адрес операнда. Этот способ известен как косвенная адресация (КА).
При косвенной адресации содержимое адресного ноля команды остается неизменным, в то время как косвенный адрес в процессе выполнения программы можно изменять. Это позволяет проводить вычисления, когда адреса операндов заранее неизвестны и появляются лишь в процессе решения задачи. Дополнительно такой прием упрощает обработку массивов и списков, а также передачу параметров подпрограммам.
Недостатком косвенной адресации является необходимость в двукратном обращении к памяти: сначала для извлечения адреса операнда, а затем для обращения к операнду (TКА =2* tЗУ). Сверх того задействуется лишняя ячейка памяти для хранения исполнительного адреса операнда.
Индексная адресация
При индексной адресации (ИА) подполе АС содержит адрес ячейки памяти, а регистр (указанный явно или неявно) – смещение относительно этого адреса. Как видно, этот способ адресации похож на базовую регистровую адресацию. Поскольку при индексной адресации в поле АС находится полноразрядный адрес ячейки памяти, играющий роль базы, длина этого поля больше, чем при базовой регистровой адресации. Тем не менее вычисление исполнительного адреса операнда производится идентично.
Индексная адресация предоставляет удобный механизм для организации итеративных вычислении. Пусть, например, имеется массив чисел, расположенных и памяти последовательно, начиная с адреса N и мы хотим увеличить на единицу все элементы данного массива. Для этого требуется извлечь каждое число из памяти, прибавить к нему 1 и вернуть обратно, а последовательность исполнительных адресов будет следующей: N, N+1, N+2,..., вплоть до последней ячейки, занимаемой рассматриваемым массивом. Значение N берется из подполя АС команды, а и выбранный регистр, насыпаемый индексным регистром, сначала заносится 0. После каждой операции содержимое индексного регистра увеличивается на 1.
Taк как это довольно типичный случаи, и большинстве ЭВМ увеличение или уменьшение содержимого индексного регистра до или после обращения к нему осуществляется автоматически как часть машинного цикла. Такой прием называется автоиндексированием. Если для индексном адресации используются специально выделенные регистры, автоиндексирование может производиться неявно и автоматически. При задействовании для хранения индексов регистров общего назначения необходимость операции автоиндексировання должна указываться в команде специальным битом.
Автоиндексирование с увеличением содержимого индексного регистра носит название автоинкрементной адресации и может быть описано следующим образом:
АИСП = АС + (R), или , АИСП = АС + (R).
В первом варианте, увеличение содержимого индексного регистра происходит после формирования исполнительного адреса, и этот способ называется постинкрементным автоиндексированием. Во втором случае сначала производится увеличение содержимого индексного регистра, и уже новое значение используется для формирования исполнительного адреса. Тогда говорят о преинкрементном автоиндексировании.
Аналогично реализуется автоиндексирование с уменьшением содержимого индексного регистра. Оно носит название автодекрементной адресации. Здесь также возможны два варианта, отличающиеся последовательностью выполнения операции уменьшения содержимого индексного регистра и вычисления исполнительного адреса; постдекрементное автоиндексирование и предекрементное автоиндексирование
Интересным и весьма полезным является еще один вариант индексной адресации — индексная адресация с масштабированием и смещением: содержимое индексного регистра умножается на масштабный коэффициент и суммируется с АС. Масштабным коэффициент может принимать значения 1, 2, 4 или 8. для чего в адресной части команды выделяется дополнительное поле. Описанный способ адресации реализован, например, в микропроцессорах фирмы Intel.
Следует особо отметить, что система команд многих ЭВМ предоставляет возможность различным образом сочетать базовую и индексную адресации в качестве дополнительных способов адресации.
Использование видов адресации
Частота использования различных способов адресации существенно зависит от типа АСК. Для машин со стековой архитектурой очевидно, что основным способам адресации является стековая адресация. Для ЭВМ с аккумуляторной АСК главные способы адресации – это прямая и непосредственная.
Достаточно ясна и ситуация с RISC-архитектурой. Из самой идеи этого подхода вытекает, что преимущественный способ адресации здесь – регистровая адресация.
Более сложным является вопрос о частоте использования различных видов адресации в регистровых ЭВМ. В рамках этой архитектуры существует множество машин с самыми разнообразными списками команд и различными сочетаниями способов адресации, в силу чего дать однозначный ответ относительно наиболее распространенных вариантов практически невозможно.
Основными способами адресации в командах управления потоком команд являются прямая и относительная.
Для команд безусловного и условного перехода (ветвления) наиболее типична относительная адресация, когда в адресной части команды указывается смещение адреса точки перехода относительно текущей команды, то есть смещение относительно текущего содержимого счетчика команд. Использование данного способа адресации позволяет программе выполняется в любом месте памяти – программы становятся перемещаемыми. Среди команд безусловного перехода доля относительной адресации составляет около 90%