способ управления буфером обратного магазинного типа видеосистемы

Классы МПК:G06F9/312 управление операциями загрузки, обращения к запоминающему устройству и установки в исходное состояние
Автор(ы):,
Патентообладатель(и):Научно-исследовательский институт системных исследований Российской академии наук (RU)
Приоритеты:
подача заявки:
2002-12-17
публикация патента:

Изобретение относится к вычислительной технике. Его применение для графических систем, а также систем, в которых происходит передача данных между блоками, работающими с независимыми синхросигналами, обеспечивает достижение технического результата в виде уменьшения частоты записи и обеспечения возможности в больших пределах изменять время до начала перезаписи. Способ заключается в передаче данных через буфер между видеопамятью и трактом формирования изображения, в котором буфер разделяют на два блока для записи и чтения. Технический результат достигается благодаря тому, что запись в блоки производят пакетом, размер которого равен размеру буфера, причем запись в блоки производят за одно обращение к видеопамяти, а в отдельном блоке одновременно производят запись и/или чтение. 1 з.п. ф-лы.

Формула изобретения

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

2. Способ по п.1, отличающийся тем, что запись блоков начинают не позже чтения последней ячейки последующего блока, причем к моменту начала чтения первого блока осуществляют запись по крайней мере одной его ячейки, а запись блоков завершают к моменту окончания чтения первого блока.

Описание изобретения к патенту

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

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

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

В графическом контроллере семейств CL-GD543X и CL-GD544X фирмы Cirrus Logic (Alpine Family CL-GD543X/'4X Technical Reference Manual, Cirrus Logic Inc, January 1996, pp 9-21) передача данных по этому способу построена следующим образом: в течение интервала времени, когда нет вывода изображения на экран (интервал гашения) буфер обратного магазинного типа полностью записывается; во время вывода информации на экран идет считывании данных из буфера обратного магазинного типа; когда будет считана ячейка буфера обратного магазинного типа, расположенная по определенному адресу (указанному конфигурационным регистром), выставляется запрос на перезапись содержимого буфера обратного магазинного типа и после получения сигнала подтверждения от контроллера памяти о готовности начать передачу, идет заполнение всего буфера обратного магазинного типа новыми данными. Параллельно счетчик чтения считывает оставшиеся ячейки и переходит на чтение ячеек с начального адреса; и так далее до тех пор, пока не будет передана через буфер обратного магазинного типа вся информация, соответствующая выводу на экран одной строки. Этот способ имеет следующие недостатки: а) индивидуальные настройки момента формирования запроса на перезапись под каждый видеорежим; б) изменение времени от момента формирования запроса на перезапись до момента начала перезаписи, возможно в небольших пределах, что приводит к потере гибкости системы арбитрации доступа к памяти.

Другой способ, используемый для управления буфером обратного магазинного типа графического контроллера, описан в патенте США 5,767,862 "Метод и аппаратура для самонастраивающегося видео FIFO" (US patent 5,767,862, Jun.16, 1998, "Method and Apparatus for Self-Throttling Video FIFO"). Этот способ отличается от описанного выше тем, что предусматривает автоматическую настройку момента формирования запроса на перезапись буфера обратного магазинного типа для каждого видеорежима. Недостаток этого способа - изменение времени от момента формирования запроса на перезапись до момента начала перезаписи, возможно, в небольших пределах.

Наиболее близким к предлагаемому способу является способ, предложенный в патенте США 6,047,339 "Буферизация данных, передаваемых между шинами, работающими на разной частоте" (US patent 6,047,339, Apr.4, 2000, "Buffering Data That Flows Between Buses Operating at Different Frequencies"). В этом способе буфер обратного магазинного типа делится на несколько блоков. Параллельно идет процесс записи и чтения. К отдельному блоку разрешен одновременно только один тип обращения: либо запись, либо чтение. Разрешение на запись либо чтение каждого блока определяется исходя из состояния флагов, информирующих о том, что этот блок уже считан либо уже записан. Такой способ не требует дополнительной настройки под каждый видеорежим. Недостаток этого способа состоит в том, что необходимо полностью записать считанный блок до того момента как он снова начнет считываться. Это приводит к увеличению минимальной частоты записи в буфер обратного магазинного типа по сравнению со способами, представленными выше.

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

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

Буфер обратного магазинного типа представляет собой два блока памяти в адресном пространстве контроллера, например, первый блок содержит ячейки памяти с адресами 0-7, а второй блок - ячейки с адресами 8-15. Данный буфер расположен между видеосистемой и трактом формирования изображения. Оба блока одинакового размера, причем размер пакета информации, записываемого в буфер, кратен размеру блока.

Передача данных по этому методу построена следующим образом: в течение интервала времени, когда нет вывода изображения на экран (интервал гашения) буфер обратного магазинного типа полностью записывается; во время вывода изображения на экран идет считывание данных из буфера; после считывания первого блока выставляется запрос к арбитру видеопамяти на перезапись первого блока, параллельно идет чтение второго блока, при этом запись должна начаться не позже чтения последней ячейки второго блока, причем к моменту начала чтения первого блока должна быть записана хотя бы одна его ячейка.

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

Тем самым становится возможным снижение минимальной частоты записи, в частности при указанном количестве адресов, а также при количестве тактов синхросигнала записи от выставления запроса на перезапись буфера до момента начала записи в буфер (5 тактов) и при максимально возможной задержке в предоставлении арбитром доступа к памяти для перезаписи буфера (10 тактов) и при периоде синхросигнала чтения 40 нс снижение составит 25 МГц.

Что касается возможности изменять время от момента формирования запроса на перезапись до момента начала перезаписи, этот интервал времени увеличивается для приведенных выше данных на 7 тактов синхросигнала записи.

Отличительной особенностью предложенного способа является то, что в нем не запрещаются одновременное чтение и запись блока.

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

TW(NF 0,5-1),

где TW - период синхросигнала записи;

N F - количество ячеек в буфере обратного магазинного типа.

А это увеличивает гибкость системы арбитрации доступа к памяти по сравнению с последним из описанных способов.

Кроме того, поскольку запись первого блока началась одновременно с окончанием чтения второго блока, то эта запись будет продолжаться до тех пор, пока не будет записан и второй блок. Запись должна завершиться раньше, чем начнет считываться второй блок. Следовательно, оба блока буфера обратного магазинного типа могут быть записаны за одно обращение к памяти. А это приводит к снижению минимальной частоты записи в буфер обратного магазинного типа по сравнению с последним из описанных способов. Уменьшение частоты синхросигнала записи рассчитывается следующим образом:

анализируется неравенство

NW+NMAX+1>NF -1

Если оно истинно, тогда разница в частотах получается из следующего уравнения:

FW1-FW2=(N F-2)/(TRNF).

Если же неравенство ложно, тогда разница в частотах получается из следующего уравнения:

FW1-FW2=2(NW+NMAX +1-NF0,5)/(TRNF),

где NW - количество тактов синхросигнала записи от выставления запроса на перезапись буфера обратного магазинного типа до момента начала записи в буфер обратного магазинного типа (при условии, что к моменту выставления запроса ни одно из устройств не работало с видеопамятью);

NMAX - максимально возможная задержка в предоставлении арбитром доступа к памяти для перезаписи буфера обратного магазинного типа;

T R - период синхросигнала чтения.

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

Класс G06F9/312 управление операциями загрузки, обращения к запоминающему устройству и установки в исходное состояние

Наверх