Режим работы одновременного мультимастера шины Авалон




Скачать 146.38 Kb.
Дата10.06.2016
Размер146.38 Kb.

Режим работы одновременного мультимастера шины Авалон


Введение

Традиционные архитектуры шины.

Терминология шины Авалон для одновременного мультимастера

Архитектура одновременного мультимастера шины Авалон.

Подчиненный Арбитр


Периферийный проект для шины с одновременным мультимастером.

Схемы Арбитража

Синхронизация шины

Заключение.

----------------------------

Режим работы одновременного мультимастера шины Авалон




Введение


Комплект Развития Excalibur™, с мегафункцией встроенного процессора Nios™ версия 2.0, представляет собой усовершенствованную шинную архитектуру. Архитектура поддерживает многократных мастеров шины, которые могут выполнять операции между внешними устройствами одновременно в пределах одной системы. Программа SOPC Builder автоматически генерирует связывающуюся логику, чтобы подключить системные внешние устройства и генерирует логику арбитража, чтобы обработать множество мастеров шины. Комплект развития также предлагает мегафункцию - периферийное устройство прямого доступа к памяти (DMA), которое позволяет воспользоваться преимуществом шинной архитектуры одновременного мультимастера. Внешнее устройство DMA может быть объединено с любым подчиненным внешним устройством, позволяя подчиненному устройству передавать данные непосредственно в память без того, чтобы прерывать работу CPU. Используя эти возможности, системные проектировщики могут оптимизировать поток данных, создавая системные шинные архитектуры, специально оптимизированные пользователем для выполнения своих прикладных задач, требующих определенную полосу пропускания данных. Этот документ описывает шинную архитектуру одновременного мультимастера и различия между этой и традиционными шинными архитектурами. Хотя этот документ относится к спецификации шины Avalon™, используемой со встроенным процессором Nios, возможности одновременного режима работы мультимастера для SOPC Builder выполняются и для других систем, независимо от спецификации шины. Будущие расширения SOPC Builder будут включать поддержку для других спецификаций шины в дополнение к спецификации шины Авалон.
Прежде, чем Вы прочтете этот документ, Вы должны иметь основное представление о процессоре Nios, SOPC Builder, и интерфейсе шины Авалон, описанных в разделе описания шины Авалон.

Традиционные архитектуры шины.


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

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


Рисунок 1. Архитектура шины в традиционной системе микропроцессора

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

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

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

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

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

Система одновременного мультимастера все еще требует арбитража, но только тогда, когда два мастера борются за доступ к одному и тому же подчиненному устройству. Этот арбитраж называется арбитражем на стороне подчиненного устройства, потому что он осуществляется в том месте, где два (или больше) мастера соединяются с одним подчиненным устройством. Для системы на основе Nios, использующей шину Авалон, SOPC Builder осуществляет арбитраж на стороне подчиненного устройства полностью внутри модуля шины Авалон. Каждое подчиненное внешнее устройство, к которому нужно обращаться нескольким мастерами, имеет арбитр. Приоритеты арбитража можно установить в SOPC Builder.

, ___________________________________________


Терминология шины Авалон для одновременного мультимастера

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


Таблица 1. Терминология


Термин

Описание


Модуль Шины Авалон

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

Периферийное устройство-мастер

Иногда сокращается как "мастер". Периферийное устройство - мастер может инициализировать операции на шине Авалон и должно иметь по крайней мере один порт мастера, который соединяется с модулем шины.

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




Подчиненное Периферийное устройство

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

Порт мастера

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

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




Подчиненный Порт

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


Пара мастер -подчиненный

Комбинация порта мастера и подчиненного порта, которые связаны через шину Авалон.

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

Вы можете определить подключения между мастером и подчиненными портами (то есть пары мастер - подчиненные) в SOPC Builder.


Арбитр

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

Сигналы Управления

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

Сигналы управления от порта мастера обычно включают в себя сигналы разрешения чтения и записи.

Сигналы управления от подчиненного порта обычно включают в себя сигналы запроса ожидания и сигналы запроса на прерывание (IRQ).



Архитектура одновременного мультимастера шины Авалон.


На рис. 2 показано, как выполняется арбитраж на шине Avalon. В этом примере, один порт мастера - CPU и второй порт мастера - контроллер DMA, разделяют одну и ту же периферию – подчиненное устройство - память данных. Поэтому, арбитраж выполнен на стороне подчиненного устройства. Арбитр диктует, который из портов мастера получит доступ к порту подчиненного устройства, если оба мастера начинают операцию шины по передаче данных к подчиненному устройству одновременно. Кроме того, CPU использует канал передачи данных, связывающий CPU и контроллер DMA, для того, чтобы инициализировать передачи данных контроллером DMA.
Рисунок 2. Одновременный мультимастер

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

Хозяин 2

Подчиненный Арбитр


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

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

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

¦ Управляет подчиненным портом, на основании сигналов адреса, данных, и сигналов управлении, представленных выбранным в текущее время портом мастера.


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

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

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

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


Таблица 2. Сигналы Управления Шины Авалон

Сигнал

Функция


Запрос мастера на доступ к подчиненному устройству (MRS)

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


Подтверждение выбора мастера (MSG)

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


Сигнал ожидания (Wait)

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




Периферийный проект для шины с одновременным мультимастером.


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

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

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

Если проектировщик хочет сделать собственное внешнее устройство для Nios, то он может посмотреть Периферийный Файл Шаблона системы (.ptf), чтобы увидеть порты каждого внешнего устройства - мастера и подчиненного.

Схемы Арбитража

Логика арбитра Авалон использует схему «арбитража на основе справедливости» (fairness-based arbitration scheme), иногда называемую как схема коллективной записи(round-robin) или коллективной записи с весовыми коэффициентами (weighted round-robin). Для любого заданного подключения между парой мастер - подчиненное устройство, можно выбирать, сколько ресурса для доступа получит каждый мастер к данному подчиненному устройству. Используя SOPC Builder, модно сделать назначения арбитража для каждой пары мастер - подчиненный. В схеме арбитража на основе справедливости, каждая пара мастер - подчиненный имеет целочисленное значение ресурсов для операций шины. При конфликте запросов при обращении к специфическому подчиненному устройству, мастеру, который имеет самый высокий установленный ресурс справедливости - получает доступ к подчиненному устройству. После того как пара мастер – подчиненный исчерпывает ресурсы доступа, ей назначенные, управление подчиненным устройством предоставляется паре мастер - подчиненный с более низкими общими назначениями ресурса.

Например, если мастер A - контроллер DMA, имеет назначение по доступу к порту подчиненного устройства RAM, равное 1, и мастер B, процессор Nios, имеет назначение по доступу к тому же самому порту подчиненного устройства RAM, равное 2, то контроллер DMA может обращаться к подчиненному устройству 33 % времени (исходя из предположения, что оба мастера непрерывно запрашивают доступ к подчиненному устройству). Параметры настройки арбитража для пар не должны иметь близкие или одинаковые значения ресурса по доступу. Например, установка значения ресурса арбитража 9 для одного мастера, и назначение 1 для другого, назначает доступ на 10 % на 90 %, соответственно.

Синхронизация шины


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

На рис. 5 показан пример временной диаграммы системы Авалон, которая имеет два порта мастера, пытающиеся обратиться к одному и тому же подчиненному порту. Оба мастера производят основную операцию чтения. Этот пример использует «арбитраж на основе справедливости», и мастеру 1 (M1) назначено большее количество ресурсов для доступа, чем мастеру 2 (M2). На первом цикле шины, оба мастер выставляют address и readn для доступа к подчиненному устройству 1 (S1). Арбитр для S1 предоставляет доступ мастеру M1, потому что он имеет более высокую установку справедливости. Модуль шины Авалон пропускает адрес, данные, и сигналы управления от M1 к S1 и устанавливает сигнал запроса ожидания для M2.

Как только операция между M1 и S1 завершается после следующего переднего фронта синхрочастоты, сигнал запроса MRS от M1 к логике арбитра S1 инвертируется, и этот же сигнал используется как сигнал для ожидания в M2. Поэтому следующая операция шины, которая является операцией между M2 и S1, может завершиться.
Рисунок 5. Последовательные основные операции чтения общего подчиненного устройства

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



Заключение.


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


База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница