2

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

Я принял позицию «да» с мыслью, что программный рендеринг возможен. Конечно, можно использовать процессор для отправки правильных сигналов на разъем HDMI без VGA-карты.

Я пытался погуглить эту проблему, но, к сожалению, большинство вопросов задают люди, которые плохо знакомы с компьютерами, поэтому ответы не совсем то, что я ищу.

3 ответа3

2

Конечно, можно использовать процессор для отправки правильных сигналов на разъем HDMI без VGA-карты.

Это называется «бит-биинг» - по сути, процессор постоянно изменяет регистр ввода-вывода для создания сигнала.

Это возможно и было сделано с очень низкоскоростными интерфейсами, такими как последовательные порты. Старый Commodore 64 в значительной степени делал это с помощью RS-232 и шины, которые он использовал для связи с принтерами и дисководами. RS-232 не может работать быстрее 2400 бит / с (2,4 Кбит / с).

Но HDMI очень, очень быстрый интерфейс. Например, HDMI 2.0 имеет скорость 18 Гбит / с. Это означает, что 18 миллиардов раз в секунду процессор должен будет что-то сделать для модуляции сигнала.

Учитывая, что даже ваши самые быстрые процессоры работают на частоте около 3 ГГц, а это означает, что время цикла для инструкций составляет 1/3 000 000 000 -

  • почти все инструкции процессора занимают более одного цикла

  • Инструкции ввода / вывода "сериализуются" (потому что они должны быть выполнены по порядку), поэтому расширенные функции ЦП, такие как спекуляция, не помогают.

  • Поскольку все должно быть сделано по порядку на 1 канал, несколько процессоров не помогают.

  • Инструкции ввода / вывода не взаимодействуют с памятью или регистрами, поэтому кэширование / MMX / SSE / AVX / EVEX не будет ничего делать, кроме как помочь определить, что вы хотите отправить по конвейеру.

так что я не думаю, что есть способ «бит-грохот» на 18 ГГц с современными процессорами x86, и вы даже не могли бы делать 3Ghz. Возможно, действительно очень низкая частота обновления, если интерфейс HDMI не имеет минимальной скорости.

Но вы можете понять, почему специализированное оборудование управляет интерфейсом.

В любом случае вам все еще нужно какое-то минимальное оборудование для соединения, поскольку ваш ЦП подключен к шине, и это оборудование должно взаимодействовать с тем же "языком" или протоколом, что и эта шина, для взаимодействия с ЦП. Для старых систем, таких как Commodore 64 и тому подобное, у него были устройства, такие как "Универсальный интерфейсный адаптер" или "Сложный интерфейсный адаптер" - ЦП считывал / записывал на этот чип, чтобы получить состояние "портов" (он был подключен до и появился на шине ЦП), и микросхема будет иметь физическое соединение с выводами физических портов на задней панели или слотами на материнской плате.

Для современных процессоров x86 самый близкий у вас сейчас PCI-E, а контроллеры PCI-E уже встроены в процессоры, но были частью чипсета. Таким образом, вам все еще нужно что-то, что принимает сигналы PCI-E и по крайней мере преобразует их в сигналы HDMI.

VGA - это другое дело .

1

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

1

Я думаю, что ваш друг выигрывает пари.

Для вывода реального видео через HDMI или другой физический интерфейс требуются две вещи:

  1. Генерация последовательных видеокадров
  2. Передача кадров через видео разъем.

Это задача связи с реальным аппаратным портом, который ЦПУ не может сделать самостоятельно.

Учитывая, что вы ожидаете фактический вывод через порт HDMI, вот две причины, по которым это делается не только с процессором:

  1. Рендеринг каждого кадра видеовыхода требует значительных вычислительных затрат. Процессор может выполнять эту работу, но это значительно ограничивает его способность выполнять свою "повседневную работу", что делает систему медленной. Графические процессоры специально созданы для этого типа работы.
  2. Преобразование цифрового представления видеокадра в сигналы, необходимые для его передачи через физический порт, требует аппаратного обеспечения для этого порта. Процессоры предназначены для работы во многих различных системах и не имеют контроля над физическими видеопортами, с которыми они могут работать. Это делает невозможным для чистого процессора выполнение сквозной задачи генерации видеокадров и вывода их через физический порт. Даже современные процессоры, которые включают встроенный графический процессор, зависят от дополнительных компонентов, предусмотренных на материнской плате для вывода видео, и технически эти две части вместе образуют видеокарту.

Очевидно, что процессор может выполнять задачу 1, но это задача 2, которая требует дополнительного оборудования для выполнения. В современных компьютерах это графический адаптер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .