Этапы проектирования микропроцессорных систем. Проектирование микропроцессорной системы контроля. Адресное пространство. Механизм и способы адресации

1. Функционирование, проектирование и архитектура микропроцессорных устройств и систем

1.1. Общие сведения о микропроцессорной технике

Основные понятия и определения микропроцессорной техники

Микропроцессоры и микроЭВМ - массовая продукция электронной промышленности. Знания основ микропроцессорной техники необходимые инженерам любого профиля, в особенности инженерам-системотехникам, инженерам-конструкторам, инженерам-технологам вычислительных систем (ВС).

Микропроцессоры (МП) нашли широкое применение в современных ВС и радиоэлектронных устройствах (РЭУ), технологических системах контроля, гибких автоматизированных и других производствах. Использование МП положительно влияет на повышение производительности труда, способствует улучшению качества аппаратуры разного назначения. Благодаря применению МП и микроЭВМ в технических системах расширились функциональные возможности аппаратуры, повысились ее надежность и стабильность функционирования, улучшилось качество обработки информации .

Перспективы и возможности применения МП и микроЭВМ в вычислительных системах еще полностью не раскрыты. Постоянно совершенствуются технологии производства и архитектура МП. Так, разрядность современных однокристальных МП достигает 64 бит. При использовании МП и микроЭВМ разработчики должны уметь оценивать возможности их архитектуры и технические характеристики, а также владеть языками программирования разных уровней. Для создания системного программного обеспечения широко используется язык асемблера. В целях обеспечения высокой производительности труда программистов, задачи обработки данных решаются с помощью языков высокого уровня (например – С). Современным инженерам - специалистам в вычислительной технике необходимы знания в области как архитектуры МП, так и программирования электронных устройств на языках разных уровней.


Базовыми, в микропроцессорной технике, являются такие понятия, как: «микропроцессор», «ИС», «ИМС», «БИС», «СБИС», «микропроцессорный комплект БИС», «микропроцессорное устройство», «микропроцессорная система», «микропроцессорная техника», «микроЭВМ» (общего назначения и специализированные), «встроенная микроЭВМ», «компьютер персональный», «бытовой персональный компьютер», «профессиональный персональный компьютер», «микроконтролер» и др.

Кроме того, в микропроцессорной технике используются понятия, относящиеся к вычислительной технике, и в частности «магистраль», «шина», «интерфейс», «системный интерфейс», «периферийный интерфейс», «адаптер», «протоколы», «линия интерфейса» и др.

При изучении программных средств в микропроцессорной технике употребляются общие понятия, совпадающие по названию с понятиями описания программных средств в вычислительной технике, в частности «алгоритм», «программа», «программное обеспечение» и др.

Одним из главных, базовых понятий микропроцессорной техники, является «микропроцессор».

Микропроцессор - это сложное программно управляемое устройство, предназначенное для обработки цифровой информации и управления процессом этой обработки, выполненное в виде одной или нескольких интегральных микросхем повышенной степени интеграции (БИ С или СБИ С).

Интегральная микросхема (И МС) - это микроэлектронный прибор, который выполняет определенную функцию преобразования, обработки сигналов и (или) накопления информации, который имеет большую внутреннюю плотность упаковки электрически соединенных элементов (или элементов и компонентов) и (или) кристаллов и рассматривается в аспекте требований испытаний, поставки и эксплуатации изделий радиоэлектроники как единое целое.

Полупроводниковая ИМС - интегральная микросхема, все элементы и межэлементные соединения которой выполнены внутри и на поверхности полупроводника.

Цифровая ИМС - интегральная микросхема, предназначенная для преобразования и обработки сигналов, которые изменяются по закону дискретной функции.

Степень интеграции - показатель степени сложности ИМС, который характеризуется количеством элементов и компонентов, которые содержатся в ней. Степень интеграции определяется по формуле k = lgN , где k - коэффициент, который определяет степень интеграции, значения которого округляются к наибольшему целому числу; N - число элементов и компонентов ИМС.

Большая интегральная микросхема (БИ С) - интегральная микросхема, которая содержит 500 и больше элементов, изготовленных по биполярной технологии, или 1000 и больше элементов, изготовленных по МОП-технологии, сверхбольшая интегральная схема (СБИ С) содержит свышеэлементов.

Комплект БИС - совокупность типов БИС, которые выполняют разнообразные функции, совместимые по архитектуре, конструктивному исполнению, электрическим параметрам и обеспечивающих возможность их совместного использования при изготовлении микропроцессорной техники.

Микропроцессорный комплект (МПК) - совокупность микропроцессорных и других ИМС, совместимых по архитектуре, конструктивному исполнению и электрическим параметрам и обеспечивающих возможность их совместного использования.

Микропроцессор описывается многочисленными параметрами, присущими как электронным приборам (быстродействие, потребляемая мощность, габариты, масса, количество уровней питания, надежность, стоимость, тип корпуса, температурный диапазон и др.), так и вычислительным средствам (разрядность, цикл выполнения команды или микрокоманды, количество внутренних регистров, наличие мікропрограмного уровня, тип стековой памяти, состав программного обеспечения и др.).


Микропроцессорное устройство ( МПУ) - функционально и конструктивно законченное изделие, представляющее из себя схемно-конструктивное соединение нескольких микросхем, в том числе одного или нескольких микропроцессоров , предназначенное для выполнения одной или нескольких функций: получение , обработка, передача, преобразование информации и управления .

МПУ имеет унифицированные соединительные характеристики (интерфейс, конструкцию и др.) и функционирует в составе определенной технической системы.

Микропроцессорная система ( МПС) - это совокупность значительного количества функциональных устройств, одним из которых есть микропроцессор.

Микропроцессор является ядром этой системы и выполняет функции центрального устройства управления и устройства арифметическо-логического преобразования данных. Все устройства МПС имеют стандартный интерфейс и подключаются к единой информационной магистрали.

Микропроцессорная техника - это микропроцессоры и устройства вычислительной техники (ВТ) и автоматики, выполненные на их основе.

Это наиболее обобщенные понятия вычислительной техники. На сегодня почти вся ВТ строится на базе микропроцессорных устройств.

МикроЭВМ общего назначения - это микроЭВМ, которые имеют большие операционные ресурсы, приспособленные для обработки разнообразных числовых и текстовых данных и предназначенные для использования в вычислительных центрах.

Это наиболее распространенный класс микроЭВМ, являющийся базовым для персональных компьютеров

Специализированные ЭВМ - это ЭВМ, предназначенные для реализации определенного конкретного алгоритма: преобразования Фурье, вычисления корреляционных функций и др.

Они являются узкопрофильными ЭВМ с ограниченным количеством системных команд.

Встроенная микроЭВМ (микропроцессорное устройство) - блок обработки данных и управления, предназначенное для использования в бытовых приборах, системах технологического контроля или управления, периферийных устройствах ЭВМ, оргтехнике и др.

Наиболее массово эти ЭВМ используют в бытовой технике (телевизоры, магнитолы, стиральные машины и др.)

Компьютер персональный (персональная ЭВМ) - диалоговая система индивидуального пользования, реализованная на базе микропроцессорных средств, малогабаритных внешних запоминающих устройств и устройств регистрации данных, которые обеспечивают доступ ко всем ресурсам ЭВМ с помощью развитой системы программирования на языках высокого уровня.

Это небольшая по размерам и по стоимости универсальная микроЭВМ, предназначенная для индивидуального пользования. Бытовые персональные компьютеры выполняют функции домашнего информационного центра. Профессиональные персональные компьютеры предназначены для автоматизации разнообразных операций обработки больших объемов информации на рабочем месте специалиста.

Микроконтролер - управляемое устройство, выполненное на одном или нескольких кристаллах, функциями которого есть логический анализ и управление.

Классификация микропроцессоров и их основные параметры

По количеству БИС различают однокристальные, многокристальные и многокристальные секционированные МП.

Однокристальные МП реализуют все аппаратные средства процессора в виде одной БИС или СБИС. Однокристальний МП имеет фиксированную разрядность, набор команд и конструктивно выполнен в виде одной интегральной схемы (ИС). Все осуществляемые им операции определяются набором команд МП. Особенностью однокристального МП есть наличие внутренней магистрали для передачи внутренних информационных данных и управляющих сигналов. Возможности этих МП ограниченны аппаратурными ресурсами кристалла и корпуса, но с увеличением степени интеграции кристалла и количества выводов корпуса параметры МП непрерывно улучшаются.

В много кристальних МП логическая структура распределяется на функционально законченные части, которые реализуются в виде отдельных БИС и СБИС или отдельных кристаллов в одной СБИС.

Многокристальные секционированные МП состоят из набора микропроцессорных секций.

Микропроцессорная секция - это микропроцессорная интегральная схема, которая реализует часть МП и имеет средства простого функционального объединения с однотипными или другими микропроцессорными секциями для построения законченных МП, МПУ или микроЭВМ.

Управление секционированными МП осуществляется микропрограммными средствами. К секционированным МПК относятся БИС серий: К1800, КР1802, КМ1804 и др. Главное их назначения - создания высокопроизводительных многоразрядных МП и МПК, на базе которых реализуются разнообразные управляющие вычислительные системы.

Основу МПК БИС составляет базовый комплект ИМС одной серии. Он может состоять из ИС однокристального МП с фиксированными разрядностью и набором команд или комплекта БИС однокристального МП. Для расширения функциональных возможностей МП базовый МПК БИС дополняется другими типами БИС: ОЗУ, ПЗУ, ППЗУ, интерфейсными интегральными схемами, контролерами внешних устройств и др.

По типу обрабатываемых сигналов различают цифровые и аналоговые МП. В обоих типах МП обработка информации цифровая. В цифровых МП обрабатываются сугубо цифровые сигналы, а в аналоговых для обработки аналоговых сигналов встроено аналого-цифровое устройство (АЦП) и цифроаналоговий преобразователь (ЦАП). В них входные аналоговые сигналы передаются в МП через АЦП, обрабатываются в цифровой форме, превращаются в аналоговую форму в ЦАП и поступают на выход.

Выбор микропроцессорного комплекта

для проектирования вычислительных устройств и систем

Выбор МПК для конкретного вычислительного устройства или системы есть наиболее сложной задачей. Это связано с постоянным возрастанием количества МПК и БИС в них.

При выборе МПК аппаратура должна отвечать определенным требованиям: работа в режиме реального времени; повышенная надежность; помехоустойчивость; простота обслуживания; наличие фиксированного набора задач, которые решаются многократно на протяжении всего срока эксплуатации аппаратуры.

Выбор МПК осуществляют по трем основными критериями:

1) в аспекте разработки математического обеспечения нужно проанализировать разрядность, количество доступных для использования регистров общего назначения, набор команд и способы адресации, наличие и организацию стека;

2) относительно системного проектирования необходимо определить: тип архитектуры МП (секционированные или однокристальные), тип организации управления (микропрограммное или с жесткой логикой), наличие логически совместных БИС из других комплектов, быстродействие МП, возможность прерывания и прямого доступа к памяти, наличие системы автоматизированного проектирования;

3) с точки зрения разработки аппаратных средств МПС необходимо учитывать: электрическую совместимость БИС, количество источников питания и рассеиваемую мощность, размер и тип корпуса, количество выводов, диапазон рабочих температур и др.

Выбор МПК для конкретного применения часто осуществляют на основании данных о технологии, по которой он изготовлен.

Вопросы и задачи

1. Какими факторами обусловлено применение МП и микроЭВМ в производственных системах?

2. Чем отличаются однокристальные МП от многокристальных (несекциони-рованных и секционированных)?

3. Какими общими параметрами характеризуют МП, МПУ и МПС?

4. По каким признакам характеризуют МП?

5. Назовите основные параметры современных МП.

6. По каким критериям выбирают микропроцессорные комплек­ты при проектиро-вании вычислительных устройств и систем?

1.2. Общие вопросы организации и функционирования микропроцессорных устройств и систем

Структура микропроцессорных устройств и систем

Любая МПС состоит из МП, системы памяти, системы ввода-вывода информации и системы сопряжения с объектом управления или контроля.

Микропроцессор и грает роль центрального устройства управления и устройства арифметико-логических преобразований данных.

Память физически реализуется в виде системы, которая состоит из нескольких уровней.

Постоянные запоминающие устройства (ПЗУ) предназначены для долгосрочного сохранения предварительно записанных данных и используются только в режиме считывания. Они энергонезависимы.

Оперативные запоминающие устройства (ОЗП) работают в режимах оперативной записи и считывание данных с быстродействием, которое приближается к быстродействию процессора. Они энергозависимы.

Внешние запоминающие устройства (В ЗУ) выполняют функции сохранения больших объемов информации, содержат накопители на гибких и жестких магнитных дисках, компакт-дисках (лазерных) и др.

Устройства ввода данных (УВ) предназначены для передачи данных извне в регистры МП или в память. Среди них - клавиатура, разнообразные пульты управления, магнитные и лазерные диски и др.

Устройства вывода данных (УВыв) предназначены для восприятия данных, передаваемых из регистров МП или ячеек памяти. Это дисплеи, печатающие устройства, ВЗУ, пульты управления, графопостроители (плоттеры) и др.

Для сопряжения объекта управления или контроля с МПУ или МПС в состав оснащения должны входить датчики и исполняющие механизмы. Для их подключения к МПУ ли МПС используют блоки сопряжения, которые выполняют функции согласования интерфейсов. Иногда эти блоки называют устройствами связи с объектом (УСО).

Интерфейсы микропроцессорных устройств и систем

Архитектурные возможности МПС в значительной мере зависят от типа интерфейса.

Унифицированный интерфейс - это совокупность правил, которые устанавливают единые принципы взаимодействия устройств МПС.

В состав интерфейса входят аппаратные средства соединения устройств (соединители, связи), спецификация номенклатуры и характеристик связей, программные средства, описания характера сигналов интерфейса и их временные диаграммы, а также описание электрофизических параметров сигналов.

Основная задача интерфейса - на основе унификации обеспечить совместимость аппаратных, программных и конструктивных средств, которые предопределяют заданное качество автоматического взаимодействия разных функциональных элементов в едином процессе обработки информации в МПС на этапах сбора, преобразования, сохранения и выдачи результатов и управляющих действий.

Архитектура МПС определяется преимущественно тремя интерфейсными уровнями: системным, межмашинным и малым интерфейсом (интерфейсом периферийных устройств).

Системный интерфейс обеспечивает объединения основных модулей (блоков) МПС в единую систему на равные обмена информацией с процессором и ОЗП.

Системные интерфейсы разделяют на сосредоточенные (интерфейсы ПЭВМ), локально-сосредоточенные (Q-bus) и локальные (Unibus).

Межмашинный интерфейс обеспечивает построение мультипроцессорных систем и локальных и распределенных систем и сетей.

Малые интерфейсы учитывают отличие физических принципов работы групп периферийных устройств и ПЗУ. Контролеры малых интерфейсов обеспечивают выход на системный интерфейс. При этом контролеры периферийных устройств и ПЗУ выходят на соответствующий малый интерфейс.

Управление работой микропроцессорных устройств (систем)

Временное согласование информационных сигналов в МПУ осуществляется с помощью специальных сигналов, поступающих от устройства управления МП. МПУ или МПС функционирует синхронно с появлением тактовых сигналов. Простейшее действие, которое выполняется в МПУ (МПС), называется состоянием. Он охватывает один период сигнала тактирования - тактовый интервал или такт.

Определенное количество тактовых интервалов составляет машинный цикл. Для одного обращения к памяти или к устройству ввода/вывода необходим один машинный цикл. За один цикл осуществляется выборка команды или данных, а также кода адреса (возможно, байта команды или данных и байта кода адреса).

Машинный цикл - часть команды (иногда полностью команда). С началом каждого машинного цикла на выводе синхронизации МП возникает сигнал синхронизации. Он передается в запоминающее устройство (ЗУ) и(или) в устройство ввода/вывода (УВВ) и «извещает» о начале нового машинного цикла, в результате чего достигается согласование во времени действия этих устройств с работой МП.

Схема 1. Структура команды

Цикл команды - интервал времени, необходимое для выборки команды из памяти и его выполнения. Он состоит из одного или нескольких машинных циклов. их количество, как правило, равняется количеству обращений МП к памяти или к одному из УВВ. Структуру команды показан на схеме 1.

Управляющее устройство выполняет функции управления и синхронизации, то есть контролирует изменение состояний МП в необходимой последовательности, согласовывая их с сигналами тактового генератора. Он состоит из управляющего конечного автомата, предназначенного для управления процессами внутри МП, и схемы, которая, получая сигналы извне, вырабатывает сигналы, которые управляют системой.

Код команды дешифруется, превращаясь в двоичные сигналы, которые воздействуют на модули и блоки МП, принимающие участие в выполнении этой команды.

Цикл команды делится на две фазы: фаза выборки и фаза выполнения.

Фаза выборки - автомат задает начало очередного цикла, по которому число, находящееся в счетчике команд, передается в буферный регистр адреса. Оттуда через шину адреса код адреса команды направляется в память, где дешифруется. За сигналом «считывания» из ячейки памяти слово команды считывается и передается по шине данных в буферный регистр данных, из которого пересылается в регистр команд, а потом дешифруется.

Фаза выполнения - устройство управления генерирует последовательность сигналов, необходимую для выполнения команды. За это время данные счетчика увеличиваются на единицу. Этим формируется адрес следующей выполняемой команды.

Считывание или запись слова происходит на протяжении некоторого интервала времени, который называют временем доступа. Интервал времени, которое расходуется на обращение к памяти и получение от нее сигнала готовности, называется циклом ожидания готовности. Он составляет часть машинного цикла.

Обмен информацией между МП, ЗУ и УВВ реализуется преимущественно в трех режимах: программно управляемого обмена, обмена в режиме прерываний, обмена в режиме прямого доступа.

Программно управляемый обмен. В этом режиме МП определяет, готово ли ЗУ или периферийное устройство (ПУ) к выполнению операции ввода-вывода, к началу программной передачи данных. УВВ должны иметь аппаратные средства для выработки сигналов о внутреннем состоянии. МП считывает эту информацию и на основании анализа результата делает вывод о готовности устройства к обмену информацией. В дальнейшем в соответствии с протоколом интерфейса происходит обмен данными.

Режим прерывания. Используется при необходимости немедленной передачи данных между УВВ и МП (реакция на неожиданное возникновение внешних условий). При этом МП должен прервать работу основной программы и начать выполнять программу обслуживания внешнего устройства. Такой режим называют прерыванием. Прерывание МП возможны только тогда, когда МП разрешено реагировать на запросы прерывания.

После приема сигнала прерывания МП завершает текущую операцию, передает на сохранение в память всю информацию внутренних регистров данных и управления и переходит к подпрограмме обслуживания прерывания. После окончания обмена информацией по прерыванию восстанавливается состояние МП, которое существовало к началу прерывания.

Различают три вида прерываний: простое, векторное и приоритетное.

Простое прерывание извещает о том, что какое-то устройство ввода/вывода требует обслуживания МП.

Векторное прерывание делает возможным распознать тип (уровень) прерывания, требуемое периферийному устройству. В векторе указывается конкретный адрес устройства.

Приоритетное прерывание состоит в том, что, кроме распознавания прерывания, определяется приоритет в обслуживании прерывающих устройств.

Режим прямого доступа к памяти. Иногда возникает необходимость осуществить обмен информацией вн МП. Это связан с уменьшением затрат времени для обмена массивами данных. В таком случае в состав аппаратной части МПП ли МПС входит контролер прямого доступа к памяти, которая руководит передачей данных, освобождая от этих функций МП.

Устройства прямого доступа к памяти подключаются параллельно процессору. Разделение этих каналов осуществляется с использованием тристабильной логики управления состоянием шин МПС. МП во время прямого доступа к памяти переводит свои исходные схемы в высокоимпедансное состояние и изолируется от системы, что аналогично разрыву информационного канала. Состояние внутренних регистров сохраняется таким, как на момент запроса канала прямого доступа.

Существует несколько способов реализации прямого доступа к памяти. Все они обеспечивают высшую скорость обмена данными сравнительно с режимом программно управляемого обмена. Чаще всего режим прямого доступа к памяти реализуется с остановкой МП и увеличением (удлинением во времени) цикла МП.

Метод остановки основан на том, что в этом состоянии МП отключается от системных шин на время передачи данных. Перед переходом в состояние остановки МП завершает выполнения текущей команды и задерживается в этом состоянии на несколько тактов, до момента, когда шины освободятся. По такой схеме прямого доступа к памяти МП, будучи отключенным от шин, не реагирует на прерывания, что в некоторых случаях может быть неприемлемым для МПС.

Метод захвата состоит в последовательном обмене данными. Быстродействующие УВВ обмениваются только одним словом; их запрос на обслуживание удовлетворяется путем задержки выполнения текущей команды на один машинный цикл, когда МП находится в состоянии перехода от одного машинного цикла к другому. В этом режиме прямого доступа к памяти, МП приостанавливается только на один машинный цикл для передачи каждого слова данных, после чего управления возвращается МП.

Адресное пространство. Механизм и способы адресации

Адресное пространство МПУ (МПС) - множество адресов оперативной памяти и ПЗУ, которое доступно для программ, выполняемых МП.

Размер адресного пространства оперативной памяти МП - одна из величин, существенно влияющих на производительность МПС в целом.

Размер адресного пространства - величина, которое определяется максимальным размером адреса и выражается в единицах минимального количества элементов памяти, которые адресуются - в байтах, или в больших единицах (Кбайт, Мбайт, Гбайт).

Если адрес в МПУ формируется в виде 16-разрядного слова, то адресное пространство равняется 64 Кбайт, 20-разрядного - 1Мбайт и т. д. Иногда для упрощения информационных связей между компонентами МПУ и облегчения программирования процедур ввода/вывода в адресном пространстве размещают адреса регистров МП и УВВ. При этом команды ввода/вывода, как таковые, отсутствуют. Обращения к регистрам МП и УВВ осуществляется идентично обращению к ячейкам памяти.

При образовании слова, 2-байтного адреса, байт с четным (меньшим) адресом называют младшим, а байт с нечетным адресом - старшим.

Часто адресное пространство МПУ представляют в виде диаграммы, на которой указывают общий диапазон адресов. Этот диапазон может быть разделен на поддиапазоны, которые отвечают стандартным размерам конструктивных модулей, чи-пов, разным типам памяти (ОЗУ, ПЗУ и т. п.) или определенному их назначению.

В системе команд МП значительное место занимают адресные команды.

Адресная команда - команда, в которой один или оба ее операнда находятся в оперативной памяти.

Одной из причин такой организации команды есть то, что в одном операнде команды непосредственно нельзя записать полный физический адрес из-за ограничений на длину инструкции. Поэтому, в операнде размещают только определенную величину, с помощью которой вычисляется фактический адрес команды.

Вообще, механизм адресации в значительной мере определяется возможностями МПУ (МПС) эффективно осуществлять обработку информации с минимальным количеством обращений к оперативной памяти. В МПУ (МПС) часто используют команды из двух или нескольких слов.

Для ограничения длины адресного слова применяют разнообразные способы адресации, которые дают возможность:

1) определить полный адрес ячейки памяти меньшим количеством бит, чем сокращается длина команды;

2) обращаться к ячейкам памяти, адреса которых вычисляются во время обработки, чем обеспечивается доступ к устройствам расширения памяти;

3) вычислять адреса данных относительно позиции (текущего адреса) команды так, чтобы программу можно было загружать в любой участок памяти без изменения адреса в программе.

Все режимы адресации можно поделить на две группы:

1) режимы, в которых исполнительный адрес определяется одним значениям кода в команде;

2) команды, которые используют содержимое адресной части команды и одного или нескольких регистров для формирования исполнительного адреса.

К первой группе относят прямую, прямую регистровую, косвенную, косвенную регистровую, непосредственную, автоинкрементную и автодекрементную адресации, а ко второй - базовую, относительную, стековую, виртуальную адресации.

Прямая адресация. Операнды выбираются из памяти (регистров) по адресу, записанному в команде. Однако, указание прямого адреса требует много бит для описания в команде большого адреса. Для его уменьшения некоторые микроЭВМ используют короткую прямую адресацию, обеспечивая доступ к ограниченной части адресного пространства. Если в команде адреса не символические (задаваемые ссылками), а абсолютные, то такую прямую адресацию называют абсолютной.

Прямая регистровая адресация. В коде команды сохраняется имя регистра, в котором находится операнд. Прямая адресации недостаточно гибкая, поскольку не дает возможности выполнить процедуру модификации адреса, необходимую для обеспечения перемещения программ в памяти и удобства работы с массивами.

Косвенная адресация. Операнд из памяти выбирается косвенным способом - через ячейку памяти. В коде команды находится указатель адреса, размещенного в памяти. При выполнении команд с такой адресацией обращения к памяти осуществляется дважды: сначала выбирается адрес, а потом - операнд. Таким образом, без изменения кода команды, можно изменить адрес, сохраняемый в области памяти, на которую указывает поле кода команды.

Косвенная регистровая адресация. По быстродействию приближается к прямой адресации, так как косвенный адрес выбирается из внутреннего регистра процессора и не требует дополнительного цикла памяти. По этой схеме адресации регистр или регистровая пара содержит исполнительный адрес операнда. Загрузка регистров осуществляется с использованием команд с непосредственной адресацией. Применение режима косвенной регистровой адресации делает возможным вычислять адрес памяти во время выполнения программы, что бывает необходимо в процедурах передачи данных, при просмотре элементов массива и т. п.

Непосредственная адресация. Операнд находится в коде команды. Команды в таком случае могут состоять из двух или трех слов.

Автоинкрементна и автодекрементна адресации. Исполнительный адрес вычисляется так же, как и при косвенной регистровой адресации, а потом содержимое регистра увеличивается. В микроЭВМ с байтовой адресацией содержимое регистра необходимо увеличить на 1 для указания следующего байта, и на 2 - для указания адреса следующего слова, при этом размер операнда определяется кодом операции. В автодекрементном режиме адрес операнда формируется вычитанием 1 или 2 из регистра адреса. Отличие от автоинкрементной адресации состоит в том, что вычитание осуществляется до использования содержимого регистра как исполнительного адреса. Комбинация автоинкрементного и автодекрементного режимов обеспечивает эффективное использование любого регистра как указателя стека. Такая адресация применяется также при организации циклов и в операциях со строковыми переменными.

Базовая адресация. Программы, которые содержат команды с абсолютными адресами, невозможно перемещать в памяти без модификации адресов. Обеспечить перемещение программ в памяти можно, применяя базовую адресацию, с помощью которой адрес операнда вычисляется сложением содержимого базового регистра - положительного или отрицательного смещения и адреса, размещенной в коде команды.

Относительная адресация. Исполнительный адрес формируется добавлением базового адреса к адресному полю команды. Как базовый адрес, используют содержимое программного счетчика. Использование относительной адресации дает возможность строить программы, которые независимо перемещаются в памяти за счет того, что в них всегда указанно смещение относительно содержимого программного счетчика. Смещения интерпретируется как знаковое целое число, представленное в дополнительном коде, которое обеспечивает переход в любом направлении.

Стековая адресация. Косвенная регистровая адресация с автоувеличением или автоуменьшением (автоинкрементна или автодекрементна), при которой регистр с указателем адреса операнда задается неявно (существуют такие команды, где местонахождения операндов и результата фиксировано, - неявная адресация). Ячейку памяти, на которую указывает содержимое неявно заданного регистра (указателя стека), называют вершиной стека. С помощью стековой адресации реализуется специальный доступ к участку памяти, называемого стеком, в основу которого положен принцип «последний пришел - первый вышел». Для доступа к стеку используют команды, которые записывают информацию в стек и изымают ее из него. Если команды, которые записывают информацию в стек, декрементируют содержимое указателя стека, а команды, которые изымают из стека, - инкрементируют, то говорят, что стек работает на уменьшение, в противном случае - на увеличение.

Виртуальная адресация. Каждый пользователь памяти (операционная система или человек), решая прикладную задачу, манипулирует с виртуальными адресами, благодаря чему создается иллюзия памяти неограниченной емкости, хотя реальная оперативная память системы имеет ограниченную емкость. Иллюзия создается за счет механизма виртуальной адресации, основой которой есть динамическое перераспределение страниц памяти между основной памятью системы (ОЗП) и внешней.

Каждому пользователю операционная система создает таблицу соответствия виртуальных и физических страниц. Если осуществляется обращения к физической странице, которой нет в основной памяти, то она изымается из внешней памяти и загружается в основную, а ненужная страница «прячется» во внешней памяти. Виртуальную память, или просто память системы, можно поделить на сегменты, в которых информация сохраняется по функциональным признакам. Например, в одном сегменте - команды, во втором - данные, в третьем - участок стека. Или, в одном сегменте, в котором запрещена запись, - ядро операционной системы, а во втором, в котором разрешена запись и считывание, - программы пользователя. Таким образом, с помощью механизма сегментации решаются задачи защите памяти.

Сегментация была реализована в МП К1810ВМ86, а виртуальная адресация - в МП ІАРХ286 (Intel) и 68010 (Motorola).

Система команд. Под командой в общем случае понимают единичный шаг работы исполнительного устройства в виде распоряжения на машинном языке. Команда определяет операцию, которая должна быть выполнена, и ее атрибуты: тип операции, выполняемой в данном цикле работы; адрес, одного или двух операндів, участвующих в операции; местонахождения результата операции; адрес расположения следующей команды. Вследствие маленькой разрядности МП такую информацию тяжело, а иногда и невозможно, указать в одном машинном слове. Поэтому команда может состоять из нескольких машинных слов.

В общем случае различают такие типы команд:

1) пересылка - однонаправленные (регистр - регистр, память - регистр, регистр-память, память-память), обмена (регистр-регистр, память-регистр, память-память), команды ввода/вывода;

2) арифметические;

3) логические;

4) обработки бит;

5) те, что изменяют последовательность вычислений, - переходы (безусловные, условные), вызовы подпрограмм, возврата из подпрограмм, программные прерывания.

Вопросы для самопроверки

1. Опишите обобщенную структуру МП и МПС.

2. По каким признакам классифицируют интерфейсы МПУ и МПС?

3. Какие функции выполняет МП при обработке команды (инструкции) во время фазы выборки, фазы выполнения?

4. При каких обстоятельствах обмен информацией между МП и запоминающими устройствами осуществляется в режиме прерывания или прямого доступа к памяти?

5. От каких параметров МП зависит величина адресного пространства?

6. Пользуясь прибавлением 1, приведите примеры адресных команд с прямой, косвенной, непосредственной, базовой, относительной, автоинкрементной, стековой и виртуальной адресациями.

7. Какую информацию несет в себе код команды в системе команд МП?

1.3. Формализация процесса проектирования микропроцессорных устройств и систем

Аспекты и уровни проектирования

При проектировании МПУ и МПС в многих случаях применяют блочно-иерархический подход, при котором проектируемую систему, делят на иерархические уровни. На высшем уровне используется наиболее недетализированное представление, где отображаются только общие черты и особенности проектируемой системы. На следующих уровнях степень детализации возрастает. При этом МПС рассматривается как совокупность отдельных блоков. На каждом уровне формулируются и решаются задачи определенной сложности, которые реализуются с помощью средств проектирования, имеющихся на этом уровне. Распределение на блоки должно быть таким, чтобы документация на каждый отдельный блок была понятной для одного проектанта.

Итак, блочно-иерархический подход дает возможность распределять сложные задачи проектирования МПС большого объема на группы задач небольшого объема, причем внутри группы разные задачи могут решаться параллельно.

В соответствии с ЕСКД при проектировании устройств и систем используются структурные, функциональные и принципиальные схемы.

Условно можно выделить в моделируемой схеме проектирования горизонтальные и вертикальные уровни (табл. 1). Вертикальные уровни называют аспектами. Различают такие аспекты проектирования МПУ и МПС: функциональный, алгоритмический, конструкторский и технологический.

Функциональный аспект состоит из трех горизонтальных уровней (2-го, 3-го и 4-го): системного (структурного), функционально-логического и схемотехнично-компонентного. На системном уровне проектируют структурную схему МПУ или, МПС, на функционально-логическом - функциональные и принципиальные схемы МПУ или всех устройств, которые входят в состав МПС.

На схемотехническом подуровне схемотехнично-компонентного уровня проектируют принципиальные электрические схемы интегральных схем или фрагментов БИС (СБИС). Элементами в этом случае являются компоненты электронных схем : резисторы, конденсаторы, диоды, транзисторы и др. На компонентном подуровне разрабатывают отдельные компоненты ИС, которые состоят из элементов-участков полупроводникового кристалла.

Алгоритмический аспект содержит также три горизонтальных уровня (1-й, 2-й и 3-й): уровень разработки схемы функционирования МПУ или МПС, архитектурный уровень и микропрограммный уровень. На 1-ом уровне разрабатывают схемы функционирования МПУ или МПС, определяют задачи, которые будут решаться микропроцессорной частью МПС, планируют программные системы и разрабатывают блок-схемы алгоритмов. В дальнейшем разрабатывают программные модули.

Главной задачей 2-го (архитектурного) уровня является выбор архитектуры микропроцессорной части МПС. Иногда его рассматривают как одну из задач системного уровня, то есть объединяют архитектурный и системный уровни в один аспект функционального проектирования.

Таблица 1. Горизонтальные и вертикальные у ровни проектирования

Горизон-тальный уровень

Аспекты (вертикальные уровни)

Функцио-нальный

Алгоритми-ческий

Конструкторский

Технологический

Разработка законов функционирования МПУ (МПС); проектирования алгоритмов; программирования модулей

Системный (структурный)

Архитектурный (машинный)

Стояк, па-нель

Разработка принципиальной схемы технологического процесса

Функционально-логический

Микро-программный

ТЭЗ, мо-дуль

Разработка маршрутов технологического процесса

Схемотех-нично-компонент-ный

Кристаллы ИС

Проектирования технологических операций

3-й (микропрограммный) уровень предназначен для проектирования микропрограмм операций и процедур, которые выполняются в микропроцессоре МПУ ли МПС аппаратным способом.

Конструкторский аспект содержит горизонтальные иерархические уровни проектирования стояков, панелей, ТЕЗів, модулей и кристаллов (чіпів) ІС (2-й, 3-й, 4-й равные).

Технологический аспект состоит из трех горизонтальных уровней - 2-го, 3-го и 4-го. На 2-ом уровне разрабатывается схема технологического процесса изготовления МПУ или МПС, то есть определяют состав и последовательность этапов изготовления МПУ (МПС). На 3-м уровне разрабатывают маршруты технологического процесса изготовления МПУ (МПС), то есть определяют состав и последовательность операций по изготовлению изделия, осуществляют выбор видов и групп технологического оснащения . На 4-м уровне проектируют технологические операции изготовления составных частей МПУ (МПС).

Основные задачи уровней проектирования

Системный и архитектурный у ровни проектирования:

1) определение принципов организации МПУ (МПС);

2) разработка структурной схемы, то есть определение состава устройства или системы и способа взаимодействия составных частей в процессе функционирования аппаратуры;

3) выбор микропроцессорного (микропроцессорных) комплекта БИС (СБИС);

4) определение требований к параметрам устройства или системы и формирования технической задачи (ТЗ) на разработку отдельных устройств МПС.

ТЗ на разработку отдельных устройств МПС содержит: перечисления всех функций, выполняемых каждым устройством; условия работы устройства; требования к его входным и выходным параметрам; данные о содержании и форме информации, обмениваемой с другими устройствами аппаратуры; элементную базу для создания устройства.

Функционально-логический и микропрограммный у ровни проектирования :

1) детализация функций каждого устройства;

2) алгоритмическая реализация функций, которые выполняются программным способом, и представление алгоритмов на одном из принятых алгоритмических языков;

3) выбор принципов организации МПУ (МПС) и разработка его принципиальной схемы;

4) разработка микропрограмм, которые служит основой для каждой команды или совокупности микрокоманд и последовательности их выполнения;

5) синтез функциональных и принципиальных схем цифровых устройств, которые входят в состав МПС;

6) синтез контролирующих и диагностических тестов для МПП ли МПС;

7) формулирования ТЗ для схемотехнического уровня проектирования.

Главные критерии проектирования сложных МПП и МПС:

1) качество проектирования;

2) стоимость проектирования;

3) сроки разработки;

4) количество занятых специалистов-разработчиков.

По возможностям формализации процесса проектирования и его итеративного характера предпочтение отдают выбору автоматизированного проектирования МПП ли МПС. На сегодня из-за большой сложности МПП и МПС полная разработка микропроцессорной части вообще невозможная без использования методов автоматизированного проектирования.

Вопрос. Задача

1. Объясните сущность блочно-иерархического подхода к проектированию МПП и МПС.

2. Что отображают аспекты в моделированной схеме проектирования МПП?

3. На каком из горизонтальных уровней МПП проектируется в виде ТЭЗа и какой аспект соответствует этому?

4. Назовите основные задачи системного уровня проектирования МПП.

5. Какие особенности архитектурного уровня проектирования МПП?

6. В чем сущность функционально-логического уровня проектирован­ия МПП и МПС?

7. Какие основные задачи решаются на микропрограммном уровне МПП?

1.4. Архитектура микропроцессорных устройств и систем

Сущность архитектуры и принципы

разработки микропроцессорных устройств и систем

Сущность архитектуры МПУ и МПС.

Архитектура микропроцессора отражается в функциональных возможностях составляющих его электронных компонентов, используемых для представления данных, машинных операций, описания алгоритмов и процессов вычислений .

Архитектура объединяет аппаратные, микропрограммные и программные средства вычислительной техники и дает возможность четко выделить то, что при создании конкретной МПС должно быть реализовано пользователем программным способом и дополнительными аппаратными средствами.

Иначе, архитектура МП - это его логическая организация, обусловленная возможностями МП относительно аппаратной или программной реализации функций, которые возлагаются на проектируемые МПУ или МПС. Она отображает структуру МП, способы представления и форматы данных, набор команд, форматы управляющих слов, способы обращения ко всем доступным для пользователя элементам структуры, реакцию МП на внешние сигналы.

Архитектуру МП можно рассматривать как совокупность его свойств и характеристик с позиции пользователя. Она описывает методологию оптимального объединения совокупности аппаратных, программных и микропрограммных средств МПУ или МПС относительно свойств, которые используются разработчиками и программистами-пользователями.

При разработке архитектуры МПУ , как и для МП, определяются форматы данных и команд, система команд и методы адресации, обосновываются виды адресации, требования к интерфейсам. Правильный выбор архитектуры делает возможным оптимизировать вычислительный процесс, реализующий алгоритмы функционирования МПУ.

Архитектура микроЭВМ - абстрактное понятие микроЭВМ в терминах функциональных узлов, основных модулей ЭВМ, структур данных. Архитектура конкретно не определяет особенности аппаратной части, время выполнения команд, степень параллелизма при реализации программы и других аналогичных характеристик. Она отображает аспекты структуры микроЭВМ, в частности: систему команд, режимы адресации, форматы данных, набор доступных для пользователя регистров. Термин «архитектура» используется для описания возможностей, которые предоставляет микроЭВМ, а термин «организация» определяет, как эти возможности реализуются.

Описание архитектуры является моделью микроЭВМ, понимание которой важно не только для программиста. Она может быть использована как исходная база для потенциального разработчика новой микроЭВМ: этом случае разработчик трансформирует элементы архитектуры, представляющие определенную логическую схему, набор необходимых, связанных между собой, компонентов.

Все микроЭВМ содержат функциональные блоки, имеющие свою внутреннюю микро-архитектуру: 1) процессор, состоит из арифметико-логического устройства и устройства управления; 2) память – это набор запоминающих элементов (ячеек) и блок управления; 3) устройства ввода и вывода информации также сложные устройства, имеющие в своем составе механические и электронные модули. Эти функциональные блоки объединяются с помощью системы шин: шины данных, по которой осуществляется обмен информацией между блоками микроЭВМ; шины адреса, которая используется для передачи адресов к программно управляемым устройствам, и шины управления для передачи управляющих слов.

Определение архитектуры компьютера, как универсальной микроЭВМ, по смыслу не отличается от определения архитектуры микроЭВМ вообще.

Архитектура компьютера , с точки зрения программиста, абстрактное представление (или определение) вычислительной системы как совокупности комплекса аппаратных и программных средств. В сущности, архитектура - это информация о функциональной (логической) организации компьютера.

Архитектура МПС - определение функций, реализуемых системой на отдельных ее уровнях, и точное определение границ между этими уровнями. Она определяет принципы организации МПС и функции составляющих ее компонентов, в частности процессора, памяти и др. Архитектура МПС не отображает конструктивные особенности логических структур и модулей и технологию их производства.

Принципы разработки МПУ и МПС

С самого начала при разработке и развитии микроЭВМ использовались преимущественно такие основные принципы: модульность, магистральность, микропрограммируемость и регулярность структуры.

Принцип модульной организации предусматривает построение микроЭВМ и МПС на основе набора модулей.

Модуль - конструктивно, функционально и э лектрически законченное устройство, которое делает возможным самостоятельно или в совокупности с другими модулями решать вычислительные задачи или задачи управления заданного класса.

Различают функциональные и конструктивные модули. Модульный подход дает возможность стандартизировать элементы высших уровней и сокращает затраты на проектирование МПУ и МПС, упрощает наращивания мощности и реконфигурацию систем.

Связь модулей и их элементов между собою осуществляется преимущественно по двум принципам: а) принцип произвольных связей, который реализует правило «каждый с каждым», и б) принцип упорядоченных связей - магистральный, дающий возможность минимизировать количество связей. Они обеспечивают обмен информацией между функциональными и конструктивными модулями разных уровней с помощью магистралей, соединяющих входные и выходные шины.

Большинство микроЭВМ и МПС имеют многоуровневую организацию программного управления.

Принцип микропрограммного управления обеспечивает наибольшую гибкость при организации многофункциональных микропроцессорных модулей и путем определенной комбинации микрокоманд дает возможность осуществить проблемную ориентацию микроЭВМ. Благодаря этому принципу есть возможность использовать макрооперации в МПС и эффективнее выполнять команды и программы, чем при использовании подпрограмм.

Микропрограммное управление обеспечивает:

Большую гибкость устройств за счет возможности изменения микропрограмм,

Увеличивает регулярность структуры устройств за счет широкого использования матричных структур типа памяти,

Обеспечивает параллельное решение задач рассредоточенного управления и распределенной памяти,

Повышает надежность устройств за счет использования чипов памяти,

Упрощает контроль функционирования устройств, так как контроль блока микропрограммного управления сводится к контролю содержимого запоминающего устройства.

Принцип регулярности предопределяет повторяемость элементов структуры и связей между ними.

Регулярность системы, как правило, рассматривается на разных уровнях ее организации. Основными способами увеличения регулярности структуры МПП и МПС являются:

1) широкое использование устройств типа памяти;

2) отказ от закрепления определенных микроопераций за регистрами;

3) использование регистровых структур;

4) изготовление регистров общего назначения и других регистров в виде ячеек памяти;

5) применение магистрального способа обмена информацией;

7) использование принципа микропрограммного управления;

8) развитие параллельных МПС.

Классификация архитектур микропроцессорных устройств и систем

Существует несколько классификаций архитектур МПУ и МПС, которые преимущественно совпадают с описаниями обобщенной архитектуры ЭВМ.

Классификация М. Флина. Это одна из удачных классификаций, где показаны архитектурные различия между ЭВМ. Архитектурные особенности ЭВМ описаны с точки зрения потока команд (инструкций) и потока данных. Такой подход дает возможность относить архитектуры компьютеров к одному из определенных классов (табл. 2, схема 2).

Таблица 2 Классификация компьютерных архитектур по Флину

Поток команд

Единичный поток данных

Множественный поток данных (МД)

Единичный (ОК)

ОКОД (SISD) (однопроцессорные компьютеры)

ОКМД (SIMD) (компьютеры с параллельными или ассоциативными процессорами)

Множественный (МК)

МКОД (MISD) (конвейерные магистральные компьютеры)

МКМД (MIMD) (многопроцессорные или многомашинные комплексы)

Классификация осуществлена в аспекте не структуры машин, а в аспекте того, как в компьютере его машинные команды взаимодействуют с данными. Тем не менее классификация Флина весьма общая, то есть она относит все параллельные компьютеры, кроме мультипроцессорных, к одному классу и не указывает никакого отличия между конвейерным компьютером и матрицей МП.

Используются и другие классификации архитектур, в частности систематика Ф. Шара, структурная систематика Р. Хокни и К. Джесхоупа, которая использует специальные структурные нотации.

Структурная систематика Р. Хокни и К. Джессхоупа . На первом уровне все вычислительные системы разделяют по принципу множественности (количества) на однокомпьютерные и многокомпьютерные. Вычислительные системы с одним компьютером, в свою очередь, делятся на ЭВМ с одним конвейерным МП и многими МП.

Первые из них являются традиционными последовательными компьютерами, а вторые образовывают класс параллельных компьютеров, которые разделяют на конвейерные, неконвейерные и микропроцессорные матрицы.

Схема 2. Иллюстрация классификации компьютерных архитектур по Флину

Примером одной из первых неконвейерных вычислительных машин с параллелизмом может быть компьютер CDC-6600, построенный на основе нескольких скалярных процессоров.

Конвейерные ЭВМ делятся на выполняющие только скалярные команды, например компьютеры CDC-7800, FPC AP-120B, и те, которые выполняют векторные команды. Компьютеры, которые используют векторные команды, разделяются, в свою очередь, на компьютеры со специализированным конвейером, например CRAY-1, и с универсальным конвейером - компьютер CYBER 205.

Компьютеры класса машин с матрицей процессоров классифицируются по связанности процессоров в матрице, по разрядности и т. п. Первыми машинами такого типа были ILLIAC-IV, BSP, STA-RAN, ICL DAP, OMEN и др.

По назначению компьютеры подразделяются на две основные группы: универсальные и специализированные .

Архитектура фон Неймана

Универсальные компьютеры имеют традиционную «фон-неймановскую» архитектуру (или скалярную архитектуру).

Основные принципы построения программно-управляемых ЭВМ.

В 1946 г. известный американский математик Дж. фон Нейман впервые сформулировал основные принципы построения программно-управляемых ЭВМ, которые с течением времени дополнялись и уточнялись:

1) принцип программного управления состоит в том, что ЭВМ может автоматически преобразовывать исходные данные в соответствии с заданной программой;

2) принцип условного перехода предоставляет гибкость и универсальность программам, обеспечивая возможность в процессе решения задачи осуществлять переход на определенный участок программы в зависимости от результатов промежуточных вычислений или исходных данных;

3) принцип сохраняемости (защищенности) программы состоит в том, что программу размещают в запоминающем устройстве ЭВМ;

4) принцип произвольного доступа к элементам памяти;

5) принцип использования двоичной системы счисления;

6) принцип многоуровневой (иерархической) памяти.

Эти принципы актуальные и для современных ЭВМ, но с созданием новых поколений и семейств машин они дополнялись и уточнялись.

В ЭВМ, начиная из третьего поколения, кроме того, применяются такие принципы:

- мультипрограммирование - совместное выполнение разных команд одной и той же или разных, независимых одна от одной, программ, которые сохраняются в оперативной памяти;

- информационная и программная совместимость - дает возможность выполнять имеющиеся программы на разных моделях семейства;

Высокий уровень технической стандартизации - единая для всех машин номенклатура внешних и других устройств;

Возможность организации многоэтапной работы по созданию и усовершенствованию ЭВМ.

Машины четвертого поколения строятся по принципам:

- многопроцессорности - коммутации нескольких процессоров при работе с общей памятью;

Организации виртуальной памяти - обеспечивающей практически неограниченный объем адресного пространства ОЗУ;

Широкого использования БИ С и СБИС и макромодульной структуры, в основе которой лежит идея построения из больших стандартизированных блоков (макромодулей) функционально гибких вычислительных систем;

Использования внутренних языков высокого уровня .

Машины пятого поколения отличаются:

Значительным повышением интеллектуального уровня процессоров;

Дальнейшим развитием функции ввода-вывода графики, изображений, документов, языков программирования;

Возможностью диалоговой обработки информации с помощью естественного языка;

Способностью к самообучению, к ассоциативным построениям и получению выводов.

Языки программирования в процессе формирования программ могут реализовывать естественный интерфейс между человеком и машиной. Языки сверхвысокого уровня, обеспечивают:

Высокий уровень интеллектуальности взаимодействия пользователей с вычислительной системой на разных уровнях доступа к базам данных для выбора нужной информации и к базам знаний для получения новых представлений, необходимых для решения незнакомых задач;

Использование существующих программных фондов, ориентированных на традиционную архитектуру ЭВМ.

Специализированные компьютеры предназначены для значительного повышения производительности при решении отдельных видов задач . Это достигали на первых порах за счет применения параллельных вычислений. Со временем появились машины, которые базировались на параллельном выполнении разнообразных функций или на дублировании арифметических устройств, в частности процессорных матриц.

Параллельные архитектуры

Параллельность развивалась по двум направлениями:

1) усовершенствование структуры компьютера за счет уменьшения различий между скоростью работы процессора и скоростью доступа к оперативной памяти;

2) повторение однотипных устройств компьютера, объединенных по определенной топологии.

Параллелизм применялся на нескольких иерархических уровнях, в частности:

1) уровень задач - между задачами, которые выполняются на компьютере, или между фазами задачи;

2) программный уровень - между частями программы (например, в границах циклов);

3) командный уровень - между фазами выполнения команды (инструкциями процессора);

4) арифметический и разрядный уровни - между элементами векторной операции внутри логических схем арифметического устройства.

Принципиальные способы введения параллелизма в архитектуру компьютера можно разделить на такие группы:

- функциональная обработка - предоставление нескольким устройствам возможности выполнения разных функций, в частности операций логики, сложения, умножения и др.

- конвейерная обработка - использование принципа конвейера с целью повышения эффективности процессорного устройства;

- матричная обработка - использование матрицы одинаковых процессорных элементов с общей системой управления, где все элементы выполняют одну и ту же операцию, но с разными данными;

- мультипроцессорная обработка - осуществляется несколькими процессорами, каждый из которых выполняет собственные команды, и все они взаимодействуют через общую оперативную память.

Сигнальные и м едийные микропроцессоры

Сигнальные матричные процессоры - процессоры, в основу которых положен принцип управления, осуществляемого самим потоком данных.

Команды начинают выполняться, как только их операнды становятся доступными. При этом поступление данных из соседних процессоров интерпретируется как изменение состояния и инициирует определенное действие.

Сигнальные процессоры напоминают своей работой процесс распространения сигнала. Они являются распределенной глобальной асинхронной матричной системой вычислений.

Медийная система - сеть процессоров, которые выполняют ритмические вычисления и передачу данных системой.

Каждый процессор регулярно перекачивает данные в каждый момент времени, выполняя определенные короткие вычисления так, что в сети регулярно сохраняется поток данных. Каждый из этих процессоров ориентированный только на один класс задач и потому принадлежит к классу специализированных вычислительных машин.

На аппаратном уровне этим компьютерам присуща глобальная синхронизация, которая предопределяет возникновение таких проблем, как синхронизация тактовых сигналов, повышение потребляемой мощности, снижение надежности работы и др.

Для универсальных потоковых многопроцессорных систем существенными являются проблемы конфликтов, которые связаны с использованием общей памяти и взаимодействия процессоров. Эти проблемы решались путем замены поточных систем модульными и локальными (что реализовано в сигнальных матричных процессорах).

Во многих специализированных компьютерах применяется «гарвардская архитектура» , сущность которой состоит в том, что пространство памяти команд отделено от пространства памяти данных для того, чтобы одновременно выполнять выборку команд и данных.

RISC-архитектура компьютеров

Такую архитектуру имеют компьютеры с сокращенным набором инструкций/команд (RISC - reduced instruction set computer ).

Основные свойства компьютеров с RISC -архитектурой :

1) использования команд фиксированной длины с малым количеством типов форматов;

2) регулярность, которая дает возможность благодаря простоте команд использовать одни и те же аппаратные устройства для выполнения почти всех команд;

3) выполнение большинства команд за один машинный цикл (такт);

4) ориентированность на регистры - все операции с данными выполняют в регистрах, кроме команд загрузки и записи, осуществление которых связано с обращением к памяти.

Преимущества RISC -архитектуры:

1) сопоставимая простота аппаратной реализации;

2) быстрая дешифровка команд;

3) короткая продолжительность такта и соответственно быстрое выполнение команд;

4) возможность создания эффективного конвейера команд.

Недостатки RISC -архитектуры:

1) сравнительно малая скорость обмена операндами и ячейками оперативной памяти;

2) дополнительные требования к программному обеспечению.

Производительность современных матричных и параллельных компьютеров довольно большая и достигает миллиардов операций за секунду над 64-разрядными операндами при выполнении операций с плавающей запятой. При решении прикладных задач их производительность значительно снижается и приближается к производительности современных универсальных компьютеров.

Среди современных конвейерных и матричных МПС следует назвать такие суперкомпьютеры, как Cray MP и др.

Вопрос. Задача

1. Что отображает архитектура МПУ (микроЭВМ) и в чем ее отличие от архитектуры МП?

2. Объясните сущность принципов модульности, магистральности, микро программируемости и регулярности структуры, которые применяются при разработке МПУ, микроЭВМ и МПС.

3. По каким признакам классифицируют компьютерные архитектуры?

4. В чем сущность компьютерной архитектуры фон Неймана?

5. В чем сущность компьютерной Гарвардской архитектуры?

6. Перечислите способы введения параллелизма в архитектуру компьютера.

7. Объясните сущность мультипрограммирования компьютеров.

8. Какой принцип действия медийной сети МП и сигнальных матричных МП, в чем их отличия?

9. В чем сущность RISC-архитектуры компьютеров, какие она имеет преимущества и недостатки сравнительно с предварительно рассмотренными архитектурами?

Литература.

1. Мікропроцесори та мікроЕОМ у виробничих системах: Посібник.- К.: Видавничий центр “Академія”, 2002. – 368 с. (Альма-матер).

2. Корнеев вычислительные системы.- М.: «Нолидж», 199с.

3. , Киселев микропроцессоры.- М.: «Нолидж», 199с.

Качественные и количественные изменения элементной базы средств ВТ привели к изменению сложившихся принципов их проектирования (таких, как жесткая структура, последовательное центральное управление, линейная организация памяти и отсутствие возможности адаптации структуры ЭВМ к особенностям решаемой задачи).

На смену классическим фоннеймановским принципам организации вычислительных систем пришли идеи проблемной ориентации МПС, параллельной и конвейерной обработки информации, использование табличных методов обработки данных, принципы регулярности и однородности структур МПС; становится реальной возможностью идея создания адаптивно-перестраиваемых систем, а также аппаратная реализация функций программного обеспечения. Поэтому в настоящее время при проектировании вычислительных систем на основе МПС получил применение так называемый принцип «3М»: модульность, магистральность, микропрограммируемость.

Принцип модульной организации предполагает построение вычислительных и управляющих МПС на основе набора модулей: конструктивно, функционально и электрически законченных вычислительных устройств, позволяющих самостоятельно или в совокупности с другими модулями решать задачи данного класса. Модульный подход при проектировании микроЭВМ и систем позволяет (при реализации как универсальных, так и специализированных модулей) обеспечить создание семейств (рядов) МПС, отличающихся функциональными возможностями и характеристиками, перекрывающими значительный диапазон применений, способствует сокращению затрат на проектирование, а также упрощает наращивание мощности и реконфигурацию систем, отодвигает время морального старения вычислительных средств.

Магистральный способ обмена информацией в отличие от способа организации произвольных связей (по принципу «каждый с каждым») позволяет упорядочить и минимизировать число связей в МПС. Он обеспечивает обмен информацией между функциональными и конструктивными модулями различного уровня с помощью магистралей, объединяющих входные и выходные шины. Различают одно-, двух-, трех- и многомагистральные связи. Необходимо отметить взаимосвязь схемотехнических и структурных решений, которые проявляются при реализации данного способа обмена в виде создания специальных двунаправленных буферных каскадов с тремя устойчивыми состояниями и использовании временного мультиплексирования каналов обмена.

Микропрограммное управление обеспечивает наибольшую гибкость при организации многофункциональных модулей и позволяет осуществить проблемную ориентацию МПС, а также использовать в них макрооперации, что эффективнее использования стандартных подпрограмм. Кроме этого, передача управляемых слов в виде зашифрованных кодовых последовательностей соответствует условиям минимизации числа выводов СБИС и сокращению числа межсоединений в модулях.

Кроме перечисленных выше основных особенностей проектирования МПС, следует отметить принцип регулярности, который предполагает закономерную повторяемость элементов структуры МПС и связей между ними. Применение данного принципа позволяет увеличить интегральную плотность, уменьшить длину связей на кристалле, сократить время топологического и схемотехнического проектирования БИС и СБИС, уменьшить число пересечений и типов функциональных и конструктивных элементов.

При разработке архитектуры МПС (системный этап) необходимо решить следующие задачи:

Дать описание концептуальной структуры функционального поведения системы с позиций учета интересов пользователя при ее построении и организации вычислительного процесса в ней;

Определить структуру, номенклатуру и особенности построения программных и микропрограммных средств;

Описать характеристики внутренней организации потоков данных и управляющей информации;

Провести анализ функциональной структуры и особенности физической реализации устройств системы с позиции сбалансированности программных, микропрограммных и аппаратурных средств.

Основные этапы проектирования МПС приведены на рис. 3.1.

На начальной стадии проектирования МПС может быть описана на одном из следующих концептуальных уровней: “черный ящик”, структурный, программный, логический, схемный.

На уровне “черного ящика” МПС описывается внешними спецификациями, где перечисляются внешние характеристики.

Рис. 3.1. Этапы проектирования МПС

Структурный уровень создается аппаратными компонентами МПС, которая описывается функциями отдельных устройств, их взаимосвязью и информационными потоками.

Программный уровень разделяется на два подуровня (команд процессора и языковый) и МПС интерпретируется как последовательность операторов или команд, вызывающих то или иное действие над некоторой структурой данных.

Логический уровень присущ исключительно дискретным системам и разделяется на два подуровня: переключательных схем и регистровых пересылок. Первый подуровень образуется вентилями (комбинационные схемы и элементы памяти) и построенными на их основе операторами обработки данных. Второй подуровень характеризуется более высокой степенью абстрагирования и представляет собой описание регистров и передачу данных между ними. Он включает в себя две части: информационную и управляющую: первая образуется регистрами, операторами и путями передачи данных, вторая обеспечивает зависящие от времени сигналы, инициирующие пересылку данных между регистрами.

Схемный уровень базируется на описании работы элементов дискретных устройств.

В жизненном цикле МПС, как и любой дискретной системы, выделяются три стадии: проектирование, изготовление и эксплуатация. Каждая из стадий подразделяется на несколько фаз, для которых существуют вероятности возникновения конструктивных или физических неисправностей. Неисправности классифицируют в соответствии с их причинами: физическая, если причиной ее служат дефекты элементов, и субъективная, если ее причиной служат ошибки проектирования.

Субъективные неисправности делят на проектные и интерактивные. Проектные неисправности вызваны недостатками, вносимыми в систему на различных стадиях реализации исходного задания. Интерактивные неисправности возникают в процессе работы по вине обслуживающего персонала (оператора). Результатом проявления неисправности является ошибка, причем одна неисправность может служить причиной целого ряда ошибок, а одна и та же ошибка может быть вызвана множеством неисправностей.

Существует также понятие дефекта - физическое изменение параметров компонентов системы, выходящих за допустимые пределы. Дефекты называют сбоями, если они носят временный характер, и отказами, если они постоянны. Дефект не может быть обнаружен до тех пор, пока не будут созданы условия для возникновения из-за него неисправности, результат которой должен быть, в свою очередь, передан на выход исследуемого объекта для того, чтобы сделать неисправность наблюдаемой.

Диагностика неисправности – процесс определения причины появления ошибки по результатам тестирования. Отладка – процесс обнаружения ошибок и определения источников их появления по результатам тестирования при проектировании МПС. Средствами отладки являются приборы, комплексы и программы. Иногда под отладкой понимают обнаружение, локализацию и устранения неисправности. Успех отладки зависит от того, как спроектирована система, предусмотрены ли свойства, делающие ее удобной для отладки, а также от средств, используемых для отладки. Для проведения отладки проектируемая МПС должна обладать свойствами управляемости, наблюдаемости и предсказуемости.

Управляемость – свойство системы, при котором ее поведение поддается управлению, т.е. имеется возможность остановить функционирование системы в определенном состоянии и заново запустить систему.

Наблюдаемость – свойство системы, позволяющее проследить за поведением системы, за сменой ее внутренних состояний.

Предсказуемость – свойство системы, позволяющее установить систему в состояние, из которого все последующие состояния могут быть предсказуемы.

МПС по своей сложности, требованиям и функциям могут значительно отличаться эксплуатационными параметрами, объемом программных средств, типом микропроцессорного набора и т.д. В связи с этим процесс проектирования может видоизменяться в зависимости от требований, предъявляемых к системе. Например, процесс проектирования МПС, отличающихся одна от другой содержанием ПЗУ, будет состоять из разработки программ и изготовления ПЗУ. При проектировании многопроцессорных МПС, содержащих несколько типов МПК, необходимо решать вопросы организации памяти, взаимодействия с процессорами, организации обмена между устройствами системы и внешней средой и т.п.

Наиболее типичными этапами проектирования и разработки МПС являются: формализация требований к системе; разработка структуры и архитектуры МПС; разработка и изготовление аппаратурных средств и программного обеспечения системы; комплексная отладка и приемосдаточные испытания.

Процесс проектирования – итерационный процесс. Неисправности, обнаруженные на этапе приемосдаточных испытаний, могут привести к коррекции спецификации, а следовательно, к началу проектирования всей системы. Обнаруживать неисправности необходимо как можно раньше; для этого надо контролировать корректность проекта на каждом этапе разработки. Существуют следующие методы контроля правильности проектирования: верификация (формальные методы доказательства корректности проекта); моделирование; тестирование.

В последнее время появилось много работ по верификации программного обеспечения, микропрограмм, аппаратуры. Однако эти работы пока носят теоретический характер. Поэтому на практике чаще используют моделирование поведения объекта и тестирование на различных уровнях абстрактного представления системы.

На этапе формализации требований к системе контроль корректности проекта особо необходим, поскольку многие цели проектирования не формализуются или не могут быть формализованы в принципе. Функциональная спецификация может анализироваться коллективом экспертов или моделироваться и проверяться в опытном порядке для выявления достижения желаемых целей. После утверждения функциональной спецификации начинается разработка тестовых программ, предназначенных для установления правильности работы системы в соответствии с ее спецификацией. В идеальном случае разрабатываются тесты, целиком основанные на этой спецификации и дающие возможность проверки любой реализации системы, которая объявляется способной выполнять функции, оговоренные в спецификации. Этот способ – полная противоположность другим, где тесты строятся применительно к конкретным реализациям. Однако на практике разработке тестов часто присваивают более низкий приоритет по сравнению с проектом, поэтому тестовые программы появляются значительно позже его завершения.

Контрольные вопросы

1. Поясните понятия модульности, магистральности и микропрограммируемости МПС при проектировании.

2. Перечислите задачи, решаемые разработчиками при проектировании МПС.

3. Перечислите основные этапы проектирования МПС.

4. Назовите концептуальные уровни описания МПС при проектировании и разработке.

5. Перечислить основные методы контроля правильности проектирования МПС.

6. Какими свойствами должна обладать проектируемая МПС для выполнения этапа ее отладки?

7. Перечислите виды неисправности при проектировании МПС.

8. Назовите причины физической и субъективной неисправностей МПС.

9. Поясните понятия: диагностика неисправности, отладка.

Министерство общего и профессионального образования

Российской Федерации

Тульский Государственный Университет

Кафедра Электронных Вычислительных Машин

Пояснительная записка

к курсовому проекту по дисциплине «Микропроцессорные системы»

Проектирование микропроцессорной системы для идентификации объекта управления

Специальность: 220100

Обозначение КП: К2.006.106

Руководитель работы: Венцлавович Ю.Р.

ВВЕДЕНИЕ

Курсовой проект предназначен для приобретения практических навыков проектирования несложных микропроцессорных систем различного назначения. Проект базируется на теоретической части дисциплины “Микропроцессорные системы”. Задание на курсовой проект выдается руководителем проекта.

Курсовой проект выполняется с целью закрепления знаний по курсу “Микропроцессорные системы” и развития навыков самостоятельного проектирования микропроцессорных систем, специализированных на конкретный вид информации.

Задачами курсового проекта является:

· практическое овладение методикой проектирования микропроцессорных систем;

· анализ вариантов проектных решений и выбор на его основе оптимального решения;

· синтеза функциональной схемы микропроцессорной системы на основе анализа исходных данных и принятого оптимального решения;

· получение навыков разработки аппаратного и программного обеспечения микропроцессорной системы;

· дальнейшее развитие навыков функционально-логического, схемотехнического и конструкторского проектирования, оформления и выпуска конструкторской документации в соответствии с ГОСТ.

Для решения перечисленных задач необходимы знания не только курса “Микропроцессорные системы”, но и ряда смежных дисциплин, а также умение пользоваться нормативно-справочной информацией.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1. Алгоритм обработки входных данных.

Модель объекта заданна уравнением:

где: ai (i=1,…,r) и bi (i=1,…,l) - неизвестные параметры;

xn - ненаблюдаемый шум;

xn-i и zn-i - наблюдаемые переменные.

Оценки параметров определяются итерационной процедурой фильтра Калмана:


где: j = T

q = T

s02 - дисперсия независимого ненаблюдаемого шума xn

1. Характеристики входной информации:

число источников входной информации - 8;

мин/макс уровень изменения входных сигналов - 3/4;

минимальная дисперсия погрешности измерений, ґґ10-2 - ssи2 = 5;

максимальная дисперсия погрешности измерений, ґґ10-2 - ssc2 = 50;

1. Требуемые характеристики выходной информации:

число потребителей выходной информации - 1;

ограничение на время запаздывания выходной информации относительно входной (время формирования ответной реакции), мс - 0,15;

2. Требуемые общие характеристики МПС:

тип связи с источником входной информации - последовательная;

тип связи с потребителем выходной информации - последовательная;

3. Конструктивные параметры:

корпус Desktop - 152х533х419мм

тип платы - Baby-AT 8,57х13,04 дюйма

тип монитора - SVGA 15"

блок питания - 250 Вт

4. Группа эксплуатации - транспортируемые и портативные, предназначенные для длительной переноски людьми на открытом воздухе или в неотапливаемых наземных и подземных сооружениях, работающие и не работающие на ходу.

Климатические факторы

изменение температуры окружающей среды

пониженная температура, Со -50

время выдержки, час 2-6

повышенная температура, Со 60

время выдержки, час 2-6

повышенная влажность

относительная влажность, % 93

температура, Со 40

время выдержки, час 72

пониженная температура

предельная -50

рабочая -10

повышенная температура

предельная 50

рабочая 60

пониженное давление

температура -10

давление, Па 6,1*104

время выдержки, час 2-6

атмосферные осадки

интенсивность дождя, мм/мин 3

время выдержки, час 0,33

морской туман

температура 27

время выдержки, час 48

Механические

вибрации на одной частоте

частота, Гц 20

ускорение, g 2

время выдержки, час 0,5

вибрации в диапазоне частот

диапазон частот, Гц 10-70

ускорение, g 0,8-3,8

удары многократные

число в минуту 40-80

ускорение, g 15

общее число ударов 12000

АНАЛИЗ АЛГОРИТМА ВЫЧИСЛЕНИЙ

На основе технического задания можно построить следующую схему включения разрабатываемой микропроцессорной системы:


Входной информацией в данном курсовом проекте является входные и выходные значения параметров идентифицируемого объекта (xn и zn). Графически алгоритм вычисления вектора оценок q = изображен на рис. 2.

По изображенному алгоритму была написана программа на языке С, моделирующая процесс вычислений производимых МПС. Листинг программы находится в приложении 1, результат моделирования приведен в приложении 2.

ОПРЕДЕЛЕНИЕ СОСТАВА МПС

Центральную часть разработанной структуры микропроцессорной системы составляет центральный процессор, построенный на основе микропроцессора (МП) и выполняющий основные функции процесса обработки информации и управления этим процессом. Внутренняя память МПС (для хранения программ и данных) - полупроводникового типа, размещается на одной плате вместе с CPU, она представлена в виде модулей постоянной (ROM). Микропроцессор управляется генератором синхросигналов (G). В системе также присутствует математический сопроцессор (FPU).

МПС связана с окружающей средой с помощью источников входной информации и потребителей выходной информации. В качестве источников Sn используются датчики, измеряющие значения переменных наблюдаемого объекта, например, технологического процесса. В качестве потребителей Dn могут служить исполнительные механизмы различных типов (клапаны, задвижки, преобразователи и усилители сигналов и т.п.).

Каналы ввода и вывода информации преобразуют поступающие сигналы в требуемую форму и обеспечивают связь внешней среды с МПС, через порты ввода/вывода.

В одном и том же цикле работы МПС входная информация вводится в МПС и выводится из МПС. Ограничение на цикл определяется временными характеристиками объекта. Неизбежное в таких случаях запаздывание выходной информации (управляющих воздействий) от входной (состояния объекта) должно быть ограничено величиной, которая также определяется характеристиками объекта (его передаточными функциями, запасами устойчивости по амплитуде и фазе и др.). Поэтому выбор параметров элементов МПС производится с учетом таких ограничений.

Длительность цикла Тс определяется из выражений:

1. Разрядность АЦП

1. Округление результата оптимальное


где h - шаг дискретизации по уровню сигнала

1. Точность преобразования


1. Время преобразования

1. Длительность цикла

где tn - время преобразования значения сигнала в цифровой код,

m - количество источников входной информации.

Определив ограничение на длительность Тс, можно определить ограничение на длительность такта работы процессора


РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Листинг программы оценки параметров объекта приведен в приложении 3.

Вся программа располагается в ПЗУ и состоит из двух функциональных блоков: блока инициализации МПС (настройка нужным образом процессора, сопроцессора, инициализация переменных) и рабочей части, которая в режиме реального времени производит прием и обработку данных (схема алгоритма обработки входной информации изображена на рис.2).

Все ПО составлено на языке ассемблера выбранного МП, который позволяет непосредственно получить двоичные ("объектные") коды команд, записываемые далее в ПЗУ. При включении питания или по сигналу RESET управление передается модулю инициализации, который устанавливает систему в исходное состояние.

Программа самостоятельно обрабатывает ситуацию деления на ноль. Отключение питания или другие неотложные события, как, например аппаратный сбой, не оказывает критического воздействия на МПС и не могут вывести ее из строя. Из чего можно сделать вывод, что для МПС не требуются обработчики прерываний.

Обмен с внешней средой осуществляется через 8-ми разрядные последовательные порты ввода/вывода за один цикл ввода и вывода соответственно. Программное обеспечение оптимизировано по скорости выполнения для выбранного микропроцессора и использует преимущества 32-х разрядной обработки данных и взаимодействия с внешними устройствами.

ВЫБОР МПК И РАЗРАБОТКА АРХИТЕКТУРЫ МПС

Выбор осуществлялся между МПК на базе процессора 8086 и МПК на базе процессора 80386 фирмы Intel. Для оценки времени задержки выходных данных посчитаем количество тактов, необходимое каждому процессору для выполнения расчетов. Результаты сравнения представлены в таблице 1.

Таблица 1


При частоте синхронизации 33 МГц, время одного такта составляет 30 нс, из чего следует, что время необходимое для приема, обработки и выдачи результата составляет:

*4892 = 146760 нс = 0.147 мс,

при допустимом времени задержки 0.15 мс.

Таким образом, был выбран микропроцессорный комплект на базе микропроцессора 80386 фирмы Intel с частотой 33 МГц, который наиболее полно удовлетворяет предъявленным требованиям и ограничениям. Этот МПК является однокристальным микропроцессором с фиксированной системой команд и архитектурой. С помощью интерфейсных БИС и прикладного программного обеспечения осуществляется настройка МПС на заданный класс алгоритмов. При проектировании МПС требуются средства подготовки и отладки программ.

Микропроцессор работает на частоте 33 МГц; обрабатывает входные данные целого типа формата байт. Поступающая в МПС информация хранится в виде вектора (одномерный массив), часть промежуточных результатов и констант храниться в виде массивов, соответствующих размерностей.

МПС, для реализации своих задач, содержит в своем составе следующий набор БИС:

· центральный процессор i80386;

· арифметический сопроцессор i80387;

· генератор тактовой частоты 82384;

· приемопередатчик данных 8286;

· защелки адреса 8282;

· МС статического ОЗУ КМ185РУ8, МС ПЗУ КР556РТ20 и набор МС, формирующих управляющие сигналы (1533ИД3, 1533ИД14, 1533ЛА3);

· МС универсального синхронно-асинхронного приемопередатчика (KP580BB51A), предназначенную для последовательного протокола обмена данными.

ПРОЕКТИРОВАНИЕ ПРОЦЕССОРА МПС

проектирование микропроцессорный программный

На этом этапе разрабатывается процессор. Исходной информацией при разработке процессора является его архитектура. На ее основании разрабатывается структура процессора и его интерфейс с системной шиной.

При проектировании процессоров на основе МПК с однокристальными МП решались задачи разработки средств синхронизации, интерфейса шины данных, адреса и системной шины; средств управления и синхронизации операций чтения/записи на системной шине; средств доступа к системной шине; средств поддержки режимов работы процессора.

Состав и структура интерфейса системной шины определяется в соответствии с организацией и разрядностью шин данных и адресов, их требуемой нагрузочной способностью. Интерфейс адресной шины реализуется буферным регистром адреса, а интерфейс шины данных - шинным формирователем. Ток нагрузки шинных формирователей и буферных регистров интерфейса определяет нагрузочную способность системной шины.

Для синхронизации операций чтения/записи используется синхронный способ, для которого интервал времени чтения/записи определяется длительностью сигналов управления. Способ обеспечивает наибольшую пропускную способность системной шины. Используется синхронный способ обмена с управляемой длительностью интервала обмена, причем изменение длительности интервала возможно только в сторону его увеличения под управлением сигналов подтверждения обмена, формируемыми ЗУ и ВУ. Для увеличения длительности интервала обмена на системной шине используется режим ожидания процессора.

Состав средств доступа к СШ определяется типом шины. Разрабатываемая МПС является однопроцессорной и в ней используется однопользовательская СШ. В этом случае шиной управляет сам процессор и дополнительных средств управления не требуется.

Интерфейс адресной шины реализуется буферным регистром адреса, а интерфейс шины данных - шинным формирователем. Ток нагрузки шинных формирователей и буферных регистров интерфейса определяет нагрузочную способность системной шины.

Расчет нагрузочной способности шины адреса:

Т.к. в один момент времени может работать модуль ОЗУ или модуль ПЗУ.

Iвых182 = max{4* IвхПЗУ1, 4* IвхОЗУ1} = max{4*4×10-5, 4*0.04} = 0.16mA £ 32mA

Iвых082 = max{4* IвхПЗУ0, 4* IвхОЗУ0} = max{4*0.25, 4*0.45} = 1.8mA £ 5 mA

Расчет нагрузочной способности шины данных:

Т.к. в один момент времени может работать модуль ОЗУ или порт вывода.

Iвых186 = max{IвхОЗУ1, IвхIOP1} = max{0.04, 0.0007} = 0.04mA £ 32mA

Iвых086 = max{IвхОЗУ0, IвхIOP0} = max{0.3, 0.05} = 0.3mA £ 5mA

Расчет нагрузочной способности линий CS для ОЗУ и ПЗУ из дешифратора:

Iвых1DC = max{4* IвхПЗУ1, 4* IвхОЗУ1} = max{4*4×10-5, 4*0.04} = 0.16mA £ 0.4mA

Iвых0DC = max{4* IвхПЗУ0, 4* IвхОЗУ0} = max{4*0.25, 4*0.9} = 3.6mA £ 8 mA

Расчет нагрузочной способности линий W/R для ОЗУ из МС 8282:

Iвых182 = 4* IвхОЗУ1 = 4*0.04 = 0.16mA £ 32mA

Iвых082 = 4* IвхОЗУ0 = 4*0.45 = 1.80mA £ 5mA

Расчет нагрузочной способности шин данных, адреса и управления показал, что предложенное подключение микросхем памяти и портов не требует дополнительных микросхем для повышения нагрузочной способности линий.

Тактовый генератор 82384, используемый в системах на базе МП i80386, вырабатывает тактовые сигналы для выполнения синхронных операций различных компонентов системы. На выходе CLK2 схемы генератора формируются импульсы с частотой равной частоте внешнего кварца (33 МГц), а на выходе CLK - с частотой вдвое меньшей. Сигналы на выходе CLK и сигналы внутренней синхронизации МП совпадают по фазе. Выравнивание фаз этих сигналов происходит по срезам сигнала RESET.

Сигнал RESET служит для установки в исходное состояние МП и других компонентов системы и формируется генератором от внешней RC - цепочки. Сигнал ADS# обеспечивает требуемые времена установки и удержания для сигнала CLK2, а сигнал ADS0# используется совместно с CLK для управления периферийными устройствами. Вывод F/C# заземляется, т.к. применяется кварцевый резонатор.

Регистры защелки адреса 8282, выполняют функции интерфейса шины адреса, в следствии чего повышается нагрузочная способность шины адреса. Данные в в регистры защелкиваются по фронту сигнала ADS#, поступающего с тактового генератора. Входной сигнал OE# - отключение третьего состояния выходов, находится в активном состоянии.

Шинные формирователи 8286, выполняют функции интерфейса шины данных, для повышения нагрузочной способности шин данных. Входной сигнал T - задает направление передачи данных. Входной сигнал OE# - отключение третьего состояния выходов, находится в активном состоянии.

Арифметический сопроцессор 80387 сконструирован для полностью синхронной, либо псевдосинхронной работы с МП 80386. В псевдосинхронном режиме интерфейсная логика сопроцессора 80387 работает от тактового сигнала МП 80386, тогда как его внутренняя логика работает от другого тактового сигнала. Когда МП 80386 работает с сопроцессором 80387, он выполняет все необходимые магистральные циклы с памятью и передачи данных в 80387 и из него. Все передачи с сопроцессором 80387 являются 32-разрядными.

Между МП 80386 и сопроцессором 80387 имеются следующие соединения:

· выходы BUSY#, ERROR#, PEREQ сопроцессора 80387 подключаются к соответствующим выводам МП 80386;

· вход RESET сопроцессора 80387 подключается к выходу RESET тактового генератора 82384;

· входы выбора микросхемы арифметического сопроцессора 80387 (CS1#, CS2) непосредственно подключаются к выходам M/IO# и A31 соответственно. Для циклов с сопроцессором сигнал А31 всегда имеет высокий уровень, а сигнал M/IO# - всегда низкий уровень напряжения;

· вход команды сопроцессора 80387 (CMD0#) отделяет данные от команд. Этот вход подключается к выходу А2. МП 80386 выводит адрес 800000F8h при записи команды, и адрес 800000FCh - при записи или считывании данных;

· все 32 линии (D31-D0) шины данных МП 80386 непосредственно подключаются к шине данных сопроцессора 80387;

· входы READY#, ADS#, W/R# сопроцессора 80387 подключаются к соответствующим выводам МП 80386. Сопроцессор 80387 использует сигналы READY# и ADS# для отслеживания активности магистрали и того момента времени, когда могут быть опрошены сигналы W/R#, CS1#, CS2 и сигналы разрешения состояния (STEN);

· сигнал STEN является сигналом выбора микросхемы 80387. Он может быть установлен на высоком уровне напряжения. Если же один и тот же МП 80386 работает с несколькими сопроцессорами 80387, то сигнал STEN может использоваться для активизации одного из них в конкретный момент времени;

· выход готовности (READYO#) является дополнительным выходом. Он может быть использован для генерации состояния ожидания, требуемого сопроцессором.

Если МП 80386 обнаруживает команду сопроцессора, он автоматически генерирует один или более циклов ввода-вывода по адресам 800000F8H и 800000FCH. Процессор выполняет все необходимые магистральные циклы с памятью и передачи к сопроцессору 80387 и от него. Все обмены с сопроцессором 80387 являются 32-разрядными. Если по какой-либо причине используется 16-разрядная подсистема памяти, то МП 80386 автоматически выполняет преобразования перед передачей данных к арифметическому сопроцессору или от него.

Передача данных от сопроцессора 80387 к МП 80386 требует по крайней мере одного состояния ожидания. Циклы записи в сопроцессор 80387 не требуют состояний ожидания. Поскольку интерфейс с МП 80386 всегда синхронный, то вывод CLK2 сопроцессора 80387 должен быть подключен ко входу CLK2 МП 80386. Состояние входа СКМ сопроцессора 80387 определяет, в каком из двух режимов он работает.

В псевдосинхронном режиме сигнал СКМ имеет низкий уровень. Ко входу CLK2 сопроцессора 80387 должен быть подключен источник тактовой частоты. Синхронной с МП 80386 является только интерфейсная логика сопроцессора 80387. Внутренняя логика сопроцессора 80387 работает от источника тактовой частоты со входа 80387 CLK2.

В синхронном режиме сигнал СКМ имеет высокий уровень и вход 80387 CLK2 никуда не подключается. Сопроцессор 80387 работает от основного тактового сигнала CLK2. Операции арифметического сопроцессора полностью синхронны с работой МП 80386.

Сопроцессор 80387 использует два метода для взаимодействия с МП 80386. Первый используется, когда операции с сопроцессором инициирует МП 80386. Это происходит во время исполнения команды сопроцессора (команды ESC) и осуществляется под контролем программы. Взаимодействие по второму методу осуществляется, когда сопроцессор использует сигнал PEREQ для запроса, чтобы МП 80386 начал передачу операндов к системной памяти или от нее. Эти передачи осуществляются по требованию сопроцессора, поэтому они асинхронны с выполнением команд МП 80386. Передачи данных для сопроцессора имеют тот же самый приоритет на магистрали, что и передачи данных под управлением программы.

ОРГАНИЗАЦИЯ МИКРОПРОЦЕССОРА

В 80386 имеются две раздельные шины: шина адреса и шина данных. Шина данных - 32-разрядная и двунаправленная. В большинстве применяемых модулей для высокоcкоростной локальной шины используются 32 разряда адреса, передаваемого по адресной шине, из них 2 младших разряда дешифрируются в 4 сигнала строба данных (каждый из этих сигналов разрешает или запрещает передачу соответствующего байта данных, сигналы BE0#-BE3#), а остальные 30 разрядов представляют собой двоичный код адреса. Для управления обменом по шине адреса и шине данных используются соответствующие управляющие сигналы.

Изменяемая ширина (разрядность) шины данных позволяет процессору взаимодействовать как с 32-х, так и с 16-разрядными внешними шинами в синхронном режиме.

Выводы микропроцессора:

· Синхросигнал (CLK2)

CLK2 обеспечивает основную синхронизацию работы 80386. Эта тактовая частота делится пополам для того, чтобы сформировать внутреннюю процессорную тактовую частоту, используемую при выполнении команд внутри процессора.

· Шина данных (D0-D31)

Двунаправленные с тремя состояниями линии шины данных обеспечивают перемещение данных от 80386 к другим устройствам. Наличие высокого уровня напряжения на входах/выходах шины данных обозначает наличие кодов логической единицы "1" на этих выводах. Шина данных может передавать данные как на 32-, так и на 16-разрядные шины благодаря тому, что есть возможность изменения размера шины данных; размер шины данных определяется значением входного сигнала BS16#. При любой операции записи (включая циклы останова и выключения) 80386 всегда передает все 32 разряда данных, даже если в текущем цикле размер шины обмена равен 16 разрядам.

· Шина адреса (BE0#-BE3#, A2-A31)

Эти выходы с тремя состояниями обеспечивают физическую адресацию памяти или адресацию устройств ввода/вывода. Шина адреса обеспечивает физическое пространство адресов памяти объемом 4 гигабайта (от 00000000H до FFFFFFFFH) и пространство адресов ввода/вывода объемом 64 килобайта (от 00000000H до 0000FFFFH) для обращения к устройствам ввода/вывода.

Значения сигналов стробов данных BE0#-BE3# определяют соответственно те байты 32-разрядной шины данных, которые участвуют в текущей передаче. Это особенно удобно для взаимодействия с внешней аппаратурой.

· Сигналы определения типа цикла шины (W/R#, D/C#, M/IO#, LOCK#)

Эти выходы с тремя состояниями определяют тип текущего цикла шины. В зависимости от значения W/R# все циклы подразделяются на циклы записи и циклы чтения. D/C# разделяет все циклы на циклы обмена данными и циклы обмена управляющими сигналами. M/IO# отличает циклы обращения к памяти от циклов обращения к устройствам ввода/вывода. По сигналу LOCK# различаются циклы с блокированной шиной.

· Указатель 16-разрядной шины (BS16#)

Благодаря сигналу BS16# осуществляется непосредственная связь 80386 с 32-разрядной и 16-разрядной шинами данных. Установка активного уровня этого входа приведет к тому, что в текущем цикле шины обмен будет производиться только по младшей половине шины данных (D0-D15) в соответствии со значениями сигналов BE0# и BE1#. Дополнительное влияние сигнала BS16# (установленного в активное состояние) не проявится, если в текущем цикле сформированы активные уровни только сигналов BE0# или BE3#, действие сигнала BS16# (активного уровня) заставит процессор 80386 выполнить необходимые переключения для правильной передачи старшего (их) байта (ов) по линиям D0-D15.

В данной работе этот сигнал всегда установлен в пассивное состояние и обмен с памятью производится только 32 разрядными данными.

· Сигналы прерывания INTR, NMI

Могут прерывать или приостанавливать выполнение процессором текущего набора инструкций. Так как обработка прерываний не требуется, то эти сигналы не используются.

· Сигнал сброса (установки в исходное состояние)(RESET).

Этот входной сигнал останавливает выполнение любой операции и переводит 80386 в состояние, известное как состояние сброса. Сброс 80386 производится установкой активного уровня сигнала RESET в течение 15-ти или более периодов CLK2. Сигнал RESET может быть асинхронным по отношению с CLK2. Если необходимо, фаза внутреннего синхросигнала процессора, а также целое состояние 80386 могут быть полностью синхронизированы с внешними схемами.

Описание функционирования шины 80386 имеет отдельные параллельные шины: шину адреса и шину данных. Шина данных 32-х разрядная и двунаправленная. Ширина шины адреса 32 разряда: из них 30 старших разрядов адрес операнда и 2 разряда формируются из 4х сигналов стробов данных каждый из которых служит для выборки соответствующего байта в операнде. Тип каждого цикла шины определяется тремя сигналами: M/IO#, W/R# и D/C#. Одновременно с этими сигналами устанавливается достоверный адрес на линиях BE0#BE3# и A2-A31. Сигнал строба адреса указывает на выдачу процессором 80386 нового типа цикла шины и адреса. В рабочем состоянии шина выполняет один из ниже перечисленных циклов шины:

Таблица 1. Определение цикла шины

ТИП ПЕРЕДАЧИ

Подтверждение прерывания

Специальные циклы BE0-BE3

Считывание данных из ввода-вывода

Запись данных во ввод-вывод

Предвыборка (считывание) команд из памяти

(зарезервирован)

Считывание данных из памяти

Запись данных в память


РАЗРАБОТКА ПОДСИСТЕМЫ ПАМЯТИ МПС

При проектировании ЗУ МПС решались задачи разработки схемы накопителя информации и схемы сопряжения ОЗУ и ПЗУ с системной шиной.

Потребность в оперативной памяти определяется по ассемблерной программе:

· данные под временные переменные - 688 байт;

· объем памяти под код программы составляет 928 байт.

Особенность построения модулей памяти для микропроцессора 80386 состоит в том, что для обращения к данным используется 32-х разрядная шина данных (т.е. обмен производится по 4 байта, нужный байт выбирается по сигналам выбора байтов BE0#-BE3#). На основании этого модули памяти строятся из четырех банков с разрядностью 1 байт.

Накопитель OЗУ строится на основе микросхем КМ185РУ8 статического типа размерностью 256´8, с временем записи/считывания 45нс, Рсс = 915мВт. Накопитель ПЗУ строится на основе микросхем 556РТ17 размерностью 512´8, с временем считывания 50нс, Рсс = 998мВт.

Из временных диаграмм приведенных в приложении 4 следует, что организация тактов ожидания при обращении к памяти не требуется, т.к. циклы чтения/записи укладываются во временные ограничения - два цикла процессора T1 + T2 = 1/33МГц + 1/33МГц = 61нс.

Адресный выход МП A11 и выход M/IO# используются для выбора одного из адресуемых пространств, а сигналы BE0#, BE1#, BE2#, BE3# используются для выбора адресуемого байта в модулях ОЗУ или ПЗУ.

Объем памяти был выбран исходя из потребностей системы и адресное пространство МПС разделено и доступно для использования следующим образом:

Диапазон адресов

Адресуемое пространство

Порты ввода/вывода

ОЗУ объемом 1Кбайт

ПЗУ объемом 2Кбайта


РАЗРАБОТКА ПОДСИСТЕМЫ ВВОДА-ВЫВОДА

Подсистема ввода-вывода МПС представляет собой совокупность каналов ввода-вывода, каждый из которых обслуживает отдельные ВУ. Канал содержит средства сопряжения с СШ (интерфейс ВУ) и средства управления вводом-выводом и реализуется аппаратными средствами и программным обеспечением.

Так как в МПС информация поступает от восьми датчиков, то в процедуре ввода, прежде чем приступить к приему данных, последовательно выбирается ВУ, с которым будет производиться обмен. Нужный датчик задается в цикле, путем записи в регистр DX его номера. Используя данный номер, аппаратными средствами (дешифратор адреса и средствами управления) разрешается прием от источника с заданным номером. Интерфейс канала реализуется на основе портов ввода-вывода.

Подключение МС последовательного порта.

Интерфейсы последовательных каналов В/В реализуются на БИС программируемого интерфейса последовательной связи, например, КР580ВВ51А.

БИС КР580ВВ51А представляет собой универсальный синхронно-асинхронный приемопередатчик последовательной связи, выполняющий функции приема и преобразования параллельных форматов слов данных в последовательные форматы со служебными символами для передачи по КС (каналу связи) и последовательных форматов, принимаемых из КС слов данных в параллельный формат для ввода в процессор. БИС может быть запрограммирована для работы в 5 режимах: асинхронная передача, асинхронный прием, синхронная передача, синхронный прием с внутренней синхронизацией, синхронный прием с внешней синхронизацией. Контролируются ошибки в принимаемых словах данных на четность или нечетность, ошибки в структуре кода при асинхронном приеме, возникающие вследствие отсутствия стоповых битов, а также ошибки наложения, возникающие в результате нарушения синхронизации обмена, когда очередное слово поступает до считывания предыдущего. Скорость обмена до 64000 бод.

Управление передачей.

Управление передачей регулирует всю деятельность, связанную с передачей последовательных данных. Он получает и вырабатывает следующие сигналы, и внешние, и внутренние, для выполнения этой функции:

· TxRDY (Transmitter Ready): Этот выход сигнализирует системному блоку, что передатчик готов получить символ данных. TxRDY автоматически сбрасывается по переднему фронту выходного сигнала WR, когда символ данных загружается из системного блока;

· ТхС (Transmit Clock): Тактирование передачи управляет скоростью, с которой должен передаваться символ. В синхронном режиме скорость в битах в секунду равна частоте ТхС. Задний фронт сигнала ТхС сдвигает последовательные данные.

Передача данных.

При синхронной передаче выход TxD постоянно находится в маркерном уровне, пока система не пошлет свой первый символ, который является символом синхронизации КР580ВВ51А. Все биты выдвигаются по заднему фронту ТхС.

Когда передача началась, поток данных на выходе TxD должен продолжаться со скоростью ТхС. Если система не обеспечивает КР580ВВ51А символами данных до того, как буфер передачи становится пустым, то в поток данных будут автоматически вставляться символы синхронизации. В этом случае бит ТхЕ в регистре состояния переключается в высокое состояние для сигнализации того, что КР580ВВ51А пуст и передаются символы синхронизации. ТхЕ не переходит в низкое состояние, когда выдвигается символ синхронизации. Бит состояния ТхЕ сбрасывается автоматически при записи в КР580ВВ51А символа данных.

Управление приемом.

· RxRDY (Receiver Ready): Этот выход показывает, что КР 580ВВ51А содержит символ, готовый для передачи в системный блок;

· RхС (Receiver Clock) : Тактовая частота приемника управляет скоростью, с которой должен приниматься символ. Скорость следования битов равна действительной частоте RxC.

Прием данных.

Приемник получает последовательные данные, преобразует их в параллельный формат, проверяет на биты или символы, которые зависят от метода связи, и посылает обработанный символ в системный блок. Вход последовательных данных приходит на вывод RxD и тактируется по переднему фронту RxC.

Процедура программирования КР580ВВ51А.

КР580BB51A загружается набором управляющих слов, определяющих среду связи. Управляющие слова разбиваются на два формата: инструкция режима и инструкция команды. Инструкция режима и команды должны соответствовать определенной последовательности для надлежащей работы устройства. Инструкция режима должна быть вставлена непосредственно после операции сброса, перед использованием КР580ВВ51А для связи. Требуемые символы синхронизации для выбранного метода связи загружаются после этого в КР580ВВ51А. Все управляющие слова, записанные в КР580ВВ51А после инструкции режима, будут обозначать инструкцию команды. Сопрягается КР580ВВ51А с системными шинами процессора через выводы шины данных D7-D0, управляемые сигналами выборки БИС, чтения, записи, подаваемыми на входы CS, C/D, RD, WR. Управление входом C/D выполняется с линии А2.

Для чтения/записи данных из портов ввода/вывода достаточно только обращение к соответствующему адресному пространству.

РАЗРАБОТКА ТЭЗА

Конструктивно препроцессор при заданном размере плат может быть выполнен на одном ТЭЗе. Кроме микросхем ТЭЗ включает:

· 1 разъем типа СНП34-90;

· 1 разъем типа PS9 - для подачи напряжения питания и заземления;

· фильтрующие конденсаторы: 2 электролитических и 6 (1 штука - на 5 микросхем) керамических КМ-51-Н90-0.05, устанавливаемые на плате в непосредственной близости от микросхем;

· кварцевый резонатор и колебательный контур на 33МГц.

· Для подачи уровня "1" в данной работе вместо резисторов номиналом 1К используются "лишние" линии логического элемента 2И-НЕ, на входы которого поданы "0".

Для защиты от вибраций и ударов необходимо использовать конструкции повышенной прочности и специальные держатели, которые также выступают в качестве радиаторов для отвода тепла (основные источники тепла - процессор и сопроцессор).

Тепловой режим обеспечивается средствами естественного воздушного охлаждения, и плата выполненна на металлической основе, рассеивающей тепло. В целях защиты элементов и печатной платы от влаги ТЭЗ покрывается лаком ПФЛ-86.

ЗАКЛЮЧЕНИЕ

При проектировании микропроцессорной системы использовалось следующее программное обеспечение:

· Borland C++ 3.1 и Turbo Assembler 3.1 - для оценки размера программы МПС;

· система автоматизированного проектирования Visio 4.5 и Microsoft Word 2000 -для оформления конструкторской документации.

В результате выполнения курсового проекта была построена МПС на базе микропроцессора i80386DX33 для которой можно оценить следующие технические характеристики:

· разрядность, бит - 32;

т.к. разрядность шины данных - 32 бита

· быстродействие (RG-RG), опер/с: - 6.6*106;

т.к. МП 80386 выполняет одну команду в среднем за 5 тактов, в итоге быстродействие определяется: 33МГц / 5 = 6.6*106 опер/с

· объем внутренней памяти, Кбайт: - ОЗУ - 1, ПЗУ -2;

· максимальная скорость обмена данными, Кбод: - 64;

· потребляемая мощность, Вт: - 17.25;

· напряжение питания, В (Гц): - 220 (50),

В ходе выполнения курсового проекта были решены следующие задачи проектирования МПС:

· моделирование источников входной информации, заданного алгоритма и потребителей выходной информации;

· определение параметров элементов МПС по результатам моделирования;

· синтез и разработка функциональных и принципиальных схем МПС;

· разработка программного обеспечения МПС;

· разработка конструкции и конструкторской документации проекта (чертежи и пояснительная записка).

Критерий качества системы равен:

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

· Микропроцессор 80386: Справочник /К. Паппас, У. Марри / М.: Радио и связь, 1993.-320 с.

· Процессор 80386DX в схеме персонального компьютера / Поляков А.В. -М.:ИКС, 1994.

· Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т./ Под ред. В. А. Шахнова.- М.: Радио и связь, 1988.- 368 с.: ил.

· Логические ИС КР1533, КР1554: справочник. В 2 т. /Под ред. И. И. Петровского, БИНОМ, 1993, с ил.

· Применение микросхем памяти в электронных устройствах, О. Н. Лебедев, М.: Радио и связь, 1994. - 216 с.: ил.

· ГОСТ 2.743-91 ЕСКД. Обозначения условные графические в схемах. Элементы цифровой техники.

· ГОСТ 2.708-81 ЕСКД. Правила выполнения электрических схем цифровой электрической техники.

· ГОСТ 2.755-87 ЕСКД. Обозначения условные графические в схемах. Устройства коммутационные и соединения контактные.

· Токарев В. Л. Микропроцессорные системы: методические указания по выполнению лабораторных работ и курсового проекта для студентов специальности 220100 дневного и вечернего обучения. - Тула: ТГУ, 1997. - 48 с.

· Матикашвили Т.И. Оформление документов по программированию и цифровой электронике Тула: ТГТУ, 1994. -44с.

ПРИЛОЖЕНИЕ 1

Листинг программы моделирования объекта наблюдения и МПС

#include

#include

#include

{();();= 0.0;= 0.0;(O, 0, sizeof(float)*(R+L));(fi, 0, sizeof(char)*(R+L));(r, 0, sizeof(float)*(R+L)*(R+L));(i=0; i

{(i=R-1; i>0; i--) fi[i] = fi;(i=R+L-1; i>R-1; i--) fi[i] = fi; = z; fi[R] = x;= ((float)rand()/RAND_MAX)*sigma;= ((float)rand()/RAND_MAX)*2-1;= 0.0;(i=0; i

{(j=i+1; j

{= r[i][j]; r[i][j] = r[j][i]; r[j][i] = tmpr;

}(chisl, 0, sizeof(float)*(R+L)*(R+L));(i=0; i

{(j=0; j

{(l=0; l

{[i][j]+=chline[l]*r[l][j];

}(i=0; i

{(j=0; j

{[i][j]-=chisl[i][j]/znam;

}[i] = rfi[i]/znam;

}= 0.0;(i=0; i

ПРИЛОЖЕНИЕ 2

Результаты моделирования объекта наблюдения и МПС

Step 1: fi = [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ]= 0.405= [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ]2: fi = [ 0.405 0.022 0.000 0.000 0.000 0.000 0.000 0.000 ]= 0.578= [ 0.930 0.413 0.000 0.000 0.000 0.000 0.000 0.000 ]3: fi = [ 0.627 0.653 0.022 0.000 0.000 0.000 0.000 0.000 ]= -0.322= [ 0.322 0.021 -0.001 0.000 0.000 0.000 0.000 0.000 ]4: fi = [ 0.696 -0.774 0.653 0.022 0.000 0.000 0.000 0.000 ]= -0.092= [ 0.303 0.005 -0.001 -0.001 0.000 0.000 0.000 0.000 ]5: fi = [ 0.048 0.973 -0.774 0.653 0.022 0.000 0.000 0.000 ]= 0.386= [ 0.821 0.377 -0.409 0.030 0.704 0.000 0.000 0.000 ]6: fi = [ 0.853 -0.425 0.973 -0.774 0.653 0.022 0.000 0.000 ]= 0.091= [ 0.875 0.411 -0.429 0.033 0.765 -0.305 0.000 0.000 ]7: fi = [ 0.835 0.225 -0.425 0.973 -0.774 0.653 0.022 0.000 ]= -0.242= [ 0.467 0.233 -0.247 -0.026 0.375 -0.109 0.007 0.000 ]8: fi = [ 0.225 0.266 0.225 -0.425 0.973 -0.774 0.653 0.022 ]= -0.028= [ 0.485 0.220 -0.242 -0.018 0.348 -0.126 0.054 -0.202 ]9: fi = [ 1.007 -0.375 0.266 0.225 -0.425 0.973 -0.774 0.653 ]= -0.008= [ 0.491 0.212 -0.238 -0.020 0.336 -0.103 0.020 -0.259 ]10: fi = [ -0.216 -0.940 -0.375 0.266 0.225 -0.425 0.973 -0.774 ]= 0.372= [ 0.821 0.451 -0.467 -0.260 0.789 -0.323 0.299 -0.482 ]11: fi = [ 0.701 0.817 -0.940 -0.375 0.266 0.225 -0.425 0.973 ]= 0.084= [ 0.836 0.462 -0.436 -0.218 0.702 -0.320 0.297 -0.439 ]12: fi = [ 1.047 -0.970 0.817 -0.940 -0.375 0.266 0.225 -0.425 ]= -0.256= [ 0.504 0.263 -0.249 -0.070 0.431 -0.131 0.026 -0.285 ]13: fi = [ 0.533 -0.762 -0.970 0.817 -0.940 -0.375 0.266 0.225 ]= -0.020= [ 0.522 0.260 -0.247 -0.071 0.436 -0.138 0.026 -0.289 ]14: fi = [ 0.117 -0.969 -0.762 -0.970 0.817 -0.940 -0.375 0.266 ]= 0.023= [ 0.343 0.263 -0.251 -0.073 0.239 -0.135 0.019 -0.291 ]15: fi = [ 0.939 0.325 -0.969 -0.762 -0.970 0.817 -0.940 -0.375 ]= -0.204= [ 0.330 0.176 -0.220 -0.037 0.259 -0.124 0.048 -0.136 ]16: fi = [ 0.648 -0.632 0.325 -0.969 -0.762 -0.970 0.817 -0.940 ]= 0.048= [ 0.343 0.272 -0.217 -0.043 0.247 -0.112 0.052 -0.237 ]17: fi = [ 0.753 0.478 -0.632 0.325 -0.969 -0.762 -0.970 0.817 ]= 0.552= [ 0.765 0.439 -0.471 -0.201 0.673 -0.355 0.232 -0.404 ]18: fi = [ 0.559 -0.946 0.478 -0.632 0.325 -0.969 -0.762 -0.970 ]= 0.023= [ 0.776 0.442 -0.450 -0.203 0.675 -0.358 0.225 -0.410 ]19: fi = [ 0.974 -0.256 -0.946 0.478 -0.632 0.325 -0.969 -0.762 ]= -0.030= [ 0.767 0.419 -0.408 -0.212 0.673 -0.359 0.229 -0.404 ]20: fi = [ 0.954 0.139 -0.256 -0.946 0.478 -0.632 0.325 -0.969 ]= -0.368= [ 0.517 0.275 -0.246 -0.015 0.438 -0.150 0.006 -0.256 ]21: fi = [ 1.736 0.134 0.139 -0.256 -0.946 0.478 -0.632 -0.325 ]= -0.045= [ 0.502 0.267 -0.248 -0.065 0.441 -0.150 0.056 -0.258 ]22: fi = [ 0.679 -0.488 0.134 0.139 -0.256 -0.946 0.478 -0.632 ]= 0.222= [ 0.664 0.329 -0.357 -0.126 0.545 -0.222 0.103 -0.349 ]23: fi = [ 0.685 0.531 -0.488 0.134 0.139 -0.256 -0.946 0.478 ]= 0.176= [ 0.675 0.341 -0.357 -0.115 0.558 -0.236 0.122 -0.346 ]24: fi = [ 1.015 -0.361 0.531 -0.488 0.134 0.139 -0.256 -0.946 ]= -0.220= [ 0.587 0.294 -0.397 -0.122 0.442 -0.245 0.111 -0.217 ]25: fi = [ 0.755 0.111 -0.361 0.531 -0.488 0.134 0.139 -0.256 ]= -0.173= [ 0.546 0.277 -0.362 -0.136 0.499 -0.218 0.071 -0.251 ]26: fi = [ 0.420 0.660 0.111 -0.361 0.531 -0.488 0.134 -0.139 ]= 0.310= [ 0.596 0.297 -0.314 -0.118 0.516 -0.186 0.091 -0.296 ]27: fi = [ 1.239 -0.775 0.660 0.111 -0.361 0.531 -0.488 -0.134 ]= 0.119= [ 0.615 0.321 -0.276 -0.078 0.532 -0.152 0.114 -0.301 ]28: fi = [ 0.242 -0.715 -0.775 0.660 0.111 -0.361 0.531 -0.488 ]= -0.093= [ 0.610 0.315 -0.297 -0.096 0.526 -0.163 0.102 -0.302 ]29: fi = [ 0.610 -0.327 -0.715 -0.775 0.660 0.111 -0.361 0.531 ]

ПРИЛОЖЕНИЕ 3

Листинг программы прошивки ПЗУ

TEXT segment byte public "CODE"cs:_TEXT, ds:_TEXT 100h

; Процедура инициализации

; Обнуление O

;di,offset Oax,dses,axax,axcx,16stoswstart:word ptr x,0word ptr x+2,0word ptr z,0word ptr z+2,0

; r -> единичная матрица

mov word ptr i,0

@1@58:bx,word ptr icl,5bx,clax,word ptr icl,2ax,clbx,axword ptr r,16256word ptr r,0word ptr iword ptr i,8 short @1@58

; Настройка портов ввода-вывода

@1@581:dx,4al,11110101B ; ассинхр.,

; 6 бит символа, четный паритет

mov al,00111110B ; приемикdx,al@1@581dx,4al,11111101B ; ассинхр.,

; 8 бит символа, четный паритет

mov al,00110011B ; передатчикdx,al

; Обработка данных

mov cx,8dx,0bx,0

@1@1599:dx,4al,dxbyte ptr fi,albx@1@1599

; Обнуляем rfi

;di,offset rfiax,axcx,16stosw

; Вычисление rfi

@1@198:word ptr j,0

@1@226:bx,word ptr jal,byte ptr fiah,0word ptr temp,axword ptr tempbx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr rbx,word ptr ibx,cldword ptr rfibx,word ptr ibx,cldword ptr rfiword ptr jword ptr j,8short @1@226word ptr iword ptr i,8short @1@198

;word ptr znam+2,0word ptr znam,0

; Вычисление znam

;word ptr i,0si,sicl,2si,clsi,offset rfi

@1@450:bx,word ptr ial,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr dword ptr znamdword ptr znamsi,4word ptr isi,offset rfi+32short @1@450

;ax,word ptr sigmaword ptr temp,axword ptr tempdword ptr znamdword ptr znam

; Транспонирование r

@1@590:ax,word ptr iaxword ptr j,ax@1@674

@1@618:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axax,word ptr rword ptr temp,axax,word ptr rword ptr temp+2,axdx,bxbx,word ptr jcl,5bx,clax,word ptr icl,2ax,clbx,axax,word ptr rword ptr temp+4,axax,word ptr rword ptr temp+6,axax,word ptr tempword ptr r,axax,word ptr temp+2word ptr r,axbx,dxax,word ptr temp+4word ptr r,axax,word ptr temp+6word ptr r,axword ptr j

@1@674:word ptr j,8@@28@1@618

@@28:word ptr iword ptr i,8@@29@1@590

; Обнуление chisl

;di,offset chislax,axcx,128stosw

; Вычисление chline

@1@814:bx,word ptr jal,byte ptr fiah,0word ptr temp,axword ptr tempbx,word ptr icl,2bx,cldword ptr rfibx,word ptr jbx,cldword ptr chlineword ptr jword ptr j,8short @1@814

; Вычисление chisl

@1@926:word ptr l,0ax,word ptr icl,5ax,cldx,word ptr jcl,2dx,clax,dxsi,ax

@1@982:bx,word ptr lcl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr rbx,word ptr lbx,cldword ptr chlinedword ptr chisldword ptr chislword ptr lword ptr l,8short @1@982word ptr jword ptr j,8short @1@926word ptr iword ptr i,8@@30@1@786

; Вычисление r

@1@1206:word ptr j,0

@1@1234:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr chisldword ptr znamdword ptr rdword ptr rword ptr jword ptr j,8short @1@1234

; Вычисление k

;bx,word ptr icl,2bx,cldword ptr rfidword ptr znamdword ptr kword ptr iword ptr i,8@@31@1@1206

;word ptr e,0word ptr e+2,0

; Вычисление e

;word ptr i,0si,sicl,2si,clsi,offset O

@1@1486:bx,word ptr ial,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr dword ptr edword ptr esi,4word ptr isi,offset O+32short @1@1486

;al,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr edword ptr e

; Вычисление O

@1@1850:bx,word ptr icl,2bx,cldword ptr kdword ptr edword ptr Odword ptr Oword ptr iword ptr i,8short @1@1850

;ax,100word ptr temp,axax,0word ptr temp+2,axcx,8bx,0

@1@1860:dword ptr Odword ptr tempword ptr temp+4al,byte ptr temp+420h,albx,4@1@1860calc

;db 2 dup (?)db 2 dup (?)db 2 dup (?)dd 0.5db 4 dup (?)db 4 dup {?}db 4 dup (?)db 256 dup (?)db 32 dup (?)db 32 dup (?)db 8 dup (?)db 8 dup (?)db 4 dup (?)db 32 dup (?)db 4 dup (?)db 256 dup (?)db 32 dup (?)

TEXT endsinit

ПРИЛОЖЕНИЕ 4

Временные диаграммы работы системы

Рисунок 1. Цикл чтения из ОЗУ

Рисунок 2. Цикл записи в ОЗУ

Рисунок 3. Цикл чтения из ПЗУ

Значение

Основные этапы разработки. МПС на основе МК используются чаще всего в качестве встроенных систем для решения задач управления некоторым объектом. Важной особенностью данного применения является работа в реальном времени, т.е. обеспечение реакции на внешние события в течение определенного временного интервала. Такие устройства получили название контроллеров.

Технология проектирования контроллеров на базе МК полностью соответствует принципу неразрывного проектирования и отладки аппаратных и программных средств , принятому в микропроцессорной технике. Это означает, что перед разработчиком такого рода МПС стоит задача реализации полного цикла проектирования, начиная от разработки алгоритма функционирования и заканчивая комплексными испытаниями в составе изделия, а, возможно, и сопровождением при производстве. Сложившаяся к настоящему времени методология проектирования контроллеров может быть представлена так, как показано на Рисунок 6.1.

Рисунок 6.1 - Основные этапы разработки контроллера

В техническом задании формулируются требования к контроллеру с точки зрения реализации определенной функции управления. Техническое задание включает в себя набор требований, который определяет, что пользователь хочет от контроллера и что разрабатываемый прибор должен делать. Техническое задание может иметь вид текстового описания, не свободного в общем случае от внутренних противоречий.

На основании требований пользователя составляется функциональная спецификация, которая определяет функции, выполняемые контроллером для пользователя после завершения проектирования, уточняя тем самым, насколько устройство соответствует предъявляемым требованиям. Она включает в себя описания форматов данных, как на входе, так и на выходе, а также внешние условия, управляющие действиями контроллера.

Функциональная спецификация и требования пользователя являются критериями оценки функционирования контролера после завершения проектирования. Может потребоваться проведение нескольких итераций, включающих обсуждение требований и функциональной спецификации с потенциальными пользователями контроллера, и соответствующую коррекцию требований и спецификации. Требования к типу используемого МК формулируются на данном этапе чаще всего в неявном виде.

Этап разработки алгоритма управления является наиболее ответственным, поскольку ошибки данного этапа обычно обнаруживаются только при испытаниях законченного изделия и приводят к необходимости дорогостоящей переработки всего устройства. Разработка алгоритма обычно сводится к выбору одного из нескольких возможных вариантов алгоритмов, отличающихся соотношением объема программного обеспечения и аппаратных средств .

При этом необходимо исходить из того, что максимальное использование аппаратных средств упрощает разработку и обеспечивает высокое быстродействие контроллера в целом, но сопровождается, как правило, увеличением стоимости и потребляемой мощности. Связано это с тем, что увеличение доли аппаратных средств достигается либо путем выбора более сложного МК, либо путем использования специализированных интерфейсных схем. И то, и другое приводит к росту стоимости и энергопотребления. Увеличение удельного веса программного обеспечения позволяет сократить число элементов контроллера и стоимость аппаратных средств , но это приводит к снижению быстродействия, увеличению необходимого объема внутренней памяти МК, увеличению сроков разработки и отладки программного обеспечения. Критерием выбора здесь и далее является возможность максимальной реализации заданных функций программными средствами при минимальных аппаратных затратах и при условии обеспечения заданных показателей быстродействия и надежности в полном диапазоне условий эксплуатации. Часто определяющими требованиями являются возможность защиты информации (программного кода) контроллера, необходимость обеспечения максимальной продолжительности работы в автономном режиме и другие. В результате выполнения этого этапа окончательно формулируются требования к параметрам используемого МК.

При выборе типа МК учитываются следующие основные характеристики:

  • - разрядность;
  • - быстродействие;
  • - набор команд и способов адресации;
  • - требования к источнику питания и потребляемая мощность в различных режимах;
  • - объем ПЗУ программ и ОЗУ данных;
  • - возможности расширения памяти программ и данных;
  • - наличие и возможности периферийных устройств, включая средства поддержки работы в реальном времени (таймеры, процессоры событий и т.п.);
  • - возможность перепрограммирования в составе устройства;
  • - наличие и надежность средств защиты внутренней информации;
  • - возможность поставки в различных вариантах конструктивного исполнения;
  • - стоимость в различных вариантах исполнения;
  • - наличие полной документации;
  • - наличие и доступность эффективных средств программирования и отладки МК;
  • - количество и доступность каналов поставки, возможность замены изделиями других фирм.

Список этот не является исчерпывающим, поскольку специфика проектируемого устройства может перенести акцент требований на другие параметры МК. Определяющими могут оказаться, например, требования к точности внутреннего компаратора напряжений или наличие большого числа выходных каналов ШИМ.

Номенклатура выпускаемых в настоящее время МК исчисляется тысячами типов изделий различных фирм. Современная стратегия модульного проектирования обеспечивает потребителя разнообразием моделей МК с одним и тем же процессорным ядром. Такое структурное разнообразие открывает перед разработчиком возможность выбора оптимального МК, не имеющего функциональной избыточности, что минимизирует стоимость комплектующих элементов.

Однако для реализации на практике возможности выбора оптимального МК необходима достаточно глубокая проработка алгоритма управления, оценка объема исполняемой программы и числа линий сопряжения с объектом на этапе выбора МК. Допущенные на данном этапе просчеты могут впоследствии привести к необходимости смены модели МК и повторной разводки печатной платы макета контроллера. В таких условиях целесообразно выполнять предварительное моделирование основных элементов прикладной программы с использованием программно-логической модели выбранного МК.

При отсутствии МК, обеспечивающего требуемые по ТЗ характеристики проектируемого контроллера, необходим возврат к этапу разработки алгоритма управления и пересмотр выбранного соотношения между объемом программного обеспечения и аппаратных средств . Отсутствие подходящего МК чаще всего означает, что для реализации необходимого объема вычислений (алгоритмов управления) за отведенное время нужна дополнительная аппаратная поддержка. Отрицательный результат поиска МК с требуемыми характеристиками может быть связан также с необходимостью обслуживания большого числа объектов управления. В этом случае возможно использование внешних схем обрамления МК.

На этапе разработки структуры контроллера окончательно определяется состав имеющихся и подлежащих разработке аппаратных модулей, протоколы обмена между модулями, типы разъемов. Выполняется предварительная проработка конструкции контроллера. В части программного обеспечения определяются состав и связи программных модулей, язык программирования. На этом же этапе осуществляется выбор средств проектирования и отладки .

Возможность перераспределения функций между аппаратными и программными средствами на данном этапе существует, но она ограничена характеристиками уже выбранного МК. При этом необходимо иметь в виду, что современные МК выпускаются, как правило, сериями (семействами) контроллеров, совместимых программно и конструктивно, но различающихся по своим возможностям (объем памяти, набор периферийных устройств и т.д.). Это дает возможность выбора структуры контроллера с целью поиска наиболее оптимального варианта реализации.

Нельзя не упомянуть здесь о новой идеологии разработки устройств на базе МК, предложенной фирмой «Scenix». Она основана на использовании высокоскоростных RISC-микроконтроллеров серии SX с тактовой частотой до 100 МГц. Эти МК имеют минимальный набор встроенной периферии, а все более сложные периферийные модули эмулируются программными средствами . Такие модули программного обеспечения называются «виртуальными периферийными устройствами», они обеспечивают уменьшение числа элементов контроллера, времени разработки , увеличивают гибкость исполнения. К настоящему времени разработаны целые библиотеки виртуальных устройств, содержащие отлаженные программные модули таких устройств как модули ШИМ и ФАПЧ, последовательные интерфейсы, генераторы и измерители частоты, контроллеры прерываний и многие другие.

Использование микропроцессоров или цифровых процессоров обработки сигнала при проектировании различных автоматических систем позволяет создавать устройства, особенностью которых является то, что аппаратные средства и программное обеспечение существуют здесь в форме неделимого аппаратно-программного комплекса. Процесс разработки такого аппаратно-программного комплекса удобно представить в виде последовательности трех фаз проектирования:

  • 1. разработки (и/или выбора типовых) аппаратных средств;
  • 2. разработки прикладного программного обеспечения;
  • 3. комплексирования аппаратных средств и программного обеспечения и отладки прототипа системы.

При использовании микропроцессора в качестве комплектующего элемента разработчик системы избавлен от необходимости проектировать и сопровождать технической документацией самую сложную центральную часть изделия. Проектная документация на аппаратные средства изделия содержит только документацию на аппаратуру сопряжения микропроцессора с датчиками и исполнительными механизмами объекта управления. С появлением аналоговых (сигнальных) микропроцессоров, интегральных ЦАП и АЦП, разнообразных больших интегральных схем (БИС) специализированных контроллеров все более сложные функциональные части автоматической системы переходят из разряда подсистем в разряд комплектующих элементов. Так как эти комплектующие элементы являются сложно организованными приборами, функционирующими под управлением программы, то удельный вес прикладного программного обеспечения в микропроцессорных системах имеет устойчивую тенденцию к увеличению, а удельный вес аппаратных средств - к снижению.

Если задача уже поставлена, то наиболее трудоемким и сложным (из-за тесной связи с областью приложения будущей программы) этапом работы является этап формирования алгоритма решения поставленной задачи. Связано это с тем, что этот этап практически не поддается формализации и, следовательно, не может быть автоматизирован обычными средствами. Проектная работа здесь носит глубоко творческий характер и сильно зависит от опыта и квалификации разработчика.

Проиллюстрируем вышесказанное одним из возможных подходов к созданию систем с использованием микропроцессора на примере проектирования цифрового фильтра.

Пусть требуется создать фильтр низкой частоты (ФНЧ) первого порядка.

На рис. 3.59, а показана принципиальная схема такого фильтра. Порядок фильтра определяется числом входящих в него реактивных элементов, т.е. конденсаторов и катушек индуктивности. Сигналы низких частот проходят через фильтр низкой частоты на его выход. Высокочастотные сигналы “замыкаются” через конденсатор на землю и не появляются на выходе фильтра. На рис. 3.59, б приведена амплитудно-частотная характеристика (АЧХ) этого фильтра. Граничная частота фильтра (частота излома, перегиба) логарифмической АЧХ щc=1/ф (рад/сек), где ф=RC - постоянная времени. Для представления частоты в герцах используется соотношение щc=2рf.

Рис. 3.59 Фильтр нижних частот: а) принципиальная схема; б) АЧХ

Запишем дифференциальное уравнение, описывающее процессы, происходящие в ФНЧ, показанном на рис. 3.59, с учетом, что

i = C dUвых/dt,

тогда уравнение будет иметь вид

цифровой дискретный микропроцессор автоматический

Рассмотрим значения входного и выходного сигналов в дискретные моменты времени nДt, где n = 0, 1, 2, ... и заменим производную конечной разностью

тогда (3.6) примет вид

Проделаем с (3.7) следующие преобразования:

Объединим первые два члена в (3.8) и вынесем за скобки,

Перенесем второй член (3.9) в правую часть равенства и разделим левую и правую часть полученного равенства на (Дt+RC). Тогда

Разделим числитель и знаменатель членов в правой части (3.10) на Дt:

Наконец, обозначив как k1, как k2,

Получаем

Реализовав (3.12) в виде программы для микропроцессора и использовав схему на рис. 3.60 при Дt << RC, получим цифровой фильтр нижних частот

Рис. 3.60 Схема цифрового фильтра

Цифровые устройства, созданные на базе микропроцессоров, имеют ряд преимуществ перед аналоговыми. Приведем некоторые из них на примере рассмотренного выше цифрового фильтра:

  • 1. Нечувствительность характеристик фильтра к разбросу параметров входящих в него элементов, их временному и температурному дрейфам.
  • 2. Малые размеры и высокая надежность работы фильтра, связанные с использованием БИС.
  • 3. Легкость изменения параметров и характеристик цифрового фильтра, что при использовании микропроцессора осуществляется модификацией программного обеспечения или таблиц коэффициентов.
  • 4. Возможность реализации адаптивных фильтров, т.е. фильтров с изменяющимися в процессе работы параметрами.

 

Возможно, будет полезно почитать: