|
PCI Express_DMA_SRam, проблемы конфигурации |
|
|
|
Jan 18 2010, 14:24
|
Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 1-06-05
Из: Подольск
Пользователь №: 5 629

|
Добрый день ! Разрабатываю в Квартус систему взаимодействия PCI express , SRAM , DMA. (картинку взаимодействия прикрепляю)
. Под все это написан драйвер и создано тестовое ПО в Jungo Win Driver. После установки платы и подвязки драйвера в системных ресурсах вижу BAR0,1,2. Путем обращения к BAR0 пишу и читаю данные из памяти в Альтере. Теперь хочу реализовать канал DMA. И вопросы... куда писать параметры конфигурации DMA и где забирать данные (в соответствие с прикрепленной схемой)? Кто сталкивался с подобным проектом, взятым из описания на ядро ? Заранее благодарен !
|
|
|
|
|
 |
Ответов
|
Jan 19 2010, 15:33
|

Частый гость
 
Группа: Свой
Сообщений: 191
Регистрация: 10-01-05
Из: San Francisco Bay, Silicon Valley
Пользователь №: 1 869

|
Я думаю, что словом single выражается то обстоятельство, что толкается DMA контроллер один раз и прерывание выдаётся одно - по завершении всей цепочки. Слова scatter-gather я перевёл бы так: перекатывается и собирает. Т.е. перекатывается по блокам данных, разбросанным в памяти ПК, и собирает в единую транзакцию общения с программой-драйвером. Ключевым же в понятии scatter-gather является наличие цепи, содержащей дескрипторы распределённые во внешней памяти. Register-based DMA - это минимальная реализация DMA-контроллера, когда в нём есть только внутренние регистры для хранения дескрипторов и задаются эти регистры только непосредственно программой-драйвером. P.S. Цитата из scatter-gather DMA IP core от Альтеры: Цитата Comparison of SG-DMA Controller Core and DMA Controller Core
The SG-DMA controller core provides a significant performance enhancement over the previously available DMA controller core, which could only queue one transfer at a time. Using the DMA Controller core, a CPU had to wait for the transfer to complete before writing a new descriptor to the DMA slave port. Transfers to non-contiguous memory could not be linked; consequently, the CPU overhead was substantial for small transfers, degrading overall system performance. In contrast, the SG-DMA controller core reads a series of descriptors from memory that describe the required transactions and performs all of the transfers without additional intervention from the CPU.
|
|
|
|
|
Jan 20 2010, 10:16
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(serebr @ Jan 19 2010, 18:33)  Т.е. перекатывается по блокам данных, разбросанным в памяти ПК, и собирает в единую транзакцию общения с программой-драйвером. А перед этим Вы писали "... Это когда в конце каждой DMA пачки в памяти ПК, предназначенной для пересылки, лежит список параметров для следующего DMA-обмена." :-) Вообщем для себя я решил, что скатер - способ сбора данных из разных областей в одну транзакцию. А как эти области организованы - MemBased или RegBased - это уже из другой оперы, другой признак классификации. Естественно, что наиболее природно смотрится скатер с MemBased DMA.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Jan 20 2010, 10:34
|

Частый гость
 
Группа: Свой
Сообщений: 191
Регистрация: 10-01-05
Из: San Francisco Bay, Silicon Valley
Пользователь №: 1 869

|
Цитата(Victor® @ Jan 20 2010, 16:16)  А перед этим Вы писали "... Это когда в конце каждой DMA пачки в памяти ПК, предназначенной для пересылки, лежит список параметров для следующего DMA-обмена." :-) А как по-другому назвать пересылку блока данных по загруженному из памяти дескриптору? Это и имелось в виду. Цитата(Victor® @ Jan 20 2010, 16:16)  Вообщем для себя я решил, что скатер - способ сбора данных из разных областей в одну транзакцию. А как эти области организованы - MemBased или RegBased - это уже из другой оперы, другой признак классификации. Естественно, что наиболее природно смотрится скатер с MemBased DMA. К перечисленным выше Цитата 1. PLX Technology 2. Xilinx 3. Altera 4. Northwest Logic от себя в этот список добавлю ещё Lattice. Итого получим список вендоров, выпускающих 90% FPGA чипов в мире. Все они вполне однозначно используют термин scatter-gather для обозначения именно того варианта, о котором я говорил выше. Если хочется быть оригинальным и считать, что этот термин может означать что-то другое - на здоровье! Лишь бы у других людей, читающих эту тему, не сложилось превратного представления о scatter-gather. P.S. Замечу лишь, что если DMA реализован на RegBased, то исчезает преимущество, которое указано в даташите Альтеры. А именно - возможность использовать регистры DMA контроллера центральным процессором сразу же после начала работы scatter-gather. Т.е. для scatter-gather можно иметь всего один комплект регистров для хранения декскриптора, т.к. после начала работы scatter-gather все остальные дескрипторы из данной цепочки лежат во внешней памяти.
Сообщение отредактировал serebr - Jan 20 2010, 10:44
|
|
|
|
|
Jan 20 2010, 13:54
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(serebr @ Jan 20 2010, 13:34)  Все они вполне однозначно используют термин scatter-gather для обозначения именно того варианта, о котором я говорил выше. О каком варианте из Ваших двух идет речь? Вы сами сначала определитесь - SG-DMA собирает ВСЕ данные и делает ОДНУ транзакцию или берет адрес из блока текущей транзакции для ПОСЛЕДУЮЩЕЙ. В первом случае - ОДНАтранзакция, во втором НЕСКОЛЬКО. \читайте, пожалуйста внимательнее - специально выделяю ключевые слова\ -- успехов
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
Сообщений в этой теме
bychkov_vladimir PCI Express_DMA_SRam Jan 18 2010, 14:24 Victor® Цитата(bychkov_vladimir @ Jan 18 2010, 17... Jan 18 2010, 15:03 Methane Цитата(Victor® @ Jan 18 2010, 17:03) Ну..... Feb 23 2010, 18:42 Kuzmi4 2 Victor®
я давненько в спецификацию на PCI Expre... Jan 18 2010, 15:25 serebr Kuzmi4
Инициировать запрос Endpoint может, значит ... Jan 18 2010, 17:11 bychkov_vladimir Принцип мне понятен. Не ясно как из набора функций... Jan 19 2010, 13:04 serebr По-хорошему, надо в плате иметь DMA контроллер, ко... Jan 19 2010, 13:30 Victor® Цитата(serebr @ Jan 19 2010, 17:30) По-хо... Jan 19 2010, 14:40 serebr Попробую подробнее описать, что обозначается слова... Jan 19 2010, 15:05 Victor® Цитата(serebr @ Jan 19 2010, 19:05) Попро... Jan 19 2010, 15:24  dsmv Цитата(Victor® @ Jan 19 2010, 18:24) ...
... Jan 20 2010, 09:05    serebr Цитата(Victor® @ Jan 20 2010, 19:54) О ка... Jan 20 2010, 14:03     Victor® Цитата(serebr @ Jan 20 2010, 17:03) Комби... Jan 20 2010, 14:13 serebr Не передёргивайте - не будет и ненужных споров. Ес... Jan 20 2010, 14:23 Бэд Цитата(serebr @ Jan 20 2010, 20:23) Не пе... Feb 6 2010, 19:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|