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

Взаимодействие устройств на PCI-Express

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

Весьма сильно интересует взаимодействие (обмен данными) устройств основаной на технологии PCI-Express. Я очень слабо пока разбираюсь в программировании на аппаратном уровне, поэтому интересует подробное мнение от вас как специалистов. А именно возможно ли прямое взаимодействие устройств ввода-вывода (2-х видеокарт, например) минуя оперативную память? Причем именно управляемое взаимодействие, т.е. есть ли возможность написать собственное ПО организующее такое взаимодействие?

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


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

А именно возможно ли прямое взаимодействие устройств ввода-вывода (2-х видеокарт, например) минуя оперативную память?

а почему бы и нет. чем оперативная память отличается от других устройств. если 1-у устройству указать адрес который выделен 2-му устройству то оно и будет с ним работать. железке всё равно с кем она работает главное чтоб "алгоритм" был соблюдён

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


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

...железке всё равно с кем она работает главное чтоб "алгоритм" был соблюдён

Вот вопрос и состоял в том, что это должен быть за "алгоритм"? Т.е. необходимо написать драйвера (для каких устройств)? или возможно уже использовать те драйвера, что имеются в наличии (например, сетевые драйвера и драйвера видеокарты) ?

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


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

Вот вопрос и состоял в том, что это должен быть за "алгоритм"?

Ваш вопрос звучал так

А именно возможно ли прямое взаимодействие устройств ввода-вывода (2-х видеокарт, например) минуя оперативную память?
а "алгоритм" - это индивидуально для каждого устройства. естественно что драйвера устройств его знают и по нему работают, а вот
возможно уже использовать те драйвера, что имеются в наличии
это зависит исключительно от драйверов. если драйвер есть в сырцах то в принципе можно его доработать или "подглядеть" его алгоритм работы с "железом".

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


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

1 - Возможно. Для этого устройства должны быть Bus Master на шине.

2 - Для управления устройствами нужны драйвер и софт (утилита), которая будет задавать режим работы устройства. Например: передача адреса, размера пакета и команда на начало передачи или приема.

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


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

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

я пробовал выводить видеоданные с памяти видеокарты на свое устройство. скорость не проверял, но доступ к памяти видяхи существует.

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


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

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

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

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

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

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

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

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

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

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