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

User Tag List

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

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

  1. #1
    Member Аватар для jimled
    Регистрация
    18.11.2007
    Адрес
    Харьков
    Сообщений
    95
    Благодарностей: 9
    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
    Доктор Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,093
    Благодарностей: 859
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. Этот пользователь поблагодарил Kakos_nonos за это полезное сообщение:
    jimled (15.09.2015)

  5. #3
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    9,458
    Благодарностей: 3804
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Технически это реализовано как DMA (ПДП, прямой доступ к памяти).
    Но не рекомендую с этим ковыряться, если нет совсем уж жгучего желания и достаточных знаний о работе процессорных систем.
    А тут еще и видеогенератор, лезет постоянно в память, гад
    Забей.
    Scorpion ZS 1024 turbo+/ZXMC 2.6/SD-HDD/FDD/AT-Keyb/Mouse/SMUC 2.0/ProfROMse/VGA 3.0/NeoGS
    ZX-Evolution 4096 rev.B

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

  6. #4
    Veteran Аватар для Totem
    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    1,717
    Благодарностей: 455
    Записей в дневнике
    1
    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 в 14:49.
    Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
    zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)

  7. Этот пользователь поблагодарил Totem за это полезное сообщение:
    Ewgeny7 (17.09.2015)

  8. #5
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    883
    Благодарностей: 471
    Mentioned
    0 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. С использованием таких микросхем реализовать ПДП обычно легче.

  9. Этот пользователь поблагодарил Barmaley_m за это полезное сообщение:
    AzAtom (01.08.2016)

  10. #6
    Veteran Аватар для JV-Soft
    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    1,120
    Благодарностей: 600
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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



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

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

    Арфы нет ,возьмите бубен


    До 2016 JV-Soft (Eigma Group) http://speccy.info/Enigma_Group
    Сайт http://p-45.zzz.com.ua
    Восстановлен(2015) дополнен и в строю - Pentagon 512(256kb ROM 4 конфигурации ПЗУ)/turbo 7 мгц/кеш 2кб/covox/ AY/AY mouse/fdd robotron 5601/Nemo-Ide/10gb HDD (DNA-OS)
    Восстановлен(2015) и в строю - Харьков 128
    Восстановлен(2016) ZX-Дигитайзер

    Ждут паяльника - пентагон 48 , pentagon 128 , pentagon 128 купленный в 2015.
    [свернуть]

  11. #7
    Moderator Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    Воронеж
    Сообщений
    4,109
    Благодарностей: 569
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Со слов знающих, там есть некоторые технические трудности (думацо решаемые), но и главное, кто напишет прошивку для МК.
    Рыцарь ордена Хламовников

    Мои магазины на Мешке: Retro store и Компьютерные комплектующие

  12. #8
    Veteran Аватар для JV-Soft
    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    1,120
    Благодарностей: 600
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Арфы нет ,возьмите бубен


    До 2016 JV-Soft (Eigma Group) http://speccy.info/Enigma_Group
    Сайт http://p-45.zzz.com.ua
    Восстановлен(2015) дополнен и в строю - Pentagon 512(256kb ROM 4 конфигурации ПЗУ)/turbo 7 мгц/кеш 2кб/covox/ AY/AY mouse/fdd robotron 5601/Nemo-Ide/10gb HDD (DNA-OS)
    Восстановлен(2015) и в строю - Харьков 128
    Восстановлен(2016) ZX-Дигитайзер

    Ждут паяльника - пентагон 48 , pentagon 128 , pentagon 128 купленный в 2015.
    [свернуть]

  13. #9
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    566
    Благодарностей: 273
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  14. #10
    Veteran Аватар для JV-Soft
    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    1,120
    Благодарностей: 600
    Mentioned
    0 Post(s)
    Tagged
    0 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.

    Арфы нет ,возьмите бубен


    До 2016 JV-Soft (Eigma Group) http://speccy.info/Enigma_Group
    Сайт http://p-45.zzz.com.ua
    Восстановлен(2015) дополнен и в строю - Pentagon 512(256kb ROM 4 конфигурации ПЗУ)/turbo 7 мгц/кеш 2кб/covox/ AY/AY mouse/fdd robotron 5601/Nemo-Ide/10gb HDD (DNA-OS)
    Восстановлен(2015) и в строю - Харьков 128
    Восстановлен(2016) ZX-Дигитайзер

    Ждут паяльника - пентагон 48 , pentagon 128 , pentagon 128 купленный в 2015.
    [свернуть]

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

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

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

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

Похожие темы

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

Ваши права

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