Два мастера в PCI express

Допустим. У нас два устройства подают команду друг другу одновременно. Что будет дальше? Как это должно работать?

Расскажите подробней, пожалуйста

0
Автор поста оценил этот комментарий

Наглостью. Рисовать я не собираюсь.

pci шина двунаправленная и операции чтения и записи могут выполняться одновременно, но они все равно проходят через буфер. Вообще pci устройства могут выполнять более одного обмена данными в единицу времени. Но транзакции все равно выполняются по порядку (уточняю опять. Важен порядок завершения транзакции).

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо большое

0
Автор поста оценил этот комментарий

Это конечно будет большой наглостью с моей стороны, но вы бы не могли бы это изобразить как то визуально. Получается, что шина в pci не двунаправленна?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Все же двунаправленна

0
Автор поста оценил этот комментарий

Они идет не по одному каналу. Один идут по одной шине, но в коммутатор (электрически устройства не связаны напрямую). Если устройство, которому предназначена транзакция занято - транзакция становится задержанной и ожидает следующего цикла выполнения. Транзакция выполняется не устройством, а, как правило, коммутатором.

В контексте PCI master\slave не очень корректная терминология. У PCI есть CPU и остальные устройства и приоритет может быть только в таких рамках (CPU или остальные устройства и наоборот). PCI устройства между собой равнозначные.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Это конечно будет большой наглостью с моей стороны, но вы бы не могли бы это изобразить как то визуально. Получается, что шина в pci не двунаправленна?

показать ответы
1
Автор поста оценил этот комментарий

Ну смотри. Каждая команда должна завершиться транзакцией. По стандарту PCI есть ряд требований выполнений транзакций, но если упростить: транзакция может быть отложено, отменена или задержана в зависимости от времени выполнения, доступности данных, соответствия стандартам.

Порядок выполнения зависит так же от самой транзакции как и от условий выполнения. Конкретным важным параметром в твоем случае является время завершения выполнения транзакции. Так что если мы рассматриваем 2 pci устройства с одинаковым приоритетом, работающем через коммутатор с произвольными командами, которые при этом выполняют все требования PCI - зависит от конкретной команды и условий выполнения кто будет первым. Если команда пришла первая и упала в буфер, то это не дает гарантии того, что она выполнится быстрее, чем последующая команда.

Точнее я тебе сказать не могу, так как знаю только достаточно поверхностные факты про pci чуть выходящие за рамки моей работы. Напрямую с ней я никогда не работаю.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Заранее извиняюсь, я чайник и просто пытаюсь понять. То есть у нас одновременно поступает сигнал с командой от двух устройств. Одинаковые приоритет, все требования выполнены. Сигналы же встретятся в одном канале вроде как. Как по итогу они смогу дойти до второго устройства? И кто из них первым по итогу станет мастером? И после выполнения задачи первого мастера, второе устройство становится мастером и выполняет уже свою задачу?

показать ответы
0
Автор поста оценил этот комментарий
Простым языком. Pci шина не имеет прямой электрической связи между своими устройствами и все сигналы идут через коммутатор (сейчас это цп). Это касается потребительской электроники и обычных потребительских устройств. Хотя есть решения, которые благополучно работают на той же pci шине но с другой организацией.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А что с командами то? Они по итогу будут выполнены? Если да, то в каком порядке ?

показать ответы
0
Автор поста оценил этот комментарий

Все будет нормально. Они на прямую друг с другом не общаются в нашу современность. На старых системах с DMA шиной скорее всего будет коллизия.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
Автор поста оценил этот комментарий

дак не понятно кто инициатор транзакции

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну допустим там gpu и ssd. Оба одновременно подали команду на чтение/записи. И вот что дальше. Кто инициатор. Как пойдёт сигнал. Кто по итогу окажется мастером и тд

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества