Контроллер видеодисплея

Тип интегральной схемы
Блок-схема контроллера графического дисплея NEC μPD7220

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

VDC является основным компонентом логики генератора видеосигнала, отвечающим за генерацию синхронизации видеосигналов, таких как сигналы горизонтальной и вертикальной синхронизации и сигнал интервала гашения . Иногда для построения полной системы требовались другие вспомогательные чипы, такие как RAM для хранения данных пикселей , ROM для хранения шрифтов символов или некоторая дискретная логика, такая как регистры сдвига .

Чаще всего микросхема VDC полностью интегрирована в логику основной компьютерной системы (ее видеопамять отображается в карте памяти основного ЦП), но иногда она функционирует как сопроцессор , который может независимо манипулировать содержимым видеопамяти.

Контроллер видеодисплея против графического процессора

Разница между контроллером дисплея, графическим ускорителем и ИС сжатия/декомпрессии видео огромна, но поскольку вся эта логика обычно находится на кристалле графического процессора и обычно недоступна конечному потребителю отдельно, часто возникает большая путаница относительно этих совершенно разных функциональных блоков.

Графические процессоры с аппаратным ускорением стали популярными в 1990-х годах, включая S3 ViRGE , Matrox Mystique и Voodoo Graphics ; хотя более ранние примеры, такие как NEC μPD7220, уже существовали некоторое время. VDC часто имели специальное оборудование для создания « спрайтов », функция, которая в более современных чипах VDP выполняется с помощью « Bit Blitter » с использованием функции « Bit blit ».

Одним из примеров типичного процессора видеодисплея является " VDP2 32-битный фоновый и прокручиваемый видеопроцессор отображения " Sega Saturn . Другим примером является чип Lisa (AGA), который использовался для улучшенной графики компьютеров Amiga более позднего поколения .

Тем не менее, не совсем ясно, когда «видеочип» является «контроллером видеодисплея», а когда «процессором видеодисплея». Например, TMS9918 иногда называют «контроллером видеодисплея», а иногда «процессором видеодисплея». Однако в целом «процессор видеодисплея» имеет некоторую мощность для «обработки» содержимого видеопамяти (например, заполнения области ОЗУ), в то время как «контроллер видеодисплея» управляет только синхронизацией сигналов видеосинхронизации и доступом к видеопамяти.

Графический процессор (GPU) идет на шаг дальше VDP и обычно также поддерживает 3D-функциональность. Это тот тип чипа, который используется в современных персональных компьютерах.

Типы

Контроллеры видеодисплеев можно разделить на несколько различных типов, перечисленных здесь от самых простых до самых сложных;

  • Видеосдвигеры , или «системы на основе видеосдвиговых регистров» (общепринятого названия для этого типа устройств не существует), являются наиболее простым типом видеоконтроллеров. Они напрямую или косвенно отвечают за сигналы синхронизации видео, но обычно не имеют прямого доступа к видеопамяти. Они получают видеоданные от основного ЦП, по байту за раз, и преобразуют их в последовательный поток битов, отсюда и техническое название «видеосдвигер». Этот последовательный поток данных затем используется вместе с сигналами синхронизации для вывода видеосигнала. Основной ЦП должен выполнять большую часть работы. Обычно эти чипы поддерживают только режим растровой графики с очень низким разрешением .
  • Контроллер электронно-лучевой трубки (CRTC ) генерирует видеосинхронизацию и считывает видеоданные из ОЗУ, подключенного к CRTC, для вывода их через внешний генератор символов (ROM) (для текстовых режимов ) или напрямую в сдвиговый регистр видеовыходов (для графических режимов высокого разрешения). [1] Поскольку фактические возможности видеогенератора в значительной степени зависят от внешней логики, видеогенератор на основе чипа CRTC может иметь широкий спектр возможностей: от простых систем только с текстовым режимом до систем с высоким разрешением, поддерживающих широкий диапазон цветов. Однако спрайты этими системами обычно не поддерживаются.
  • Контроллеры видеоинтерфейса намного сложнее контроллеров CRT, а внешняя схема, необходимая для CRTC, встроена в чип видеоконтроллера. Спрайты часто поддерживаются, как и (основанные на RAM) генераторы символов и видеопамять RAM, выделенная для цветовых атрибутов и регистров палитры ( таблицы поиска цветов ) для режимов высокого разрешения или текста.
  • Видеосопроцессоры имеют собственный внутренний ЦП, предназначенный для чтения (и записи) собственной видеопамяти (которая может быть общей с ЦП) и преобразования содержимого этой видеопамяти в видеосигнал. Основной ЦП может давать команды сопроцессору, например, для изменения видеорежимов или для управления содержимым видеопамяти. Видеосопроцессор также управляет (чаще всего на основе ОЗУ) генератором символов, ОЗУ атрибутов цвета, регистрами палитры и логикой спрайтов (конечно, если они существуют).

Список примеров VDC

Примерами контроллеров видеодисплеев являются:

Видеоперевертыши

  • RCA CDP1861 был очень простым чипом, построенным по технологии КМОП (что было необычно для середины 1970-х годов) для дополнения микропроцессора RCA 1802 , он в основном использовался в COSMAC VIP . Он мог поддерживать только монохромный графический режим с очень низким разрешением.
  • Адаптер телевизионного интерфейса (TIA) — это специализированный видеочип, являющийся сердцем игровой консоли Atari 2600 , примитивный чип, который использовал микропроцессор 6502 для выполнения большей части работы, а также использовался для генерации звука.

Контроллеры ЭЛТ

  • Контроллер Intel 8275 CRT использовался в Convergent Technologies AWS/ Burroughs B20 , а также в некоторых системах с шиной S-100 .
  • Motorola 6845 (MC6845) — это видеоадресный генератор, впервые представленный Motorola и использовавшийся для Amstrad CPC и BBC Micro . Он также использовался почти во всех ранних видеоадаптерах для ПК, таких как адаптеры MDA , CGA и EGA . MDA и CGA используют фактический чип Motorola, в то время как EGA имеет собственный набор микросхем IBM из пяти чипов LSI; один из этих чипов включает в себя повторную реализацию IBM CRTC, которая работает как MC6845, но отличается несколькими адресами регистров и функциями, поэтому она не является на 100% совместимой. Во всех более поздних адаптерах, совместимых с VGA , функция 6845 по-прежнему воспроизводится внутри видеочипа, поэтому в некотором смысле все современные ПК , совместимые с IBM PC, по-прежнему включают в себя логику 6845 CRTC.

Контроллеры видеоинтерфейса

Видео сопроцессоры

  • ANTIC ( Альфа - цифровая телевизионная интерфейсная схема ) была ранней микросхемой видеосистемы, использовавшейся в 8 -битных компьютерах Atari . Она могла считывать « список отображения » с помощью собственного встроенного ЦП и использовать эти данные для генерации сложного видеосигнала.
  • TMS9918 известен как процессор видеодисплея (VDP) и был впервые разработан для Texas Instruments TI-99/4 , но позже также использовался в таких системах, как MSX (MSX-1), ColecoVision , Memotech MTX series , а также для Sega SG-1000 и SC-3000 . Master System использует улучшенный VDP на основе TMS9918, а Sega 315-5313 (Yamaha YM7101) VDP, используемый в Sega Genesis и некоторых аркадных автоматах, является дальнейшим усовершенствованием Master System VDP с удаленными исходными (худшими) режимами TMS9918.
  • NEC μPD7220 . Использовался в некоторых высокопроизводительных графических платах для IBM PC в середине 80-х годов, в частности в продуктах от Number Nine Visual Technology .
  • RP2C02 ( NTSC ) [2] или RP2C07 ( PAL ) [3] был видеосопроцессором, разработанным Ricoh для использования Nintendo в Famicom и Nintendo Entertainment System . Он был подключен к 2048 байтам выделенной видеопамяти и имел выделенную адресную шину, которая позволяла получать доступ к дополнительной RAM или ROM с игрового картриджа. Поддерживалось прокручиваемое игровое поле размером 256×240 пикселей, а также список отображения из 64 OBJ (спрайтов), из которых 8 могли отображаться на каждой строке сканирования.
  • Yamaha V9938 — это улучшенная версия TMS9918, которая в основном использовалась в MSX2 .
  • Yamaha V9958 — это видеодисплейный процессор (VDP), используемый в основном в компьютерах MSX2+ и MSX turboR .
  • VLSI VS21S010D-L — это SPI/параллельная SRAM-память емкостью 128 КБ со встроенным контроллером видеодисплея с пикселями переменной битовой глубины и блиттером с перемещением блоков.
  • Графический процессор дисплея серии Thomson EF936x (GDP), обеспечивающий скорость прорисовки 1 миллион  пикселей  в секунду и разрешение до 1024×512.

Альтернативы чипу VDC

Обратите внимание, что многие ранние домашние компьютеры не использовали чип VDP, а строили весь контроллер видеодисплея из множества дискретных логических чипов (примерами являются Apple II , PET и TRS-80 ). Поскольку эти методы очень гибкие, генераторы видеодисплеев могли быть очень эффективными (или крайне примитивными, в зависимости от качества конструкции), но также требовали большого количества компонентов.

Многие ранние системы использовали некоторую форму ранней программируемой логической матрицы для создания видеосистемы; примерами служат системы ZX Spectrum и ZX81 и Elektronika BK-0010 , но было и много других. Ранние реализации часто были очень примитивными, но более поздние реализации иногда приводили к довольно продвинутым видеосистемам, таким как система в SAM Coupé . На нижнем конце, как в ZX81, оборудование выполняло только электрические функции, а синхронизация и уровень видеопотока обеспечивались микропроцессором. Поскольку скорость передачи видеоданных была высокой относительно скорости процессора, компьютер мог выполнять только фактические вычисления, не связанные с отображением, в течение периода обратного хода между кадрами отображения. Это ограничивало производительность максимум 25% от общего количества доступных циклов ЦП.

Таким образом, эти системы могли построить очень эффективную систему с относительно небольшим количеством компонентов, но малое количество транзисторов ранней программируемой логики означало, что возможности ранних систем на основе PLA часто были менее впечатляющими, чем те, которые использовали контроллеры видеоинтерфейса или видеосопроцессоры, которые были доступны в то же время. Более поздние решения PLA, такие как те, которые использовали CPLD или FPGA , могли привести к гораздо более продвинутым видеосистемам, превосходящим те, которые были построены с использованием готовых компонентов.

Часто используемым гибридным решением было использование контроллера видеоинтерфейса (часто Motorola 6845 ) в качестве основы и расширение его возможностей с помощью программируемой логики или ASIC . Примером такого гибридного решения является оригинальная карта VGA , которая использовала 6845 в сочетании с ASIC. Вот почему все современные видеосистемы на базе VGA по-прежнему используют аппаратные регистры , которые были предоставлены 6845.

Современные решения

Блок-схема чипа ATi R300 . Контроллер дисплея имеет маркировку "display interface".

С достижениями в производстве полупроводниковых устройств все больше и больше функций реализуется в виде интегральных схем , часто лицензируемых как ядро ​​интеллектуальной собственности полупроводника (ядро SIP). Блоки контроллера дисплея System In Package (SiP) можно найти на кристалле графических процессоров , гибридных процессоров и систем на кристалле . [ требуется ссылка ]

Они поддерживают множество интерфейсов : VGA , DVI , HDMI , DisplayPort , VHDCI , DMS-59 и другие. PHY включает LVDS , TMDS и Flat Panel Display Link , OpenLDI и CML . [ требуется ссылка ]

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

Драйвер KMS — это пример драйвера устройства для контроллеров дисплея, а AMD Eyefinity — это специальная марка контроллера дисплея с поддержкой нескольких мониторов .

RandR (изменение размера и поворот) — это метод настройки разрешения экрана и частоты обновления на каждом отдельном выходе по отдельности и одновременной соответствующей настройки параметров оконной системы.

Примером этой дихотомии является ARM Holdings : они предлагают ядро ​​SIP для ускорения 3D-рендеринга и для контроллера дисплея независимо друг от друга. Первое имеет маркетинговые названия, такие как Mali-200 или Mali-T880, а последнее доступно как Mali-DP500, Mali-DP550 и Mali-DP650. [4]

История

В 1982 году NEC выпустила NEC μPD7220 , один из наиболее широко используемых контроллеров видеодисплея в персональных компьютерах 1980-х годов . Он использовался в NEC PC-9801 , APC III , IBM PC-совместимых , DEC Rainbow , Tulip System-1 и Epson QX-10 . [5] Intel лицензировала дизайн и назвала его графическим контроллером дисплея 82720. [6]

Раньше графические карты также назывались графическими адаптерами, а чипы, используемые на этих картах ISA / EISA, состояли исключительно из контроллера дисплея, поскольку это была единственная функциональность, необходимая для подключения компьютера к дисплею. Более поздние карты включали ИС для выполнения вычислений, связанных с 2D-рендерингом параллельно с ЦП; эти карты назывались картами графических ускорителей. Аналогично со временем появились ИС для 3D-рендеринга. Такие карты были доступны с интерфейсами VLB , PCI и AGP ; современные карты обычно используют шину PCI Express , поскольку они требуют гораздо большей пропускной способности, чем может обеспечить шина ISA.

Смотрите также

Ссылки

  1. ^ M. Rasch, B. Bertelsons (1995). Scott Slaughter (ред.). PC Underground: Unconventional Programming Topics . США: Abacus Software Inc. стр. 58-68. ISBN 978-1557552754.«Контроллер электронно-лучевой трубки (CRTC) отвечает за генерацию видеосигнала и является программируемым. Таблицы значений битов регистров CRTC для VGA , EGA , CGA , Hercules , SVGA , Mode X ».
  2. ^ "NES NTSC Video". NESdev.org. 2024-06-04.
  3. ^ "NES PAL Video". NESdev.org. 2024-06-24.
  4. ^ "Начальная поддержка ARM Mali Display Controller". Список рассылки по ядру Linux . 2016-04-01.
  5. ^ Дампф, Гвидо (1986). «Графика с NEC 7220: Прямой доступ с Turbo Pascal» . Получено 27 июля 2013 г.(Перевод "Grafik mit dem 7220 von NEC", mc , 1986, H11, стр. 54-65)
  6. Changon Tsay (1 января 1986 г.). Проект графической системы на основе графического контроллера дисплея INTEL 82720. Техасский университет в Эль-Пасо. С. 1–152. {{cite book}}: |work=проигнорировано ( помощь )
  • Embedded Linux Conference 2013 – Анатомия встроенного драйвера KMS на YouTube Драйвер KMS – это драйвер устройства для контроллеров дисплея
Retrieved from "https://en.wikipedia.org/w/index.php?title=Video_display_controller&oldid=1246405541"