User Tag List

Страница 10 из 11 ПерваяПервая ... 67891011 ПоследняяПоследняя
Показано с 91 по 100 из 109

Тема: Регенерация ОЗУ

  1. #91

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что про снег читать - его надо видеть Хотя это так, баловство Но комуу-то - интересное.
    https://www.youtube.com/channel/UCR5...MoeIC7_PEEg-XQ
    Всего один-единственный эмуль, точно эмулит снег. Десяток других, увы, лишь приближенно. Пока другого не доказано.
    Profi v3.2 -=- Speccy2010,r2

  2. #91
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #92

    Регистрация
    04.07.2012
    Адрес
    г. Москва
    Сообщений
    578
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    88
    Поблагодарили
    43 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот так снег выглядит : http://www.sanarin.ru/video/(210928-174955).avi

  4. #93

    Регистрация
    08.05.2016
    Адрес
    г. Южа, Ивановская обл.
    Сообщений
    33
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Повторюсь: что мешает переставить биты в адресе местами? Религия? Политика? Тут такие темы запрещены =)
    Уже объяснял: вместо V3-V5 подаем V0-V2, и получаем реген за восемь ТВ-строк вместо 64-х. На списке строк с адресами (#4000-#4700) это отлично видно.
    Отрезанные V3-V5 подаются вместо старых V0-V2, и на выходе получим те же данные из памяти. Чипу без разницы, в каком порядке идет выборка.

    Пересчитай и выложи, я посмотрю как ты считаешь.

  5. #94

    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от апро Посмотреть сообщение
    Если поменять биты как вы советуете в младшем байте так H3H4H5H6H7V0V1V2 в старшем так V3V4V5V6V7 смотрим какие адреса будут регенерировать видео контроллер.
    Еще раз, меняем только в мультиплексоре. Конечно же одинаково меняем - и для процессора и для видеоконтроллера.
    Адрес, в терминах процессорных сигналов A0-A15, ни одной строки, ни единого экранного байта - не изменится. Как первая строка начиналась на #4000, а вторая на #4100 - так всё и останется. Никакого горя, не поменялись адреса.


    Изменится адрес в терминах MA0-MA7. И это невозможно заметить ни видеоконтроллеру, ни процессору. Это заметит только микросхема памяти, для неё улучшится регенерация, и более ничего.



    Цитата Сообщение от апро Посмотреть сообщение
    На экране будут спутаны все строки,
    Давайте на спор, на 10000 руб.
    Я запишу видео, где я перепутываю адресные линии на входе мультиплексора.

    Если изображение испортится, перепутаются строки - я проиграл, я плАчу.
    Если не испортится - платите вы.
    Готовы?

    Этот пользователь поблагодарил AlexCrush за это полезное сообщение:

    reddie(17.02.2022)

  6. #95

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexCrush Посмотреть сообщение
    И это невозможно заметить ни видеоконтроллеру, ни процессору
    Выше уже писал про аналогичную ситуацию с перемешкой адресов на входах ПЗУ, но до товарища так и не дошло.

  7. #96

    Регистрация
    08.05.2016
    Адрес
    г. Южа, Ивановская обл.
    Сообщений
    33
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexCrush Посмотреть сообщение
    меняем только в мультиплексоре
    А я где меняю? Я смоделировал работу видео контроллера согласно вашему же описанию. Теперь что не так. Объяснить толком не могём что и где меняем, а уже бабла срубить хотим? Нет объяснений - нет способа. Логично?

    - - - Добавлено - - -

    вариант 1
    Цитата Сообщение от AlexCrush Посмотреть сообщение
    меняем только в мультиплексоре
    вариант 2
    Цитата Сообщение от AlexCrush Посмотреть сообщение
    Конечно же одинаково меняем - и для процессора и для видеоконтроллера.
    вариант 3
    Цитата Сообщение от AlexCrush Посмотреть сообщение
    я перепутываю адресные линии на входе мультиплексора.
    определитесь уже , 1-где и 2-что меняем.
    я не телепат.
    Я вам и написал в начале, что так не работает, как вы объясняете. Но вы и после ничего толком прояснить не можете. А говорите спрашивай, тут всё просто. Вижу у вас не всё просто и не обижайтесь.
    Последний раз редактировалось апро; 18.02.2022 в 01:13.

  8. #97

    Регистрация
    08.05.2016
    Адрес
    г. Южа, Ивановская обл.
    Сообщений
    33
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Выше уже писал про аналогичную ситуацию с перемешкой адресов на входах ПЗУ, но до товарища так и не дошло.
    Объяснения типа у всех работает, и что то про религию и т.д. детский сад какой то. Опиши процесс если сможешь. Не можешь написать как работает, зачем пишешь ерунду? Набиваешь счётчик сообщений, где то скидку дают?

    - - - Добавлено - - -

    Цитата Сообщение от AlexCrush Посмотреть сообщение
    Изменится адрес в терминах MA0-MA7
    Ну я могу себе представить ситуацию в которой линейная адресация памяти меняется местами с нелинейной адресацией видеоконтроллера. То есть видео контроллер перебирает адреса линейно, а адресация памяти не линейна и для процессора тоже. Вот в этой ситуации возможно будет всё работать. Но в ваших словах этот принцип не озвучивается никак. Только не говорите, что именно это вы имели в виду всё это время.
    Последний раз редактировалось апро; 18.02.2022 в 01:47.

  9. #98

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,480
    Спасибо Благодарностей отдано 
    310
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    217 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Выше уже писал про аналогичную ситуацию с перемешкой адресов на входах ПЗУ, но до товарища так и не дошло.
    Тут ещё интересный момент, что никто особо не знает как оно там у конкретного производителя на кристалле. А то, то по даташиту и пинам всё линейно, а на кристалле как было удобно так и развели. Биту ведь пофиг в каком порядке храниться, типа как в поговорке "хоть безобразно, но единообразно".
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  10. #99

    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,254
    Спасибо Благодарностей отдано 
    533
    Спасибо Благодарностей получено 
    260
    Поблагодарили
    154 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Статья из ZX-Ревю 96/6

    © Рюмик С.М. г. Чернигов, 1996

    НЕСТАНДАРТНОЕ ИСПОЛЬЗОВАНИЕ РЕГИСТРА R.

    Как известно, микропроцессор Z80 имеет в своем составе регистр обслуживания динамической памяти, так называемый, регистр R.

    Подобного регистра не было в предшественнике Z80 — микропроцессоре I8080 (отечественный аналог КР580БМ80А). Разработчики Z80 изначально ориентировались на применение в качестве ОЗУ микросхем динамической памяти, требующих периодической регенерации (восстановления) хранимой информации.

    РЕГЕНЕРАЦИЯ ПАМЯТИ В КОМПЬЮТЕРЕ "ZX-SPECTRUM"

    Рассмотрим общие принципы регенерации ОЗУ через регистр R.

    Содержимое 8-и разрядного регистра R, в каждом машинном цикле M1 микропроцессора Z80 выдается на шину адреса. После выполнения очередной команды, содержимое регистра R увеличивается на единицу. В схеме компьютера "ZX-SPECTRUM" задействованы 7 младших разрядов регистра R, которые аппаратно через мультиплексор подаются на адресные входы восьми микросхем динамической памяти К565РУ5.

    Микросхема К565РУ5 организована матрицей запоминающих элементов — 128 строк по 512 столбцов. Одновременно информация может быть регенерирована в одной из 128 строк ОЗУ при спаде сигнала выборки строки RAS и единичном уровне сигнала выборки столбца CAS.

    7 младших разрядов регистра R однозначно определяют порядковый номер строки от #00 до #7F. Итого 128 строк.

    В "ZX-SPECTRUM" процесс обращения к ОЗУ синхронизирован сигналом MREQ от Z80, который подается непосредственно на входы RAS микросхем К565РУ5. Вся информация в памяти гарантированно регенерируется через каждые 128 команд программы. Согласно справочным данным, время регенерации Tref для микросхем К565РУ5 должно быть не более 2 мс, иначе информация в ОЗУ "потечет". Это условие для компьютера "ZX-SPECTRUM" выполняется без особого труда, т.к. Tref при работе обычной программы составляет величину примерно от 150 мкс (для 4-тактных команд) до 900 мкс (для 23-тактных команд).

    Под словом "обычная программа" подразумевается программа, не использующая установку регистра R. Из ассемблера к регистру R можно обратиться через команды LD A,R и LD R,A.

    В свое время, применение регистра R для обслуживания динамической памяти значительно упростило схему компьютера "ZX-SPECTRUM", т.к. отпала необходимость в применении специальных мультиплексоров и счетчиков регенерации.

    Следует отметить, что в фирменном "ZX-SPECTRUM-48" регенерация памяти на регистре R была осуществлена только для верхних 32 кБайт памяти по адресам #8000 — #FFFF. ВидеоОЗУ и часть памяти по адресам #4000 — #7FFF, были выполнены с постоянной принудительной регенерацией от синхросчетчиков компьютера. Такой тип архитектуры компьютера называется — "с раздельными полями памяти".

    Существуют модели, где вся память регенерируется через регистр R или от синхросчетчиков. Подобный тип архитектуры компьютера называется — "с общим полем памяти".

    ЧАСТИЧНАЯ РЕГЕНЕРАЦИЯ ОЗУ

    Использование регистра R в программах для "ZX-SPECTRUM" является экзотикой. Как правило, программисты обращаются к регистру R в двух случаях: для получения псевдослучайной величины и для организации циклической защиты от просмотра программ методом "заксоривания".

    Еще один нестандартный прием программирования пришлось применить, решая практическую задачу — измерение периода регенерации Tref микросхем К565РУ5. Для этого необходимо было организовать частичную регенерацию ОЗУ, т.е. в какой-то части памяти в течение определенного отрезка времени не должны были восстанавливаться данные.

    "Сердцем" программы измереня Tref является кодовый блок "активной" задержки на регистре R, который предлагается к детальному рассмотрению.

    Понимание работы программы невозможно без изучения временной диаграммы (рис. 1) цикла выборки команды микропроцессора Z80 (Дж. Коффрон. Технические средства микропроцессорных систем. — М.: Мир, 1983).



    Циклом выборки начинается выполнение любой команды Z80, как однобайтной, так и многобайтной.

    В начале такта T1 содержимое 16-разрядного счетчика команд РС подается на адресную шину A0-A15. Через половину периода следования тактовых импульсов CLK (Z80, вывод 6) происходит активизация сигнала MREQ (Z80, вывод 19). Так как MREQ в "ZX-SPECTRUM" подан непосредственно на входы RAS линейки микросхем К565РУ5, то в этот момент происходит первая регенерация информации в строке ОЗУ с адресом, определяемым младшими 7 разрядами счетчика адреса РС.

    Такт T2 — подготовительный, микропроцессор анализирует внешние сигналы.

    Такт T3 и T4 цикла выборки команды специально предназначены для регенерации динамической памяти.

    В начале такта T3 процессор выставляет на адресную шину адрес регенерации, где младшие 8 разрядов определяются содержимым регистра R. Старшие 8 разрядов A8-A15 остаются неизменными. По спаду сигнала MREQ происходит вторая регенерация информации в ОЗУ.

    Итого, за один цикл M1 восстановление данных в памяти происходит дважды. Если младшие 7 разрядов счетчика РС и регистра R совпадают, то будет регенерирована дважды одна и та же строка ОЗУ, а если не совпадают — то однократно две разные строки ОЗУ.

    В листинге 1 приведен дизассемблированный блок кодов, выполняющий функцию задержки с "активной" паузой на регистре R. В таблице 1 расписаны состояния счетчика команд РС и регистра R в процессе работы программы.

    Код:
    ЛИСТИНГ 1
    #75F8:	06 10		LD	B,#10	; Задержка на регистре В.
    #75FA:	3E 02		LD	A,#02	; Начальная установка А.
    #75FC:	C3 80 76	JP	L1	; Начало цикла В.
    #75FF:	1B	L2	DEC	DE	; Уменьшение счетчика.
    #7600:	ED 4F		LD	R,A	; Установка R.
    #7602:	15		DEC	D	; Проверка на
    #7603:	14		INC	D	; достижение D=0.
    #7604:	20 F9		JR	NZ,L2	; Цикл DE.
    #7606:	10 78		DJNZ	L1	; Цикл В.
    
    ...	...	...	...	...	...
    
    
    #7680:	ED 4F	L1	LD	R,A	; Установка R.
    #7682:	11 00 21	LD	DE,#2100; Задержка на регистре DE.
    #7685:	C3 FF 75	JP	L2	; Начало цикла DE.


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

    Собственно "активная" пауза начинается со строки #75FF. Далее, в процессе работы программы, счетчик адреса РС поочередно принимает значения #75FF — #7607 и #7680 — #7687. При этом 7 младших разрядов A0-A6 (PC) на шине адреса в режиме "Регенерация 1" (рис. 1) будут принимать 9 дискретных значений: #7F, #00-#07.

    В то же время в регистр R в строке #7680 заносится начальное число #02, и при выполнении очередной команды значение R будет увеличиваться на единицу. В таблице 1 показаны изменения младших 7 разрядов счетчика команд РС и регистра R в двух циклах DE и B при точке отсчета #7600. Обратите внимание, что по команде LD R,A регистр R меняет свое значение дважды: в самом начале увеличивает свое значение на единицу, а в конце принимает значение аккумулятора A.

    В итоге 7 младших разрядов A0-A6 (R) шины адреса в режиме "Регенерация 2" будут находиться в диапазоне #02-#07.

    Таким образом, в цикле "активной" паузы регенерация информации происходит не во всех 128 строках ОЗУ, а лишь в 9 строках с порядковыми номерами #7F, #00-#07. Причем часть программы по адресам #7680-#7687 будет находиться под регенерационной защитой #75FF-#7607.

    Меняя значения начальной установки регистра R, а также расширяя "тело" задержки, можно увеличить количество регенерируемых строк ОЗУ по своему усмотрению. При частичной регенерации появляется возможность разместить программу в ОЗУ "кусками" под защитой регенерируемых строк.

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

    Эти 3 пользователя(ей) поблагодарили creator за это полезное сообщение:

    reddie(18.02.2022), Shofer(06.04.2022), Копейкин(17.02.2023)

  11. #100

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от апро Посмотреть сообщение
    я могу себе представить ситуацию в которой линейная адресация памяти меняется местами с нелинейной адресацией видеоконтроллера. То есть видео контроллер перебирает адреса линейно, а адресация памяти не линейна и для процессора тоже. Вот в этой ситуации возможно будет всё работать
    Это уже вторую страницу мусолят, неужели начинает доходить?

    Цитата Сообщение от апро Посмотреть сообщение
    Опиши процесс если сможешь. Не можешь написать как работает, зачем пишешь ерунду?
    Уже "на пальцах" разжевал, то бишь расписал, какие сигналы нужно поменять. Повторяться не буду. Не можешь осилить схему - не пиши ерунду.

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    по даташиту и пинам всё линейно, а на кристалле как было удобно так и развели. Биту ведь пофиг в каком порядке храниться
    Это да, но реализации в железе сделаны согласно даташитам, перебирая строки за допустимый интервал, и оно работает.
    А какой там порядок подводки к кристаллу - никого не волнует, в общем и целом. Главное, что не перепутаны столбцы со строками, иначе бы реген не работал.
    Примерно та же история с выборкой из ПЗУ: адресные ноги можно путать в любом порядке, на выборке это не скажется никак.
    Главное - перепутать аналогичным образом либо адреса при программировании, либо саму прошивку перетасовать.

    Отдельный лайк creator-у за тот самый материал из ZX-Ревю, бывшего основным источником инфы по Спектруму в те годы.
    Думаю, оттуда и идут воспоминания о защите на регистре R, связанной с регеном памяти.

Страница 10 из 11 ПерваяПервая ... 67891011 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ОЗУ 4 мб.
    от zorel в разделе Память
    Ответов: 13
    Последнее: 06.10.2022, 19:16
  2. Регенерация памяти в Ленинград.
    от derfliegenddehollander в разделе Ленинград
    Ответов: 1
    Последнее: 08.04.2021, 16:14
  3. Тест ОЗУ 48
    от PicNov76 в разделе Память
    Ответов: 31
    Последнее: 24.12.2018, 13:02
  4. Регенерация ОЗУ
    от roma в разделе Память
    Ответов: 13
    Последнее: 21.01.2014, 23:40
  5. озу 565ру5
    от sevol в разделе Память
    Ответов: 6
    Последнее: 13.08.2010, 18:58

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •