- •Ответы по дисциплине мпт (2015 г.)
- •1. Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микрокомпьютер, контроллер, микроконтроллер. Принципы построения микропроцессорных систем.
- •2. Архитектура микропроцессора: архитектура со сложной системой команд (cisc-процессоры), архитектура с упрощенной системой команд (risc-процессоры), принстонская и гарвардская архитектуры.
- •3. Структура микропроцессорной системы и основные режимы ее работы – выполнение основной программы, обслуживание прерываний, прямой доступ к памяти.
- •4. Классификация микропроцессоров: универсальные и специализированные, цифровые сигнальные процессоры и микроконтроллеры
- •5. Классификация и структура микроконтроллеров (мк). Процессорное ядро мк, его основные характеристики.
- •6. Типы памяти микроконтроллеров: память программ, память данных, регистры.
- •7. Однокристальные микроконтроллеры семейства pic: состав и общая характеристика. Микроконтроллер pic16f84a: основные параметры, внутренняя структура, назначение выводов.
- •8. Микроконтроллер pic16f84a: организация памяти программ и данных, портов ввода/вывода.
- •9. Применение языка Си для разработки программ микроконтроллерных систем. Интегрированная среда mikroC pro для pic-микроконтроллеров.
- •10. Представление информации в языке Си: имена, типы данных, переменные и константы, массивы и строки.
- •11. Арифметические операции в языке mikroC. Виды операций, примеры их использования в программах.
- •12. Операции отношения и логические в языке mikroC. Виды операций, примеры их использования в программах.
- •13. Поразрядные операции в языке mikroC. Виды операций, примеры их использования в программах.
- •14. Операторы выбора if и switch в языке mikroC. Выполняемые функции, примеры их использования в программах.
- •15. Операторы цикла языка mikroC: for, while, do … while. Выполняемые функции, примеры использования в программах.
- •16. Операторы перехода языка mikroC: break, continue, goto. Выполняемые функции, промеры использования в программах.
- •17. Функции языка mikroC: определение и прототипы.
- •18. Управление отдельными разрядами регистров pic-микроконтроллеров в языке mikroC. Встроенные функции формирования временных задержек компилятора mikroC pro for pic.
- •19. Программирование на mikroC типовых процедур управления для pic-микроконтроллеров: управление светодиодом, формирование периодических сигналов, опрос контактов переключателя.
- •20. Средства аналогового ввода/вывода микроконтроллеров: назначение, принцип построения аналого-цифрового преобразователя (ацп). Модуль ацп в pic-микроконтроллерах.
- •21. Микроконтроллеры семейства avr фирмы Atmel: общая характеристика, внутренняя структура
- •22. Интегрированная среда разработки для avr-микроконтроллеров mikroC pro for avr. Программирование параллельного ввода/вывода данных в avr-микроконтроллерах
- •23. Программирование на mikroC для avr-микроконтроллеров процедур управления отдельными разрядами портов, опроса контактов переключателей
- •24. Интерфейсы микропроцессорных систем, классификация и принципы построения. Интерфейсы параллельные и последовательные, синхронные и асинхронные
- •25. Последовательный асинхронный интерфейс rs-232. Назначение, форматы передачи данных, основные технические характеристики
- •26. Последовательные асинхронные интерфейсы rs-422 и rs-485. Назначение, форматы передачи данных, основные технические характеристики
- •27. Последовательный синхронный интерфейс spi. Назначение, форматы передачи данных, основные технические характеристики
- •28. Интерфейсная шина i2c. Назначение, форматы передачи данных, основные технические характеристики
- •29. Интерфейсная шина can. Назначение, форматы передачи данных, основные технические характеристики
- •30. Общие принципы и основные этапы разработки микроконтроллерных систем. Разработка и отладка аппаратных средств и программного обеспечения. Методы совместной отладки аппаратных и программных средств
2. Архитектура микропроцессора: архитектура со сложной системой команд (cisc-процессоры), архитектура с упрощенной системой команд (risc-процессоры), принстонская и гарвардская архитектуры.
Особенность МП как устройства с программируемой логикой заключается в подчиненности его аппаратного состава (структуры из элементов, составляющих МП, и связей между ними) программируемости. Это означает, что функции, реализуемые МП, определяются не столько его структурой, сколько последовательностью управляющих слов (команд), поступающей из программной памяти. Для комплексной характеристики возможностей МП пользуются понятием архитектуры.
Архитектурой МП называется комплекс его аппаратных и программных средств, предоставляемых пользователю. Архитектура отражает структуру МП, набор программно-доступных элементов, систему команд и способы адресации, объем и структуру адресуемой памяти, реакцию МП на внешние сигналы.
При описании архитектуры и функционирования МП обычно используется его представление в виде набора программно-доступных элементов – регистров, образующих так называемую программную модель МП. В этих регистрах содержатся обрабатываемые данные (операнды) и управляющая информация. Соответственно, в программную модель входит группа регистров общего назначения РОН, служащих для хранения операндов, и группа служебных регистров, обеспечивающих управление выполнением программы и режимами работы МП. Регистры общего назначения РОН образуют РЗУ - внутреннюю регистровую память МП.
При использовании подобной программной модели функционирование МП представляется в виде реализации регистровых пересылок, то есть процедур изменения состояния этих регистров путем чтения или записи их содержимого. В результате таких пересылок обеспечивается адресация и выбор команд и операндов, хранение и пересылка результатов, изменение последовательности команд и режимов функционирования МП в соответствии с поступлением нового содержимого в служебные регистры, а также все другие процедуры, реализующие процесс обработки информации.
С точки зрения системы команд и способов адресации операндов в современных МП реализуется один из двух принципов построения процессоров:
CISC-архитектура, в которой реализуется так называемая полная система команд (Complex Instruction Set Computer);
RISC-архитектура, в которой реализуется сокращенная система команд (Reduced Instruction Set Computer).
CISC-архитектура характеризуется большим набором разноформатных команд с использованием многочисленных способов адресации. Это классическая архитектура процессоров, которая начала свое развитие в 1940-х годах с появлением первых компьютеров. Основной целью ее было сокращение размера программ, что уменьшало требования к объему оперативной памяти. Расширение спектра операций, реализуемых системой команд, позволяло уменьшить размер программ, а также трудоемкость их написания и отладки. Для CISC-микропроцессоров характерно:
большое количество команд, некоторые из которых выполняют много функций;
большое количество форматов команд различной разрядности;
большое количество методов адресации;
широкое использование команд обработки типа «регистр-память»;
сравнительно небольшое число регистров общего назначения (8 – 16).
Типичным примером CISC-процессоров являются микропроцессоры семейства Pentium фирмы Intel. Они выполняют более 200 команд разной степени сложности, которые имеют размер от 1 до 15 байт и обеспечивают более 10 различных способов адресации. Такое многообразие команд и способов адресации позволяет программисту реализовать наиболее эффективные алгоритмы решения различных задач. Однако при этом существенно усложняется структура МП, особенно его устройства управления, что приводит к увеличению размеров и стоимости кристалла, снижению производительности. В то же время многие команды и способы адресации используются достаточно редко. Кроме того, наличие в программе команд различного формата приводит к нерегулярности потока команд и сильно ограничивает эффективность конвейерной их обработки.
Эти недостатки обусловили необходимость разработки альтернативной архитектуры, нацеленной, прежде всего, на снижение нерегулярности потока команд и уменьшение их количества.
Первые RISC-микропроцессоры, разработанные в начале 80-годов, выполняли относительно небольшой набор команд: 50 – 100. Именно эта особенность и определила название данного класса микропроцессоров – RISC (Reduced Instruction Set Computer - компьютер с сокращенным набором команд).
В настоящее время определились следующие характерные особенности RISC-микропроцессоров:
расширенный объем регистровой памяти: от 32 до нескольких сотен регистров общего назначения, входящих в состав МП;
использование в командах обработки данных только регистровой адресации (обращение к памяти используется в командах загрузки и сохранения содержимого регистров, а также в командах передачи управления);
отказ от аппаратной реализации сложных способов адресации;
фиксированный формат команд (обычно 4 байта);
исключение из набора команд, реализующих редко используемые операции, а также команд, не вписывающихся в принятый формат.
Преимущественное использование регистровой адресации значительно повышает производительность МП. Фиксированный формат команд, отказ от сложных и редко используемых команд и способов адресации существенно упрощает устройство управления, сокращает объем его микропрограммной памяти, что позволяет уменьшить размер кристалла RISC-процессоров, снизить их стоимость и повысить тактовую частоту. Использование фиксированного формата команд обеспечивает также более эффективную работу конвейера МП, уменьшает число тактов простоя и ожидания, что дает дополнительный рост производительности. Поэтому RISC-процессоры в 2-4 раза более производительней имеющих ту же тактовую частоту CISC-процессоров, несмотря на несколько больший (примерно на 30%) объем программ.
Важной архитектурной особенностью микропроцессоров является используемый вариант реализации памяти и организация выборки команд и данных. По этим признакам различают процессоры с Принстонской и Гарвардской архитектурой. Эти архитектурные варианты были предложены в конце 1940-х годов специалистами соответственно Принстонского и Гарвардского университетов США для разрабатываемых ими моделей компьютеров.
Принстонская архитектура, которая часто называется архитектурой Фон-Неймана (по имени руководителя разработки), характеризуется общей оперативной памятью для хранения программ и данных. Для обращения к этой памяти используется общая системная шина, по которой в процессор поступают и команды и данные (рис. 1).
Рис. 1. Принстонская архитектура МПС
Принстонская архитектура имеет ряд достоинств. Наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд и данных в зависимости от решаемых задач. Обеспечивается возможность более эффективного использования имеющегося объема оперативной памяти в каждом конкретном случае применения МП. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных (например, в системах сбора данных от многих объектов). Перераспределение памяти не вызывает никаких проблем, главное – чтобы программа и данные вместе помещались в памяти. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это позволяет решать самые сложные задачи. Использование общей шины для передачи команд и данных значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность. Поэтому Принстонская архитектура в течение долгого времени доминировала в вычислительной технике. Однако ей присущи и существенные недостатки. Дело в том, что при единственной шине команд и данных процессор вынужден по одной этой шине принимать данные (из памяти или УВВ) и передавать данные (в память или УВВ), а также читать команды из памяти. Естественно, одновременно эти пересылки кодов по шине происходить не могут, они должны производиться по очереди. При этом общая шина становится «узким местом», которое ограничивает производительность системы. Поэтому все возрастающие требования к производительности микропроцессорных систем вызвали в последние годы переход к другой архитектуре - Гарвардской, с двумя системными шинами.
Гарвардская архитектура характеризуется физическим разделением памяти команд (т.е. команд) и памяти данных. Обмен процессора с каждым из двух типов памяти происходит по своей шине (рис. 2).
Рис. 2. Гарвардская архитектура МПС
Каждая память соединяется с процессором отдельной шиной, что позволяет одновременно с чтением/записью данных при выполнении текущей команды производить выборку следующей команды. Благодаря такому разделению потоков команд и данных и совмещению операций их выборки и исполнения реализуется более высокая производительность, чем при использовании Принстонской архитектуры.
Недостатки Гарвардской архитектуры связаны с необходимостью использования большего числа шин, усложнения структуры процессора. Кроме того, существенный недостаток – это фиксированный объем памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи. Поэтому приходится применять память большего объема, коэффициент использования которой при решении разнообразных задач оказывается более низким, чем в системах с Принстонской архитектурой.
Однако развитие микроэлектронной технологии позволило в значительной степени преодолеть указанные недостатки, поэтому Гарвардская архитектура широко применяется во внутренней структуре современных высокопроизводительных микропроцессоров, где используется отдельная кэш-память для хранения команд и данных. В то же время во внешней структуре большинства МПС реализуются принципы Принстонской архитектуры.
Проще всего преимущества двухшинной архитектуры реализуются внутри одной микросхемы. В этом случае можно также существенно уменьшить влияние недостатков этой архитектуры. Поэтому Гарвардская архитектура получила преимущественное распространение в однокристальных МК, рабочая программа которых обычно хранится в отдельном ПЗУ. В МК программы обычно небольшие, но зато необходимо максимальное быстродействие при заданной тактовой частоте.
