PDA

Просмотр полной версии : Буферизация в видеоадаптерах CGA, EGA и VGA



SoftCat
12.07.2024, 02:28
Уважаемые участники форума, мне интересно буферизуют ли видеоадаптеры CGA, EGA и VGA вывод на экран? То есть существует ли кроме программно доступного (для центрального процессора) видеобуфера какой-нибудь ещё буфер?
С одной стороны, вышеперечисленные видеоадаптеры позволяют писать в видеопамять в любое время, а не только во время вертикальной синхронизации, как, например, видеоконтроллер у Dendy. Что говорит в пользу НАЛИЧИЯ этого дополнительного буфера.
С другой стороны, если во время ГОРИЗОНТАЛЬНОЙ синхронизации менять содержимое видеопамяти, соответствующее следующей выводимой строке, то эти изменения будет отражаться на экране. Что говорит в пользу ОТСУТСТВИЯ этого дополнительного буфера.
Или там всё устроено гораздо сложнее?

Dexus
12.07.2024, 08:23
Буфер это видеопамять и есть. Больше ничего (если не считать внутренние регистры самого контроллера).

CodeMaster
12.07.2024, 08:57
Или там всё устроено гораздо сложнее?
Двухпортовое ОЗУ?

LeoN65816
12.07.2024, 10:15
SoftCat, спроси у Яндекса "CGA и снег".

Rio444
12.07.2024, 12:04
Думается у всех по-разному.
Но какой-то минимальный буфер, хотя бы на пару байт, есть у всех (кроме "CGA со снегом").
Обычно он внутри графического чипа. Но попадались и карты, у которых снаружи стоит чип SRAM.

ivagor
12.07.2024, 13:17
Но какой-то минимальный буфер, хотя бы на пару байт, есть у всех (кроме "CGA со снегом").
В описании (https://minuszerodegrees.net/oa/OA%20-%20IBM%20Color%20Graphics%20Monitor%20Adapter%20(C GA).pdf) оригинального CGA на странице 4 есть Color/Graphics Monitor Adapter Block Diagram, на которой можно видеть
Processor Address->Address Latch
Processor Data->Input Buffer
Сами по себе от снега они не спасают при той организации записи, которая была в оригинальном CGA.

SoftCat
13.07.2024, 01:33
Думается у всех по-разному.
Но какой-то минимальный буфер, хотя бы на пару байт, есть у всех (кроме "CGA со снегом").
Обычно он внутри графического чипа. Но попадались и карты, у которых снаружи стоит чип SRAM.
Rio444, спасибо Вам за ответ. Так если центральный процессор займёт шину адреса у видеопамяти, то видеоконтроллер в этот момент туда доступа не будет иметь?

- - - Добавлено - - -


В описании (https://minuszerodegrees.net/oa/OA%20-%20IBM%20Color%20Graphics%20Monitor%20Adapter%20(C GA).pdf) оригинального CGA на странице 4 есть Color/Graphics Monitor Adapter Block Diagram, на которой можно видеть
Processor Address->Address Latch
Processor Data->Input Buffer
Сами по себе от снега они не спасают при той организации записи, которая была в оригинальном CGA.
ivagor, спасибо Вам за ответ. То есть получается, что у CGA буферизуются те данные, которые пишет в видеопамять центральный процессор?

ivagor
13.07.2024, 06:36
получается, что у CGA буферизуются те данные, которые пишет в видеопамять центральный процессор?
Насколько знаю все видеоадаптеры для PC в той или иной мере буферизуют записываемые данные. В начале 2000х немного программировал графику и запись в видеопамять была намного (в разы или даже на порядки) быстрее чтения. Предполагаю, что у современных примерно аналогично.

SoftCat
13.07.2024, 17:45
Насколько знаю все видеоадаптеры для PC в той или иной мере буферизуют записываемые данные. В начале 2000х немного программировал графику и запись в видеопамять была намного (в разы или даже на порядки) быстрее чтения. Предполагаю, что у современных примерно аналогично.
Понятно.
У Электроники МС-1502 CGA-подобный адаптер, видеопамять располагается в обычном ОЗУ и вообще нет никакого "снега". У Правца 16 по-моему тоже на CGA нет никакого "снега". Наверное организовано так, что видеоконтроллер имеет более высокий приоритет, чем центральный процессор.

- - - Добавлено - - -


Двухпортовое ОЗУ?
CodeMaster, да, я уже посмотрел, что это такое. До Вашего сообщения я об этом не знал. Там должно быть либо по-настоящему двухпортовое ОЗУ, либо эмуляция частичной "двухпортовости" с обычным ОЗУ.

Rio444
13.07.2024, 18:31
Там должно быть либо по-настоящему двухпортовое ОЗУ, либо эмуляция частичной "двухпортовости" с обычным ОЗУ.
Собственно у "настоящего" двухпортового ОЗУ то же самое - внутри обычное ОЗУ и дополнительные буфера на входе и выходе, чтобы обеспечить двухпортовость.
Где-то в даташитах есть внутренняя структура такого ОЗУ.

SoftCat
14.07.2024, 10:30
Собственно у "настоящего" двухпортового ОЗУ то же самое - внутри обычное ОЗУ и дополнительные буфера на входе и выходе, чтобы обеспечить двухпортовость.
Где-то в даташитах есть внутренняя структура такого ОЗУ.
Да, я догадался. Я имею ввиду, что у "ненастоящего" с одной шины данных можно только читать (для видеоконтроллера), а на другую можно только писать (для процессора). То есть упрощённая схема.

- - - Добавлено - - -

Я ещё увидел, что существуют арбитры шин. Наверное с их помощью и делается двух портовое ОЗУ.

LeoN65816
14.07.2024, 14:36
Собственно у "настоящего" двухпортового ОЗУ то же самое - внутри обычное ОЗУ и дополнительные буфера на входе и выходе, чтобы обеспечить двухпортовость.
Неверно...
У обычной SRAM бит памяти состоит из 4-х транзисторов. У двухпортовой - из 6-и транзисторов. У четырёхпортовой - из 10-и транзисторов.
Пруф (https://www.renesas.com/us/en/document/apn/253-introduction-multi-port-memories).

Rio444
14.07.2024, 14:57
У обычной SRAM бит памяти состоит из 4-х транзисторов. У двухпортовой - из 6-и транзисторов.
С чего Вы взяли, что двух-портовая бывает только SRAM? :D
И на видеокартах её точно не использовали. Дороже обычной SRAM, которая тоже очень редко использовалась.
Типичные чипы на CL-GD542x https://html.alldatasheet.com/html-pdf/119342/NEC/UPD482234/56/1/UPD482234.html
Ещё можете посмотреть, что ставили на Матроксах миллениум. Если память не изменяет, там тоже двухпортовая.

SoftCat
14.07.2024, 15:17
SoftCat, спроси у Яндекса "CGA и снег".


LeoN65816, спасибо, про "снег" я знаю. Скажи, пожалуйста, а у CGA не двухпортовая ОЗУ?

Rio444
14.07.2024, 15:21
а у CGA не двухпортовая ОЗУТам обычные чипы DRAM.
Два чипа 16Кх4 или 8 чипов 16Кх1.
На фотках в соседней теме их можно увидеть. Например TMS4416.

LeoN65816
14.07.2024, 15:24
LeoN65816, спасибо, про "снег" я знаю. Скажи, пожалуйста, а у CGA не двухпортовая ОЗУ?
Никак нет!
Двухпортовой в те времена ещё и "в природе не существовало"...

PS. SoftCat, а не бот ли ты? ;)

SoftCat
14.07.2024, 15:32
Никак нет!
Двухпортовой в те времена ещё и "в природе не существовало"...

PS. SoftCat, а не бот ли ты? ;)

За ответ спасибо.
А почему возникло подозрение насчёт бота? Тест Тьюринга я смогу пройти.