PC-01 Lviv
http://pc01.lviv.ua/forum/

Торможение при обращении к ОЗУ
http://pc01.lviv.ua/forum/viewtopic.php?f=2&t=196
Page 2 of 2

Author:  kapitan [ 03 Oct 2014, 17:13 ]
Post subject:  Re: Торможение при обращении к ОЗУ

Quote:
When the CPU accesses RAM, wait states are inserted until the RAM transfer is complete.

CPU clock: 18MHz/9 = 2MHz
memory cycle time: 20MHz/8 = 2.5MHz
CPU memory access time: (min) approx. 9/20MHz = 450ns
(max) approx. 25/20MHz = 1250ns
pixel clock: 20MHz/4 = 5MHz

это все немного неправильно.
в первых двух строках 18 и 20 должны совпадать ( с делителями верно)
там кварц на 20 отстроенный конденсатором для получения нужной телечастоты
про min - max RAM access правильно

Author:  kapitan [ 03 Oct 2014, 17:18 ]
Post subject:  Re: Торможение при обращении к ОЗУ

Quote:
Все равно не до конца понял. Я спрашиваю про окно CPU. Какое оно по размеру? Как я понял, окно видео - 400нс. В это время процессору в память лезть никак не выдет. Но когда эти 400нс проходят, открывается "окно CPU" - какое оно по продолжительности пред следующими 400нс блокировки? Хочется прикинуть шансы попадания именно в это окно.
проблема в том, что CPU нужно все окно целиком. т.е. его надо называть не окном с слотом.
поэтому заявка должна прийти до начала слота иначе ждем следующего слота т.о.
минимальное время доступа скажем 450 нс а максимальное 1300 нс примерно

Author:  Zelya [ 03 Oct 2014, 17:47 ]
Post subject:  Re: Торможение при обращении к ОЗУ

Может, мне будет легче на примере. Скажем так:
11:00:00.000000000 ОЗУ локается видео. Проц выполняет, скажем XCHG и ему ОЗУ не нужно
11:00:00.000000400 ОЗУ отпускается видео.
11:00:00.000000450 Проц захотел ОЗУ для следующей команды. Когда он сможет получить доступ?

Author:  kapitan [ 03 Oct 2014, 17:55 ]
Post subject:  Re: Торможение при обращении к ОЗУ

11:00:00.000000450
+ 350
+ 400
в
11:00:00.000001200
+ еще 400 на обслуживание

Author:  Zelya [ 03 Oct 2014, 17:57 ]
Post subject:  Re: Торможение при обращении к ОЗУ

О! Теперь начинает прояснятся. Т.е. видео локает ОЗУ на 400нс, потом окно на 400нс для проца (если запрос был уже в очереди), а потом снова 400нс лока, правильно?

Author:  kapitan [ 03 Oct 2014, 18:27 ]
Post subject:  Re: Торможение при обращении к ОЗУ

да

Author:  NeoSpectruman [ 15 Oct 2014, 22:58 ]
Post subject:  Re: Торможение при обращении к ОЗУ

Quote:
CPU VIDEO по 400 ns
Quote:
Опять же, предсказать теоретически как будет тормозить - невозможно,
только мерять среднее.
информация о длине в секундах не имеет никакой ценности
не для эмуляции не для програмизда

нужно точное указание в тактах относительно кварца
что на сколько делиться

тогда можно будет рассчитать и все задержки

но так как соотношение частот пиксель клока и цпу клока не кратно не 2-м не 4-м не 8-ми(помоиму)
а... уже не помню сколько (какойто ахтунг)
то рассчитать задержки будет довольно сложной задачей

Author:  kapitan [ 21 Nov 2014, 03:08 ]
Post subject:  Re: Торможение при обращении к ОЗУ

в оригинальном описании есть ошибка!
Следует делать вот так:

1. 9 D50 отрезать от всего
2. Отрезанную от 9-ой ножки дорожку соеденить с 10 ножкой этой же микросхемы.
3. 10 D5 отрезать от всего
4. 10 D5 соеденить с 13, 14(быстрее) или 15(еще быстрее) ножкой D50

Пояснения:
Шаги 1 и 2 защелкивают данные в выходном регистре озу на 50нс раньше.
Это допустимо даже с самыми медленными 41256-15 доступными сегодня.
Ускорение доступа достигается при помощи шагов 3 и 4 - упреждающее снятие сигнала WAIT
Выбор времени снятия никак не связан с циклом памяти и свойствами памяти, а исключительно с таймингом самого процессора.
Поэтому рекомендую сразу соединять на ножку 15.
Турбирование с применением более быстрой памяти нецелесообразно, процессор и так выходит из wait state
настолько быстро, насколько это возможно.

Author:  doorsfan [ 19 Mar 2016, 19:00 ]
Post subject:  Re: Торможение при обращении к ОЗУ

А к ВМ80 эти советы могут быть применимы?

Author:  sadfsdfsdaf [ 26 Dec 2020, 21:59 ]
Post subject:  Re: Торможение при обращении к ОЗУ

Начал разбираться со схемой
Quote:
цитату из исходников горячо любимого MESS
этот фрагмент неверен, в системе всё завязано на единственный кварц (20МГЦ), который делится на 9 внутри 580ГФ24
на схеме блок VIDEO-CPU занимается, как я понимаю, регенерацией памяти, отрисовкой видеобуффера (странно, что нет возможности задать произвольным образом начало окна для отображения) и формированием корректного адресного цикла к ОЗУ при получении запроса от процессора.

В целом этот блок построен как конечный автомат на базе единого счётчика (разные биты которого формируют разные последовательности действий). Назовём его счётчик стобца. По завершении общего цикла запускают счётчик строки. И ещё есть 2 генератора одиночных импульсов на синхросигналы (строки и кадра). До конца в деталях я пока не дошёл, на схеме сигналы К0 и К1 осуществляют переключение линий адреса для мультиплексора шины адреса. К0 скорее всего определяет фрагмент адреса (RAS или CAS) для цикла обращения к 565РУ5, а вот К1 по идее задаёт источник запроса (процессор или же система регенерации/отображения). И там их похоже либо по циклу переключают, либо пускают процессор по необходимости по завершению внутреннего цикла на мультиплексоре.

Page 2 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/