RU2249246C2 - Method for controlling buffer of reverse clip type video system - Google Patents
Method for controlling buffer of reverse clip type video system Download PDFInfo
- Publication number
- RU2249246C2 RU2249246C2 RU2002133968/09A RU2002133968A RU2249246C2 RU 2249246 C2 RU2249246 C2 RU 2249246C2 RU 2002133968/09 A RU2002133968/09 A RU 2002133968/09A RU 2002133968 A RU2002133968 A RU 2002133968A RU 2249246 C2 RU2249246 C2 RU 2249246C2
- Authority
- RU
- Russia
- Prior art keywords
- buffer
- blocks
- block
- writing
- reading
- Prior art date
Links
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
Description
Предлагаемое изобретение относится к вычислительной технике и может найти применение при разработке графических систем, а также при создании систем, в которых происходит передача данных между блоками, работающими с независимыми синхросигналами.The present invention relates to computer technology and can find application in the development of graphic systems, as well as in the creation of systems in which data is transferred between units working with independent clock signals.
В графических контроллерах информация, выводимая на экран монитора, хранится в видеопамяти этого контроллера. Доступ к видеопамяти регулирует арбитр памяти, предоставляя возможность работать с ней одному из следующих устройств: контроллер регенерации памяти, буфер обратного магазинного типа, контроллер системной шины, графический ускоритель. Взаимодействие перечисленных выше устройств с видеопамятью осуществляется с помощью контроллера видеопамяти, работающего на максимальной частоте видеопамяти. Данные, считываемые из видеопамяти, передаются в тракт формирования изображения на экране монитора, работающего на частоте выбранного видеорежима. Контроллер видеопамяти и тракт формирования изображения на экране монитора работают на независимых частотах. Для синхронизации передачи данных между этими блоками используется буфер обратного магазинного типа.In graphic controllers, information displayed on the monitor screen is stored in the video memory of this controller. Access to the video memory is regulated by the memory arbiter, allowing one of the following devices to work with it: a memory regeneration controller, a store-type reverse buffer, a system bus controller, and a graphics accelerator. The interaction of the above devices with video memory is carried out using a video memory controller operating at the maximum frequency of video memory. Data read from the video memory is transmitted to the image forming path on the screen of a monitor operating at the frequency of the selected video mode. The video memory controller and the imaging path on the monitor screen operate at independent frequencies. To synchronize data transfer between these blocks, a reverse store-type buffer is used.
В настоящее время известен ряд способов для управления процессом передачи данных через буфер обратного магазинного типа видеосистемы. Отличительной особенностью этих способов является то, что они используют не флаги заполненности, полученные на основе сравнения счетчиков записи и чтения, а абсолютные значения этих счетчиков для управления процессом передачи данных. Отказ от использования флагов заполненности объясняется тем, что когда два порта буфера обратного магазинного типа работают на независимых частотах, велика вероятность неправильного формирования флага и, следовательно, ошибки в передачи данных.Currently, a number of methods are known for controlling the process of transmitting data through a buffer of a reverse store type video system. A distinctive feature of these methods is that they do not use the fullness flags obtained by comparing the write and read counters, but the absolute values of these counters to control the data transfer process. The refusal to use the fullness flags is explained by the fact that when two ports of the reverse store-type buffer operate at independent frequencies, there is a high probability of incorrect flag formation and, consequently, errors in data transmission.
В графическом контроллере семейств CL-GD543X и CL-GD544X фирмы Cirrus Logic (Alpine Family CL-GD543X/'4X Technical Reference Manual, Cirrus Logic Inc, January 1996, pp 9-21) передача данных по этому способу построена следующим образом: в течение интервала времени, когда нет вывода изображения на экран (интервал гашения) буфер обратного магазинного типа полностью записывается; во время вывода информации на экран идет считывании данных из буфера обратного магазинного типа; когда будет считана ячейка буфера обратного магазинного типа, расположенная по определенному адресу (указанному конфигурационным регистром), выставляется запрос на перезапись содержимого буфера обратного магазинного типа и после получения сигнала подтверждения от контроллера памяти о готовности начать передачу, идет заполнение всего буфера обратного магазинного типа новыми данными. Параллельно счетчик чтения считывает оставшиеся ячейки и переходит на чтение ячеек с начального адреса; и так далее до тех пор, пока не будет передана через буфер обратного магазинного типа вся информация, соответствующая выводу на экран одной строки. Этот способ имеет следующие недостатки: а) индивидуальные настройки момента формирования запроса на перезапись под каждый видеорежим; б) изменение времени от момента формирования запроса на перезапись до момента начала перезаписи, возможно в небольших пределах, что приводит к потере гибкости системы арбитрации доступа к памяти.In the graphical controller of the CL-GD543X and CL-GD544X families of Cirrus Logic (Alpine Family CL-GD543X / '4X Technical Reference Manual, Cirrus Logic Inc, January 1996, pp 9-21), the data transfer according to this method is constructed as follows: during the time interval when there is no output of the image on the screen (blanking interval) the inverse store-type buffer is completely recorded; while the information is being displayed, the data is being read from the inverse store-type buffer; when the reverse store-type buffer cell located at a specific address (specified by the configuration register) is read, a request is made to overwrite the contents of the reverse store-type buffer, and after receiving a confirmation signal from the memory controller that it is ready to start transmission, the entire store-type reverse buffer is filled with new data . In parallel, the read counter reads the remaining cells and switches to reading cells from the start address; and so on until all the information corresponding to the output of one line to the screen is transferred through a buffer of the inverse store type. This method has the following disadvantages: a) individual settings of the moment the request for dubbing is generated for each video mode; b) a change in time from the moment the request for rewriting is generated to the moment the rewriting begins, possibly within small limits, which leads to a loss of flexibility of the memory access arbitration system.
Другой способ, используемый для управления буфером обратного магазинного типа графического контроллера, описан в патенте США 5,767,862 "Метод и аппаратура для самонастраивающегося видео FIFO" (US patent 5,767,862, Jun.16, 1998, "Method and Apparatus for Self-Throttling Video FIFO"). Этот способ отличается от описанного выше тем, что предусматривает автоматическую настройку момента формирования запроса на перезапись буфера обратного магазинного типа для каждого видеорежима. Недостаток этого способа - изменение времени от момента формирования запроса на перезапись до момента начала перезаписи, возможно, в небольших пределах.Another method used to control the inverse store-type buffer of a graphic controller is described in US Pat. No. 5,767,862, Method and Apparatus for Self-Throttling Video FIFO (US patent 5,767,862, Jun.16, 1998). . This method differs from the one described above in that it automatically sets the moment of generating a request to overwrite the inverse store-type buffer for each video mode. The disadvantage of this method is the change in time from the moment the request for dubbing is generated until the moment dubbing begins, possibly within a small range.
Наиболее близким к предлагаемому способу является способ, предложенный в патенте США 6,047,339 "Буферизация данных, передаваемых между шинами, работающими на разной частоте" (US patent 6,047,339, Apr.4, 2000, "Buffering Data That Flows Between Buses Operating at Different Frequencies"). В этом способе буфер обратного магазинного типа делится на несколько блоков. Параллельно идет процесс записи и чтения. К отдельному блоку разрешен одновременно только один тип обращения: либо запись, либо чтение. Разрешение на запись либо чтение каждого блока определяется исходя из состояния флагов, информирующих о том, что этот блок уже считан либо уже записан. Такой способ не требует дополнительной настройки под каждый видеорежим. Недостаток этого способа состоит в том, что необходимо полностью записать считанный блок до того момента как он снова начнет считываться. Это приводит к увеличению минимальной частоты записи в буфер обратного магазинного типа по сравнению со способами, представленными выше.Closest to the proposed method is the method proposed in US patent 6,047,339 "Buffering data transmitted between buses operating at different frequencies" (US patent 6,047,339, Apr.4, 2000, "Buffering Data That Flows Between Buses Operating at Different Frequencies") . In this method, the inverse store-type buffer is divided into several blocks. In parallel, there is a process of writing and reading. Only one type of access is allowed to a separate block at the same time: either writing or reading. Permission to write or read each block is determined based on the state of the flags informing that this block has already been read or already written. This method does not require additional settings for each video mode. The disadvantage of this method is that it is necessary to completely record the read block before it starts reading again. This leads to an increase in the minimum frequency of writing to the inverse store-type buffer compared to the methods presented above.
Задача, на решение которой было направлено данное изобретение, состояла в разработке способа управления процессом передачи данных через буфер обратного магазинного типа со следующими характеристиками: а) меньшая минимальная частота записи по сравнению с последним из описанных способов; б) возможность изменять время от момента формирования запроса на перезапись до момента начала перезаписи, в больших пределах.The problem to which this invention was directed was to develop a method for controlling the process of transmitting data through a reverse store type buffer with the following characteristics: a) a lower minimum recording frequency compared to the last of the described methods; b) the ability to change the time from the moment the request for dubbing is generated to the moment the dubbing begins, to a large extent.
Указанная задача решается благодаря тому, что в способе управления буфером обратного магазинного типа видеосистемы, заключающемся в передаче данных через буфер между видеопамятью и трактом формирования изображения, причем буфер разделен по крайней мере на два блока, в которых производят запись и чтение, в каждый из блоков одинакового размера производят запись пакетом, размер которого кратен размеру блока, запись и чтение блоков осуществляют одновременно, при этом запись в оба блока производят за одно обращение к памяти, кроме того, запись блоков начинают не позже чтения последней ячейки второго блока, а к моменту окончания чтения первого блока запись блоков уже должна быть завершена.This problem is solved due to the fact that in the method of controlling the buffer of the inverse store type of the video system, which consists in transferring data through a buffer between the video memory and the image forming path, the buffer is divided into at least two blocks in which recording and reading are made into each of the blocks of the same size, write in a packet whose size is a multiple of the size of the block, write and read blocks at the same time, while writing to both blocks is done in one memory access, in addition, write s blocks begin no later than the second unit reading the last cell, and by the end of the first reading unit block is already due to be completed.
Буфер обратного магазинного типа представляет собой два блока памяти в адресном пространстве контроллера, например, первый блок содержит ячейки памяти с адресами 0-7, а второй блок - ячейки с адресами 8-15. Данный буфер расположен между видеосистемой и трактом формирования изображения. Оба блока одинакового размера, причем размер пакета информации, записываемого в буфер, кратен размеру блока.The inverse store-type buffer is two memory blocks in the address space of the controller, for example, the first block contains memory cells with addresses 0-7, and the second block contains cells with addresses 8-15. This buffer is located between the video system and the imaging path. Both blocks are the same size, and the size of the packet of information written to the buffer is a multiple of the block size.
Передача данных по этому методу построена следующим образом: в течение интервала времени, когда нет вывода изображения на экран (интервал гашения) буфер обратного магазинного типа полностью записывается; во время вывода изображения на экран идет считывание данных из буфера; после считывания первого блока выставляется запрос к арбитру видеопамяти на перезапись первого блока, параллельно идет чтение второго блока, при этом запись должна начаться не позже чтения последней ячейки второго блока, причем к моменту начала чтения первого блока должна быть записана хотя бы одна его ячейка.Data transfer using this method is constructed as follows: during the time interval when there is no output of the image on the screen (blanking interval), the inverse store-type buffer is completely written down; while the image is being displayed on the screen, data is being read from the buffer; after reading the first block, a request is made to the video memory arbiter to overwrite the first block, the second block is reading in parallel, and recording should begin no later than the last cell of the second block, and at least one cell must be written by the time the first block begins to be read.
Надо отметить, что начавшаяся запись будет продолжаться до тех пор, пока не будут записаны оба блока, причем время записи должно быть меньше времени чтения первого блока.It should be noted that the started recording will continue until both blocks are written, and the recording time should be less than the reading time of the first block.
Тем самым становится возможным снижение минимальной частоты записи, в частности при указанном количестве адресов, а также при количестве тактов синхросигнала записи от выставления запроса на перезапись буфера до момента начала записи в буфер (5 тактов) и при максимально возможной задержке в предоставлении арбитром доступа к памяти для перезаписи буфера (10 тактов) и при периоде синхросигнала чтения 40 нс снижение составит 25 МГц.Thus, it becomes possible to reduce the minimum recording frequency, in particular with the specified number of addresses, as well as with the number of clock cycles of the recording signal from issuing a request to rewrite the buffer until recording starts in the buffer (5 cycles) and with the maximum possible delay in the arbiter providing memory access to overwrite the buffer (10 clock cycles) and with a read clock period of 40 ns, the decrease will be 25 MHz.
Что касается возможности изменять время от момента формирования запроса на перезапись до момента начала перезаписи, этот интервал времени увеличивается для приведенных выше данных на 7 тактов синхросигнала записи.As regards the ability to change the time from the moment of generating the dubbing request to the moment the dubbing starts, this time interval is increased for the above data by 7 clock cycles of the recording clock.
Отличительной особенностью предложенного способа является то, что в нем не запрещаются одновременное чтение и запись блока.A distinctive feature of the proposed method is that it does not prohibit the simultaneous reading and writing of a block.
Таким образом, возможным становится следующая ситуация: после выставления запроса на перезапись блока пакетная запись новой информации в этот блок начнется одновременно с окончанием чтения следующего блока. Следовательно, арбитр может располагать большим временем на завершение операций с памятью того устройства, которое с ней работает до выставления запроса на перезапись. Эта прибавка во времени равнаThus, the following situation becomes possible: after issuing a request to overwrite a block, batch writing of new information to this block will begin simultaneously with the end of reading the next block. Therefore, the arbiter may have a lot of time to complete the operations with the memory of the device that works with it before the request for rewriting is issued. This increase in time is equal to
TW(NF 0,5-1),T W (N F 0.5-1),
где TW - период синхросигнала записи;where T W is the recording clock period;
NF - количество ячеек в буфере обратного магазинного типа.N F - the number of cells in the buffer inverse store type.
А это увеличивает гибкость системы арбитрации доступа к памяти по сравнению с последним из описанных способов.And this increases the flexibility of the memory access arbitration system compared to the last of the described methods.
Кроме того, поскольку запись первого блока началась одновременно с окончанием чтения второго блока, то эта запись будет продолжаться до тех пор, пока не будет записан и второй блок. Запись должна завершиться раньше, чем начнет считываться второй блок. Следовательно, оба блока буфера обратного магазинного типа могут быть записаны за одно обращение к памяти. А это приводит к снижению минимальной частоты записи в буфер обратного магазинного типа по сравнению с последним из описанных способов. Уменьшение частоты синхросигнала записи рассчитывается следующим образом:In addition, since the recording of the first block began simultaneously with the end of reading the second block, this recording will continue until the second block is recorded. Recording should end before the second block begins to be read. Therefore, both blocks of the inverse store-type buffer can be written in a single memory access. And this leads to a decrease in the minimum frequency of writing to the inverse store-type buffer compared to the last of the described methods. The decrease in the recording clock frequency is calculated as follows:
анализируется неравенствоanalyzed inequality
NW+NMAX+1>NF-1N W + N MAX +1> N F -1
Если оно истинно, тогда разница в частотах получается из следующего уравнения:If it is true, then the difference in frequencies is obtained from the following equation:
FW1-FW2=(NF-2)/(TRNF).F W1 -F W2 = (N F -2) / (T R N F ).
Если же неравенство ложно, тогда разница в частотах получается из следующего уравнения:If the inequality is false, then the difference in frequencies is obtained from the following equation:
FW1-FW2=2(NW+NMAX+1-NF0,5)/(TRNF),F W1 -F W2 = 2 (N W + N MAX + 1-N F 0.5) / (T R N F ),
где NW - количество тактов синхросигнала записи от выставления запроса на перезапись буфера обратного магазинного типа до момента начала записи в буфер обратного магазинного типа (при условии, что к моменту выставления запроса ни одно из устройств не работало с видеопамятью);where N W is the number of clock cycles of the recording from issuing a request to overwrite the reverse store-type buffer to the moment the recording starts in the reverse store-type buffer (provided that by the time the request was made, none of the devices was working with video memory);
NMAX - максимально возможная задержка в предоставлении арбитром доступа к памяти для перезаписи буфера обратного магазинного типа;N MAX - the maximum possible delay in providing the arbiter with access to memory to overwrite the buffer of the inverse store type;
TR - период синхросигнала чтения.T R is the read clock period.
Таким образом, предложенный способ позволяет снизить минимальную частоту записи в буфер обратного магазинного типа и сделать систему арбитрации доступа к памяти более гибкой.Thus, the proposed method allows to reduce the minimum frequency of writing to the inverse store-type buffer and make the memory access arbitration system more flexible.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2002133968/09A RU2249246C2 (en) | 2002-12-17 | 2002-12-17 | Method for controlling buffer of reverse clip type video system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2002133968/09A RU2249246C2 (en) | 2002-12-17 | 2002-12-17 | Method for controlling buffer of reverse clip type video system |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2002133968A RU2002133968A (en) | 2004-06-20 |
RU2249246C2 true RU2249246C2 (en) | 2005-03-27 |
Family
ID=35560791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2002133968/09A RU2249246C2 (en) | 2002-12-17 | 2002-12-17 | Method for controlling buffer of reverse clip type video system |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2249246C2 (en) |
-
2002
- 2002-12-17 RU RU2002133968/09A patent/RU2249246C2/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5928339A (en) | DMA-transferring stream data apparatus between a memory and ports where a command list includes size and start address of data stored in the memory | |
US5045997A (en) | Data processor | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
JPS5987569A (en) | Automatic continuous processing circuit of data | |
US20010016883A1 (en) | Data transfer apparatus | |
KR100288177B1 (en) | Memory access control circuit | |
US20040133730A1 (en) | Fast random access DRAM management method | |
RU2249246C2 (en) | Method for controlling buffer of reverse clip type video system | |
JPS63243989A (en) | Memory controller | |
JP3484056B2 (en) | Data transfer device and data transfer system | |
US7581072B2 (en) | Method and device for data buffering | |
EP1160671A2 (en) | Host interface circuit | |
EP2133797B1 (en) | Dma transfer device and method | |
KR100327388B1 (en) | apparatus for memory control in digital broadcasting | |
JPH09269762A (en) | Display device | |
JPS62113193A (en) | Memory circuit | |
EP0971353A1 (en) | Av data input/output device | |
JPH09293043A (en) | Stream data transfer device | |
CN115586974A (en) | Memory controller, system, device and electronic equipment | |
SU1624534A1 (en) | Buffer memory unit | |
JPS6019023B2 (en) | data processing equipment | |
JP2642087B2 (en) | Data transfer processing mechanism between main storage devices | |
KR100469284B1 (en) | Device for controling buffer bank of digital TV | |
JPH0520165A (en) | System bus controller | |
JPH02222023A (en) | Reproducing device for multi-channel information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC4A | Invention patent assignment |
Effective date: 20061030 |
|
PD4A | Correction of name of patent owner |