- •2. Сравнительная оценка базовых логических элементов
- •4. Типы корпусов микросхем
- •5. Условное графическое обозначение микросхем
- •6. Основы булевой алгебры
- •7. Аксиомы и законы булевой алгебры
- •8. Формы представления логических функций
- •12. Карты Карно для двух, трех, четырех и пяти переменных. Порядок минимизации функций с помощью карт Карно. Примеры минимизации
- •17. Комбинационные устройства: определение, методика проектирования
- •18. Шифраторы
- •19. Дешифратор
- •22, Преобразователи кодов
- •24, Мультиплексоры
- •25. Мультиплексорное дерево
- •27. Демультиплексоры
- •28. Сумматоры и полусумматоры
- •31. Многоразрядные двоичные сумматоры
- •33. Двоичные компараторы
- •35. Мажоритарный элемент
- •36. Программируемые логические матрицы
- •40. Реализация шифраторов, дешифраторов, мультиплексоров и демультиплексоров на плм
- •43. Последовательностные устройства: определение, основные типы устройств, методика проектирования
- •44. Триггеры
- •45. Классификация триггеров по функциональному назначению
- •46. Регистры
- •47. Регистры хранения
- •48. Регистры сдвига
- •49. Счетчики
- •50. Последовательные счетчики
- •51. Параллельные счетчики
- •52. Вычитающий и реверсивный счетчик
- •53. Декадный счетчик
- •64) Постоянные запоминающие устройства
- •65) Увеличение объема памяти запоминающих устройств
- •66) Назначение цап и ацп
- •67) Основные характеристики цап и ацп
- •68) Цап с матрицей взвешенных резисторов
- •69) Цап с матрицей r-2r
- •71) Области применения цап
- •72) Ацп времяимпульсного типа
- •73) Ацп с двойным интегрированием
- •74) Ацп параллельного преобразования (прямого преобразования)
- •75) Ацп последовательного счета (развертывающего типа)
- •76) Ацп следящего типа
- •77) Ацп последовательного приближения (поразрядного уравновешивания)
- •78) Области применения ацп
- •79) Схема выборки и хранения
- •85) Общая структура и принципы функционирования микропроцессорных систем
- •91. Способы адресации операндов. Особенности способов адресации.
- •92. Формат типовой команды микропроцессора. Одноадресные, двухадресные, и трехадресные команды. Классификация групп операций микропроцессора.
- •93. Команды пересылки. Команды арифметических и логических операций.
- •94. Команды сдвига. Команды сравнения и тестирования. Команды управления процессором.
- •95. Команды битовых операций. Операции управления программой.
- •96. Структурная схема, физический интерфейс и условное графическое обозначение однокристального микроконтроллера (мк) к1816ве48.
- •97) Структурная организация центрального процессора мк к1816ве48.
- •98) Организация памяти программ и данных мк к1816ве48.
- •99) Организация системы ввода-вывода мк к1816ве48.
- •100) Организация систем подсчета времени, прерываний и синхронизации мк к1816ве48.
- •101) Средства расширения памяти программ мк к1816ве48: интерфейс, схе-мы подключения, временные диаграммы.
- •102) Средства расширения памяти данных мк к1816ве48: интерфейс, схемы подключения, временные диаграммы.
- •103) Средства расширения ввода-вывода мк к1816ве48: интерфейс, схемы подключения, временные диаграммы.
92. Формат типовой команды микропроцессора. Одноадресные, двухадресные, и трехадресные команды. Классификация групп операций микропроцессора.
Команды процессора могут быть безадресными, одноадресными и двухадресными.
Безадресными являются команды, для выполнения которых не требуется операнд (например, команда останова HALT) или размещение операнда определяется структурой микропроцессора и задается непосредственно кодом операции. Например, в микропроцессорах, использующих регистр-аккумулятор, выполнение ряда команд над одним операндом предполагает, что он размещается в этом регистре.
Одноадресные команды содержат адрес одного операнда. Эти команды используются для выполнения операций над одним операндом, например, сдвигов, логической инверсии, изменения знака и ряда других. В микропроцессорах с аккумуляторной организацией обработки данных такие команды служат также для выполнения операций над двумя операндами, один из которых находится в аккумуляторе.
В двухадресных командах содержатся адреса двух операндов. Если при этом один из операндов выбирается из памяти, то другой операнд хранится в регистре (регистровая адресация) или содержится непосредственно в команде (непосредственная адресация). Результат операции записывается на место одного из операндов, значение которого при этом теряется.
Следует отметить, что в некоторых типах микропроцессоров реализуются также трехадресные команды, где задаются отдельные адреса размещения двух операндов и результата операции. Такие команды используют только регистровую адресацию и выполняются в микропроцессорах с RISC-архитектурой, имеющих значительный объем РЗУ, например, в PowerPC.
Микропроцессоры выполняют набор команд, которые реализуют следующие основные группы операций:
– операции пересылки;
– арифметические операции;
– логические операции;
– операции сдвига;
– операции сравнения и тестирования;
– битовые операции;
– операции управления программой;
– операции управления процессором.
При описании команд обычно используются их мнемонические обозначения (мнемокоды), которые служат для задания команды при программировании на языке ассемблера. Для различных версий ассемблера мнемокоды некоторых команд могут отличаться. Однако мнемокоды большинства команд для основных типов микропроцессоров совпадают или отличаются незначительно, так как они являются сокращениями соответствующих английских слов, определяющих выполняемую операцию. В данном разделе будут в основном использоваться мнемокоды команд, принятые для процессоров Pentium.
93. Команды пересылки. Команды арифметических и логических операций.
Команды пересылки. Основной командой этой группы является команда MOV, которая обеспечивает пересылку данных между двумя регистрами или между регистром и ячейкой памяти. В некоторых микропроцессорах реализуется пересылка между двумя ячейками памяти, а также групповая пересылка содержимого нескольких регистров в память или их загрузка из памяти. Например, микропроцессоры семейства 68ххх компании Motorola выполняют команду MOVE, обеспечивающую пересылку из одной ячейки памяти в другую, и команду MOVEM, которая производит запись в память или загрузку из памяти содержимого заданного набора регистров (до 16 регистров). Команда XCHG производит взаимный обмен содержимым двух регистров процессора или регистра и ячейки памяти.
Команды ввода IN и вывода OUT реализуют пересылку данных из регистра процессора во внешнее устройство или прием данных из внешнего устройства в регистр. В этих командах задается номер интерфейсного устройства (порта ввода-вывода), через которое производится передача данных. Отметим, что многие микропроцессоры не имеют специальных команд для обращения к внешним устройствам. В этом случае ввод и вывод данных в системе выполняется с помощью команды MOV, в которой задается адрес требуемого интерфейсного устройства. Таким образом, внешнее устройство адресуется как ячейка памяти, а в адресном пространстве выделяется определенный раздел, в котором располагаются адреса подключенных к системе интерфейсных устройств (портов).
Команды арифметических операций. Основными в этой группе являются команды сложения, вычитания, умножения и деления, которые имеют ряд вариантов. Команды сложения ADD и вычитания SUB выполняют соответствующие операции с содержимым двух регистров, регистра и ячейки памяти или с использованием непосредственного операнда. Команды ADC, SBB производят сложение и вычитание с учетом значения признака С, устанавливаемого при формировании переноса или заёма в процессе выполнения предыдущей операции. С помощью этих команд реализуется последовательное сложение операндов, число разрядов которых превышает разрядность процессора. Команда NEG изменяет знак операнда, переводя его в дополнительный код.
Операции умножения и деления могут выполняться над числами со знаком (команды IMUL, IDIV) или без знака (команды MUL, DIV). Один из операндов всегда размещается в регистре, второй может находиться в регистре, ячейке памяти или быть непосредственным операндом. Результат операции располагается в регистре. При умножении (команды MUL, IMUL) получается результат удвоенной разрядности, для размещения которого используются два регистра. При делении (команды DIV, IDIV) в качестве делимого используется операнд удвоенной разрядности, размещаемый в двух регистрах, а в качестве результата в два регистра записывается частное и остаток.
Команды логических операций. Практически все микропроцессоры производят логические операции И, ИЛИ, Исключающее ИЛИ, которые выполняются над одноименными разрядами операндов с помощью команд AND, OR, XOR. Операции выполняются над содержимым двух регистров, регистра и ячейки памяти или с использованием непосредственного операнда. Команда NOT инвертирует значение каждого разряда операнда.