User Tag List

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

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    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

    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,159
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #3

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    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

    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    13 сообщений
    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

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    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

    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    610
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Например, если бы в Спектруме данные видеоконтроллеру передавались не напрямую из памяти, а через процессор - то процессор просто не справился бы с необходимой скоростью передачи, а на более низкой скорости передачи он был бы целиком занят обработкой видеосигнала, и ни на что другое не осталось бы ресурсов.

    Немного истории:

    На "папе" Спектрума ZX81 вообще не было видеопамяти, всю картинку рисовал Z80 на частоте 3,25мгц.

    На лету выдавая ЮЛЕ строку 256 точек. Правда на работу программы оставалось только время хода луча по бордюру.

    Режим назывался SLOW и было основным. Эффективная тактовая частота проца, остававшаяся для программ ~0,85мгц.
    ( в режиме FAST проц работал над программой а экран просто гас )

    Кстати встречалась инфа, что для Спека тоже планировался подобный софтварный режим экрана.

    Для "телетекстового экрана" 40*24 точек, и цветовые коды символов в наличии.

    Но не успели допилить из-за скандального ухода Альтвассера и Виккерса в начале 82го.

    И это jосновная(имхо) причина, что ~1200 байт в ПЗУ остались неиспользованными.

    Никакой "драйвер микродрайва" туда не влез бы - он в Interface I емнип 4кб весит и учитывая отсутствия его в реале до начала 83го писать на него дрова бред. Зато софтовые медленные режимы графики вполне.

    А вот если глянуть на конкурента, из-за которого Синклер так торопился с выпуском, BBC Micro - то там он был(на отдельном чипе-контроллере), и был востребован.

    Потому что хотел такой экранный режим по максимуму меньше 2кб ОЗУ.

    Что при объемах ОЗУ обоих машин в 16кб (основные продающиеся в 1982м) весьма хорошо.

    В рекламных листах с апреля и по конец лета 1982го про "software-driven teletext mode" прямо написано, и тогда же продавали спеки Issue 1 с ПЗУ на панельках. Вот такая вот история...
    Последний раз редактировалось Бука; 09.10.2015 в 22:06.
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm http://lurkmore.to/Лунный_заговор

  8. #7

    Регистрация
    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 и т.д. преобразует их как вам угодно и засылает их в память спека по вышеуказанному принципу управление шинами для него будет элементарно в реализации.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  9. #8

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

    По умолчанию

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

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

  10. #9

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

    По умолчанию

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

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

  11. #10

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,101
    Спасибо Благодарностей отдано 
    1,333
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    151 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

Страница 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

Ваши права

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