
- •Алгоритм, программа, операция, команда, адрес
- •3) Многоуровневая организация эвм
- •4) Аппаратные и программные средства вт.
- •5) Принципы построения систем управления с эвм.
- •11) Назначение и организация памяти эвм.
- •1 2) Иерарх.Организация и сравнительные характеристики устройств памяти.
- •13) Память эвм. Оверлей. Управление оверлеями.
- •14) Классификация бис памяти
- •15) Принципы организации записи и чтения информации на внешних запоминающих устройствах.
- •16) Принцип программного и микропрограммного управления
- •17) Система команд процессора эвм.
- •18) Принудительная адресация микрокоманд. Применение.
- •21) Процессор с программным и микропрограммным управлением.
- •22) Функции и структура операционного устройства
- •23) Программа отладчик. Процесс отладки. Дисассемблер.
- •24) Программирование арифметико-логических устройств.
- •25) Организация алу с фиксированной запятой
- •26) Выполнение операций с плавающей запятой.
- •27) Логические операции.
- •28) Процессор с программным и микропрограммным управлением.
- •30) Иерархическая структура организации цикла команда. Алгоритм выполнения машинного цикла
- •31) Архитектура микропроцессора
- •32) Микропроцессоры с фиксированной разрядностью и списком команд.
- •34) Микро-эвм
- •35) Мп с сокращенным набором команд
- •37) Операция ввода-вывода: программный обмен, обмен по прерыванию, системы прерываний, прямой доступ к памяти.
- •38) Роль прерываний в организации систем реального времени
- •39) Периферийные устройства пк.
- •40) Организация управления памятью
- •41) Управление процессом выполнения программы
- •42) Принципы построения и работы трех типов трансляторов: ассемблеров, компиляторов, интерпретаторов
- •43) Понятие о назначении, составе и порядке использования средств отладки и редактирования пользовательских программ.
- •44) Файловые вирусы в ms dos. Бутовые (загрузочные) вирусы. Другие вирусы.
- •45) Антивирусные технологии
- •46) Защита программ
- •47) Защита локалки
- •48) Трансляторы ассемблера
- •49) Структура ассемблера, адресное пространство.
- •51) При программировании на языке ассемблера используются данные следующих типов:
18) Принудительная адресация микрокоманд. Применение.
Существуют два вида адресации микрокоманд:
принудительная адресация;
естественная адресация.
При естественной адресации адрес следующей микрокоманды принимается равным увеличенному на единицу адресу предыдущей микрокоманды. В этом случае отпадает необходимость во введении адресной части в каждую микрокоманды. Если микрокоманды идут в естественном порядке, то процесс адресации реализуется счетчиком адреса микрокоманды. Для организации безусловных или условных переходов в микропрограмму включаются дополнительные управляющие микрокоманды.
Принудительная адресация микрокоманды заключается в том, что в каждой микрокоманде указывается адрес следующей микрокоманды. Адрес следующей микрокоманды может задаваться безусловно, независимо от значений признаков (осведомительных сигналов, отображающих текущее состояние операционных блоков процессора) или выбираться по условию, определяемому текущими значениями осведомительных сигналов. Для этого в адресную часть МК кроме адресных полей включаются поля для задания условий (осведомительных сигналов).
Структура процессора с принудительной адресацией
Процесс выполнения команд процессором следующий: в начальный момент в
регистр команд (РК) заносится адрес первой выполняемой команды (по сигналу
“Сброс” или “Пуск” или каким либо иным способом). По этому адресу считываются
команда, которая содержат код операции (КОП), адрес операнда (Аоп), а так же
адрес следующей команды (Аск). Поле КОП команды поступает на схему
формирования управляющих сигналов (ДшКОП- дешифратор КОП) которая
вырабатывает нужную последовательность управляющих сигналов y1...yn,
необходимых для выполнения команды в процессоре.
Адрес операнда через РА задает номер ячейки ОП, в которой он хранится.
Операнд, считанный из ячейки памяти с заданным адресом, поступает на
обработку в АЛУ.
Рассмотрим следующий пример. Положим, что процессор имеет следующую систему
команд в машинных кодах (для более краткой записи представим ее в
шестнадцатеричной системе счисления):
01H- вызов операнда из ОЗУ в аккумулятор;
02H- запись содержимого А в ОЗУ;
1АH - команда сложения;
00H – остановка выполнения программы.
Пусть необходимо составить программу сложения 2-х чисел, находящихся в
ячейках ОЗУ с адресами 0841H и 0842H и записать результат в ячейку 0843H.
Программа хранится в ячейках памяти с начальным адресом 1300H. Ширина выборки
команд и данных из ОЗУ - 1 байт.
№ яч |
КОП |
Аоп |
Аск |
Комментарий |
1300 |
01 |
0841 |
1305 |
Вызов 1-го операнда из ОЗУ и переход к считыванию следующей команды из ячейки ОП с номером 1305H. |
1305 |
1А |
0842 |
130А |
Вызов 2-го операнда, сложение и переход к считыванию следующей команды из ячейки ОП с номером 130АH. |
130А |
02 |
0843 |
130F |
Запись результата в ОЗУ и переход к ячейке 130FH. |
130F |
00 |
0000 |
0000 |
Остановка. |
19) Способы адресации операндов и команд.
Большинство команд процессора вполняются с аргументами, которые принято называть операндами.
1. Регистровая адресация
Операнды могут располагаться в любых регистрах общего назначения и сегментных регистрах. В этом случае в тексте программы указывается название соответствующего регистра.
2. Непосредственная адресация
Некоторые команды (все арифметические команды, кроме деления) позволяют указывать один из операндов непосредственно в тексте программы.
3. Прямая адресация
Если известен адрес операнда, располагающегося в памяти, можно использовать этот адрес.
4. Косвенная адресация
По аналогии с регистровыми и непосредственными операндами адрес операнда в памяти также можно не указывать непосредственно, а хранить в любом регистре.
5. Адресация по базе
Такая форма адресации используется в тех случаях, когда в регистре находится адрес начала структуры данных, а доступ надо осуществить к какому-нибудь элементу этой структуры.
6. Косвенная адресация с масштабированием
Этот метод адресации полностью идентичен предыдущему, за исключением того, что с его помощью можно прочитать элемент массива слов, двойных слов или учетверенных слов, просто поместив номер элемента в регистр
7. Адресация по базе с индексированием и масштабированием
Это самая полная возможная схема адресации, в которую входят все случаи, рассмотренные ранее, как частные.
20) Сегментная и страничная адресации памяти
Страничная память
В современных схемах управления памятью не принято размещать процесс в оперативной памяти одним непрерывным блоком.
В самом простом и наиболее распространенном случае страничной организации памяти как логическое адресное пространство, так и физическое представляются состоящими из наборов блоков или страниц одинакового размера. При этом образуются логические страницы, а соответствующие единицы в физической памяти называют физическими страницами или страничными кадрами. Страницыимеют фиксированную длину, обычно являющуюся степенью числа 2, и не могут перекрываться.
Логический адрес в страничной системе – упорядоченная пара (p,d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы p, на которой размещается адресуемый элемент. Заметим, что разбиение адресного пространства на страницы осуществляется вычислительной системой незаметно для программиста. Поэтому адрес является двумерным лишь с точки зрения операционной системы, а с точки зрения программиста адресное пространство процесса остается линейным.
Описываемая схема позволяет загрузить процесс, даже если нет непрерывной области кадров, достаточной для размещения процесса целиком. Но одного базового регистра для осуществления трансляции адреса в данной схеме недостаточно. Система отображения логических адресов в физические сводится к системе отображения логических страниц в физические и представляет собой таблицу страниц, которая хранится в оперативной памяти.
Сегментная и сегментно-страничная организация памяти
Сегменты, в отличие от страниц, могут иметь переменный размер. Идея сегментации изложена во введении. При сегментной организации виртуальный адрес является двумерным как для программиста, так и для операционной системы, и состоит из двух полей – номера сегмента и смещения внутри сегмента
Логическое адресное пространство – набор сегментов. Каждый сегмент имеет имя, размер и другие параметры. В отличие от страничной схемы, где пользователь задает только один адрес, который разбивается на номер страницы и смещение прозрачным для программиста образом, в сегментной схеме пользователь специфицирует каждый адрес двумя величинами: именем сегмента и смещением.
Каждый сегмент – линейная последовательность адресов, начинающаяся с 0. Максимальный размер сегмента определяется разрядностью процессора (при 32-разрядной адресации это 232 байт или 4 Гбайт). Размер сегмента может меняться динамически (например, сегмент стека). В элементе таблицы сегментов помимо физического адреса начала сегмента обычно содержится и длина сегмента. Если размер смещения в виртуальном адресе выходит за пределы размера сегмента, возникает исключительная ситуация.
Логический адрес – упорядоченная пара v=(s,d), номер сегмента и смещение внутри сегмента.
Главная фишка: прогу можно разбить на страницы/сегменты, хранить чисто как адреса на команды(то есть в памяти прога не обязательно будет идти поадресно поочередно), и можно редкоиспользуемые части проги скидывать на хард.