Jump to content

Блеск

Блиттер это схема, иногда в виде сопроцессора или логического блока микропроцессора , компьютера предназначенная для быстрого перемещения и модификации данных в памяти . Блиттер может копировать большие объемы данных из одной области памяти в другую относительно быстро и параллельно с ЦП , освобождая при этом более сложные возможности ЦП для других операций. Типичное использование блиттера — перемещение растрового изображения , например окон и значков в графическом пользовательском интерфейсе или изображений и фона в 2D-видеоигре. Название происходит от операции побитовой печати 1973 года Xerox Alto . [1] что означает передачу битовых блоков. [2] Операция блитирования — это нечто большее, чем копирование в памяти, поскольку она может включать в себя данные, которые не выровнены по байтам (отсюда и бит в бите blit ), обработку прозрачных пикселей (пикселей, которые не должны перезаписывать место назначения) и различные способы объединения источника и места назначения. данные.

Блиттеры в значительной степени были вытеснены программируемыми графическими процессорами .

История [ править ]

На компьютерах без аппаратного ускорения растровой графики , к которым относятся большинство домашних компьютеров 1970-х и 1980-х годов и совместимых с IBM PC до середины 1990-х годов, буфер кадра обычно хранится в памяти, доступной процессору. Рисование осуществляется путем обновления буфера кадра с помощью программного обеспечения. Для базовых графических процедур, таких как объединение меньшего изображения в большее (например, для видеоигры) или рисование заполненного прямоугольника, необходимо манипулировать большими объемами памяти, и много циклов тратится на выборку и декодирование коротких циклов загрузки/ инструкции по хранению. Для процессоров без кэшей требования к шине для инструкций так же важны, как и для данных. Чтобы уменьшить размер буфера кадра, один байт может не обязательно соответствовать пикселю, а содержать 8 однобитных пикселей, 4 двухбитных пикселя или пару 4-битных пикселей. Манипулирование упакованными пикселями требует дополнительных операций сдвига и маскировки на ЦП.

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

видеоиграх Блиттеры и в компьютерах

1973: Xerox Alto , откуда возник термин «блит-бит» , имеет инструкцию по передаче битовых блоков, реализованную в микрокоде , что делает ее намного быстрее, чем та же операция, написанная на ЦП. [1] Микрокод был реализован Дэном Ингаллсом . [1]

1982: Помимо рисования примитивов формы, NEC μPD7220 процессор видеодисплея может передавать прямоугольные растровые изображения в память дисплея посредством прямого доступа к памяти и заполнять прямоугольные части экрана. [3] [4]

1982: Williams Electronics Аркадная видеоигра Robotron: 2084 от включает в себя два блиттер-чипа, которые позволяют игре иметь до 80 одновременно движущихся объектов. [5] Производительность была измерена примерно на уровне 910 КБ/сек. [5] Блиттер работает с 4-битными (16 цветов) пикселями, где цвет 0 является прозрачным, что позволяет создавать непрямоугольные формы. [6] Уильямс использовал то же оборудование в других играх того периода, включая Sinistar и Joust . [6]

1984: Персональный компьютер MS-DOS, совместимый с Mindset, содержит специальный чип СБИС для перемещения прямоугольных участков растрового изображения. Аппаратное обеспечение обеспечивает прозрачность и восемь режимов объединения исходных и целевых данных. [7] Утверждалось, что Mindset имел графику в 50 раз быстрее, чем компьютеры, совместимые с IBM PC того времени. [8] но система не имела успеха.

1985: Один из сопроцессоров персонального компьютера Amiga — блиттер. Первой патентной заявкой США, в которой использовался термин «блиттер», была «Персональное компьютерное устройство для блочной передачи данных растровых изображений», переданная Commodore-Amiga, Inc. [9] Блиттер выполняет произвольную логическую операцию над тремя битовыми векторами размера 16:

destination := op(source A, source B, source C)

1986: TMS34010 32-битный процессор общего назначения со встроенными инструкциями, в том числе PIXBLT (Pixel Block Transfer) для управления растровыми данными. Он оптимизирован для случаев, которые потребовали бы дополнительной обработки, если бы были реализованы в программном обеспечении, например, обработка прозрачных пикселей, работа с данными, не выровненными по байтам, и преобразование между битовыми глубинами. PIXBLT предоставляет 22 способа объединения исходных и целевых данных. [10] TMS34010 служит как процессором, так и графическим процессором для ряда аркадных игр, начиная с 1988 года с Narc , включая Hard Drivin' , Smash TV , Mortal Kombat и NBA Jam . [11] Он также использовался в платах графических ускорителей в 1990-х годах.

1986: Intel 82786 — программируемый графический процессор с BIT_BLT инструкция для перемещения прямоугольных участков растровых изображений. [12]

1987: Адаптер дисплея IBM 8514/A , представленный вместе с компьютерами IBM Personal System/2 в апреле 1987 года, включает в себя оборудование для передачи битовых блоков. [13]

Чип Atari ST BLiTTER

1987: Atari Mega ST 2 поставляется с блиттер-чипом. [14] Официально называемый «Процессор передачи битовых блоков Atari ST», стилизованный под BLiTTER, он предоставляет 16 вариантов объединения исходных и целевых данных. [15] Блиттер поддерживается на большинстве последующих машин ST.

1989: Недолговечная рабочая станция Atari Transputer Workstation содержит оборудование для блиттера как часть видеосистемы Blossom (на базе Mega ST). [16]

1989: Цветная портативная игровая система Atari Lynx имеет специальный блиттер с эффектами масштабирования и искажения.

1993: Игровая консоль Atari Jaguar оснащена блиттерным оборудованием как часть специального чипа «Том». [17]

1996: Группа VESA представила стандартизированный способ доступа к таким функциям, как аппаратная передача битовых блоков с помощью функций VBE/ускорителя (VBE/AF) на компьютерах, совместимых с IBM PC.

Операция [ править ]

Спрайты (слева) и связанные маски

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

Чтобы скопировать данные с полностью прозрачными пикселями, например спрайтами, некоторое оборудование позволяет игнорировать определенное значение пикселя, например цвет 0, во время блита. Эти пиксели не записываются в место назначения.

Другой подход в некоторых системах заключается в том, чтобы использовать второе изображение с размером 1 бит на пиксель в качестве маски , чтобы указать, какие пиксели следует передать, а какие оставить нетронутыми. Маска действует как трафарет . Логическая операция:

destination := (background AND NOT mask) OR sprite

Другие подходы [ править ]

Аппаратные спрайты представляют собой небольшие растровые изображения, которые можно позиционировать независимо и на лету комбинировать с фоном с помощью видеочипа. Буфер кадра не изменяется. [18] Недостатком спрайтов является ограничение перемещения графики на строку сканирования, которое может варьироваться от трех ( Atari 2600 ) до восьми ( Commodore 64 и 8-битные компьютеры Atari ) и значительно выше для 16-битных консолей и аркадного оборудования ( Neo Geo может отображать 96 спрайтов в строке) и невозможность обновления постоянного растрового изображения (что делает их непригодными для общего ускорения графического интерфейса рабочего стола).

См. также [ править ]

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б с Ширрифф, Кен. «Восстановление Xerox Alto YCombinator, день 5: Трассировка микрокода с помощью логического анализатора» . Блог Кена Ширриффа .
  2. ^ «Функция BitBlt» . Сеть разработчиков Windows . Майкрософт . Проверено 2 октября 2016 г.
  3. ^ Педди, Джон. «Известные графические чипы: контроллер графического дисплея NEC μPD7220» . компьютер.орг .
  4. ^ «Руководство пользователя: NEC μPD7220/7220A» (PDF) . НЭК Электроникс. Декабрь 1985 г. Архивировано из оригинала (PDF) 16 июня 2012 г.
  5. ^ Jump up to: Перейти обратно: а б Вольф, Марк Дж. П. (июнь 2012 г.). Перед крахом: ранняя история видеоигр . Издательство Государственного университета Уэйна. п. 185. ИСБН  9780814334508 .
  6. ^ Jump up to: Перейти обратно: а б Риддл, Шон. «Блиттерская информация» .
  7. ^ Уильямс, Грегг (апрель 1984 г.). «Предварительный просмотр продукта: персональный компьютер Mindset» . Журнал Байт . 9 (4): 278–280.
  8. ^ Андерсон, Джон Дж. (февраль 1985 г.). «Mindset Micro: выход за рамки возможного, или что случилось с инновациями?» . Творческие вычисления . 11 (2):50.
  9. ^ «Патент США 4874164 «Персональный компьютер для блочной передачи данных растрового изображения» » .
  10. ^ Киллебрю-младший, Каррелл Р. (декабрь 1986 г.). «Процессор графической системы TMS34010» . Байт . Том. 11, нет. 13. с. 204.
  11. ^ «Список игр, работающих на процессоре TMS34010» . mamedb.com . Архивировано из оригинала 4 марта 2016 г. Проверено 15 мая 2016 г.
  12. ^ Руководство пользователя графического сопроцессора 82786 . Интел. 1988. с. 2-29.
  13. ^ Некасек, Майкл. «Графический ускоритель 8514/A» . Музей OS/2 .
  14. ^ «Атари Мега СТ 2» . Центр истории вычислений .
  15. ^ «Руководство пользователя процессора передачи битовых блоков Atari ST» . archive.org . Корпорация Атари. 17 июня 1987 года.
  16. ^ Розенталь, маршал М. (ноябрь 1989 г.). «Транспьютерная связь: эксклюзивное интервью с доктором Тимом Кингом из Перигелия» . Начинать . 4 (4).
  17. ^ «Техническое справочное руководство Том и Джерри» (PDF) . Февраль 2001. стр. 4–5.
  18. ^ Хейг, Джеймс. «Почему существуют специализированные игровые консоли?» . Программирование в XXI веке . Архивировано из оригинала 23 апреля 2018 г. Проверено 3 сентября 2019 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7f2f58a6439dc5cb2d234e8486702a64__1718211720
URL1:https://arc.ask3.ru/arc/aa/7f/64/7f2f58a6439dc5cb2d234e8486702a64.html
Заголовок, (Title) документа по адресу, URL1:
Blitter - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)