LINUX.ORG.RU
решено ФорумTalks

Почему драйвер видеокарты не сидит в видеопамяти?

 


0

1

Что мешает-то? Драйверы винчестеров в них самих и сидят, например, и сетевые принтеры тоже самоходные. И вообще, почему все железки не делают со встроенным драйвером, чтобы наружу только интерфейсы торчали?

★★★
Ответ на: комментарий от firkax

Вы зачем этот бессмысленный вопрос задали?

anc ★★★★★
()

Драйверы винчестеров в них самих и сидят

Вот это поворот!

Black_Shadow ★★★★★
()

Потому что драйвер - это прослойка между устройством и операционной системой. Соответственно он должен быть написан под стандарты операционной системы на которой работает.

Кроме того «драйвер» - это понятие растяжимое.

Просто картинку выводить - в PC-совместимых компьютерах драйвер вообще не нужен.

- - -

То что сидит в винчестере - не драйвер, а фирмварь. Отличие от драйвера в том, что фирмварь управляет компонентами устройства по отдельности и транслирует в интерфейс только нужные данные. Сможет ли операционная система вовремя крутнуть шаговый двигатель на градус, когда на 7-й датчик придет единица? Возможно. Но тогда 50% пропускной способности шины будет забито командами крутилок.

В видеокартах такая фирмварь тоже есть. У тебя ж что-то преобразует содержимое видеопамяти в набор нулей и единиц HDMI-я, или RGB\vsync сигналы VGA? Вот этим и занимается фирмварь.

- - -

Поэтому тезисно мешает:

- Отсутствие стандартов зоопарка ОС в области исполняемого кода;

- Невозможность ОС контролировать работу отдельных компонентов устройства в режиме реального времени. Это в интернетике ты можешь получить байт на две секунды позже. В случае видеокарты для разрешения 640х480@60 сигнал изменяется 25 миллионов раз в секунду. Любой лаг или опережение приведет к искажению изображения;

- Появление большого количества лишней, паразитной информации в интерфейсе. Одно дело послать команду «считать байты из сектора 2345», и совсем другое дело послать сотню команд на сдвиг головки, включение, переход в чтение, чтение, запоминание позиции, и так далее;

- Лаги связанные с скоростью движения электронов + плюс перекрестные помехи. 300 000 км\с - это весьма высокая скорость для человека. Но на огромных частотах для огромных объемов передачи данных, этой скорости уже недостаточно: передатчик успевает послать единицу раньше чем до приемника дойдет предыдущий ноль. Отсюда все эти размещения памятей поближе к процу и прочие читерства. Поэтому большое количество несжатых данных выгоднее передавать на наименьшем расстоянии, а на большее передавать уже систематизированную информацию.

windows10 ★★★★★
()
Последнее исправление: windows10 (всего исправлений: 1)
Ответ на: комментарий от windows10

Просто картинку выводить - в PC-совместимых компьютерах драйвер вообще не нужен

Есть https://en.wikipedia.org/wiki/Video_BIOS который исполняется на процессоре компьютера. Это вроде бы firmware, но обычно под firmware понимают код, который исполняется на самой видеокарте, а не на компьютере.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от MOPKOBKA

Не совсем. Скорее специальная область. Такие области в принципе допустимы организацией памяти x86, и присутствуют не только в видеокартах, а например еще в рейд-контроллерах. И вроде сетевухи могут от себя вносить PXE-меню.

Но так или иначе гонять стопку gpio.write на центральном процессоре - идея так себе.

windows10 ★★★★★
()
Ответ на: комментарий от windows10

Не совсем. Скорее специальная область.

А что «не совсем»? Не хватается цитирования, это к чему относится? Область это не так важно по моему, драйвер откуда угодно может грузиться. Главное где исполняется, с чем работает.

MOPKOBKA ★★★★★
()

У видеокарт памяти и так мало. Пора уже делать видеокарты со вставляемыми плашками.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от Wapieth

X-терминалом. И такие терминалы подключались к мейнфрейму

Да ладно?! Неужели к IBM System z?

futurama ★★★★★
()
Ответ на: комментарий от MOPKOBKA

У видеокарт памяти и так мало. Пора уже делать видеокарты со вставляемыми плашками.

Так это баян, ещё в прошлом веке были видяхи с кроватками под видеопамять.

anc ★★★★★
()
Ответ на: комментарий от windows10

Просто картинку выводить - в PC-совместимых компьютерах драйвер вообще не нужен.

В современных с UEFI - нужен. Обрати внимание, ядро Линукс до загрузки видеодрайвера картинку в системах с UEFI, не кажет.

lenin386 ★★★★
()

Сможешь сделать запихать драйвер проца в железку? Криво представляю но на ружу бужет торчать функция и 8 бит аргументов. Разве не.

TheNewDragon
()
Ответ на: комментарий от windows10

Сможет ли операционная система вовремя крутнуть шаговый двигатель на градус, когда на 7-й датчик придет единица?

Так когда-то это так и работало, man PIO.

yars068 ★★★★★
()
Ответ на: комментарий от yars068

Так когда-то это так и работало, man PIO.

Не совсем.

PIO - это скорей о программном обмене информацией, и man лежит не на вики, а на https://www.intel.com/content/www/us/en/docs/programmable/683038/21-4-7-0-0/f...

Чтобы проц рулил исполнительными механизмами и датчиками - эти исполнительные механизмы и датчики должны быть подключены к шине.

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

Вот например 3D-принтер - четыре движка, три концевика, два ключа - позволяет такие фокусы в силу неторопливости работы. Поэтому управляться он может как своей внутренней прошивкой, так и программой на ПК - слайсером.

А видеокарта к примеру, тем более VGA - не может, потому что там скорость 25 МГц, и это не просто мегагерцы, а синхронные, в строго заданные промежутки времени. Любой лаг который даже на большинстве осцилографов не увидеть - и картинка сьедет.

Жесткий диск - не может, потому что на скорости 7200 оборотов, головка обязана сьехать на нужную позицию в определенный промежуток времени. И не просто сьехать, а выполнить последовательность включений-выключений исполнительных механизмов.

Кроме всего прочего, прошивка может вмещать в себя проприетарную информацию. Не закрытую, а именно проприетарную. Например прошивка звуковой карты может содержать в себе т.н. wavetable - звуки реальных инструментов для воспроизведения по MIDI. Да, звуковая карта может их и не содержать, а еще их может содержать и ОС. Но производитель звуковой карты, гарантирующий покупателям «MIDI-интерфейс» - не может полагаться на такое авось.

- - -

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

windows10 ★★★★★
()
Ответ на: комментарий от yars068

Нет. Никогда так не работало. В PIO режиме просто ПДП не использовался.

sabacs
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)