- •Предисловие
- •Введение
- •1. Системный анализ задачи - выделяются процессы и функции, реализация которых будет возложена на мк или ип.
- •Алгоритмизация процессов и функций - разрабатываются алгоритмы решения задачи.
- •Области использования мк
- •Глава 1основы микропроцессорной техники
- •1.1. Классификация микропроцессоров, основные варианты их архитектуры и структуры
- •1.2. Общая структура и принципы функционирования микропроцессорных систем
- •1.3. Система команд и способы адресации операндов
- •Начиная с младшего байта («Little-Endian»);
- •Начиная со старшего байта («Big-Endian»).
- •1.4. Интерфейсы микропроцессорных систем
- •1.4.1. Основные понятия
- •1.4.2. Магистраль vme
- •Verbs находит широкое применение в:
- •VmEbus обеспечивает наилучшее соотношение цена - производительность для системы в целом и предоставляет практически неограниченные возможности наращивания всех ресурсов.
- •1.5. Шина usb
- •На их основе
- •2.1. Структура и функционирование процессоров intel p6
- •2.1.1. Суперскалярная архитектура и организация конвейера команд
- •2.1.2. Режимы работы процессора и организация памяти
- •2.1.3. Регистровая модель
- •1. Функциональные основные регистры:
- •Iopl -уровень привилегий ввода/вывода, задает максимальную величину уровня привилегий текущей программы, при котором разрешается выполнение команд ввода/вывода;
- •2.3 Режимы работы процессора
- •2.1.4. Внутренняя кэш-память
- •8 Зон по 64 Кбайт, занимающих диапазон адресов 0-7fffFh (512 Кбайт);
- •16 Зон по 16 Кбайт, занимающих диапазон адресов 80000h-8ffffh (256 Кбайт);
- •8 Зон размером от 4 Кбайт до максимального размера физической памяти, которые могут размещаться в любой позиции адресного пространства.
- •2.1.5. Форматы команд и способы адресации
- •Содержимого базового регистра евр (вр) или евх (вх);
- •Содержимого индексного регистра esi (si) или edi (di);
- •Disp команды (см. Рис. 2.11).
- •2.2. Система команд: операции над целыми числами
- •Пересылка данных и адресов
- •Xchg - Обмен между регистрами или памятью и регистром
- •Xlat-Преобразование кодов
- •Imul-Знаковое (целочисленное) умножение аам- ascii-коррекция результата умножения
- •Idiv-Знаковое (целочисленное) деление
- •2.2.1. Команды пересылки
- •2.2.2. Команды арифметических операций
- •2.2.3. Команды логических операций и сдвигов
- •2.2.4. Команды битовых и байтовых операций
- •2.2.5. Команды операций со строками символов
- •2.3. Система команд: операции управления
- •Управление программой
- •Прерывания
- •Int3 - Прерывание в контрольной точке
- •Iret-Возврат из подпрограммы обслуживания прерывания
- •2.3.1. Команды управления программой
- •2.3.3. Команды организации защиты памяти
- •2.3.4. Команды управления процессором
- •2.3.5. Префиксные байты
- •2.4. Система команд: операции над числами с плавающей точкой
- •2.4.3. Команды пересылки данных
- •2.4.4. Команды арифметических операций
- •2.4.6. Команды специальных операций
- •2.4.7. Команды управления fpu
- •Команды преобразования
- •Арифметические команды
- •Inub'- Нахождение меньшего значения (беззнаковые байты) Команды сравнения
- •Команды логических операций
- •2.5.1. Форматы представления данных и выполнение операций
- •2.5.2. Команды пересылки и преобразования данных
- •1 2.5.3. Команды арифметических операций '
- •2.5.4. Команды логических операций и сдвигов
- •2.5.5. Команды сравнения и нахождения максимума/минимума
- •2.6. Система команд: операции sse
- •Команды пересылки данных
- •Команды преобразования данных
- •Арифметические команды
- •Команды нахождения максимума и минимума.
- •Команды преобразования формата чисел.
- •Команды управления
- •2.6.1. Форматы представления данных и выполнение операций
- •2.6.2. Команды пересылки и преобразования данных
- •2.6.3. Команды арифметических операций
- •2.6.6. Команды преобразования формата чисел
- •2.6.7. Команды управления
- •2.6.8. Команды пересылки данных с управлением кэшированием
- •2.7. Работа процессора в защищенном и реальном режимах
- •2.7.1. Сегментация памяти в защищенном режиме
- •2.7.2. Страничная организация памяти
- •2.7.3. Защита памяти
- •2.7.4. Поддержка многозадачного режима
- •2.7.5. Реализация режима виртуального 8086 (v86)
- •2.7.6. Функционирование процессора в реальном режиме
- •2.8. Реализация прерываний и исключений. Обеспечение тестирования и отладки
- •2.8.1. Виды прерываний и исключений, реализация их обслуживания
- •2.8.2. Причины возникновения исключений
- •2.8.3. Средства обеспечения отладки
- •2.8.4. Реализация тестирования и контроля функционирования
- •2.9. Risc-микропроцессоры и risc-микроконтроллеры семейств powerpc (мрс60х, мрс50х)
- •2.9.1. Risc-микропроцессоры семейства мрс60х (powerpc)
- •I (invalid) - недостоверное (аннулированное) содержимое строки.
- •2.9.2. Risc-микроконтроллеры семейства мрс5хх ( power pc)
- •3.1. Общие принципы организации кэш-памяти
- •3.1.1. Понятия тега, индекса и блока
- •3.1.2. Механизм кэш-памяти с прямым отображением данных
- •3.1.3. Механизм кэш-памяти
- •3.1.4. Обновление информации в кэш-памяти
- •1.5. Согласованность кэш-памяти
- •3.2.2. Внутренние кэш-памяти команд и данных
- •3.2.3. Алгоритм кэш-замещений
- •3.2 4. Состояния кэш-памяти данных
- •1.При блокированном чтении:
- •3.2.5. Согласованность внутренних кэш-памятей
- •1) Хранить таблицы страниц и директорий в не копируемой в кэш-память области основной памяти или использовать режим сквозной записи страниц;
- •Процессор может быть заменен (возможен upgraded) без изменения памяти и других подсистем мп вс;
- •Без особого снижения общих характеристик системы могут быть использованы более медленные и менее емкие устройства памяти и устройства ввода/вывода.
- •3.3. Функционирование памяти
- •1) Трансляция сегмента, при которой логический адрес, состоящий из селектора сегмента и смещения (относительного адреса внутри сегмента), преобразуется в линейный адрес.
- •3.3.1. Трансляция сегментов
- •Глобальной таблице дескрипторов (gdt);
- •Локальной таблице дескрипторов (ldt).
- •3.3.2. Адресация физической памяти
- •3.3.4. Комбинирование сегментной и страничной трансляции
- •3.4. Защита памяти
- •3.4.1. Зачем нужна защита?
- •Устанавливает различие между разными форматами дескрипторов;
- •Специфицирует функциональное назначение сегмента.
- •1 Поле предела называют также полем границы.
- •2 Байты сегмента размещены в оп в порядке возрастания адресов памяти или в обратном порядке. Такое размещение также называют соответственно по принципу «младший» и «старший крайний».
- •Cpl (текущий уровень привилегий);
- •Rpl (уровень привилегий источника обращений к сегменту) из селектора, используемый для спецификации сегмента назначения;
- •3)Dpl дескриптора сегмента назначения.
- •Загрузить регистр сегмента данных селектором несогласованного, с разрешением чтения кодового сегмента;
- •Загрузить регистр сегмента данных селектором кодового сегмента, который является согласованным и разрешенным для чтения;
- •Использовать префикс переопределения cs, чтобы прочитать разрешенный для чтения кодовый сегмент, селектор которого уже загружен в cs регистр.
- •Для команды call (или для команды jmp для согласованного сегмента) должны быть выполнены следующие правила привилегий:
- •Привилегированные команды, которые нужны для систем управления вычислительным процессом;
- •Чувствительные команды (Sensitive Instructions), которые используются для ввода/вы вода и для действий, связанных с вводом/выводом.
- •1) Проверка того, имеет ли назначение, специфицированное указателем право доступа к
- •Проверка того, соответствует ли тип сегмента заданному использованию;
- •Проверка указателя на соответствие границе сегмента.
- •Verw (Verify for Writing) - проверка доступности по записи обеспечивает те же самые возможности, что и verr для проверки доступности по чтению.
- •3.4.4. Уровень защиты страниц
- •1) Ограничение адресуемой области; 2) проверка типа страницы.
- •3.4.5. Комбинирование защиты сегментов и страниц
- •Глава 4
- •4.1. Структура современных 8-разрядных микроконтроллеров
- •4.1.1. Модульный принцип построения
- •Tiny avr - mk в 8-выводном корпусе низкой стоимости;
- •Classic avr - основная линия мк с производительностью до 16 mips, Flash память программ объемом до 8 Кбайт и статическим озу данных 128. ..512 байт;
- •Mega avr - мк для сложных приложений, требующих большого объема памяти (Flash пзу до 128 Кбайт), озу до 4 Кбайт, производительностью до 6 mips.
- •4.1.4. Резидентная память мк
- •4.1.5. Порты ввода/вывода
- •Однонаправленные порты, предназначенные в соответствие со спецификацией мк только для ввода или только для вывода информации.
- •Двунаправленные порты, направление передачи которых (ввод или вывод) определяется в процессе инициализации системы.
- •4.1.6. Таймеры и процессоры событий
- •Импульсную последовательность с выхода управляемого делителя частоты fBijs;
- •Внешнюю импульсную последовательность, поступающую на один из входов мк.
- •Простое увеличение числа модулей таймеров; этот путь характерен для части мк компаний «Pfilips» и «Atmel» со структурой msc-51, для мк компаний «Mitsubishi» и «Hitachi».
- •Изменение логического уровня с 0 на 1 (нарастающий фронт сигнала);
- •Изменение логического уровня с 1 на 0 (падающий фронт сигнала);
- •Любое изменение логического уровня сигнала.
Предисловие
Книгу нельзя рассматривать как энциклопедию: в ней нет разделов, посвященных, например, 16-разрядным микроконтроллерам общего применения, идеология организации которых во многом совпадает с организацией наиболее массового класса 8-разрядных микроконтроллеров. По аналогичной причине не излагаются вопросы организации интегрированных процессоров. Содержание книги определилось тем видением авторами общих тенденций и закономерностей развития микропроцессорной техники, которые в настоящее время имеют место с учетом достижений полупроводниковой технологии и требованиями практики проектирования информационных систем различного назначения.
Книга ориентирована на читателя разной профессиональной ориентации. Прежде всего она будет полезна студентам технических университетов, изучающих компьютерные технологии и системы. Для руководителей служб снабжения, менеджеров, инженерно-технических работников, не знакомых с МК, безусловно, полезным будет знакомство с разделами, в которых рассматривается идеология построения МК, приводятся общие сведения о МК и областях их целесообразного использования. Заинтересованный читатель далее может ознакомиться с технологией проектирования микропроцессорных систем с учетом достижений в области программируемой логики и оценить ориентировочно трудоемкость разработки системы.
Цель книги считается достигнутой, если читатель убеждается в следующем.
Высокая эффективность проектирования достигается в тех случаях, когда каждой области применения соответствует семейство МК или ИП, максимальным образом учитывающих ее особенности.
Работа компаний на «заказ для области использования» не приводит, как принято считать, к росту потребительской стоимости. Это достигается за счет модульной организации и технологии процессорного ядра, которые снижают затраты на производство и упрощают проектирование. Отобранные компанией в результате многолетней практики периферийные устройства с последующим их интегральным исполнением вместе с процессорным ядром обеспечивают пользователю быстрое и эффективное проектирование системы с абсолютно ясной перспективой развития.
Преемственность в решениях (использование принципов открытых систем) дает возможность разработчику наращивать возможности своих систем, не разрушая предшествующий задел. Поистине бережное отношение компании к пользователям ее продукции воплощается в программной совместимости, наличии в разных семействах одной и той же периферии, использовании одинаковой технологии отладки и проектирования.
Семейства микропроцессорных средств создают функциональный ряд архитектур с масштабированием параметров (параметрический ряд) от 8-разрядных реализаций с CISC-архитектурой малой и средней производительностью до 32-разрядных реализаций с RISC-архитектурой сверхвысокой производительности:
Практически все семейства МК и ИП содержат внутри кристальные средства отладки, что позволяет без дополнительного оборудования осуществить настройку аппаратного обеспечения.
Для всех семейств созданы программно-аппаратные средства, обеспечивающие разработчиков всем необходимым для решения задач проектирования и отладки целевой системы.
Ведущие компании - производители программного обеспечения создают системы реального времени, ориентированные на МК и ИП, что позволяет сократить сроки выполнения крупномасштабных проектов. С момента выхода последних учебников и учебных пособий по микропроцессорной технике прошло значительное время. Данные книги содержали, как правило, описания конкретных микропроцессоров или микропроцессорных комплексов, включали разделы, посвященные средствам программирования, вопросам проектирования и отладки.
В настоящее время на российском рынке представлены самые разнообразные микропроцессорные средства преимущественно многочисленных зарубежных компаний: микропроцессоры (МП), используемые в первую очередь для персональных компьютеров и рабочих станций; микроконтроллеры (МК) и интегрированные процессоры (ИП), используемые для встраиваемых систем. Безусловно, в первую очередь представляют интерес МК и ИП, ориентированные на встроенные применения для таких областей как управление оборудованием, сетевые приложения, связь, портативная техника, автоматизация и т. п.
Обширная номенклатура и богатые функциональные возможности МП, МК и ИП создают специалистам хорошие условия для проектирования конкурентоспособных систем различного назначения. Однако осуществить правильный выбор типа микропроцессорного средства можно только опираясь на знания архитектуры, системных возможностей, организации и средств поддержки процесса проектирования.
Ситуация на рынке информационных ресурсов, детальное изучение фирменной литературы, а также практическая работа с микроконтроллерами и процессорами, описываемыми ниже, убеждают в том, что в классе микропроцессоров для персональных компьютеров бесспорно лидирующие позиции занимает компания Intel, а в классах интегрированных процессоров и микроконтроллеров, используемых для встраиваемых приложений, ведущее положение занимает фирма «Motorola», определяя многие стандарты и типовые решения.
Данное обстоятельство и определило структуру предлагаемой книги.
Работа над книгой распределилась следующим образом: гл. 1 написана И.И. Шагуриным и М.С. Куприяновым, гл. 2 - И.И. Шагуриным, гл. 3 - Е.К. Александровым, гл. 4 - Т.В. Ремизевич и Д.И. Панфиловым, гл. 5 - М.С. Куприяновым и О.Е. Мартыновым, гл. 6 - М.С. Куприяновым, гл. 7 - Е.П. Угрюмовым, гл. 8 - Р.И. Груш-вицким и И.И. Шагуриным, гл. 9 - Ю.С. Татариновым.
Материал по главам изложен с разной степенью детализации. Это объясняется тем, что для отдельных классов микропроцессорных средств уже накоплены базовые решения, позволяющие сделать определенные обобщения, для других же классов, как, например, коммуникационных контроллеров, идеология организации и применения только формируется.
Особо нужно сказать о программном обеспечении микропроцессорных систем. Этому вопросу должна быть посвящена отдельная книга, так как слишком велико множество достаточно сложных вопросов, которые необходимо рассмотреть: языки и инструментальные средства программирования, вопросы тестирования и отладки, схемы и технологии разработки программных изделий и др. Причем для каждого класса микропроцессорных средств существуют свои особенности и отличия. В настоящей книге в отдельных главах авторы касаются вопросов программного обеспечения в той лишь степени, которая позволяет раскрыть особенности организации, функционирования или применения рассматриваемых типов процессоров или микроконтроллеров.
Конечно, принцип «с высоты птичьего полета», которым пришлось воспользоваться при подготовке книги, позволяет лишь показать общий ландшафт и область, которую занимают отдельные процессоры или микроконтроллеры. Однако в отдельных разделах «высота» рассмотрения намеренно снижена, что позволило представить читателю не только общие принципы организации, но отдельные достоинства и потребительские свойства более мелких деталей анализируемых устройств.