Перейти к содержанию
    

Буферизация потока данных при чтении из PCI target

Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.

Какая тут теория расчета ??? Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например  получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.

Какая тут теория расчета ??? Заранее спасибо.

 

Боюсь, что никакой. Хотя, если иметь модель PCI для нескольких устройств (соотносящуюся с логикой мат.платы компа :)), можно преположить, что сетевушка не займёт более 50% ресурсов PCI, и уже от этого плясать. Я таким некоторое время страдал (из тестбенча для opencore's pci core сделал тест устройство+драйвер+несколько мастеров на pci шине). Оказалось, что проще (и быстрее!) "вживую" поглядеть :(.

 

Имеется контроллер PCI от SET 32\33 Target.

Совсем забыл!

SET'у не особо верьте :(.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

Случайно наткнулся на данную тему.

Вопрос к qab:

Что за ТЕСТ УСТРОЙСТВО+ДРАЙВЕР+НЕСКОЛЬКО МАСТЕРОВ на PCI-ШИНЕ?

Мне помощь нужна! :help:

Разработка ТЕСТ УСТРОЙСТВА!

http://electronix.ru/forum/index.php?showtopic=28130

Заранее благодарю, что откликнулся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт.
В такой ситуации Вас может спасти PCI-master. Возьмите ядро от Xilinx и добавьте к нему свой контроллер ПДП. Часть памяти ПЛИС отведите под хранние цепочки дескрипторов ПДП (каждый дескриптор описывает одну непрерывную пересылку). Тогда будет гарантия того, что данные будут пересланы вовремя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.

Какая тут теория расчета ??? Заранее спасибо.

Я что то не догоняю речь идет о Master или о Target ???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.

Какая тут теория расчета ??? Заранее спасибо.

 

PCI target может быть и потянет - но обычные компы нет. Делайте PCI master.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно конечно делать мастера. Но и мастер не прокачает такую скорость с такими буферами.

Нужно ставить внешнюю память. Сколько ставить зависит от того, насколько страшно потерять данные.

 

На самом деле в любом компе все устройсва грубо говоря сидят на одной шине. Это все порты USB, сеть, винчестеры и пр. Многие из них умеют писать в DMA режиме, поэтому заранее точно определить загруженность шины невозможно. Конечно если можно приостанавливать поток, то таких буферов хватит. Если нет нужно закладывать что-то внешнее. А с размером сложнее :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное, уже поздновато отвечать, но все же прокомментирую некоторые высказывания.

 

PCI target может быть и потянет - но обычные компы нет. Делайте PCI master.
Такую штука будет даже не фокусом. 66MB/s легко достижимы практически на любом чипсете. Необходимо просто предпринять очень специфические меры по обеспечению доступа бурстами в драйвере устройства.

 

На самом деле в любом компе все устройсва грубо говоря сидят на одной шине. Это все порты USB, сеть, винчестеры и пр. Многие из них умеют писать в DMA режиме, поэтому заранее точно определить загруженность шины невозможно.
PCI шина в современном компьютере сегментирована на большое количество сегментов. Каждый из таких сегментов коммутируется на связную шину южного моста, имеющую среднюю пропускную способность в районе 266MB/s. Посему разные мастера совсем даже и не мешают работе друг друга. BTW, 266MB/s - это очень старая информация, сейчас вероятно уже больше. Проверить сие утверждение просто - ставим мощного PCI потребителя данных типа старой видеокарты или платы захвата видео и наслаждаемся совсем даже и незамедленной записью на винчестера во время работы грабера. Из своего опыта - вынимал из порта USB порядка 45MB/s и одновременно работал с винтом - еще метров 60 в секунду - и никаких особых вопросов не возникало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PCI шина в современном компьютере сегментирована на большое количество сегментов. Каждый из таких сегментов коммутируется на связную шину южного моста, имеющую среднюю пропускную способность в районе 266MB/s. Посему разные мастера совсем даже и не мешают работе друг друга. BTW, 266MB/s - это очень старая информация, сейчас вероятно уже больше. Проверить сие утверждение просто - ставим мощного PCI потребителя данных типа старой видеокарты или платы захвата видео и наслаждаемся совсем даже и незамедленной записью на винчестера во время работы грабера. Из своего опыта - вынимал из порта USB порядка 45MB/s и одновременно работал с винтом - еще метров 60 в секунду - и никаких особых вопросов не возникало.

 

Южный мост действительно имеет достаточно пропускной способности для *встроенных* устройств и они обычно не сильно мешают друг другу. Но вот устройствам сидящим в PCI разъемах все-же приходится бороться за одну единственную шину.

 

Вы попробуйте прицепить винчестер не ко встроенному в южный мост контроллеру, а к IDE контроллеру воткнутому в PCI слот. Там и посмотрим, как винт уживется с граббером. А еще можно и гигабитный ethernet в соседний слот воткнуть.. :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...