- •Предисловие
- •Введение
- •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 (падающий фронт сигнала);
- •Любое изменение логического уровня сигнала.
Verbs находит широкое применение в:
графических и информационных рабочих станциях;
системах автоматизации производства, в том числе работающих в тяжелых климатических условиях и агрессивных средах;
наземной и бортовой аппаратуре гражданского и военного назначения; >
автоматизации научных исследований;
измерительных приборах и диагностическом оборудовании;
системах связи и телекоммуникаций;
медицинской технике, а также во многих других приложениях систем автоматизации.
VmEbus обеспечивает наилучшее соотношение цена - производительность для системы в целом и предоставляет практически неограниченные возможности наращивания всех ресурсов.
В области измерительных и управляющих систем реального времени наибольшее . распространение в последние годы получил стандарт VMEbus (VersaBus Module Eurocard) и его расширение для контрольно-измерительных задач повышенной метрологической обеспеченности VXI (VMEbus eXtention for Instrumentation).
Интерфейс VXI считается в настоящее время наиболее перспективным для контрольно-измерительной техники, он имеет на западном рынке наибольшую динамику роста выпускаемой и реализуемой продукции, устойчивую тенденцию к техническому совершенствованию и расширению области применения.
Стандарт на VXIbus предложен в 1987 г. ведущими в области измерительной техники фирмами («Colorado Data Systems», «Hewlett-Packard», «Racal-Dana Instruments», «Tektronix», «Wavetek»), образовавшими VXI-Консорциум, в который вошли также фирмы: «Bruel & Kjaer», «John Fluke», «Keithley», «National Instruments» и др. В настоящее время VXI-стандарт поддерживает около 200 зарубежных фирм, которые выпускают более 500 типов модулей в этом стандарте.
Стандарт на шину VXI является открытым (не защищен патентом) и регламентирует правила объединения модульных или одноплатных измерительных приборов. Такой подход существенно снижает время и стоимость разработки новых функциональных блоков и создания на базе VXI прикладных измерительных систем.
Принципы построения интерфейса VXIbus. Интерфейс VXIbus разработан на базе двух широко используемых стандартов: VMEbus и приборного интерфейса IEEE-488, объединив в себе все преимущества магистрально-модульных и приборных измерительных систем. Такое объединение позволило создать высокопроизводительный и, в то же время, высокоточный интерфейс, обеспечивающий широкие возможности для построения контрольно-измерительных систем различного назначения. На базе стандарта VXI можно реализовать системы с частотой измерений до 2 ГГц при погрешности до 5-7 % или высокоточные системы с погрешностью менеее 0,005 % при частоте спроса до 10 кГц, при этом число каналов измерения и управления ограничивается лишь габаритными размерами и стоимостью.
При разработке стандартов на VXI-шину решены следующие технические вопросы:
строго определены и регламентированы уровни электрических помех в модулях и на шине;
созданы возможности для самотестирования и диагностики отдельных модулей и системы в целом;
определены жесткие требования к конструкции крейта, к источнику питания и к системе охлаждения в целях обеспечения оптимальных условий работы модулей независимо от их количества в крейте;
введены специальные функции управленияи и распределения ресурсами VXI-шины, позволяющие реализовать в командном блоке возможности контроллера и арбитра, а также обеспечить любое (не обязательно нулевое) стартовое состояние системы после ее включения или перезапуска.
С точки зрения эксплуатационных характеристик VXIbus отличается от других измерительных стандартов следующими основными, на наш взгляд, преимуществами.
1. В качестве измерительных модулей VXI-систем используются многоразрядные (51/2, 61/2 десятичных знаков) мультиметры, позволяющие непосредственно (без дополнительных усилителей) подключать к VXI-системе датчики и сенсоры с различным уровнем сигналов (от единиц микровольт до сотен вольт). Путем программной настройки мультиметры могут производить измерение напряжения, тока, сопротивления в режиме цифрового прибора или в режиме АЦП с изменением точности измерения и соответствующим изменением времени преобразования.
Коммутация измерительных каналов в VXI-системах осуществляется по специальной измерительной трехпроводной схеме, при которой используется разрыв сразу трех измерительных сигнальных линий, включая линию «земля», что компенсирует помехи общего вида. Кроме того, в измертельных мультиплексорах предусмотрена термостабилизация входных измерительных цепей, обеспечивающая температурную компенсацию изменения уровня постоянной составляющей входного сигнала.
В модулях VXIbus стандартизована регистровая структура (назначение и адреса внутренних регистров),памяти, что позволяет иметь для всех модулей программные драйверы управления.
Наряду с регистровым управлением имеется возможность программирования модулей системы на уровне сообщений (в ASCI кодах), что позволяет легко составлять исполнительные программы VXI-систем на языках высокого уровня.
VXI-системы имеют развитые средства коммуникации с другими интерфейсными системами, с различными типами компьютеров и приборов, в частности, имеются программно-аппаратные средства подключения VXI-крейтов к компьютерам класса IBM.
VXI-системы поддерживаются развитыми программными средствами, обеспечивающими минимизацию временных и материальных затрат на разборку прикладных пользовательских программ.
Реализация магистрали VXI. Основу шины VXI-системы составляет интерфейс межмодульного обмена информацией в рамках одного крейта Магистраль VXIbus включает в себя восемь шин:
шину VMEbus многопроцессорных вычислительных систем;
шину тактовой частоты и синхронизации;
радиальную шину запуска;
триггерную шину запуска;
локальную шину обмена; [
аналоговую суммирующую шину;
шину идентификации модулей
шину питания (+5V; +12V; ±24V; -5,2V; -2V).
Шина VMEbus объединяет все посадочные места и используется для организации быстрого обмена информацией между модулями.
Шина тактовой частоты и синхронизации является радиальной и используется для общей синхронизации всех модулей от командного блока (гнездо 0).
Радиальная шина запуска обеспечивает одинаковую для всех модулей задержку прохождения тактовых сигналов от гнезда 0 (временной сдвиг не более 2 не).
По триггерной шине запуска реализуется синхронный, полусинхронный и асинхронный протоколы (TTL- или ECL-логики).
Локальная шина может использоваться разработчиками модулей для организации, обмена данными между соседними модулями по автономным (недоступным для других модулей) линиям.
Аналоговая суммирующая шина используется для обмена по магистрали аналоговыми сигналами в виде согласованных значений сопротивлений и напряжений.
Шина идентификации модулей применяется в качестве радиальной системе географической адресации и идентификации модулей со стороны гнезда 0.
Шина питания обеспечивает высокостабильное питание электронных схем TTL- и ECL-логики.
1.4.4. PCI-ЛОКАЛЬНАЯ МАГИСТРАЛЬ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ.
Комплекс микропроцессора и периферийных устройств. Развитие микропроцессоров привело в 1982 г. к появлению настольного персонального компьютера ПК.
Существовавшие в то время магистрально-модульные системы VME и Multibus 1 были слишком громоздки, а их логические протоколы ориентированы на сбор информации от датчиков и ее микропроцессорную обработку в модулях. Интерфейс для ПК пришлось разрабатывать заново, при этом в первых ПК частные технические решения были слабо стандартизованы. Широкое распространение ПК, производимых разными фирмами, привело к необходимости создания такого стандарта на магистрали, который имел бы шансы на признание множеством фирм. В конце 1980-х годов в США образовалась рабочая группа инженеров разных фирм, которая разработала и выдала первоначальную версию стандарта на синхронную магистраль Periferal Component Interconnect Local Bus - PCI bus Revision 1.0.
Ведущие фирмы по инициативе «Intel» образовали PCI Special Interest Group (PCI SIG). Эта группа и в 1998 г. поддерживает и координирует все разработки, связанные с PCI. Под эгидой PCI SIG 30 апреля 1993 г. была утверждена версия PCI 2.0 стандарта. Большинство ПК, эксплуатируемых в 1998 г., основано на этом стандарте. Однако локальная магистраль новых ПК, выпускаемых с 1996 г., выполняется по последнему стандарту PCI 2.1 от 1 июня 1995 г. Отдельный стандарт PCI BIOS Specification Revision 2.1, датированный 26.08.94, определяет протокол включения компьютерного комплекса в сеть.
Стандарт 2.1 является улучшением предыдущей версии и сохраняет основной логический протокол, нацеленный, во-первых, на обеспечение большой пропускной способности. Максимальную тактовую частоту в магистрали удалось увеличить вдвое до 66 МГц, а пропускную способность до 528 Мбайт/с при 64-разрядах и питании всего +3,3 В., Во-вторых, стандартом гарантирована возможность автоконфигурации систем (без вмешательства оператора) после подключения любого из устройств к магистрали через интерфейсную плату.
Сигналы в магистрали PCI. Синхронная магистраль PCI в 32-разрядном варианте содержит 49 информационных линий. При расширении до 64 разрядов добавляются еще 48 линий, они на рисунке не показаны. Кроме того, в расширенной магистрали могут быть добавлены 5 линий порта для проверочного сканирования присоединенных устройств в соответствии со стандартом IEEE Std 1149.1 Test Access Port and Boundary Scan Architecture.
Конфигурация и инициализация систем. В компьютерной системе PCI могут быть скомпонованы периферийные устройства различного назначения, выполненные с разнообразными характеристиками разными производителями. Для удобства пользователей стандартом предусмотрена автоконфигурация систем: чтобы скомпоновать и задействовать систему, пользователю достаточно вставить в разъемы магистралей интерфейсные платы, присоединяющие нужные периферийные устройства. В другие разъемы можно добавить платы памяти, наращивая оперативную память до нужного объема. После вставления плат пользователю не требуется вводить или запускать какие-либо программы - достаточно включить питание, и конфигурация завершится сама собой.
Информация о характеристиках подключаемых устройств, необходимая для выполнения алгоритмов конфигурации, содержится в зоне конфигурации основной памяти, а в СБИ-Сах или на платах устройств размещена в регистрах конфигурации. Для процессора-хозяина обеспечен доступ к любым регистрам сразу после подключения устройств - до введения в память системы каких-либо пользовательских программ.
В регистрах каждого устройства определен 8-разрядный код номера магистрали, к которой присоединено устройство, 5-разрядный номер самого устройства и три разряда отведены для возможных 8 функций устройства. Это не означает, что система может содержать 256 вторичных магистралей с 32 устройствами каждая, поскольку основной магистрали PCI можно подключать не более десяти «нагрузок». Просто большой выбор номеров облегчает компоновку сложных систем. В регистрах хранятся коды-идентификаторы производителя изделия, типа изделия, его модификации, основного назначения и выполняемых функций. Эта и другая информация необходима для обеспечения оптимальной конфигурации системы и наилучшего использования устройств при ее программировании.
После выполнения собственно конфигурации следует инициализация системы. Функции, запомненные в регистрах устройств, позволяют предоставить устройствам потребные системные ресурсы, например зоны в основной памяти или в памяти ввода/вывода, необходимые для бесконфликтного функционирования каждого устройства. При инициализации присваиваются приоритеты прерываний и имена прерываемых устройств.
Стандарт предоставляет разработчикам программного обеспечения информацию, достаточную для выполнения не только указанной задачи, но и для компоновки конкретных систем. Алгоритмы, описанные в стандарте, предназначены для программирования операций, связанных с зонами конфигурации устройств и систем. Эти программы выявляют наличие в системах тех или иных устройств и, обращаясь к ним, используют характеристики для конфигурации и инициализации.
Самые первые программы, начинающие работать после включения компьютера, это программы BIOS. Текущая информация об исполнении программ BIOS появляется на экране монитора в виде строк, сообщающих о наличии дисковой памяти, операционной системы, клавиатуры и других периферийных устройств. В случае отсутствия необходимых устройств или их неисправности выдается соответствующее извещение - так происходит самопроверка системы после включения (POST - Power-On Self Test). После окончания работы BIOS пользователь может вызвать свои программы.
Благодаря системе BIOS и строгому определению зон конфигурации впервые в персональных компьютерах в широких масштабах была реализована технология Plug and Play, использованная ранее в системе VXI.