stringtranslate.com

Двухпортовая видеопамять

Двухпортовая видеопамять ( VRAM ) — это двухпортовый вариант динамической оперативной памяти (DRAM), которая когда-то широко использовалась для хранения кадрового буфера в графических адаптерах .

Двухпортовое ОЗУ позволяет ЦП считывать и записывать данные в память, как если бы это был обычный чип DRAM, при этом добавляя второй порт, который считывает данные последовательным образом. Это упрощает взаимодействие с контроллером видеодисплея (VDC), который отправляет сигнал синхронизации в память и получает данные в правильной последовательности при отрисовке экрана. Поскольку ЦП и VDC одновременно обращаются к памяти через разные порты, двухпортовая ОЗУ не требует, чтобы ЦП делал паузу, пока VDC использует память, тем самым устраняя связанные состояния ожидания и улучшая общую производительность системы.

Двухпортовая оперативная память была распространена с середины 1980-х до середины 1990-х годов. После этой даты начали использоваться новые формы высокопроизводительной памяти, которые в конечном итоге заменили двухпортовые конструкции. Поскольку эти другие формы памяти также известны как видеопамять и, следовательно, VRAM, их иногда путают с этой более старой формой памяти.

Видеопамять Samsung Electronics

История

Ранние компьютеры использовали динамическую оперативную память [a] для хранения видеоданных для вывода на обычный телевизор или простое преобразование телевизора, который принимал композитный видеовход. Для работы с таким дисплеем чрезвычайно важно, чтобы видеооборудование выдавало очень точно синхронизированный сигнал. На скоростях, на которых работала современная память, чтение данных для передачи на видеооборудование потребляло большую часть возможной производительности устройств памяти. Это противоречило необходимости центрального процессора (ЦП) записывать данные в память для чтения видеосистемой, поскольку оба не могли использовать одну и ту же память одновременно.

Чтобы избежать проблем со временем, были использованы два общих решения. В более дорогих системах видеосистемы имели собственную выделенную память и использовали отдельную систему для ЦП для хранения в ней данных. Это устранило любую возможность конкуренции за память, но за счет необходимости отдельной памяти в эпоху, когда память была очень дорогой. Он также почти всегда обменивался данными по медленной системной шине , что ограничивало скорость внесения изменений на экране, что затрудняло интерактивную графику. Другое решение, используемое большинством домашних компьютеров , заключалось в использовании одного общего банка памяти и разрешении видеооборудованию контролировать доступ к памяти, при необходимости приостанавливая работу ЦП. Это может привести к снижению производительности вычислений, поскольку ЦП неоднократно переводится в эти « состояния ожидания », но это имеет то преимущество, что оно дешевле и позволяет ЦП быстрее обновлять дисплей и, таким образом, обеспечивать большую интерактивность.

К началу 1980-х годов появление мониторов с гораздо более высоким разрешением, которые требовали больших кадровых буферов, и недавно представленных графических пользовательских интерфейсов (GUI), которые требовали высокого разрешения и высокой общей производительности, сделали производительность видеосистемы все более сложной проблемой. Появились сложные системы, такие как Amiga Agnus , для тщательного контроля доступа к памяти и уменьшения конфликтов, но, хотя они и уменьшили проблему, они не устранили ее.

Решение заключалось в использовании памяти, к которой могли одновременно обращаться ЦП и видеооборудование. Он был изобретен Ф. Диллом, Д. Лингом и Р. Матиком в IBM Research в 1980 году, а патент был выдан в 1985 году (патент США 4 541 075). [1] Первое коммерческое использование VRAM произошло в графическом адаптере высокого разрешения, представленном в 1986 году компанией IBM для своей системы ПК RT , который установил новый стандарт для графических дисплеев. До разработки VRAM двухпортовая память была довольно дорогой, что ограничивало использование растровой графики более высокого разрешения на рабочих станциях высокого класса. VRAM улучшила общую пропускную способность кадрового буфера, обеспечивая недорогую высокоскоростную цветную графику с высоким разрешением. Современные операционные системы на основе графического пользовательского интерфейса выиграли от этого и, таким образом, стали ключевым ингредиентом для распространения графических пользовательских интерфейсов (GUI) во всем мире в то время.

Описание

Динамическое ОЗУ организовано внутри в виде массива строк и столбцов конденсаторов , при этом каждое пересечение строки/столбца содержит один бит в ячейке . При обычном использовании процессор, обращающийся к DRAM, запрашивает небольшой объем данных за раз, возможно, один байт . Чтобы прочитать байт для ЦП, DRAM декодирует предоставленный адрес в серию из восьми ячеек, считывает всю строку, содержащую эти ячейки, и фиксирует запрошенные данные, чтобы их можно было прочитать на шине данных . В то время ширина строк обычно составляла 1024 ячейки.

Устройства DRAM являются разрушительными , а это означает, что процесс чтения строки также приводит к стиранию данных в ней. Чтобы сделать данные постоянными, за любым чтением должна следовать DRAM, записывающая те же данные обратно в эту строку. Для этого необходимо включить отдельные защелки для всей строки, и данные записываются обратно в строку, пока ЦП считывает запрошенный байт. Если рассматривать процесс в целом, это означает, что DRAM неоднократно считывает целые строки данных, выбирает один байт из этих данных и отбрасывает остальные, а затем записывает все это обратно.

VRAM работает, не отбрасывая лишние биты в строке. Вместо этого данные, считанные в хранилище строк, также отправляются на второй набор защелок и соответствующий битовый сдвигатель. С этого момента данные можно считывать понемногу, запуская переключатель, и для этого требуется только один вывод. VRAM обычно не имеет двух адресных шин , а это означает, что процессору и графике по-прежнему приходится чередовать доступ к чипу, но при этом графическому драйверу считывается целая строка данных, и эта строка может представлять собой несколько строк сканирования на экрана, количество прерываний работы ЦП может быть значительно уменьшено. [2]

Такая операция описана в статье Р. Матика, Д. Линга, С. Гупты и Ф. Дилла «Все точки адресной памяти растрового дисплея», IBM Journal of R&D, том 28, № 4, июль 1984 г., стр. 379–393. Чтобы использовать видеопорт, контроллер сначала использует порт DRAM для выбора строки массива памяти, которая должна отображаться. Затем VRAM копирует всю эту строку во внутренний буфер строк , который представляет собой сдвиговый регистр . Затем контроллер может продолжать использовать порт DRAM для рисования объектов на дисплее. Тем временем контроллер подает тактовую частоту, называемую тактовой частотой сдвига (SCLK), на видеопорт VRAM. Каждый импульс SCLK заставляет VRAM доставлять следующий бит данных в строгом порядке адреса из сдвигового регистра в видеопорт. Для простоты графический адаптер обычно проектируется так, что содержимое строки и, следовательно, содержимое сдвигового регистра соответствует полной горизонтальной строке на дисплее.

Переход на SDRAM

В 1990-е годы многие графические подсистемы использовали VRAM, причем количество мегабит рекламировалось как аргумент в пользу продажи. В конце 1990-х годов технологии синхронной DRAM постепенно стали доступными, плотными и достаточно быстрыми, чтобы вытеснить VRAM, даже несмотря на то, что они однопортовые и требуют больше накладных расходов. Тем не менее, многие концепции внутренней буферизации и организации VRAM используются и улучшаются в современных графических адаптерах.

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

Примечания

  1. ^ А в некоторых ранних системах использовалось статическое ОЗУ или сдвиговые регистры .

Рекомендации

  1. ^ Патент US4541075 , получено 7 июня 2017 г.
  2. ^ Техническое описание SM55161A 262144 × 16 бит VRAM (PDF) , Austin Semiconductor , получено 2 марта 2009 г.