Важная информация

User Tag List

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя
Показано с 51 по 60 из 74

Тема: Распределение банков памяти

  1. #51
    Activist Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    365
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Память SDRAM Micron 48LC16M16A2 7.5nS Период регенерации 64mS

    На столе 2 платы, обе не ПЛИС, на одной спек-128 (хост), на верхней внешняя видеокарта.
    Включаю питание видеокарты, заливаю прошивку, потом включаю кнопкой хост, появляется изображение.
    Выключаю хост, больше записи в видеопамять нет.
    Отключаю питание видеокарточки, лезу выдирать из розетки монитор (чуть не уронил).
    Отключаю все провода от плат, включая USB-Blaster, замыкаю пинцетом контакты питания - разряжаю конденсаторы.
    Снова подключаю провода сначала к хосту, потом USB-Blaster, лезу под стол втыкать в розетку монитор.
    Левой рукой включаю тумблером питание видео и заливаю прошивку. Появляется изображение.
    Данные, конечно, деградировали, но не так, чтобы совсем.
    С момента выключения тумблера до заливки прошивки прошло 48 секунд...

    Мультик
    https://cloud.mail.ru/public/3TEb/5etMC9ntk

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

    Цитата Сообщение от Reobne Посмотреть сообщение
    Ты не смог ответить на мой вопрос конкретным числом, в этом отличие НЕявного процесса.
    Такт переменной FRAMES 20mS - это в достаточной мере явное значение?
    Разумеется, пока не отключены прерывания.

  2. #52
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    3,440
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от omercury Посмотреть сообщение
    1. Да
    2. Да
    3. Да, на шине есть сигнал /BUSRQ
    4. Да, на шине есть сигнал /RESET
    Способов достаточно
    но, только не для экранной памяти.
    И даже это не вызывает вопросов - любое чтение из DRAM рефрешит как минимум 1 строку за обращение. Это всё очевидные вещи. Однако, старшую память попортить реально, а ведь именно туда кладут программы из-за скорости доступа, который, как я понял из использования RFSH, имеет ZWT для Z80.
    Последний раз редактировалось HardWareMan; 23.06.2019 в 12:53.

  3. #53
    Activist Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    365
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    Счетчики же изменяются и память читается по идее только во время вывода растра?
    Да нет, тикают постоянно, никто не будет усложнять схему и блокировать чтение на время бордера и обратного хода луча.
    Чтение происходит с периодом 1/(7МГц/8)=1,14 микросекунды (на самом деле 2 чтения, но по одинаковому младшему адресу) на "фирме" даже чуть чаще.
    Полное обновление памяти, то есть чтение 128 последовательных адресов, произойдёт за 32 строки или 32*64uS=2,048 милисекунды...

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

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Однако, старшую память попортить реально,
    Разумеется реально.
    И для этого вовсе не обязательно использовать системный разъём, достаточно максимально часто сбрасывать R в ноль и верхняя часть каждых 128 байтов протухнет.
    А лучше в R писать не 0, а какое-либо определённое число, от которого счётчик никогда не досчитает до 128, и тогда мы будем точно знать, какие именно ячейки мы целенаправленно портим.

  4. #54
    Veteran
    Регистрация
    07.10.2006
    Адрес
    Павлоград, Днепропетровская обл., Украина
    Сообщений
    1,138
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от omercury Посмотреть сообщение
    Да нет, тикают постоянно, никто не будет усложнять схему и блокировать чтение на время бордера и обратного хода луча.
    Насчет счетчиков не знаю, а память читается ULA-й строго во время вывода растра, иначе память бы тормозила и во время до начала вывода растра и после вывода растра. А, я так понимаю, память рефрешится строго во время её чтения.

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

    Цитата Сообщение от omercury Посмотреть сообщение
    А лучше в R писать не 0, а какое-либо определённое число, от которого счётчик никогда не досчитает до 128, и тогда мы будем точно знать, какие именно ячейки мы целенаправленно портим.
    1) Счетчик с нуля никогда не досчитает до 128, ибо старший бит регистра R не участвует в инкременте.
    2) В остальном не понял. Почему если писать в регистр R 0, мы не будем знать, какие ячейки мы портим? Насколько я понимаю, при записи в R нуля мы не будем портить ячейки с нулем в младших 7 битах адреса, остальные будут портиться со временем.

  5. #55
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    3,028
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    ld (hl),#FF
    а кто сказал что биты должны сброситься?
    нужен тест на $F0
    на $AA

  6. #56
    Veteran
    Регистрация
    07.10.2006
    Адрес
    Павлоград, Днепропетровская обл., Украина
    Сообщений
    1,138
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот только хотел спросить у хардварщиков - заряженный конденсатор в памяти это единица в бите или ноль? А так в тесте можно выставить из бейсика любой байт-заполнитель.

  7. #57
    Activist Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    365
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    1) Счетчик с нуля никогда не досчитает до 128, ибо старший бит регистра R не участвует в инкременте.
    Он не участвует в рефреше.

    Цитата Сообщение от weiv Посмотреть сообщение
    Почему если писать в регистр R 0, мы не будем знать, какие ячейки мы портим?
    Потому, что по каждому циклу М1 (то есть по каждой инструкции МП) происходит инкремент регистра R, до следующего его сброса он что-нибудь, да насчитает.

    Цитата Сообщение от weiv Посмотреть сообщение
    Насколько я понимаю, при записи в R нуля мы не будем портить ячейки с нулем в младших 7 битах адреса, остальные будут портиться со временем.
    В младше ОДНОМ бите. Есть вероятность, что первый же М1 перещёлкнет R в 0x01 и рефрешь нулевого адреса мы пропустим.
    При записи, например, 0x01 мы будем точно знать, что нулевой адрес мы однозначно пропустили.

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

    Цитата Сообщение от weiv Посмотреть сообщение
    Вот только хотел спросить у хардварщиков - заряженный конденсатор в памяти это единица в бите или ноль?
    По-логике за счёт утечек должно быть "1".
    А что мешает заполнить 0x55 или 0xAA ?

  8. #58
    Activist
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    359
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    Вот только хотел спросить у хардварщиков - заряженный конденсатор в памяти это единица в бите или ноль? А так в тесте можно выставить из бейсика любой байт-заполнитель.
    В NAND FLASH заряженный конденсатор - ноль, в NOR FLASH - единица.
    SRAM обычно имеет характерную шахматную структуру, которая даёт на экране без процессора знаменитый "матрас". Вот в это состояние она и будет уползать при отсутствии питания. Или не будет, зависит от расположения ячеек на кристалле.
    DRAM тоже имеет склонность к "матрасу", но там структура скорее линейная. Будет при отсутствии refresh уползать в ноль, в единицу, или в какой-то узор - зависит от схемотехники кристалла.

  9. #59
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    3,028
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    или в какой-то узор -
    как раз можно потом его выгрузить и использовать в эмуляторах
    пушо при старте на экране именно этот узор

  10. #60
    Activist Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    365
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    Насчет счетчиков не знаю, а память читается ULA-й строго во время вывода растра, иначе память бы тормозила и во время до начала вывода растра и после вывода растра. А, я так понимаю, память рефрешится строго во время её чтения.
    А я читал с подачи NEO SPECTRUMAN, что ULA читает память аж по 4 байта за раз, то есть разрабы воткнули в неё лишние 16 регистров для буферов и усложнили автомат чтения памяти, и это при тотальной экономии на каждой пылинке кремния. Правда это была первая попавшаяся HDL корка ЮЛЫ...

    Впрочем неважно, 32 строки это не отменяет.

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 3
    Последнее: 03.12.2018, 18:32
  2. Распределение памяти под CP/M
    от Арнольд в разделе Для начинающих
    Ответов: 5
    Последнее: 31.08.2012, 11:11
  3. Мысли о памяти
    от SfS в разделе Память
    Ответов: 28
    Последнее: 16.12.2006, 11:49
  4. Ответов: 10
    Последнее: 18.10.2006, 14:35

Ваши права

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