- •Магомедов и. А. Микропроцессорные системы. Аппаратные и программные средства.
- •Глава 1. Микропроцессоры
- •Глава II. Программирование микропроцессоров
- •Глава III. Лабораторный практикум по программированию мп i80х86
- •Глава 1. Микропроцессоры
- •1.1. Назначение микропроцессоров
- •1.2. Универсальные микропроцессоры
- •1.2.2. Микропроцессоры компании amd
- •1.2.3. Микропроцессоры компании Cyrix
- •1.2.4. Микропроцессоры с архитектурой Alpha
- •1.2.5. Микропроцессоры с архитектурой sparc
- •1.2.6. Микропроцессоры Hewlett-Packard ра-8000
- •1.3. Микропроцессоры обработки сигналов
- •1.3.1. Сигнальные микропроцессоры компании
- •1.3.2. Сигнальные микропроцессоры компании Motorola
- •1.3.3. Микропроцессоры семейства dsp 560хх
- •1.4. Медийные микропроцессоры
- •1.5. Транспьютероподобные микропроцессоры
- •1.6. Нейропроцессоры
- •Глава II. Программирование микропроцессоров
- •2.1. Программная модель 32-разрядных процессоров
- •2.1.2. Типы данных
- •2.1.3. Регистры процессора
- •2.2. Форматы команд
- •2.3. Выбор операнда
- •2.4. Режимы адресации
- •Вопросы для самоконтроля к главе 2
- •Глава III. Лабораторный практикум по программированию мп i86
- •Обобщенная структурная схема микропроцессора х86
- •Организация основной памяти и средства аппаратной поддержки управления памятью
- •Выполнение программы
- •Формат операторов ассемблера
- •Определение полей памяти для размещения данных.
- •3.2. Операнды команд ассемблера
- •Команда пересылки данных
- •Команда загрузки исполнительного адреса
- •Команды загрузки указателя.
- •Команда записи в стек
- •Команда обмен данными
- •Команды сложения/ Команды вычитания
- •Команда изменения знака
- •Команда добавления /вычитания единицы
- •Команда сравнения
- •Команды умножения/ деления
- •Команда преобразования байта в слово, а слова - в двойное слово.
- •Команды передачи управления
- •Команды условного перехода
- •Команды организации циклической обработки
- •Команда перехода по обнуленному счетчику
- •Команды организации цикла с условием
- •Команды вызова подпрограмм
- •Команда возврата управления
- •Команды обработки строк
- •Логические команды
- •2. Программирование циклических процессов.
- •3. Моделирование одномерных массивов
- •4. Моделирование матриц
- •5. Преобразования ввода-вывода.
- •3.4. Основные команды отладчика afd
- •Fspec определяет имя файла, наименованного в соответствии с соглашениями dos. Для команды l расширением по умолчанию является “exe”;
- •String задает список значений или ascii строк (строка заключена в кавычки) разделенных пробелами или запятой.
- •Например: 1234 bx, ‘tromb’ ff.
- •Лабораторная работа № 1 Создание выполнимого файла, работа в отладчике, изучение оператора пересылки mov
- •Оператор mov
- •Индивидуальные задания
- •Лабораторная работа № 2 Сегментация памяти, директивы ассемблера
- •Прямая адресация
- •Косвенная адресация
- •Директива assume
- •Индивидуальные задания
- •Лабораторная работа №.3 Директивы equ, label, команды сложения и вычитания Директива equ
- •Директива label
- •Команды сложения и вычитания
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Лабораторная работа № 4 Изучение операторов обмена xchg и xlat
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Система команд процессораi486
- •П1. Команды пересылки данных
- •П2. Арифметические команды
- •П3. Логические команды
- •П4. Команды переходов
- •П5. Команды процессора i486
1.3.1. Сигнальные микропроцессоры компании
Texas Instruments
Сигнальные процессоры компании Texas Instruments [8, 22-26] разделяются на два класса: это процессоры для обработки чисел с фиксированной точкой и процессоры для обработки чисел с плавающей точкой. Первый класс представлен тремя семействами процессоров, базовыми моделями которых являются соответственно TMS320.10/.20/.50. Второй класс включает процессоры TMS320.30/.40, TMS320C80, которые поддерживают операции с плавающей точкой и представляют собой мультипроцессорную систему, выполненную в одном кристалле, а семейство TMS320C6x включает процессоры как с фиксированной, так и с плавающей точкой.
Процессоры старших поколений одного семейства наследуют основные архитектурные особенности и совместимы «снизу вверх» по системе команд (чего нельзя сказать о процессорах, входящих в разные семейства).
М
икропроцессоры
семейства TMS320Clx.
Первый
процессор семейства TMS320CIO был выпущен
в 1982 г. и благодаря ряду удачных технических
решений получил широкую распространенность
[8]. Структура типичного представителя
семейства - микропроцессора TMS320C15
приведена на рис. 1.12.
В основу микропроцессора положена модифицированная Гарвардская архитектура, отличием которой от традиционной Гарвардской архитектуры является возможность обмена данными между памятью программ и памятью данных, что повышает гибкость устройства.
TMS320CIO является 16-разрядным процессором. Его адресное пространство составляет 4К 16-разрядных слов памяти программ и 144 16-разрядных слов памяти данных. Длительность командного такта процессора составляет 160-200нс.
Арифметические функции в процессоре реализованы аппаратно. Он имеет аппаратный умножитель (MULT), устройство сдвига (SHIFTER), аппаратную поддержку автоинкремента/декремента адресных регистров данных.
С внешними устройствами процессор взаимодействует через восемь 16-разрядных портов ввода/вывода. Предусмотрена возможность обработки внешнего прерывания.
Другие микропроцессоры данного семейства (С14-С17) имеют аналогичную архитектуру и отличаются длительностью командного такта, конфигурацией памяти, наличием (или отсутствием) дополнительных периферийных устройств (например, в С17- кодек данных по /А-закону, преобразователь логарифмической импульсно-кодовой модуляции (ИКМ) в линейную ИКМ).
Микропроцессоры семейства TMS320C2x имеют аналогичную архитектуру, но обладают повышенной производительностью и более широкими функциональными возможностями [41]. Все процессоры семейства поколения могут использовать по 64К слов памяти программ и данных, имеют по шестнадцать 16-разрядных портов ввода/вывода и последовательный порт.
1.3.2. Сигнальные микропроцессоры компании Motorola
Аппаратура связи и передачи данных, средства гидро- и радиолокации, медицинское оборудование и робототехника, управление двигателями, оружием и станками, автомобильная электроника и авионика, телевидение и измерительная техника, приборы контроля за состоянием объектов и окружающей среды, радиовещание и высококачественное воспроизведение звука, компьютерные технологии - вот далеко не полный перечень технических приложений, где методы и средства цифровой обработки сигналов (ЦОС) обеспечивают принципиально новое качество. Определяющим в упомянутых приложениях является требование обработки сигналов в реальном масштабе времени. Это обстоятельство привело к созданию специального класса приборов, получивших название - цифровые процессоры обработки сигналов (ЦПОС) или коротко сигнальные процессоры. Следует сказать, что однокристальные ЭВМ и микроконтроллеры способны решать задачи ЦОС. Более того, многие из них приспособлены для этих целей, обладая необходимыми интерфейсными устройствами. Однако область применения таких процессоров ограничена обработкой сигналов в относительно узком частотном диапазоне с помощью сравнительно простых алгоритмов.
Область применения цифровых сигнальных процессоров фирмы Motorola чрезвычайно обширна [8, 27]. Это обусловлено, с одной стороны, взрывным внедрением методов цифровой обработки сигналов практически во все виды человеческой деятельности в последние годы, а с другой широкой номенклатурой ЦПОС фирмы Motorola, покрывающей все типы ЦПОС (16-разрядных, 24-разрядных, с плавающей точкой).
Сигнальные микропроцессоры фирмы Motorola представлены тремя классами устройств: 24 - разрядные сигнальные процессоры с арифметикой фиксированной точки, включающие семейства DSP5600x и DSP5630x, 16 разрядные сигнальные процессоры с арифметикой фиксированной точки, включающие семейства DSP561xx, DSP5660x и DSP568xx, и DSP96002 - мощный 32 - разрядный сигнальный микропроцессор с арифметикой плавающей точки.
Целесообразность трех классов ЦПОС, отличающихся организацией внутренней арифметики, обусловлена, прежде всего, различными требованиями по точности обработки сигналов и динамическому диапазону. Например, динамический диапазон речевых сигналов в телефонном канале, как правило, не превышает 40 дБ и надежно реализуется 16-ти разрядной арифметикой. Сигналы же высококачественного звуковоспроизведения имеют динамический диапазон более 90 дБ, и его очень сложно обеспечить, используя 16-ти разрядную арифметику. В крайнем случае применяют искусственное удвоение арифметики, что значительно увеличивает объем программы и времени обработки. Арифметика плавающей точки более удобна и проста для программиста. Значительно сокращается время разработки (не приходится бороться с переполнениями, предельными циклами низкого и высокого уровня, характерными для арифметики фиксированной точки). Но стоимость ЦПОС с плавающей точкой довольно высока и их применение оправдано в оборудовании, где используются сложные алгоритмы обработки сигналов большого динамического диапазона, ограничены сроки обработки, а стоимость не столь критична как в потребительской сфере (customer).
Основными характерными особенностями, выделяющими ЦПОС фирмы Motorola, являются:
Два банка памяти, которые позволяют одновременно пересылать два операнда одинарной длины или один операнд двойной длины.
Два аккумулятора АЛУ данных увеличенной разрядности позволяют производить итерационные вычисления без возникновения ошибок переполнения.
Развитая система адресации, включающая аппаратную поддержку циклических буферов и бит реверсивной адресации.
Аппаратная поддержка вложенных циклов программы.
Гибкая приоритетная система прерываний.
Обширная встроенная периферия.
Некоторые приборы ЦПОС фирмы Motorola, равно как и аналогичные приборы других фирм, имеют режимы пониженного энергопотребления, в которых потребление тока в режиме ожидания снижается в десятки тысяч раз, а также низковольтные версии приборов, в которых потребляемая мощность в рабочем режиме снижается в 2-3 раза.
Практически все приборы ЦПОС Motorola содержат средства поддержки внутрисхемной эмуляции, что очень важно для отладки проектируемых систем.
24-разрядные микропроцессоры с фиксированной точкой. Линия 24-разрядных микропроцессоров компании Motorola включает два семейства: DSP560xx и DSP563xx [8, 23, 24]. Основные принципы, положенные в основу архитектуры сигнальных микропроцессоров Motorola, были разработаны и воплощены в семействе DSP560xx. Дальнейшие работы по совершенствованию сигнальных процессоров проводились по трем направлениям:
• наращивание производительности 24-разрядных процессоров за счет конвейеризации функциональных модулей и повышения тактовой частоты;
• создание дешевых 16-разрядных микропроцессоров с расширенными средствами взаимодействия с периферией;
• разработка высокопроизводительных процессоров, включающих блок вычислений с плавающей точкой.
Далее последовательно будут рассмотрены все три направления на примере наиболее популярных представителей микропроцессорных семейств. Будут указаны также наиболее существенные отличия процессоров в рамках одного семейства.
