|
AMBA AXI, Проектирование interconnect-а на AMBA |
|
|
|
 |
Ответов
|
Sep 5 2005, 15:29
|
Частый гость
 
Группа: Свой
Сообщений: 126
Регистрация: 24-08-05
Пользователь №: 7 935

|
Более того, при использовании специальных меток - тэгов, фазы данных могут проходить даже в очередности, отличной от очередности фаз адресов... Имеются ввиду теги AWID, ARID ...? так называемый interleaving? тогда такой вопрос: при различной размерности ID мастер добавляет к ID slava ... в примере в спецификации в одном случае добавил единички, в другом нолики... еще. поправте меня пожалуйста , наверняка ошибаюсь  : допустим необходимо произвести обмен со слэйвом с его ID (если в общем без VALID READY типов транзакций, блокировок и т п ,с нимим как раз вроде понятно) 1. мастер выставляет адресс, по memory map находим slave к которому обращается master. или же мастер выставляет ID слэйва к которому обращается... в общем если нетрудно , можете пояснить механизм определения пары мастер слэйв. читал 3 раза этот момент, но мой английский далек... еще не совсем понятен(опять же из-за английского) поддержка TrustZone что за чудо такое? Еще что может быть интересно, так это порядок байтов и байт-перевороты. не совсем понял что вы имеете ввиду... это что то из области выравнивания?
|
|
|
|
|
Sep 5 2005, 17:28
|
Участник

Группа: Свой
Сообщений: 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) еще. поправте меня пожалуйста , наверняка ошибаюсь  : допустим необходимо произвести обмен со слэйвом с его 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 с каждой стороны, да еще и с возможностью невыровненных передач, там придется наворачивать очень даже интересный мультиплексор-перестановщик, который будет перекачивать потоки данных из одного представления в другое и обратно. И такая машинка, в принципе должна стоять на каждой возможной связке мастер-слэйв внутри интерконнекта в каждом направлении, если планируется, что интерконнект будет неблокирующим и разрешены одновременные обмены данными между разными парами мастер-слэйв.
|
|
|
|
|
Sep 6 2005, 11:30
|
Участник

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

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

Группа: Свой
Сообщений: 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-х параллельных потоков.
|
|
|
|
Сообщений в этой теме
_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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|