RP2040 - разбираем даташиты. Часть 2.1.1: Матрица AHB-Lite

Содержание:

Часть 1: Введение

Часть 1.3: Чип

Часть 1.4: Распиновка

Часть 2: Описание системы


В центре шины RP2040 находится полносвязная матрица 4:10. Её 4 восходящих порта подключены к 4 мастерам системной шины, а 10 нисходящих портов подключаются к ведомым устройствам AHB-Lite с самой высокой пропускной способностью (а именно, интерфейсам памяти) и к нижним уровням структуры. На рисунке 5 показана структура матрицы AHB-Lite 2:3, устроенная аналогично матрице 4:10 на RP2040, но ее легче показать на схеме.

Матрица состоит из двух компонентов:


Разветвители:

- Выполняют декодирование адреса

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

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

Арбитры:

- Управляют одновременными запросами к нисходящему порту

- Маршрутизируют ответы (чтение данных, ошибки шины) на правильный разветвитель

- Реализуют правила приоритета шины


Основная матрица на RP2040 состоит из 4 разветвителей 1:10 и 10 арбитров 4: 1 с сеткой из 40 каналов шины AHB-Lite между ними. Обратите внимание, что, поскольку AHB-Lite является конвейерной шиной, разветвитель может направлять обратно ответ на предыдущий запрос от нисходящего порта A, в то время как новый запрос к нисходящему порту B уже выполняется. Это не влечет за собой никаких штрафов за цикл.


2.1.1.1. Приоритет шины


Арбитры в главной матрице AHB-Lite реализуют двухуровневую схему приоритета шины. Уровни приоритета настраиваются предварительно, при помощи регистра BUS_PRIORITY в блоке регистров BUSCTRL.


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


ПРИМЕЧАНИЕ

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


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


2.1.1.2. Счетчики производительности шины


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


Есть четыре счетчика производительности. Каждый из них представляет собой 24-битный счетчик насыщения. Значения счетчика можно прочитать из BUSCTRL_PERFCTRx и очистить, записав любое значение в BUSCTRL_PERFCTRx. Каждый счетчик может одновременно подсчитывать одно из 20 доступных событий, выбранных в BUSCTRL_PERFSELx. Доступны следующие события шины:

Arduino & Pi

1.5K постов20.9K подписчиков

Правила сообщества

В нашем сообществе запрещается:

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

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества