реклама на сайте
подробности

 
 
> AMBA AXI, Проектирование interconnect-а на AMBA
_andrew_
сообщение Aug 24 2005, 15:30
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 24-08-05
Пользователь №: 7 935



Необходимо сделать блок формирования кофигурируемых коммутаций абонентов шины AMBA AXI.
Такой вопрос, чем принципиально отличается AXI от предыдущей AHP(нашел подробное описание AHP на русском). Прочитал спецификацию на interconnect(PrimeCell AXI Configurable Interconnect PL300) - не совсем понятно(да и с английским так себе..) Если есть ссылки какие - буду весьма благодарен.

Насколько я понял необходимо сделать узел-мультиплексор с multi-layer и арбитра для выбора мастера и слэйва(с учетом возможных типов доступа к шине). Примерно так в общих чертах?


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

не могу найти "PrimeCell AXI Configurable Interconnect (PL300) Integration Manual", все время ссылаются в спецификации а нигде нет ее.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_andrew_
сообщение Sep 5 2005, 15:29
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 24-08-05
Пользователь №: 7 935



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

Имеются ввиду теги AWID, ARID ...? так называемый interleaving?
тогда такой вопрос:

при различной размерности ID мастер добавляет к ID slava ... в примере в спецификации в одном случае добавил единички, в другом нолики...

еще. поправте меня пожалуйста , наверняка ошибаюсьsmile.gif :
допустим необходимо произвести обмен со слэйвом с его ID (если в общем
без VALID READY типов транзакций, блокировок и т п ,с нимим как раз вроде понятно)

1. мастер выставляет адресс, по memory map находим slave к которому обращается master. или же мастер выставляет ID слэйва к которому обращается... в общем если нетрудно , можете пояснить механизм определения пары мастер слэйв. читал 3 раза этот момент, но мой английский далек...

еще не совсем понятен(опять же из-за английского) поддержка TrustZone
что за чудо такое?



Еще что может быть интересно, так это порядок байтов и байт-перевороты.

не совсем понял что вы имеете ввиду... это что то из области выравнивания?
Go to the top of the page
 
+Quote Post
scheme_ru
сообщение Sep 5 2005, 17:28
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 1-06-05
Пользователь №: 5 631



Цитата(_andrew_ @ Sep 5 2005, 18:29)
Более того, при использовании специальных меток - тэгов, фазы данных могут проходить даже в очередности, отличной от очередности фаз адресов...

Имеются ввиду теги AWID, ARID ...?  так называемый interleaving?



Да, эти тэги. Interleaving - это частный случай Ordering Model шины AXI, касающийся реализации неупорядоченной операции записи в слэйве. В общем случае речь идет просто о том, что данные могут поступать что на запись, что на чтение не в том порядке, в котором поступали адреса, соответствующие этим данным.

Цитата(_andrew_ @ Sep 5 2005, 18:29)
тогда такой вопрос:

при различной размерности ID мастер добавляет к ID slava  ... в примере в спецификации в одном случае добавил единички, в другом нолики...


На этот вопрос в спецификации четко даны ответы в пп. 8.7 и 8.8. Рекомендуется, чтобы ширина ID в мастере была равна 4 битам, а ширина ID в слэйве равна 8 битам. Оставшиеся 4 бита к ID мастера должен добавлять сам интерконнект по принципу "географической адресации" статически таким образом, чтобы 4-битовая "база" ID у каждого мастера была уникальной в рамках интерконнекта. При такой схеме один мастер одновременно может обрабатывать до 16 перемешанных потоков, а в рамках интерконнекта может находиться до 16 мастеров.


Цитата(_andrew_ @ Sep 5 2005, 18:29)
еще. поправте меня пожалуйста , наверняка ошибаюсьsmile.gif  :
    допустим необходимо произвести обмен со слэйвом с его ID (если в общем
без VALID READY типов транзакций, блокировок и т п ,с нимим как раз вроде понятно)

  1. мастер выставляет адресс, по memory map находим slave к  которому обращается master.  или же мастер выставляет ID слэйва к которому обращается... в общем если нетрудно , можете пояснить механизм определения пары мастер слэйв. читал 3 раза этот момент, но мой английский далек...


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

А выборка слэйва производится только по адресу в соответствии с memory map, тэги тут никакой роли не играют.


Цитата(_andrew_ @ Sep 5 2005, 18:29)
  еще не совсем понятен(опять же из-за английского)  поддержка TrustZone
что за чудо такое?


Похоже, что Вы за базовый документ приняли PrimeCell AXI Configurable Interconnect (PL300) Technical Reference Manual, а не собственно спецификацию AMBA AXI Protocol v1.0 Specification. В самой AXI нет никакой TrustZone, поэтому не стоит себе забивать себе голову этим feature некоторой частной реализации интерконнекта AXI, который, по-видимому нужен был кому-то из первых клиентов-заказчиков PL300.


Цитата(_andrew_ @ Sep 5 2005, 18:29)
Еще что может быть интересно, так это порядок байтов и байт-перевороты.

не совсем понял что вы имеете ввиду... это что то из области выравнивания?


Да, невыровненные передачи тоже сюда относятся. Но вопрос стоит несколько шире: если интерконнект универальный и конфигурируемый, то он должен уметь поддерживать абонентов с разными размерностями шин данных, а также с разным типом endianity. Вот тут как раз и возникает большая-пребольшая ж***. Для организации взаимодействия пары мастер-слэйв с произвольной шириной шины данных и endianity с каждой стороны, да еще и с возможностью невыровненных передач, там придется наворачивать очень даже интересный мультиплексор-перестановщик, который будет перекачивать потоки данных из одного представления в другое и обратно. И такая машинка, в принципе должна стоять на каждой возможной связке мастер-слэйв внутри интерконнекта в каждом направлении, если планируется, что интерконнект будет неблокирующим и разрешены одновременные обмены данными между разными парами мастер-слэйв.
Go to the top of the page
 
+Quote Post
Loki5000
сообщение Sep 6 2005, 11:30
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 29
Регистрация: 6-09-05
Пользователь №: 8 276



Цитата(scheme_ru @ Sep 5 2005, 21:28)
мастер, начиная транзакцию, назначает ей некоторый 4-битовый ID, затем к этому ID интерконнект добавляет "базовые" 4 бита, уникальные для данного мастера.  Таким образом, вся транзакция в рамках интерконнекта характеризуется уникальным ID.  Этот ID затем будет использоваться интерконнектом и слэйвом для манипулирования с потоками данных и откликов, т.к. каждый отклик и слово данных сопровождаются своим ID.

По какому принципу тогда коммутируется Канал данных операции записи?
Поле WID этого канала выставляется мастером, однако слэйв имеет право выполнять транзакции(с разными ID) в любом порядке. Значит ему могут понадобиться данные от другой транзакции. А мастер не имеет возможности определить данные какой именно транзакции нужно передать слэйву.
Go to the top of the page
 
+Quote Post
scheme_ru
сообщение Sep 6 2005, 13:10
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 1-06-05
Пользователь №: 5 631



Цитата(Loki5000 @ Sep 6 2005, 14:30)
Цитата(scheme_ru @ Sep 5 2005, 21:28)
мастер, начиная транзакцию, назначает ей некоторый 4-битовый ID, затем к этому ID интерконнект добавляет "базовые" 4 бита, уникальные для данного мастера.  Таким образом, вся транзакция в рамках интерконнекта характеризуется уникальным ID.  Этот ID затем будет использоваться интерконнектом и слэйвом для манипулирования с потоками данных и откликов, т.к. каждый отклик и слово данных сопровождаются своим ID.

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



Не совсем понял, в чем вопрос?
Мастер посылает данные с 4-битовыми WID не заботясь о том, кто и как эти данные потом разбирает. Единственное, что он отслеживает - это handshaking на каждое слово и статус передачи на канале отклика. Он никак не идентифицирует слэйва-получателя транзакции. Слэйв определяется интерконнектом по memory map, и только интерконнект должен помнить на какой слэйв скоммутирована транзакция с данным ID от данного мастера.
В слэйв данные приходят с 8-битовым WID, старшие разряды которого указывают на мастера-источника данных, а младшие на номер потока(транзакции), который этот мастер присвоил данной транзакции.
И при операциях записи это не "слэйв имеет право выполнять транзакции с разными ID в любом порядке", а мастер имеет право выставлять данные с разными ID в произвольном порядке. Либо интерконнект может одновременно коммутировать на слэйв потоки от нескольких мастеров. Слэйв же обязан разбирать данные именно в том порядке, в котором они к нему приходят (иначе на канале записи данных необходимо было бы ввести возможность отклоенения приема текущего слова данных типа Retry later или Get off and let the faster go first, после которого пропускался бы более быстрый поток, а потом снова бы возвращалось отложенное слово ).
Количество потоков с разными ID, которые способен обрабатывать слэйв, определяется количеством адресов, посланных на слэйв до того момента, пока слэйв не снимет сигнал готовности приема очередного адреса через handshaking сигналами valid и ready на канале адреса. Т.е., если слэйв подверждает прием каждого следующего адреса на канале адреса только после полного завершения предыдущего пакета (burst), это означает, что он способен одновременно обрабатывать лишь один поток. Если же он подтвердит прием, к примеру, 4-х новых адресов, а 5-го не подтвердит до тех пор, пока один из burst-ов не завершится, это означает, что он способен обрабатывать до 4-х параллельных потоков.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _andrew_   AMBA AXI   Aug 24 2005, 15:30
- - des00   Цитата(_andrew_ @ Aug 24 2005, 10:30)AHP(наше...   Aug 25 2005, 06:02
|- - Porychik Kize   А линк не подскажете ? очень интересно изучить [...   Aug 25 2005, 06:26
- - _andrew_   линка нет все в твердой копии в книге. а во тпо AX...   Aug 29 2005, 14:33
|- - scheme_ru   Цитата(_andrew_ @ Aug 29 2005, 17:33)линка не...   Aug 29 2005, 14:52
- - _andrew_   не считайте мен идиотом но я не нашел "PrimeC...   Aug 31 2005, 15:28
|- - scheme_ru   Цитата(_andrew_ @ Aug 31 2005, 18:28)не счита...   Sep 1 2005, 09:50
- - oval   Цитата(_andrew_ @ Aug 31 2005, 18:28)не счита...   Sep 1 2005, 10:43
- - _andrew_   написал письмецо в ARM ответили что действотельно ...   Sep 2 2005, 15:52
|- - scheme_ru   Цитата(_andrew_ @ Sep 2 2005, 18:52)...думаю ...   Sep 5 2005, 12:59
|- - Loki5000   Цитата(scheme_ru @ Sep 6 2005, 17:10)Слэйв же...   Sep 6 2005, 14:05
|- - scheme_ru   Цитата(Loki5000 @ Sep 6 2005, 17:05)Цитата(sc...   Sep 6 2005, 17:20
|- - Loki5000   Дабы не запутать все окончательно, попытаюсь внест...   Sep 7 2005, 12:11
|- - scheme_ru   [Вопрос 1] Так, да не совсем. В спецификации AXI ...   Sep 7 2005, 13:22
|- - Loki5000   [Вопрос 1] По вопросу 1 считаю что консенсус дост...   Sep 7 2005, 14:11
- - _andrew_   всем спасибо, начинаю делать кстати никто не подс...   Sep 12 2005, 17:04
- - Krys   Я сейчас изучаю AXI4. Перечитал данное обсуждение,...   Oct 24 2014, 04:06
|- - blackfin   Цитата(Krys @ Oct 24 2014, 08:06) А именн...   Oct 24 2014, 04:32
- - Krys   Спасибо. Но всё равно непонятно. Зачем вообще упот...   Oct 24 2014, 04:41
|- - des00   Цитата(Krys @ Oct 24 2014, 11:41) Спасибо...   Oct 24 2014, 05:20
- - Krys   а как в таком примере слово outstanding применимо?...   Oct 24 2014, 06:22
|- - Timmy   Цитата(Krys @ Oct 24 2014, 10:22) а как в...   Oct 24 2014, 07:51
|- - des00   Цитата(Krys @ Oct 24 2014, 13:22) Зачем о...   Oct 24 2014, 09:35
- - Krys   Timmy, спасибо, так понятнее   Oct 27 2014, 03:25
- - GAYVER   у нас АКСИ лайт и мы сделали немного по-другому ))...   Nov 1 2014, 18:45


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 10:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.0144 секунд с 7
ELECTRONIX ©2004-2016