![](/user_photo/2706_HbeT2.jpg)
- •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: интерфейс, схемы подключения, временные диаграммы.
94. Команды сдвига. Команды сравнения и тестирования. Команды управления процессором.
Команды сдвига. Микропроцессоры осуществляют арифметические, логические и циклические сдвиги адресуемых операндов на один или несколько разрядов. Сдвигаемый операнд может находиться в регистре или ячейке памяти, а число разрядов сдвига задается с помощью непосредственного операнда, содержащегося в команде, или определяется содержимым заданного регистра. В реализации сдвига обычно участвует признак переноса С в регистре состояний (SR или EFLAGS), в котором располагается последний разряд операнда, выдвигаемый из регистра или ячейки памяти.
Выполнение основных команд сдвига показано на рис. 8.8. При логических сдвигах влево (SHL) и вправо (SHR) производится заполнение освободившихся разрядов операнда нулями. Команда арифметического сдвига влево SAL реализуется аналогично команде логического сдвига SHL. При арифметическом сдвиге влево производится заполнение освободившихся разрядов значением старшего (знакового) разряда. Поэтому при таком сдвиге сохраняется знак операнда. Два варианта циклических сдвигов выполняются с включением признака С в цепь переноса (команды RCL, RCR) или с использованием признака С для хранения последнего выдвигаемого разряда операнда (команды ROL, ROR).
При выполнении арифметических, логических операций и сдвигов обычно производится установка признаков в регистре состояний в соответствии с полученным результатом.
Команды сравнения и тестирования. Сравнение операндов обычно осуществляется с помощью команды CMP, которая производит вычитание операндов с установкой значений признаков N, Z, V, C в регистре состояний в соответствии с полученным результатом. При этом результат вычитания не сохраняется, и значения операндов не изменяются. Последующий анализ полученных значений признаков позволяет определить относительное значение (<, >, =) операндов со знаком или без знака. Использование различных способов адресации позволяет производить сравнение содержимого двух регистров, регистра и ячейки памяти, непосредственно заданного операнда с содержимым регистра или ячейки памяти.
Некоторые микропроцессоры выполняют команду тестирования TST, которая является однооперандным вариантом команды сравнения. При выполнении этой команды устанавливаются признаки N, Z в соответствии со знаком и значением (равно или не равно нулю) адресуемого операнда.
Рис. 8.8. Реализация команд сдвига
Команды управления процессором. К этой группе относятся команды останова, отсутствия операции и ряд команд, определяющих режим работы процессора или его отдельных блоков. Команда HLT прекращает выполнение программы и переводит процессор в состояние останова, выход из которого происходит при поступлении сигналов прерывания или перезапуска (RESET). Команда NOP («пустая» команда), которая не вызывает выполнения каких-либо операций, служит для реализации программных задержек или заполнения пропусков, образовавших в программе.
Специальные команды CLI, STI запрещают и разрешают обслуживание запросов прерывания, устанавливая соответствующее значение бита управления I в регистре состояния процессора. В процессорах Pentium для этого используется бит управления (флаг) IF в регистре EFLAGS.
Многие современные микропроцессоры выполняют команду идентификации, которая позволяет пользователю или другим устройствам получить информацию о типе процессора, используемого в данной системе. В процессорах Pentium для этого служит команда CPUID, при выполнении которой необходимые данные о процессоре поступают в регистры EAX, EBX, ECX, EDX и могут затем считываться пользователем или операционной системой.
В процессорах, которые имеют внутреннюю кэш-память, реализуются специальные команды, управляющие ее работой. При поступлении этих команд производится очистка (аннулирование содержимого) кэш-памяти, обеспечивается запись в ОЗУ определенных строк кэш-памяти и некоторые другие операции.
В данном разделе описаны только основные группы команд и приведены некоторые примеры типовых команд, выполняемых в наиболее распространенных моделях процессоров. В зависимости от реализуемых процессором режимов работы и заданных типов обрабатываемых данных, набор выполняемых команд может существенно расширяться.
Некоторые процессоры производят арифметические операции с двоично-десятичными числами или выполняют специальные команды коррекции результата при обработке таких чисел. В состав многих высокопроизводительных процессоров входит FPU – блок обработки чисел с «плавающей точкой». Соответственно такие процессоры выполняют большую группу команд, реализующих операции с этими числами и управляющих работой блока FPU.
В ряде современных процессоров реализована групповая обработка нескольких целых чисел или чисел с «плавающей» точкой с помощью одной команды по принципу SIMD («Single Instruction-Multiple Data») – «Одна команда – Множество данных». Одновременное выполнение операций над несколькими операндами существенно повышает производительность процессора при работе с видео- и аудиоданными. Такие операции широко используются для обработки изображений, звуковых сигналов и в других приложениях. Для выполнения этих операций в состав процессоров введены специальные блоки, реализующие соответствующие наборы команд, которые в различных типах процессоров (Pentium, Athlon) получили название MMX («Multi-Media Extension») – Мультимедийное расширение, SSE («Streaming SIMD Extension») – Потоковое SIMD-расширение, «3D-Extension» – Трехмерное расширение.