Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
Попытка поразмышлять над возможностью прозрачного доступа к видеопамяти в системе на процессоре ВМ2 Итак - у нас может быть чтение: Запись: Тут по нулевому WTBT во время SYNC можно заранее понять, что будет запись! Однако в случае чтение-модификация-запись (которая случается достаточно часто к месту и не к месту): ничего подобного нету - т.е. технически по началу чтение-модификация-запись ничем от просто чтения не отличается...
|
15 Feb 2018 03:38 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
Вот интересные карандашные комментарии на диаграмме безадресного чтения: Ну и до кучи - диаграмма начального пуска А вот как это выглядит в реальности на чёрном ВМ2 (см. тут):P.S. Вот ещё чтение вектора прерывания для полноты картины: P.P.S. И ещё ПДП:
|
15 Feb 2018 03:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
Получается, что если схема формирования видео будет молотить постоянно, скажем с 20 МГц пиксельклоком и вычиткой байта каждые 8 шагов пиксельклока т.е. с частотой 2.5 МГц - это каждый 2й такт CLCO при 10-мегагерцовом CLCI, то конфликтов на шине не избежать и придётся в некоторых случях тормозить процессор, задерживая выдачу RPLY...
|
15 Feb 2018 04:03 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Наверное, лучше AR задерживать, а не RPLY...
_________________ iLavr
|
15 Feb 2018 04:08 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
AR только на начало цикла влияет, где адрес берётся, а нам надо каждое обращение по шине иметь возможность отодвинуть на один такт (см. чтение-модификация-запись, где один AR, но затем 2 RPLY) P.S. Кстати, если память будет быстрая (быстрее 100 нс), то можно каждый такт побить на половинки (т.е. по CLCI тактировать) и разделить прозрачно (без задержек) доступ к памяти - видео всегда в одной половинке, процессор - всегда в другой (с сохранением на регистрах, чтобы процу держать данные на его шине данных столько, сколько нужно).
|
15 Feb 2018 04:13 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я еще не смотрел временнЫе диаграммы - кстати, спасибо, что ты их выложил, но мне кажется, что вот в этой схеме процессор притормаживают именно по AR.
_________________ iLavr
|
15 Feb 2018 04:19 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
тут это чисто для эстетики сдвинуто чуток - мы же решили уже, что если адрес мгновенно защёлкивать на защёлках, то AR можно тупо от SYNC запитать
|
15 Feb 2018 04:22 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Совсем не для эстетики - здесь за одно обращение процессора по адресу ПЗУ придерживают процессор за AR, чтобы успеть дважды прочитать ПЗУ в 2 регистра. И мне кажется, это очень грамотно. С видео нам же нужно придержать на одно чтение в регистр - вот когда возникнет конфликт - и придержим по AR, я думаю, там же у видео буферный регистр есть, как раз на этот случай: захватить из памяти, чтобы избжать конфликта.
_________________ iLavr
|
15 Feb 2018 04:39 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
ну в моём подходе адрес вовсе ненадо придерживать т.к. он защёлкивается до следующего раза надо придерживать проц, когда он лезет читать или писать в память, которую в тоже время юзает схема вывода видео P.S. можно скажем сориентироваться на VGA-шные режимы: 640x350 (для имитации БК-шных 256x256 и 512x256) и 640x400 (для более человеческих 4-цветного 320x200 и монохромного 640x200, влезающих в ту же самую видеопамять) - при этом пиксельклок должен быть 25.175 МГц, CLCI - 12.59 МГц, CLCO - 6.29 МГц и соответственно схема формирования видео будет брать очередной байт каждые 8 тактов пиксельклока (или каждый 4й CLCI, что тоже самое как каждый 2й CLCO) P.P.S. по скоростям ВМ2 вроде такая инфа: P.P.S. можно сделать тормозилку для первого старта с медленного ПЗУ - с делением частоты на 2 (6.3 МГц ), на 3 (4.2 МГц) и/или на 4 (3.15 МГц)
|
15 Feb 2018 07:24 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А никто адрес и не придерживает, придерживают процессор, когда он только выставил адрес и ждет ответа по AR, что адрес принят. В этот момент придержать процессор - некритично. А по RPLY ты будешь придерживать процессор, когда он уже выставил DIN ( DOUT) и ждет ответа. В этот момент - критично, процессор может уйти в прерывание, если держишь слишком долго.
_________________ iLavr
|
15 Feb 2018 08:02 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
| | | | Lavr wrote: А никто адрес и не придерживает, придерживают процессор, когда он только выставил адрес и ждет ответа по AR, что адрес принят. В этот момент придержать процессор - некритично. А по RPLY ты будешь придерживать процессор, когда он уже выставил DIN ( DOUT) и ждет ответа. В этот момент - критично, процессор может уйти в прерывание, если держишь слишком долго. | | | | |
мне только на 1 такт - видеопроцессор захватывает память каждый второй такт, чтобы вычитать очередной байт (посмотри на диаграмму чтение-модификация-запись, там 10 тактов CLCO, т.е. видео заберёт себе байт 5 раз в течение этого времени - AR тут не спасёт)
|
15 Feb 2018 08:04 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да я понимаю, что не до пенсии... Ну смотри сам. На мой взгляд тормозить проц в момент чтения/записи, когда он уже выставил свой строб памяти - не очень удачное решение...
_________________ iLavr
|
15 Feb 2018 08:10 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22728 Location: Silicon Valley
|
Вот так бы при этом оно выглядело на классическом VGA мониторе с соотношением сторон 4:3 (256 линий просто встают посередине 350 строк "EGA over VGA" с вертикальным отступом 47 строк, плюс центруются по горизонтали):
|
15 Feb 2018 10:09 |
|
|
Mixa64
Doomed
Joined: 25 Aug 2009 07:02 Posts: 461 Location: Москва
|
А почему гашение именно porch? Это же "крыльцо", "навес" ? Может это с тех времен, когда видеосигнал рисовали неперевернутым, как сейчас, и синхроимпульсы торчали торчком, напоминая будки? А "хаос" изображения напоминал зеленую травку? (осциллоскопы же с зеленым лучом?..) Ну и porch это крылечки у будки? На Призраках автор с ником, совпадающим с одним из местных, делал заход по похожей теме, но почему-то отступил, а жаль. А я даже и не знаю, стоит ли zero wait states и max performance добиваться? С другой стороны, с обычной шустрой RAM эти zero ws и так получатся.
|
15 Feb 2018 14:17 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Там даже два автора " с ником, совпадающим с одним из местных, делали заход"... Но они оба - ужасные досужие болтуны, а один из них - и вовсе сказочник. P.S. Ткнул сразу на страницу 30 "жырного" топика и сразу понял, что был прав:
_________________ iLavr
|
15 Feb 2018 14:44 |
|
|