Видеопамять и КМ1801ВМ2

Digital Equipment Corporation PDP-8 & PDP-11 (а также совместимые с последним советские ЭВМ на 1801ВМ1/2/3)

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Видеопамять и КМ1801ВМ2

Post by Shaos »

Попытка поразмышлять над возможностью прозрачного доступа к видеопамяти в системе на процессоре ВМ2

Итак - у нас может быть чтение:
VM2-read.jpg
Запись:
VM2-write.jpg
Тут по нулевому WTBT во время SYNC можно заранее понять, что будет запись!

Однако в случае чтение-модификация-запись (которая случается достаточно часто к месту и не к месту):
VM2-read-modify-write.jpg
ничего подобного нету - т.е. технически по началу чтение-модификация-запись ничем от просто чтения не отличается...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Видеопамять и КМ1801ВМ2

Post by Shaos »

Вот интересные карандашные комментарии на диаграмме безадресного чтения:
VM2-read-noadr.jpg
Ну и до кучи - диаграмма начального пуска :roll:
VM2-init.jpg
А вот как это выглядит в реальности на чёрном ВМ2 (см. тут):
wavedrom.jpg
P.S. Вот ещё чтение вектора прерывания для полноты картины:
VM2-virq.jpg
P.P.S. И ещё ПДП:
VM2-direct-memory-access.jpg
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Видеопамять и КМ1801ВМ2

Post by Shaos »

Получается, что если схема формирования видео будет молотить постоянно, скажем с 20 МГц пиксельклоком и вычиткой байта каждые 8 шагов пиксельклока т.е. с частотой 2.5 МГц - это каждый 2й такт CLCO при 10-мегагерцовом CLCI, то конфликтов на шине не избежать и придётся в некоторых случях тормозить процессор, задерживая выдачу RPLY...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Видеопамять и КМ1801ВМ2

Post by Lavr »

Shaos wrote:придётся в некоторых случях тормозить процессор, задерживая выдачу RPLY...
Наверное, лучше AR задерживать, а не RPLY...
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Видеопамять и КМ1801ВМ2

Post by Shaos »

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

P.S. Кстати, если память будет быстрая (быстрее 100 нс), то можно каждый такт побить на половинки (т.е. по CLCI тактировать) и разделить прозрачно (без задержек) доступ к памяти - видео всегда в одной половинке, процессор - всегда в другой (с сохранением на регистрах, чтобы процу держать данные на его шине данных столько, сколько нужно).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Видеопамять и КМ1801ВМ2

Post by Lavr »

Я еще не смотрел временнЫе диаграммы - кстати, спасибо, что ты их выложил, но мне кажется,
что вот в этой схеме процессор притормаживают именно по AR.

Image
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Видеопамять и КМ1801ВМ2

Post by Shaos »

тут это чисто для эстетики сдвинуто чуток - мы же решили уже, что если адрес мгновенно защёлкивать на защёлках, то AR можно тупо от SYNC запитать
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Видеопамять и КМ1801ВМ2

Post by Lavr »

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

С видео нам же нужно придержать на одно чтение в регистр - вот когда возникнет
конфликт - и придержим по AR, я думаю, там же у видео буферный регистр есть,
как раз на этот случай: захватить из памяти, чтобы избжать конфликта.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Видеопамять и КМ1801ВМ2

Post by Shaos »

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

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 МГц)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Видеопамять и КМ1801ВМ2

Post by Lavr »

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

А по RPLY ты будешь придерживать процессор, когда он уже выставил DIN (DOUT) и ждет ответа.
В этот момент - критично, процессор может уйти в прерывание, если держишь слишком долго.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Видеопамять и КМ1801ВМ2

Post by Shaos »

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

А по RPLY ты будешь придерживать процессор, когда он уже выставил DIN (DOUT) и ждет ответа.
В этот момент - критично, процессор может уйти в прерывание, если держишь слишком долго.
мне только на 1 такт - видеопроцессор захватывает память каждый второй такт, чтобы вычитать очередной байт (посмотри на диаграмму чтение-модификация-запись, там 10 тактов CLCO, т.е. видео заберёт себе байт 5 раз в течение этого времени - AR тут не спасёт)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Видеопамять и КМ1801ВМ2

Post by Lavr »

Shaos wrote:мне только на 1 такт - видеопроцессор захватывает память каждый второй такт, чтобы вычитать очередной байт
Да я понимаю, что не до пенсии... :wink: Ну смотри сам. На мой взгляд тормозить проц в момент
чтения/записи, когда он уже выставил свой строб памяти - не очень удачное решение...
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Видеопамять и КМ1801ВМ2

Post by Shaos »

Shaos wrote:640x350 (для имитации БК-шных 256x256 и 512x256)...
Вот так бы при этом оно выглядело на классическом VGA мониторе с соотношением сторон 4:3 (256 линий просто встают посередине 350 строк "EGA over VGA" с вертикальным отступом 47 строк, плюс центруются по горизонтали):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mixa64
Doomed
Posts: 478
Joined: 25 Aug 2009 07:02
Location: Москва

Re: Видеопамять и КМ1801ВМ2

Post by Mixa64 »

А почему гашение именно porch? Это же "крыльцо", "навес" ? Может это с тех времен, когда видеосигнал рисовали неперевернутым, как сейчас, и синхроимпульсы торчали торчком, напоминая будки? А "хаос" изображения напоминал зеленую травку? (осциллоскопы же с зеленым лучом?..) Ну и porch это крылечки у будки?

На Призраках автор с ником, совпадающим с одним из местных, делал заход по похожей теме, но почему-то отступил, а жаль.
А я даже и не знаю, стоит ли zero wait states и max performance добиваться? С другой стороны, с обычной шустрой RAM эти zero ws и так получатся.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Видеопамять и КМ1801ВМ2

Post by Lavr »

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


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