- •Цифровые эвм
- •§1.2 Структуры типичных микроЭвм
- •§1.3 Архитектура микро- и мини – эвм
- •§1.4 Архитектура эвм
- •§1.5 Ортогональность архитектуры микропроцессоров.
- •§2. Микропрограммные устройства управления §2.1 Структура микропрограммных устройств
- •§2.2 Способы записи микропрограмм
- •1) Гса должна содержать одну начальную, одну конечную вершину и конечное множество операторных и условных вершин;
- •2) Каждый выход гса соединяется только с одним входом;
- •3) Входы и выходы различных вершин соединяются дугами, направленными от выхода к входу;
- •4) Для любой вершины гса существует, по крайней мере, один путь из этой вершины к конечной вершине, проходящей через операторные и условные вершины в направлении соединяющих их дуг;
- •§2.3 Микропрограммный принцип управления операциями
- •1) Определение формата операционной части мк;
- •2) Синтез формата адресной части мк;
- •3) Синтез структурной схемы автомата;
- •4) Построение карты программирования пзу или плм.
- •§2.4 Синтез мпа с использованием “жёсткой” логики
- •2. Прибавить к содержимому сумматора первое частичное произведение.
- •3. К содержимому сумматора прибавить сдвинутое на разряд вправо второе частичное произведение.
- •4. Далее аналогично прибавить третье, четвертое и последующие частичные произведения.
- •§2.5 Выбор схемы операционного устройства
- •1) Два регистра (регистр множимого rg2 и регистр множителя rg1);
- •2) Сумматор (5м);
- •3) Счетчик (ст) для подсчета числа суммирований. На рис. 2.9 показаны обозначения этих узлов на схемах.
- •§3. Запоминающие устройства §3.1 Запоминающие устройства и их назначение
- •§3.2Классификация и основные характеристики полупроводниковых зу
- •§3.3 Статические озу
- •§3.4 Динамические озу
- •§3.5 Память на пзс
- •§3.7 Функциональные схемы озу
- •§3.8 Функциональные схемы пзу и ппзу
- •§3.9 Организация многокристальной памяти
- •§3.10 Программирование пзу
- •§3.11 Программируемые логические матрицы
- •§4. Процессоры и микропроцессоры §4.1Классификация микропроцессоров
- •§5.Сравнение архитектур микропроцессоров
- •§5.1 Архитектуры микропроцессоров.
- •§5.2 Ортогональность архитектуры микропроцессоров.
- •§5.3 Основные принципы построения устройств обработки цифровой информации
- •Существует два основных типа управляющих автоматов:
- •1) Управляющий автомат с жесткой логикой.
- •2) Управляющий автомат с хранимой в памяти логикой.
- •§5.4 Принципы организации арифметико – логических устройств.
- •§5.5 Классификация алу
- •1) Для чисел с фиксированной запятой;
- •2) Для чисел с плавающей запятой;
- •3) Для десятичных чисел.
- •§5.6 Структура и формат команд. Кодирование команд.
- •1) Команды арифметических операций для чисел с фиксированной и плавающей запятой;
- •§6.Проектирование микро - эвм
- •§6.1.Функциональные блоки и организация управления в микро - эвм §6.1.1Общие сведения
- •§6.1.2. Структура операционного устройства
- •§6.1.3. Структура устройства управления
- •1. Безусловный переход из адреса Ai по адресу Aj определенному одним из способов адресации (рис. 6.7,а).
- •Однокристальные эвм §7.Описание микроконтроллеров 8051, 8052 и 80c51 §7.1 Вступление
- •§7.2Специальные функциональные регистры
- •§7.3 Структура и работа портов
- •§7.3.1 Конфигурации ввода-вывода
- •§7.3.2 Запись в порт
- •§7.3.3 Загрузка и согласование портов.
- •§7.3.4 Особенность чтения-модификации-записи
- •§7.4.Доступ к внешней памяти
- •§7.5 Таймер/счетчик
- •Таймер 0 и Таймер 1
- •Режим 0 (mode 0)
- •М1 м0 Режим
- •§7.5 Последовательный интерфейс
- •§7.5.1 Многопроцессорные связи
- •§7.5.2 Управляющий регистр последовательного порта
- •§7.5.4 Скорость приема/передачи
- •§7.5.5Использование таймера 1 для задания скорости приема/передачи
- •Дополнительные сведения о режиме 0
- •Дополнительные сведения о режиме 1
- •Дополнительные сведения о режимах 2 и 3
- •Прерывания
- •§7.6 Структура уровней приоритета
- •Перехват прерываний
- •Внешние прерывания
- •Время отклика
- •Одношаговые операции
- •Версии микросхем с сппзу
- •Две схемы блокировки программной памяти
- •Защита пзу
- •Внутричиповые осцилляторы
- •Осцилляторах mcs-51
- •Внутренняя синхронизация
- •§8.1.Введение
- •§8.2. Обзор характеристик
- •Отличия pic16c84 от pic16c5x
- •Mаркировка при заказе
- •Разводка ножек
- •Прямая адресация.
- •Проблемы с таймером
- •Регистр статуса
- •Программные флаги статуса
- •Аппаратные флаги статуса
- •Организация встроенного пзу
- •Pc и адресация пзу
- •Стек и возвраты из подпрограмм
- •Данные в eeprom
- •Управление eeprom
- •Организация прерываний
- •Регистр запросов и масок
- •Внешнее прерывание
- •Прерывание от rtcc
- •Прерывание от порта rb
- •Прерывание от eeprom
- •Обзор регистров/портов
- •2) Прочитать порт в. Это завершит состояние сравнения.
- •Проблемы с портами
- •Обзор команд и обозначения
- •Условия сброса
- •Алгоритм сброса при вал. Питания
- •Watch Dog таймер
- •Типы генераторов.
- •Генератор на кварцах
- •Rc генератор.
- •Внешнее возбуждение. Регистр option
- •Подключения делителя частоты
- •1. Movlw b`xx0x0xxx` ;выбрать внутреннюю синхронизацию и новое
- •Конфигурационное слово
- •01 Xt генератор
- •10 Hs генератор
- •11 Rc генератор
- •Индивидуальная метка
- •Защита программ от считывания
- •1) Запрограммируйте и проверьте работу исправного кристалла.
- •2) Установите защиту кода программы и считайте содержимое программной памяти в файл-эталон.
- •3) Проверяйте любой защищенный кристалл путем сравнения его программной памяти с содержимым этого эталона.
- •Режим пониженного энергопотребления.
- •1. Внешний сброс - импульс низкого уровня на ножке /mclr.
- •2. Сброс при срабатывании wdt(если он разрешен)
- •3. Прерывания. (Прерывание с ножки int, прерывание при изменении порта b, прерывание при завершении записи данных eeprom).
- •Максимальные значения электрических параметров
- •1. Полная рассеиваемая мощность не должна превышать 800 мВт для каждого корпуса. Рассеиваемая мощность вычисляется по следующей формуле:
- •Скоростные характеристики:
- •§8.3. Что такое pic ?....
- •Hабор регистров pic
- •Регистр косвенной адресации ind0
- •Регистры общего назначения
- •Сторожевой таймер wdt
- •Тактовый геhератор
- •Xt кварцевый резонатор
- •От теории - к практике...
- •Initb equ b'00000000' ; ; Рабочая секция ; ; начало исполняемого кода
- •Пример программы
- •Ассемблироваhие
- •Программироваhие
- •Набор команд pic
- •Incf scratch,0 ;увеличить scratch на 1
- •Iorwf dataport,1 ;установить биты в поpте b по маске w
- •Iorlw 09h ;установить 0-й и 3-й биты Светодиоды покажут 00011001.
- •Xorlw b'11111111' ;пpоинвеpтиpовать w Светодиоды покажут 11011111.
- •Comf scratch,0 ;инвеpтиpовать scratch Светодиоды покажут 10101010.
- •Специальные команды
- •§9.Введение вAdsp §9.1. Обзор
- •§9.2. Функциональные устройства
- •§9.3. Интерфейс системы и памяти
- •§9.4. Набор команд
- •§9.5. Рабочие характеристики цифровых сигнальных процессоров
- •§9.6. Базовая архитектура
- •§9.7. Вычислительные устройства
- •§9.8. Генераторы адреса и программный автомат
- •§9.9. Шины
- •§9.10. Другие устройства на кристалле
- •§9.11. Последовательные порты
- •§9.12. Таймер
- •§9.13. Порт интерфейса хост-машины (adsp-2111, adsp-2171, adsp-21msp5x)
- •§9.14. Порты прямого доступа к памяти (adsp-2181)
- •§9.15. Аналоговый интерфейс
- •§9.16. Система программно – аппаратных средств отладки процессоров семействаAdsp - 2100
- •§9.17. Генераторы адреса и программный автомат
- •§10Вычислительные устройства §10.1. Обзор
- •Последовательности двоичных символов
- •Беззнаковый формат
- •Знаковые числа в дополнительном коде
- •§10.2. Арифметико – логическое устройство (алу)
- •Блок-схема алу
- •Стандартные функции
- •Регистры ввода/вывода алу
- •Возможность операций с повышенной точностью
- •Режим насыщения алу
- •Режим фиксации переполнения алу
- •Деление
- •§10.3. Умножитель – накопитель (умножитель)
- •Арифметические операции умножителя
- •Арифметические операции устройства сдвига
- •Операции умножителя-накопителя
- •X*y Умножение операндов х и y
- •Форматы ввода данных
- •Регистры ввода/вывода умножителя-накопителя
- •§10.4. Устройство циклического сдвига
- •Денормализация
- •Нормализация
- •§11. Управление программой
- •§11.1. Обзор
- •§11.2. Программный автомат
- •§11.3 Команды управления программой
- •§11.4. Контроллер прерываний
- •§11.5. Условные команды
- •§12. Дополнительное аппаратное обеспечение §12.1. Обзор
- •§12.2. Начальная загрузка через хост – машину с использованием процедур запроса и предоставления шины
- •1) Для перезапуска процессора семейства adsp-2100 pb8 устанавливается низким.
- •§12.4. Сопряжение последовательного порта с цап
- •§12.5. Сопряжение последовательного порта с ацп
- •§12.6. Сопряжение последовательного порта с другим последовательным портом
- •§12.7. Сопряжение микрокомпьютера 80с51 с портом интерфейса хост – машины
- •§12.8. Обзор
- •§13. Программное обеспечение §13.1. Процесс отладки системы
- •§14. Система команд мп типа к580ик80
- •§14.1 Способы адресации мп
- •§14.2 Команды мп
- •§14.3 Пояснения к некоторым командам
- •§15. Архитектура микропроцессора z-80
- •§15.1 Назначение выводов
- •§15.2 Логическая организацияZ80
- •Устройство управления.
- •Регистры пользователя (основные регистры).
- •Регистровая пара hl.
- •Набор альтернативных регистров.
- •Арифметико-логическое устройство (алу).
- •§15.3 Система команд микропроцессора z – 80. Команды и данные.
- •3. Двухбайтовый адрес (addv).
- •4. Однобайтовая константа смещения.
- •Группа команд
- •Группа 1. Команда «нет операции»
- •Группа 2. Команды загрузки регистра константами.
- •Группа 4.Команды загрузки регистров из памяти.
- •Группа 5.Команды записи в память содержимого регистра или константы.
- •Группа 6.Команды сложения.
- •Группа 7.Команды вычитания.
- •Группа 8.Команды сравнения.
- •Подгруппа b. Команда or.
- •Подгруппа c. Команда xor.
- •Группа 11. Команда стека.
- •2.Адрес addr затем записывается в счетчик команд, и выполняется программа.
- •3.По команде ret осуществляется возврат из программы.
- •§16.Микросхема 80130
- •§17.Микросхема 80186
- •§18.Микросхема 80286
- •Verr — Проверить доступ по считыванию
- •Verw — Проверить доступ по записи
- •Определение состояния цикла шины процессора 80286
- •§19.Микропрцессоры серииiX86 фирмы intel Выбор в программе на Ассемблере типа процессора
- •§19.1. Процессоры 80186 и 80188
- •Новые инструкции
- •Инструкции pusha и popa
- •Инструкции enter и leave
- •Инструкция bound
- •Инструкции ins и outs
- •Расширенные версии инструкций процессора 8086
- •Imul si,10 это просто сокращенная форма инструкции:
- •§19.2. Процессор 80286
- •§19.3. Процессор 80386
- •Новые типы сегментов
- •Новые регистры
- •Новые сегментные регистры
- •Новые режимы адресации
- •Процессор 80386, новые инструкции
- •Проверка битов
- •Просмотр битов
- •Преобразование данных типа dword или qword
- •Сдвиг нескольких слов
- •Условная установка битов
- •Загрузка регистров ss, fs и gs
- •Расширенные инструкции
- •Специальные версии инструкции mov
- •Новые версии инструкций loop и jcxz
- •Новые версии строковых инструкций
- •Инструкция iretd
- •Инструкции pushfd и popfd
- •Инструкции pushad и popad
- •Новые версии инструкции imul
- •Imul ebp,ecx,100000000h а следующая инструкция умножает ecx на ebx, записывая результат в edx:eax:
- •Технический обзор Новое поколение процессоров фирмы intel
- •Pentium процессор. Технические нововведения.
- •Архитектура Pentium процессора
- •Суперскалярная архитектура.
- •Блок предсказания правильного адреса перехода.
- •Высокопроизводительный блок вычислений с плавающей запятой.
- •Расширенная 64-битовая шина данных.
- •Средства разделения памяти на страницы.
- •Определение ошибок и функциональная избыточность.
- •Управление производительностью.
- •§22.Введение в команды mmx.
- •§22.1. Регистры
- •§22.2. Префиксы
- •§22.3.Распаровка (paring).
- •§22.4. Типы данных
- •§22.5. Краткое описание команд
- •§23.Логическая структура микропроцессорной системы на основе комплекта бис секционного микропроцессора §23.1. Комплект бис секционного микропроцессора.
- •§23.2. Бис микропрограммного управления на основе программируемой логической матрицы (плм).
- •§23.3. Комплект бис для построения электронной системы.
- •§24. Обзор секционируемых мпк бис §24.1. Микропроцессорный комплект серии кр1802
- •§24.1.1. Восьмиразрядная микропроцессорная секция (мс) кр1802вс1.
- •§24.1.2. Двухадресная память общего назначения кр1802ир1.
- •§24.1.3. Шестнадцатиразрядный арифметический расширитель кр1802вр1.
- •§24.1.4. Схема обмена информацией (ои) кр1802вв1.
- •§24.1.5. Бис интерфейса (бис и) кр1802вв2.
- •§24.1.6. Сумматор (см) к1802им1.
- •§24.1.7. Км1802врз—умножитель двух 8-разрядных чисел.
- •§24.1.8. Км1802вр4—умножитель двух 12-разрядных чисел.
- •§24.1.9. Км1802вр5—умножитель двух 16-разрядных чисел.
- •§24.2. Микропроцессорный комплект серии к1804
- •§24.2.1. Центральные процессорные элементы к1804вс1 и к1804вс2
- •§24.3. Микропроцессорный комплект серии к587 §24.3.1. Арифметическое устройство к587ик2.
- •§24.3.2. Управляющая память к587рп1.
- •§24.3.3. Устройство обмена информации к587ик1.
- •§24.3.4. Арифметический расширитель к587икз.
- •§24.3.5. Архитектурные особенности построения управляющей микро-эвм на базе мпк серии к587
§22.4. Типы данных
МMX поддерживает данные в упакованном формате. Это означает, что каждый 64-битовый регистр MMX может интерпретироваться как:
1. Восемь байтов;
2. Четыре слова;
3. Два двойных слова;
4. Одна 64-разрядная переменная. То, как интерпретируется конкретный регистр, отлично отображается в мнемонике команды. К примеру, инструкция PADDB складывает два операнда, полагая, что они являются набором байтов, a PADDW считает операнды набором слов.
Все инструкции можно разбить на следующие группы3':
|
Умножение |
PMULHW |
PMULLW |
|
Вычитание |
PSUBB |
PSUBD |
|
|
PSUBSB |
PSUBSW |
|
|
PSUBUSB |
PSUBUSW |
|
|
PSUBW |
|
команды сравнения
проверка равенства
PCMPEQB PCMPEQD
PCMPEQW сравнение PCMPGTB PCMPGTD
PCMPGTW
команды упаковки/распаковки
PUNPCKHBW PUNPCKHDQ PUNPCKHWD PUNPCKLBW PUNPCKLDQ PUNPCKLWD PACKSSDW PACKSSWB PACKUSWB
|
Логические команды |
|
|
PAND |
PANDN |
|
POR |
PXOR |
|
Команды передачи данных |
|
|
MOVD |
MOVQ |
|
Команда |
сдвига |
|
|
|
Логический сдвиг |
Влево |
|
|
PSLLD |
PSLLQ |
|
|
PSLLW |
|
|
|
|
|
|
Арифметические команды |
|
Арифметический сдвиг вправо PSRAD PSRAW | |
|
Сложение PADDB |
PADDD |
| |
|
PADDSB PADDUSB |
PADDSW PADDUSW |
Логический сдвиг вправо PSRLD PSRLQ | |
|
PADDW |
|
| |
|
Сложение и умножение |
Команды, очищавшие регистры | ||
|
PMADDWD |
|
EMMS | |
§22.5. Краткое описание команд
Приведем описание лишь некоторых инструкций, помогающих понять суть работы ММХ.
MOVD
Формат MOVD mmregl, reg32/mem32
MOVD reg32/mem32, mmregl Описание
Инструкция MOVD пересылает 32 младших бита регистра ММХ в регистр общего назначения или память Или же из регистра общего назначения/памяти в регистр ММХ В последнем случае, кроме собственно пересылки, биты 32-64 соответствующего регистра обнуляются
PADDB
Формат
PADDB mmregl, mmreg2/mem64 Описание
Складывает восемь 8-разрядных чисел операнда источника (ММХ - регистра или 64-разрядного поля памяти) и восемь 8-разрядных чисел операнда-получателя (регистра ММХ) В случае переполнения полученные значения заворачиваются (то есть 255+10=9) без установки флага переноса при подсчете последующих байтов Результат помещается в операнд-получатель
PADDSW
Формат PADDSW mmregl, mmreg2/mem64
Описание
Складывает четыре 16-битных числа со знаком операнда источника (регистра ММХ или 64-разрядного поля памяти) и четыре соответствующих значения операнда-получателя (регистра ММХ) Если сумма каких-либо двух из них менее чем -32768 (8000h), то результат сложения -32768 (8000h) Аналогично в случае, когда сумма превышает 32767 (7FFFh), возвращаемый результат — 32767 (7FFFh) Результат заносится в операнд-получатель Следующий список возможных ситуаций помогает понять, как происходит сложение.
Если число D250h (-11696) складывается с 88Q7h (-30713), то получаемый результат 8000h (-32768) — минимально возможное 16-разрядное число.
Если число 5321h (+21281) прибавляется в ЕС22h (-5086), то получаемый результат 3F43h (+ 16195).
Сумма 16-разрядного числа7007П (+28679) и OFF9h (+4098) дает результат 7PFFh (+32767) — максимально возможное положительное число.
Если к FFFFh(-1) прибавить FFFFh(-1), то получим FFFEh (-2)/
Описание:
Инструкция PAND выполняет логическую операцию «и» над операндами Результат заносится в операнд-получатель Если соответствующие биты источника и получателя равны единице, то значение итогового бита единица Эта команда может использоваться для распаковки упакованных переменных при помощи маски, полученной от инструкций сравнения PCMPEQ и PCMPGT
PCMPEQB
Формат :
PCMPEQB mmregl, mmreg2 /mem64
Описание
Сравнивает источник с получателем, рассматривая операнды как упакованные байты. Если биты операндов эквивалентны, то все биты 8-разрядной части получателя устанавливаются равными единице, в противном случае они обнуляются.
PCMPGTD
Формат
PCMPGTB mmregl, mmreg2/mem64
Описание
Аналогична PCMPEQ, но в отличие от нее биты в целевом операнде устанавливается в том случае, когда байт целевого операнда больше соответствующего байта операнда источника.
PACKUSWB
Формат
PACKUSWB mmregl, mmreg2/mem64 Описание
Переводит восемь знаковых слов, задаваемых аргументами (по четыре слова в каждом), в восемь беззнаковых байтов. После чего результат сохраняется в mmregl. Сатурация при этом происходит следующим образом
• если слово содержит отрицательное число, то соответствующий ему байт будет равен нулю,
• если значение слова превышает 255, то соответствующий ему байт будет равен 255
Рис. А Команда PACKUSWB
![]()
|
PAND |
|
|
|
Формат |
|
|
|
PAND |
mmregl, |
inmreg2/mem64 |
Команды ММХ имеют такой формат:
инструкция mmreg1, mmreg2/mem64
То есть источником может быть как переменная памяти, так и регистр ММХ. А целевым может быть только регистр ММХ, К тому же MOVD и MOVQ допускают пересылки из регистров ММХ в память, Одним из первых вопросов у меня был, зачем так много команд? Ведь количество операций не так уж и велико... Дело в том, что название команды формируется из двух частей. Первая часть говорит о том, что она делает (MOV, PSUB, PADD). Вторая же говорит о том, как она интерпретирует операнды. Рассмотрим команду PACKUSWB. Первая часть строки — PACK — указывает, что будем что-то упаковывать. Вторая же — USWB — в свою очередь разбивается на две — US и WB. US говорит о том, что результат будет беззнаковым с сатурацией4', WB же указывает, что источник — упакованные слова, результат — упакованные байты. Благодаря такой записи смысл инструкции схватывается «на лету», по этой же причине и команд так много. Приведем полный перечень мнемоник:
Р— упакованные данные (Packed data)
В— байт (byte)
W— слово (word)
D— двойное слово (DoubleWord)
Q— 64-битовая переменная (QuadWord)
S— знаковая (Signed)
U— беззнаковая (Unsigned)
SS— знаковая с сатурацией (Signed Saturation)
US—беззнаковая с сатурацией (Unsigned Saturation)
Итак, появились процессоры с ММХ — ряд процессоров Intel—Pentium и новый процессор AMD Кб. Допустим, мы их купили, и они уже исправно на нас работают. Будут ли мультимедийные приложения работать быстрее? Ответ — да. Благодаря новому набору команд ММХ? Ответ - нет. Дело в том, что процессор Intel-Pentium с технологией ММХ отличается от своего собрата без таковой не только набором команд, но и тем, что у него:
• вдвое больший кэш первого уровня (32Кб),
• улучшенный блок предсказания условных переходов,
• углубленный конвейер.
За счет этого производительность Pentium ММХ возросла на стандартных тестах на 10-20%. Когда же преимущества станут ощутимы в полной мере? Увы — не мгновенно. Действительно, факт появления этой технологии на свет не решает наших проблем. Нужно подождать, пока не раскачаются программисты и не напишут приложения, использующие команды, ММХ. Очевидно, что рано или поздно это произойдет. Вопрос только, когда.
Вообще существует множество задач, где ММХ приходится весьма кстати. К примеру, ММХ прекрасно подходит для задач обработки звука, Действительно, оцифрованный звук задается последовательностью 8-, 16- или 32-разрядных чисел. По этой причине, если нам нужно, к примеру, воспроизвести два звука одновременно, то согласно теореме о суперпозиции нам следует сложить соответствующие последовательности чисел. Тут ММХ на высоте. Кроме того, как нельзя кстати приходится возможность складывать с сатурацией. В результате скорость может быть повышена в 4-5 раз.
Однако разрядность ММХ - регистров, к сожалению, мала. Поэтому некоторые классы задач сложно приспособить к использованию этой мощи. К примеру, в графике часто нужно выполнить операцию умножения матрицы на матрицу или вектора на матрицу. Казалось бы, вот где ММХ понадобится. Однако в большинстве задач в качестве элементов матрицы или вектора используются числа с плавающей точкой. Вывод — ММХ тут не применишь. Правда, можно в качестве элементов использовать числа с фиксированной точкой. Размер такого числа — четыре байта. То есть в один регистр поместится только два элемента вектора. Тонкость тут в том, что в случае трехмерных преобразований скалярное произведение нужно считать от двух трехэлементных векторов... Решить проблему можно — использовать для этого два ММХ - регистра: в первом — два элемента, во втором — один. Однако выигрыш при этом будет не столь значителен, как хотелось бы.
К чему же мы пришли? Очевидно, что технология ММХ — это шаг вперед. Аббревиатура ММХ уже стала символом революции. Недаром корпорация Intel пыталась в судебном порядке запретить ее использовать AMD (впрочем, безуспешно). ММХ - технология прекрасно вписывается в существующую архитектуру микропроцессора. Сохраняется полная совместимость с уже написанными программными продуктами. Хотя наряду с этим видны и ограничения, заложенные в нее, которые со временем нужно будет преодолевать.
