Это для меня назад, и вправо тоже согласен
- - - Добавлено - - -
Лучше вправо, а то действительно может быть путаница
Вид для печати
Попробовал сдвинуть влево - тест не проходит, пробовал на два такта вправо - тест не проходит. Не проходят как с торможением так и без него.
В итоге получается самая стабильная ситуация это предложенная ivagor
F1 = not(TI/ or CAS/)
F2 = CAS/
С торможенением
CSRAM1/=not ((A14 or A15) and RDM)
READY=H1/ or CSRAM1/
По сему касательно работы с ОЗУ пока останавливаемся на этом. К сожалению без тормозов не удалось обойтись в рамках спектрумовского синхрогенератора.
Кстати, ivagor режим Fast - это примерно сколько в частоте получается падение?
Тут стоит разделить на части
1. Когда сдвигал влево на какой частоте пробовал? Там возможно был небольшой шанс на 3 или 2.75, вряд ли выше
2. Торможение ты корректировал? Дело в том, что последний ("мой") тормоз при сдвиге тактовых импульсов не годится. Тут как раз фишка в том, что в том положении можно сравнительно просто получить правильный тормоз.
Все же скорее лениградского синхрогенератора. До сих пор испытываю сожаление, что ты не взял за основу что-нибудь с прозрачным доступом к озу, например пентагон.
- - - Добавлено - - -
Смотря как измерять или считать. Если по 4х тактным командам типа nop, то падения нет и максимальная пиковая производительность 100%. Надо портануть какой-нибудь комплексный тест.
- - - Добавлено - - -
И при быстрой памяти, быстром регистре и буфере
На 3,5 МГц, ниже уже опускаться не интересно. Да и задача стояла именно на 3,5МГц
Нет не корректировал. Пробовал с тем что есть. Сложный тормоз тоже не хотелось. Тут хоть на одном корпусе
- - - Добавлено - - -
Для интереса этот вариант дополнил универсальной тормозилкой READY = H1/
3. Сдвинуть на полтакта влево
F1 = not(TI/ or H0)
F2 = H0
Результат как вчера
https://i.ibb.co/nrMBYF0/IMG-20201201-093810.jpg
- - - Добавлено - - -
4. Сдвинуть на два полтакта вправо
F1 = not(TI or RAS (8.TM2))
F2 = RAS (8.TM2)
Результат тот же
То есть все эти варианты работают только с тормозом.
Хочу уточнить, а то слишком много всего и я путаюсь.
По моим представлениям тормоз H1/ (и его более быстрый вариант без торможения пзу и записи):
1. Не обязан стабильно работать при исходном положении тактовых импульсов
2. Должен работать при сдвиге тактовых на 1/4 такта проца вправо или влево
3. Не обязан работать при сдвиге на 2/4 такта проца в любую сторону
Так получилось или не совсем?
Уточняю :)
1. Работает стабильно только в твоем варианте
2. Работает только при H1/, в быстром варианте нет
3. Работает только при H1/, в быстром варианте нет
Не поленился я опустить частоту до 3,0МГц
С тормозом и без не работает твой вариант на Радоне 9005, на Днепре 8903 работает с тормозом
- - - Добавлено - - -
В общем можно подвести итоги касательно опытов над памятью. Если использовать ленинградоподобный синхрогенератор, то без торможения никак не обойтись.
При первоначальной конфигурации КР565РУ5Г и 555 серии на 3,5МГц подавляющее большинство процессоров работают
при
F1 = not(TI/ or CAS/)
F2 = CAS/
С торможенением
CSRAM1/=not ((A14 or A15) and RDM)
READY=H1/ or CSRAM1/
На 4 МГц количество стабильно работающих процессоров резко уменьшается.
Из наших стабильнее все процессоры Родон 9005 и Родон 9008. Если будут более молодые Родоны их проверю.
Ну и импортные процессоры по крайней мере в пластике тоже работают на 4МГц. По сути они самые стабильные процессоры.
Теперь осталось проверить еще один тест памяти на последней конфе.
Теперь бы еще уточнить, что ты понимаешь под моим вариантом. У меня было несколько предложений по этой теме:
1) Изменение тактирования на 1/4 такта проца вправо
2.1) Тормоз H1/
2.2) Тормоз CSRAM1/=not ((A14 or A15) and RDM) и READY=H1/ or CSRAM1/ или эквивалентный
Тут под моим вариантом ты явно подразумеваешь тормоз, вероятно п.2.2). Т.е. при исходном тактировании и моем варианте торможения номально работает? Это я пока не могу объяснить.
Вот тут я совсем перестал понимать. А здесь ты про что писал? Я думал это все еще предложенный мною вариант тактирования п.1) + тормоз п.2.2).
Т.е. тут, как и в предыдущем пункте, есть разница в работоспособности тормозов п.2.1) и п.2.2) ?
Под быстрым имеется ввиду эквивалентный твоему
CSRAM1/=not ((A14 or A15) and RDM)
READY=H1/ or CSRAM1/
Или более правильно тогда говорить
CSRAM1/= not(A14 or A15) or RDM/
READY=H1/ or CSRAM1/
- - - Добавлено - - -
Ха, это я забыл проверить
Проверил - не работает!
Более того он и при H1/ не работает
- - - Добавлено - - -
Объясню еще раз.
Опробованы 3 и 4 варианты. Они без тормоза и с эквивалентным (быстрым) тормозом не работают. Работают только по H1/
Главное, что тактирование 1) + тормоз 2.2) работают, а то после многочисленных уточнений я уже стал сомневаться.
То что тормоз 2.1) работает в большем числе случаев, чем 2.2) скорее всего связано с записью. Это рабочая версия, детально не смотрел/не разбирался и не хочется, т.к. есть рабочий вариант.
Остался еще один совсем непонятный для меня момент
Родон 9005 при тактировании 1) и тормозе 2.2) работает на 3.5 и 4 и не работает на 3? Или при каком тактировании и тормозе он не работает на 3 МГц?
По моему мы уже друг друга не понимаем.
Чтобы было проще.
1. С твоим тормозом (быстрый или эквивалентный) работает только твой вариант тактирования.
2. С изначальным вариантом тактирования не работает с твоим тормозом как и с H1/
3. Во всех других случаях тактирования работает только с H1/
Касательно 3 МГц, Родон 9005 отказался работать с твоим вариантом тактирования и тормозом. Днепр 8903 работал. Другие процессоры не проверял. С Родоном я вроде другие варианты тактирования проверял, но по моему кроме изначального. В лучшем случае с H1/ Считай уже не скажу точно.
Сейчас запустил ПЗУ с zx8080mts - пока работает. Это считай первая демо-программа :)