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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Параллельное чтение/запись памяти в реале.

  1. #1
    Member Аватар для jimled
    Регистрация
    18.11.2007
    Адрес
    Харьков
    Сообщений
    95
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Параллельное чтение/запись памяти в реале.

    Доброго дня! Возможно я изобретаю велосипед, но в голове крутится идея параллельного подключения устройства к памяти спектрума.

    Например, подключившись к памяти Ленинграда-48, получили полный доступ к ячейкам. Закидываем в определенные адреса различную информацию из интернета, допустим. Программа в спектруме бы считывала данные из памяти и обнаруживала бы там данные, например, свежую погоду. Как это реализовать технически?
    ZX81+MemBank 16Kb & ZX-Printer (сдохло)
    Ленинград-1 (2шт)
    Ленинград-2 (2шт)
    Харьков (2шт)
    Краснодар

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

  3. #2
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,153
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    23 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это достаточно неудобно и сложно. Будут конфликты с процем и видеоадаптером. Намного проще будет это реализовать через порт в/в. Тем более тут супер скорость не нужна.

  4. #3
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Технически это реализовано как DMA (ПДП, прямой доступ к памяти).
    Но не рекомендую с этим ковыряться, если нет совсем уж жгучего желания и достаточных знаний о работе процессорных систем.
    А тут еще и видеогенератор, лезет постоянно в память, гад
    Забей.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  5. #4
    Guru Аватар для Totem
    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Технически это реализовано как DMA (ПДП, прямой доступ к памяти).
    Но не рекомендую с этим ковыряться, если нет совсем уж жгучего желания и достаточных знаний о работе процессорных систем.
    А тут еще и видеогенератор, лезет постоянно в память, гад
    Забей.
    Кстати, не плохо расписано про DRAM и Z80 , только вроде пары картинок не хватает по тексту.
    http://www.piclist.com/techref/mem/dram/olmstead.html
    Последний раз редактировалось Totem; 17.09.2015 в 15:49.
    Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
    zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)

  6. #5
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,055
    Спасибо Благодарностей отдано 
    219
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jimled Посмотреть сообщение
    Возможно я изобретаю велосипед,
    Именно так. Велосипед называется "DMA" (Direct Memory Access) или "ПДП" (прямой доступ к памяти). Повсеместно используется в микропроцессорных системах, где требуется высокая производительность.

    ПДП - это любая схема, в которой происходит доступ какого-либо устройства к памяти минуя процессор. Пример лежит на поверхности: видеоконтроллер Спектрума - это устройство, реализующее ПДП.

    Реализация ПДП более сложна и затратна, чем передача информации между внешним устройством и памятью под управлением процессора. Поэтому ПДП применяется только в тех случаях, когда требуется высокая производительность. Например, если бы в Спектруме данные видеоконтроллеру передавались не напрямую из памяти, а через процессор - то процессор просто не справился бы с необходимой скоростью передачи, а на более низкой скорости передачи он был бы целиком занят обработкой видеосигнала, и ни на что другое не осталось бы ресурсов.
    Цитата Сообщение от jimled Посмотреть сообщение
    Как это реализовать технически?
    Для реализации ПДП нужно две вещи:
    1) разделение (арбитраж) доступа к памяти между процессором и всеми устройствами, осуществляющими ПДП (в случае Спектрума - видеоконтроллером).
    2) формирование на шинах адреса, данных и управления памяти нужных сигналов.

    В случае Спектрума можно реализовать простой арбитраж между процессором и внешним устройством с помощью сигнала /BUSRQ Z80. Если подать низкий уровень на этот сигнал - то процессор остановит исполнение программы по окончании следующего машинного цикла и выставит сигнал подтверждения /BUSAK. Когда активен сигнал /BUSAK - то гарантируется, что шины адреса, данных и управления Z80 свободны, и процессор остановлен. Поэтому внешнее устройство может в этот момент управлять этими шинами, выставлять на них нужные сигналы и тем самым осуществлять доступ к памяти. По окончании сеанса ПДП устройство снимает запрос /BUSRQ, после чего процессор снимает сигнал подтверждения /BUSAK и продолжает исполнение программы.

    При этом, правда, остается проблема арбитража между внешним устройством и видеоконтроллером. В разных Спектрумах этот арбитраж реализован по-разному. Схема, управляющая шинами процессора, должна учитывать эти механизмы. Так, например, в "Ленинграде", эта внешняя схема должна анализировать сигнал /WAIT и приостанавливать работу, пока активен /WAIT. В фирменном синклере эта схема должна обращать внимание на случаи, когда видеоконтроллер блокирует поступление на процессор тактовых импульсов. В "Пентагоне" и "Орель БК-08" никаких особых мер не требуется, там реализован "прозрачный" арбитраж Z80 и видеоконтроллера при условии, что обращения к памяти при ПДП происходят не чаще, чем 1 раз за 2 такта.

    Вторая задача - управление шинами. Например, для передачи в память блока данных через ПДП, внешнее устройство должно содержать счетчики адреса, в которых будет храниться и увеличиваться текущий адрес. Также должна быть схема, вырабатывающая последовательности импульсов на сигналах управления (/MREQ, /RD, /WR).

    Иногда логику, типичную для всех схем, использующих ПДП (арбитраж, счетчики адреса и др.) реализуют в виде универсальной микросхемы, которая называется "контроллер ПДП". См., напр., КР580ВТ57, КР1810ВТ37. С использованием таких микросхем реализовать ПДП обычно легче.

  7. #6
    Guru
    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от jimled Посмотреть сообщение
    Доброго дня! Возможно я изобретаю велосипед, но в голове крутится идея параллельного подключения устройства к памяти спектрума.

    Например, подключившись к памяти Ленинграда-48, получили полный доступ к ячейкам. Закидываем в определенные адреса различную информацию из интернета, допустим. Программа в спектруме бы считывала данные из памяти и обнаруживала бы там данные, например, свежую погоду. Как это реализовать технически?
    Если необходимо взять управление памятью ,нужно повесить процессор , далее берем адресную и шину данных и делаем все что захотим, так работает ZX-дигитайзер. Принцип весьма простой , можно сделать внешнее устройство например на микроконтроллере которое по этому принципу будет загонять в память хоть экрана хоть обычную, все, что вам надо, потом отпускаем шины и запускаем проц. Скоро собрался восстанавливать эту штукенцию, в свое время с VMG по нему сотрудничал.
    Подкрепление материала )



    ---------- Post added at 04:37 ---------- Previous post was at 04:29 ----------

    PS самый простой способ думаю на микроконтроллере(наверно потому, что последнее время все на них делаю) ,он берет входящие данные откуда вам надо PC, SD и т.д. преобразует их как вам угодно и засылает их в память спека по вышеуказанному принципу управление шинами для него будет элементарно в реализации.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  8. #7
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,225
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    182 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от JV-Soft Посмотреть сообщение
    PS самый простой способ думаю на микроконтроллере(наверно потому, что последнее время все на них делаю) ,он берет входящие данные откуда вам надо PC, SD и т.д. преобразует их как вам угодно и засылает их в память спека по вышеуказанному принципу управление шинами для него будет элементарно в реализации.
    Да уже несколько лет это вопрос висит в воздухе:
    раз, два, три и четыре

    Со слов знающих, там есть некоторые технические трудности (думацо решаемые), но и главное, кто напишет прошивку для МК.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  9. #8
    Guru
    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Да уже несколько лет это вопрос висит в воздухе:
    раз, два, три и четыре

    Со слов знающих, там есть некоторые технические трудности (думацо решаемые), но и главное, кто напишет прошивку для МК.
    Сейчас ко мне едет простенький восьмиканальный логический анализатор,жду через пару тройку недель, и начну восстановление дигитайзера, если при этом будет время без всяких обещаний попробую сделать хотя бы минимум на контроллере, захват, удержание и возврат шин процессору, если все выйдет остальное уже от полета фантазии, но пока много времени этому уделить не смогу, уже писал в других темах некоторое время назад унаследовал проект приемника P-45 и поддерживаю его программно сейчас как раз готовлю к выпуску новую прошивку, параллельно занимаюсь проектом поворотного устройства антенны с метеостанцией на микроконтроллере, которое уже готово но так же обкатываю и доделываю прошивку.
    Времени на все не хватает, спек восстановил, даже поиграть некогда, а реально охота так как к радио и спеку не подходил лет 15.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  10. #9
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от JV-Soft Посмотреть сообщение
    Если необходимо взять управление памятью ,нужно повесить процессор , далее берем адресную и шину данных и делаем все что захотим, так работает ZX-дигит...
    ZX-джигит
    Вспомнил анекдот про джигита, который ездил на красный свет, а на зелёный пропускал другого джигита.
    А в данном случае, процессор завесили, но нужно как-то разминуться с другими джигитами, например с видеосистемой.

  11. #10
    Guru
    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    А в данном случае, процессор завесили, но нужно как-то разминуться с другими джигитами, например с видеосистемой.
    А дал фото описания работы, там все есть, не читали ?
    Тот же дигитайзер пишет в озу с частотой кадров и нет никаких проблем, вас что именно технически смущает ?
    Тоже самое я получаю на вышеприведенном дигитайзере https://www.youtube.com/watch?v=ooi9rpx6ECM
    зачем нам разбираться с видеосистемой когда мы просто во время ее обращения останавливаем нашу передачу в озу. Все очень просто.

    ---------- Post added at 21:25 ---------- Previous post was at 21:09 ----------

    jimled
    CodeMaster
    Я надеюсь правильно вас понял, задача состоит не в реализации классической ПДП ?(я кстати разрабатывал году в 97 пдп для пентагона) , а именно в быстрой загрузке необходимых данных извне в память не нарушая архитектуры компьютера и передачи управления процессору, так ? Ибо пдп и то, о чем я говорю две разные вещи.
    Последний раз редактировалось JV-Soft; 09.10.2015 в 22:12.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ассемблеры на реале ....
    от Orionsoft в разделе Софт
    Ответов: 32
    Последнее: 18.05.2022, 23:44
  2. как запустить $В в реале?
    от alexfreed в разделе Софт
    Ответов: 20
    Последнее: 08.04.2013, 02:24
  3. Ответов: 34
    Последнее: 06.12.2012, 18:04
  4. Z80 - чтение из памяти
    от icebear в разделе Память
    Ответов: 15
    Последнее: 06.03.2006, 12:03
  5. Unreal. Breakpoint на чтение памяти.
    от valker в разделе Эмуляторы
    Ответов: 1
    Последнее: 12.02.2005, 12:58

Ваши права

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