Главная страница
Навигация по странице:

  • Программный обмен информацией

  • Обмен по прерываниям

  • Прямой доступ к памяти (ПДП, DMA)

  • Тема урока Мультимикропроцессорные системы. Тема Мультимикропроцессорные системы студент.. Тема Мультимикропроцессорные системы


    Скачать 33.61 Kb.
    НазваниеТема Мультимикропроцессорные системы
    АнкорТема урока Мультимикропроцессорные системы
    Дата12.11.2021
    Размер33.61 Kb.
    Формат файлаdocx
    Имя файлаТема Мультимикропроцессорные системы студент..docx
    ТипДокументы
    #270632

    Тема «Мультимикропроцессорные системы»

    План

    1Мультимикропроцессорные системы.

    2 Встроенные средства в микропроцессор для организации мультипроцессорных систем.

    3Режимы обмена информацией.
    1 Мультимикропроцессорные системы

    Мультимикропроцессорная система (ММПС) - система, в которую входит более одного МП или микро - ЭВМ.  

    Для мультимикропроцессорных систем важно использование процессорами магистрали И41 для доступа к общей памяти и У ВВ. В зависимости от приоритетной организации возможны три способа абонирования: параллельный, последовательный и циклический.

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

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

    Рассмотрим проектирование мультимикропроцессорной системы для реализации адаптивного управления КИР типа УИМ-28.  

    Для реализации описанной мультимикропроцессорной системы можно использовать серийно выпускаемые микропроцессоры.  

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

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

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

    Описана структура кроссовой системы для отладки и моделирования системного и прикладного ПО однородной управляющей мультимикропроцессорной системы с общей шиной, реализованной на языках ПЛ / 1 и Ассемблер для ЕС ЭВМ.  

    МЭВМ - микро - ЭВМ; ПЭВМ - персональная ЭВМ; ПУ ЛТМ - пункт управления ЛТМ; Д - датчик; MM PR - мультимикропроцессорная система.  

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

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

    Транспьютеры

    Для построения многопроцессорных систем могут быть использованы специально разработанные процессоры, называемые транспьютерами. Они были созданы в середине 1980-х годов фирмой INMOS Ltd (ныне - подразделение STMicroelecTRoniCS).

    Транспьютер - это микропроцессор со встроенными средствами межпроцессорной коммуникации, предназначенной для построения многопроцессорных систем. Его название происходит от слов TRansfer (передатчик) и computer (вычислитель).

    Транспьютер включает в себя средства для выполнения вычислений (ЦП, АЛУ с плавающей точкой, внутрикристальную память) и 4 канала для связи (линка) с другими транспьютерами и/или другими устройствами. Каждый линк представляет собой 2 однонаправленных последовательных канала передачи информации. Встроенный интерфейс позволяет подключать внешнюю память емкостью до 4 Гбайт

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

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

    • выполнение задачи разбивается на процессы, которые могут выполняться параллельно;

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

    • язык позволяет описать размещение процессов по оборудованию;

    • язык позволяет описать, как эти процессы обмениваются между собой данными (какой процесс принимает информацию, от какого процесса и в каком объеме).

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

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

    Помимо интересных возможностей, связанных с построением мультипроцессорных систем без привлечения дополнительного оборудования, в транспьютерах были реализованы идеи, направленные на повышение их вычислительной мощности. Среди них хотелось бы отметить то, что блок регистров транспьютера организован в виде стека. Это привело к использованию преимущественно безадресной системы команд, что обеспечило даже более высокую производительность, чем RISC-архитектура. Второй момент, который следует выделить, - это одновременное исполнение группы, в которую входило до 8 команд, что обеспечивало полную загрузку устройств процессора. И все это было реализовано в конце 1980-х годов, задолго до появления EPIC и Itanium.

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

    • производительность: 200 MIPS, 25 MFLOPS (на 64-разрядном процессоре с плавающей точкой);

    • емкость внутрикристальной памяти: 16 Кбайт;

    • скорость обмена по линку: 100 Мбит/с.

    В середине 1990-х, в эпоху расцвета микропроцессоров этого семейства, фирма INMOS помимо собственно транспьютеров поставляла широкий набор трэмов (TRem - TRansputer Extension Module) - устройств ввода-вывода с линком в качестве интерфейса. В частности, поставлялись трэмы, позволявшие подключить к транспьютеру через линк адаптеры Ethernet или SCSI. В целях увеличения числа физических связей был разработан программируемый коммутатор, осуществляющий передачу сообщения с любого из 32 входов на любой из 32 выходов.

    Транспьютеры успешно использовались в различных областях от встроенных систем до суперЭВМ. Однако технология транспьютеров серьезного развития не получила, так как начиная с Pentium Pro в универсальные микропроцессоры введена возможность соединения процессоров в микропроцессорную систему, что обесценило главное преимущество транспьютеров - возможность построения многопроцессорных систем без дополнительных аппаратных затрат. В настоящее время транспьютеры не производятся, они вытеснены похожими разработками конкурентов, особенно Texas INsTRuments (TMS320) и Intel (80860).

    3 Режимы обмена информацией

    Как уже отмечалось, микропроцессорная система обеспечивает большую гибкость работы, она способна настраиваться на любую задачу. Гибкость эта обусловлена прежде всего тем, что функции, выполняемые системой, определяются программой (программным обеспечением, software), которую выполняет процессор. Аппаратура (аппаратное обеспечение, hardware) остается неизменной при любой задаче. Записывая в память системы программу, можно заставить микропроцессорную систему выполнять любую задачу, поддерживаемую данной аппаратурой. К тому же шинная организация связей микропроцессорной системы позволяет довольно легко заменять аппаратные модули, например, заменять память на новую большего объема или более высокого быстродействия, добавлять или модернизировать устройства ввода/вывода, наконец, заменять процессор на более мощный. Это также позволяет увеличить гибкость системы, продлить ее жизнь при любом изменении требований к ней.

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

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

    • программный обмен информацией;

    • обмен с использованием прерываний (Interrupts);

    • обмен с использованием прямого доступа к памяти (ПДП, DMA — Direct Memory Access).

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

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

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

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

    • с помощью постоянного программного контроля факта наступления события (так называемый метод опроса флага или polling);

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

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

    Проиллюстрировать эти три способа можно следующим простым примером. Допустим, вы готовите себе завтрак, поставив на плиту кипятиться молоко. Естественно, на закипание молока надо реагировать, причем срочно. Как это организовать? Первый путь — постоянно следить за молоком, но тогда вы ничего другого не сможете делать. Правильнее будет регулярно поглядывать на молоко, делая одновременно что-то другое. Это программный режим с опросом флага. Второй путь — установить на кастрюлю с молоком датчик, который подаст звуковой сигнал при закипании молока, и спокойно заниматься другими делами. Услышав сигнал, вы выключите молоко. Правда, возможно, вам придется сначала закончить то, что вы начали делать, так что ваша реакция будет медленнее, чем в первом случае. Наконец, третий путь состоит в том, чтобы соединить датчик на кастрюле с управлением плитой так, чтобы при закипании молока горелка была выключена без вашего участия (правда, аналогия с ПДП здесь не очень точная, так как в данном случае на момент выполнения действия вас не отвлекают от работы).

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

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

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

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

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

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

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

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


    написать администратору сайта