nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 10:13



Reply to topic  [ 54 posts ]  Go to page 1, 2, 3, 4  Next
Видеопамять и КМ1801ВМ2 
Author Message
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Попытка поразмышлять над возможностью прозрачного доступа к видеопамяти в системе на процессоре ВМ2

Итак - у нас может быть чтение:

Attachment:
VM2-read.jpg
VM2-read.jpg [ 96.58 KiB | Viewed 17910 times ]


Запись:

Attachment:
VM2-write.jpg
VM2-write.jpg [ 92.73 KiB | Viewed 17910 times ]

Тут по нулевому WTBT во время SYNC можно заранее понять, что будет запись!

Однако в случае чтение-модификация-запись (которая случается достаточно часто к месту и не к месту):

Attachment:
VM2-read-modify-write.jpg
VM2-read-modify-write.jpg [ 91.65 KiB | Viewed 17910 times ]

ничего подобного нету - т.е. технически по началу чтение-модификация-запись ничем от просто чтения не отличается...

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2018 03:38
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Вот интересные карандашные комментарии на диаграмме безадресного чтения:

Attachment:
VM2-read-noadr.jpg
VM2-read-noadr.jpg [ 158.37 KiB | Viewed 17907 times ]


Ну и до кучи - диаграмма начального пуска :roll:

Attachment:
VM2-init.jpg
VM2-init.jpg [ 95.74 KiB | Viewed 17907 times ]


А вот как это выглядит в реальности на чёрном ВМ2 (см. тут):

Attachment:
wavedrom.jpg
wavedrom.jpg [ 29.56 KiB | Viewed 17621 times ]


P.S. Вот ещё чтение вектора прерывания для полноты картины:

Attachment:
VM2-virq.jpg
VM2-virq.jpg [ 98.23 KiB | Viewed 17757 times ]


P.P.S. И ещё ПДП:

Attachment:
VM2-direct-memory-access.jpg
VM2-direct-memory-access.jpg [ 105.8 KiB | Viewed 17565 times ]

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2018 03:50
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Получается, что если схема формирования видео будет молотить постоянно, скажем с 20 МГц пиксельклоком и вычиткой байта каждые 8 шагов пиксельклока т.е. с частотой 2.5 МГц - это каждый 2й такт CLCO при 10-мегагерцовом CLCI, то конфликтов на шине не избежать и придётся в некоторых случях тормозить процессор, задерживая выдачу RPLY...

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2018 04:03
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
придётся в некоторых случях тормозить процессор, задерживая выдачу RPLY...

Наверное, лучше AR задерживать, а не RPLY...

_________________
iLavr


15 Feb 2018 04:08
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
придётся в некоторых случях тормозить процессор, задерживая выдачу RPLY...

Наверное, лучше AR задерживать, а не RPLY...

AR только на начало цикла влияет, где адрес берётся, а нам надо каждое обращение по шине иметь возможность отодвинуть на один такт (см. чтение-модификация-запись, где один AR, но затем 2 RPLY)

P.S. Кстати, если память будет быстрая (быстрее 100 нс), то можно каждый такт побить на половинки (т.е. по CLCI тактировать) и разделить прозрачно (без задержек) доступ к памяти - видео всегда в одной половинке, процессор - всегда в другой (с сохранением на регистрах, чтобы процу держать данные на его шине данных столько, сколько нужно).

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2018 04:13
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Я еще не смотрел временнЫе диаграммы - кстати, спасибо, что ты их выложил, но мне кажется,
что вот в этой схеме процессор притормаживают именно по AR.

Image

_________________
iLavr


15 Feb 2018 04:19
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
тут это чисто для эстетики сдвинуто чуток - мы же решили уже, что если адрес мгновенно защёлкивать на защёлках, то AR можно тупо от SYNC запитать

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2018 04:22
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
тут это чисто для эстетики сдвинуто чуток

Совсем не для эстетики - здесь за одно обращение процессора по адресу ПЗУ
придерживают процессор за AR, чтобы успеть дважды прочитать ПЗУ в 2 регистра.
И мне кажется, это очень грамотно.

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

_________________
iLavr


15 Feb 2018 04:39
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
ну в моём подходе адрес вовсе ненадо придерживать т.к. он защёлкивается до следующего раза
надо придерживать проц, когда он лезет читать или писать в память, которую в тоже время юзает схема вывода видео

P.S. можно скажем сориентироваться на VGA-шные режимы:

Image

640x350 (для имитации БК-шных 256x256 и 512x256) и 640x400 (для более человеческих 4-цветного 320x200 и монохромного 640x200, влезающих в ту же самую видеопамять) - при этом пиксельклок должен быть 25.175 МГц, CLCI - 12.59 МГц, CLCO - 6.29 МГц и соответственно схема формирования видео будет брать очередной байт каждые 8 тактов пиксельклока (или каждый 4й CLCI, что тоже самое как каждый 2й CLCO)

P.P.S. по скоростям ВМ2 вроде такая инфа:
MM wrote:
6.Процессоры 1801ВМ2 маркируются так :
6.1. Нет точек цвета маркировки - буква "А" ( тест на заводе - 12.5 мгц.
6.2. Есть одна точка - буква "Б" - тест - 10 мгц.
6.3. Есть 2 точки ( вторую обычно приделывают кривенько ) - тест - 8 мгц, может быть совсем нехорошим - по ТУ - не более 6 мгц.


P.P.S. можно сделать тормозилку для первого старта с медленного ПЗУ - с делением частоты на 2 (6.3 МГц ), на 3 (4.2 МГц) и/или на 4 (3.15 МГц)

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2018 07:24
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
ну в моём подходе адрес вовсе ненадо придерживать

А никто адрес и не придерживает, придерживают процессор, когда он только выставил адрес
и ждет ответа по AR, что адрес принят. В этот момент придержать процессор - некритично.

А по RPLY ты будешь придерживать процессор, когда он уже выставил DIN (DOUT) и ждет ответа.
В этот момент - критично, процессор может уйти в прерывание, если держишь слишком долго.

_________________
iLavr


15 Feb 2018 08:02
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
ну в моём подходе адрес вовсе ненадо придерживать

А никто адрес и не придерживает, придерживают процессор, когда он только выставил адрес
и ждет ответа по AR, что адрес принят. В этот момент придержать процессор - некритично.

А по RPLY ты будешь придерживать процессор, когда он уже выставил DIN (DOUT) и ждет ответа.
В этот момент - критично, процессор может уйти в прерывание, если держишь слишком долго.

мне только на 1 такт - видеопроцессор захватывает память каждый второй такт, чтобы вычитать очередной байт (посмотри на диаграмму чтение-модификация-запись, там 10 тактов CLCO, т.е. видео заберёт себе байт 5 раз в течение этого времени - AR тут не спасёт)

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2018 08:04
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
мне только на 1 такт - видеопроцессор захватывает память каждый второй такт, чтобы вычитать очередной байт

Да я понимаю, что не до пенсии... :wink: Ну смотри сам. На мой взгляд тормозить проц в момент
чтения/записи, когда он уже выставил свой строб памяти - не очень удачное решение...

_________________
iLavr


15 Feb 2018 08:10
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Shaos wrote:
640x350 (для имитации БК-шных 256x256 и 512x256)...

Вот так бы при этом оно выглядело на классическом VGA мониторе с соотношением сторон 4:3 (256 линий просто встают посередине 350 строк "EGA over VGA" с вертикальным отступом 47 строк, плюс центруются по горизонтали):


Attachments:
bk0-640x350.jpg
bk0-640x350.jpg [ 48.35 KiB | Viewed 17866 times ]
bk1-640x350.jpg
bk1-640x350.jpg [ 22.14 KiB | Viewed 17866 times ]
bk2-640x350.jpg
bk2-640x350.jpg [ 56.14 KiB | Viewed 17866 times ]
bk3-640x350.jpg
bk3-640x350.jpg [ 41.41 KiB | Viewed 17866 times ]
bk4-640x350.jpg
bk4-640x350.jpg [ 107.85 KiB | Viewed 17866 times ]
bk5-640x350.jpg
bk5-640x350.jpg [ 74.5 KiB | Viewed 17866 times ]

_________________
:dj: https://mastodon.social/@Shaos
15 Feb 2018 10:09
Profile WWW
Doomed

Joined: 25 Aug 2009 07:02
Posts: 459
Location: Москва
Reply with quote
А почему гашение именно porch? Это же "крыльцо", "навес" ? Может это с тех времен, когда видеосигнал рисовали неперевернутым, как сейчас, и синхроимпульсы торчали торчком, напоминая будки? А "хаос" изображения напоминал зеленую травку? (осциллоскопы же с зеленым лучом?..) Ну и porch это крылечки у будки?

На Призраках автор с ником, совпадающим с одним из местных, делал заход по похожей теме, но почему-то отступил, а жаль.
А я даже и не знаю, стоит ли zero wait states и max performance добиваться? С другой стороны, с обычной шустрой RAM эти zero ws и так получатся.


15 Feb 2018 14:17
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Mixa64 wrote:
На Призраках автор с ником, совпадающим с одним из местных, делал заход по похожей теме, но почему-то отступил,...

Там даже два автора "с ником, совпадающим с одним из местных, делали заход"... :lol:
Но они оба - ужасные досужие болтуны, а один из них - и вовсе сказочник. :mrgreen:


P.S. Ткнул сразу на страницу 30 "жырного" топика и сразу понял, что был прав:
Quote:
Проэкт закрыт на неопределенное время.

_________________
iLavr


15 Feb 2018 14:44
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 54 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.