
- •1. Архитектурные принципы фон Неймана.
- •2. Структура фон-неймановской вычислительной машины.
- •3. Понятие организации и архитектуры.
- •4. Фон-неймановская (принстонская) и гарвардская архитектуры. Организация пространств памяти и ввода/вывода.
- •5.Организация микропроцессорной системы (мпс): магистрально-модульный принцип организации мпс, основные классы микропроцессорных средств. Микропроцессорная система (мпс)
- •6. Типовые структуры мпс: магистральная, магистрально-каскадная, магистрально-радиальная.
- •7.Шинная организация микропроцессорных систем: с одной шиной, с двумя видами шин, с тремя видами шин.
- •8. Характеристики микропроцессоров.
- •9. Организация магистрали микропроцессорной системы. Трехшинная магистраль с раздельными шинами передачи адреса и данных.
- •10. Циклы обращения к магистрали.
- •11. Организация обращения к магистрали с синхронным доступом.
- •12. Организация обращения к магистрали с асинхронным доступом.
- •13. Совмещение адресной шины и шины данных. Двухшинная магистраль с совмещенными шинами адреса/данных.
- •14. Механизм пакетной передачи данных по системной магистрали.
- •15. Архитектура подсистемы памяти микропроцессорной системы. Характеристики подсистемы памяти микропроцессорной системы
- •16. Адресная память (запоминающие устройства с произвольным доступом).
- •17. Ассоциативная память.
- •18. Стековая память.
- •19. Основная память: блочная, циклическая и блочно-циклическая схемы организации основной памяти.
- •20. Кэш-память. Принципы кэширования памяти.
- •21. Способы отображения основной памяти на кэш-память. Архитектуры кэш-памяти.
- •22.Алгоритмы замещения информации в заполненной кэш-памяти.
- •23.Алгоритмы согласования содержимого кэш-памяти и основной памяти.
- •24.Концепция виртуальной памяти.
- •25.Страничная организация виртуальной памяти.
- •26.Сегментная организация виртуальной памяти. Комбинированная сегментно- страничная организация виртуальной памяти.
- •27.Архитектура подсистемы ввода/вывода микропроцессорной системы.
- •28.Организация прерываний в микропроцессорной системе.
- •29.Радиальная система прерываний.
- •30. Векторная система прерываний.
- •31.Организация прямого доступа к памяти в микропроцессорной системе.
- •32.Аккумуляторная архитектура микропроцессоров.
- •33.Регистровая архитектура микропроцессоров.
- •34. Архитектура микропроцессоров с выделенным доступом к памяти.
- •35.Стековая архитектура микропроцессоров.
- •36.Классификация команд микропроцессоров.
- •37.Структура (форматы) команд микропроцессоров.
- •38. Регистровые структуры микропроцессоров
- •39. Адресация данных в микропроцессорах: представление адресной информации, способы адресации.
- •40.Управление памятью в микропроцессорах: линейная и сегментная адресации, преобразование логических адресов в физические, управление виртуальной памятью.
- •41.Защита памяти в микропроцессорах: механизмы защиты, концепция привилегий.
- •42.Поддержка операционной системы в микропроцессорах.
- •43.Специальные прерывания (особые случаи, исключения) в микропроцессорах.
- •44.Мультипрограммный режим работы микропроцессоров.
- •45.Структурная организация однокристальных микроконтроллеров (на примере 8- разрядных микроконтроллеров): модульный принцип построения, типы процессорных ядер.
- •46.Резидентная (внутренняя) память микроконтроллеров.
- •47.Периферийные устройства микроконтроллеров: параллельные порты ввода/вывода, таймеры и процессоры событий, интерфейсы последовательного ввода/вывода.
- •48.Основы организации интерфейсов микропроцессорных систем.
- •49.Классификация интерфейсов.
- •50.Организация параллельной передачи данных.
- •51.Организация последовательной передачи данных.
- •52.Основы проектирования микропроцессорных систем: цикл проектирования мпс, средства разработки и отладки мпс.
52.Основы проектирования микропроцессорных систем: цикл проектирования мпс, средства разработки и отладки мпс.
В основе стратегии проектированиялежит функциональная декомпозиция. Для системы в целом и ее блоков используется концепция«черного ящика». Для «черногоящика» разрабатывается функциональная спецификация, включающая внешнее описание блока (входы и выходы) и внутреннее описание –функциюили алгоритм работы: F = Ф(Х, t), где Х – вектор входных величин, F – вектор выходных величин, t – время. При декомпозиции функция Ф разбивается на более простые функции Ф1-ФK, между которыми должны быть установлены определенные связи, соответствующие принятому алгоритму реализации функции Ф. Переход от функции к структуре – синтез. Декомпозиция функций блоков выполняется до тех пор, пока не получатся типовые функции, каждая из которых может быть реализована элементами выбранного уровня иерархии.
Процесс проектирования – многоуровневый, многошаговый и итерационный, с возвратами назад и пересмотром ранее принятых решений.
Такая методология проектирования отображает процесспроектирования «сверху-вниз»: от технического задания до электрических схем, файлов прошивки ПЗУ и конфигурации программируемых приборов, а также конструкции устройства в целом.
Приведенное выше описание процесса проектирования относится к каждому уровню проектирования. При этом декомпозиция заканчивается при получении типовых функций, соответствующих выбранному уровню иерархии. Так, на верхнем уровне (при многоплатной реализации) декомпозиция заканчивается при представлении проектав виде отдельных плат, на следующемуровне – в виде отдельной платы, ещенижедекомпозиция осуществляется до реализации функций при помощи той или иной микросхемы.
Традиционным является разбиение процесса проектирования на следующие этапы: системное проектирование;
структурно-алгоритмическое проектирование; функционально-логическое проектирование; конструкторско-технологическое проектирование.
На этапе системного проектирования определяется архитектура будущей системы, состав компонентов и основные характеристики системы при таком её построении. При структурно-алгоритмическом проектировании определяются алгоритмы функционирования аппаратных и программных компонентов системы. На этапе функционально-логического проектирования разрабатываются функциональные и принципиальные электрические схемы, программы, подготавливаются тестовые и контрольные данные. На конструкторском этапе производится привязка элементов проекта к конструктивным элементам.
Тесное взаимодействие аппаратных и программных средств в микропрцессорных системах находит свое отражение в концепции сопряженного проектирования аппаратно-программных систем – (Hardware-Software Codesign).
Основа методологии сопряженного проектирования – параллельная взаимосвязанная проработка программных и аппаратных средств, что обеспечивает создание наиболее эффективных конфигураций при сокращении времени разработки. Концепция сопроектирования предполагает решение следующих вопросов:
анализ задачи и ее разделение на фрагменты,безусловно назначаемые к исполнению программно, безусловно исполняемые в аппаратуре, и фрагменты, которые могутбыть назначены как в аппаратную, так и в программнуючасти таким образом, чтобы максимизировать показатель качества системы в целом в зависимости от имеющихся ресурсов. Процедуру такого предварительного распределения весьма сложно формализовать. Рекомендуется назначать в программную часть сравнительно редко выполняемые фрагменты и фрагменты, требующие больших аппаратных ресурсов, например, содержащие операции арифметики с плавающей запятой. К безусловно аппаратным относят обычно операции непосредственногоуправления периферией;
создание библиотеки возможных исполнителей алгоритмов, типичных для предполагаемой области применения. Каждый объект такой библиотеки представляет некоторую задачу и включает несколько вариантов программной реализации, а также несколько вариантов аппаратной реализации. Эти варианты сопровождаются количественными характеристиками возможных реализаций, таких как время исполнения, затраты памяти, используемые ресурсы микросхем;
выбор оптимального сочетания исполнителей частей задачи исходя из определенной целевой функции, ограничений и характеристик задачи. Обычно за критерий оптимизации принимается время исполнения задачи. Имеющиеся ресурсы (например, память) выступают как ограничения. Задача поиска оптимума является дискретной оптимизационной задачей;
разработка соответствующего интерфейса между процессором и блоками, включаемыми в аппаратную часть системы.
Основным достоинством такой совмещенной процедуры является сокращение требуемого времени проектирования. Структура алгоритма проектирования
Укрупненная структура алгоритма проектирования микропроцессорной системы показана на рис. 108.
Рисунок 108 – Укрупненная структура алгоритма проектирования микропроцессорной системы
Первый шаг цикла проектирования системы включает определениенабора требований пользователя и построение функциональной спецификации, вытекающей из требований пользователя. Требования пользователя определяют, что пользователь хочет от системы и что она должна делать.Функциональная спецификация определяют функции, которые система должна выполнять дляпользователя после завершения проектирования. Они включают описания форматов какна входе, таки на выходе системы, а также внешние условия,управляющие действиями системы. Функциональная спецификация и требования пользователя являются критериями оценки функциональных характеристик системы после завершения проектирования.
Требования пользователя определяют, что пользовательхочет от системы, а функциональная спецификация фиксирует, что система должнаделать и как она взаимодействует с окружением. Как только функциональная спецификация определена, она используется вместе с требованиями пользователя в качестве основы для проектирования системы. По этой причине важно, чтобы как требованияпользователя, так и функциональная спецификация были не только полными и точными,но также четкими и легкоусваиваемыми.
Вторым шагом является проектирование системы на основе функциональной спецификации. Для микропроцессорной системы требуется проектированиекак аппаратных, так и программных средств. На этом шаге, исходяиз требуемого функционирования устройства, проектировщик осуществляет разбиение проекта на части, определяет множества входных и выходных сигналов составных частей,их характер и взаимосвязь, а также решает отдельные вопросы реализации составных частей. Основным результатом этого этапа является разбиение алгоритмов работы системы на две составляющиедля реализации программным и аппаратным обеспечением выбранного типа микропроцессорного ядра, а также выделение задач,требующих для своего выполнения разработки нетипового оборудования, как цифрового, так и аналогового. Необходимо определить организацию аппаратной и программной частей системы, из каких компонентов должна состоять система и как эти части должны быть взаимосвязаны. Проектирование аппаратной части может быть выполнено с использованием стандартной методологии проектирования аппаратуры. Проектирование программной части лучше всего может быть выполнено с использованием языка программирования, ориентированного на выбранный микропроцессор (микроконтроллер). Программное обеспечение тестируется и одновременно с аппаратурой объединяется в единое целое. Затем выполняется комплексная отладка аппаратных средств и программного обеспечения, после чего оцениваются эксплуатационныехарактеристики системы – эффективность системы. Две части системы часто разрабатываются параллельно, что на рис. 108 выглядит в видеотдельных ветвей.
Средства разработки и отладки микропроцессорных систем
В процессе разработки и отладки микропроцессорных систем используются следующие программные средства: ассемблеры, компиляторы;
симуляторы (программно-логические модели);
отладчики, редакторы связей (компоновщики, загрузчики).
В современных комплексах проектирования/отладки систем эти средства обычно работают совместно, в составе интегрированной среды (оболочки) программирования.
Особенно сложные задачи приходится решать при программировании управляющих систем, работающих в реальном масштабе времени. В этом случае разработчик должен использоватькакую-либо из имеющихся операционных систем реального времени (ОСРВ) или создавать собственныепрограммы-мониторы реального времени с помощью указанных выше средств программирования. В составе многих ОСРВ имеются средства поддержки программирования, которые могут использоваться при проектировании/отладке системы.
В настоящее время программирование и отладка чаще всего выполняются с помощью интегрированной среды развития или средств ОСРВ. Программирование производится обычно с помощью кросс-средств, инсталлированных на инструментальном компьютере с мощной операционной системой. В качестве инструментальных компьютеров используются персональные
компьютеры или рабочие станции. Операционными системами этих компьютеров служат различныеверсии Windows и UNIX (Solaris, AIX, ULTRIX и др.).
Язык Ассемблера очень часто применяется при программировании микропроцессорных и микроконтроллерных систем, так как его использование обеспечивает существенноеуменьшение объема памяти программ и времени выполнения программных модулей (до 20-50%). В качестве языков высокого уровня чаще всего используются С,С++. Некоторыми фирмами поставляются такжекомпиляторы для языков FORTRAN, Modula-2, Ada, Pascal. Все эти компиляторы обеспечивают также программирование на языкеАссемблера. Большинство из них содержат компоновщики для связи программных модулей, библиотеки функций. Многие компиляторы поуказанию разработчика могут оптимизировать процесс трансляции исходного текста с целью получения объектного кода с минимальным объемом или минимальным временем выполнения программы. Такие компиляторы называются оптимизирующими.
Симуляторы (программно-логические модели) микропроцессоров и микроконтроллеров, используемые при отладке программ, редко поставляются в виде отдельных средств поддержки программирования. Обычно они входят в состав отладчиков.
Отладчики являются основным инструментом разработчика программного обеспечения, без которого практически невозможно получить работоспособные объектные модули рабочей программы. Отладчик реализует различные режимы выполнения транслированной программы – пошаговый или с остановами в контрольных точках,позволяет производить просмотр и коррекцию содержимого регистров и ячеек памяти, обеспечивает в точке остановаконтроль выполнения предыдущих шагов программы (просмотр трассы), дисассемблирование команд. Отладчик воспринимает программу науровне исходного кода или в символическом виде, с использованием введенных разработчиком имен и меток.Символические отладчики являются наиболее удобным средством отладки, так как они представляют и воспринимают информацию в наиболеенаглядной и удобной для программиста форме.
Технические средства разработки и отладки МПС
На этапе автономной отладки аппаратных средств основными орудиями разработчика являются традиционные измерительные приборы – осциллографы, мультиметры, пробники и другие, а также логические анализаторы, которые обладают широкими возможностями контроля состояния различных узлов системы в заданные моменты времени. Весьма эффективным является использование на этом этапе средств тестирования по стандарту JTAG, которые имеются в составе многих современных моделей микропроцессоров и микроконтроллеров.
На этапе комплексной отладки разработчик использует весь набор программных и аппаратных средств, применяющихся для автономной отладки аппаратных средств, а также ряд специальных средств. Наиболее эффективным средством комплексной отладки систем являются схемные эмуляторы – специализированные устройства, включаемые вместо микропроцессора или микроконтроллера прототипной системы и обеспечивающие возможность контроля ее работы с помощью персонального компьютера, связанного со схемным эмулятором.
Одним из эффективных средств комплексной отладки микроконтроллерных систем являются эмуляторы ПЗУ. Это устройство включается вместо ПЗУ прототипной системы и работает под управлением подключенного к нему персонального компьютера. Так обеспечивается текущий контроль за выполнением программы и ее оперативная коррекция, что значительно упрощает процесс отладки.
Внутрисхемный эмулятор представляет собой программно-аппаратный комплекс, который в процессе отладки замещает в реализуемой системе микропроцессор или микроконтроллер. В результате такой замены функционирование отлаживаемой системы становится наблюдаемым и контролируемым. Разработчик получает возможность визуального контроля за работой системы на экране дисплея и управления ее работой путем установки определенных управляющих сигналов и модификации содержимого регистров и памяти. Благодаря наличию таких возможностей внутрисхемный эмулятор является наиболее универсальным и эффективным отладочным средством, используемым на этапе комплексной отладки системы.
Наиболее широкое применение получили внутрисхемные эмуляторы, подключаемые к базовому персональному компьютеру или рабочей станции. Обычно такие внутрисхемные эмуляторы конструктивно оформлены в видеприбора, размещенного в отдельном корпусе с автономным источником питания и соединенного с портом базового компьютера. С помощью кабеля к внутрисхемному эмулятору подключается соединительдля включения в систему вместо эмулируемого микропроцессора или микроконтроллера. В внутрисхемном эмуляторе размещается эмулирующий микропроцессор (микроконтроллер), который выполняет теже функции,что и эмулируемый, но работает под управлением компьютера.
В структуру внутрисхемного эмулятора входят следующие блоки: эмулятор микропроцессора или микроконтроллера;
память трассы, которая хранит значения сигналов, устанавливаемых на выводах микропроцессора (микроконтроллера) в процессе выполнения программы;
блок контрольных прерываний, который реализует остановы в контрольных точках, заданных пользователем с клавиатуры компьютера;
эмуляционная память ( ОЗУ), которая заменяет в процессе отладки внутреннее ПЗУ микроконтроллеров или другие разделы памяти, внешний доступ к которым в процессеотладки ограничен;
таймер, используемый для контроля времени выполнения отлаживаемых фрагментов программы.