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

User Tag List

Страница 7 из 9 ПерваяПервая ... 3456789 ПоследняяПоследняя
Показано с 61 по 70 из 84

Тема: Альтернативный ZX Spectrum 1982г для игрового применения

  1. #61
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Байт и атрибут должны лежать в одной строке.
    зачем?
    прозрачный доступ делается очень просто, такты процессора делятся пополам, даже при выборке копа 1 такт можно использовать для целей формирования картинки, видеогенератору надо поток данных в 1.75мгц что ровно в половину меньше частоты процессора. Итого если начинать читать данные в буфер на 1 такт раньше чем надо - получтся, что либо в текущем, либо в предыдущем такте будут данные для видеогенератора. Что бы совместить атрибуты и пиксели хватает 4х битного сдвигового регистра.

    ---------- Post added at 13:21 ---------- Previous post was at 13:21 ----------

    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Те же 150 наносекунд что и в оригинале или более быстрая?
    Обычная тормозная РУ5Г

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

  3. #62
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,553
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Самая критическая операция от процессора Z80 - вычитка первого кода операции, которая занимает 2 такта. Остальные чтения/записи берут 3 такта, и в них вклиниться легко.
    Идея в том, что процессор никогда не допускается на шину памяти дольше, чем на 1 такт. В цикле M1 обращение к памяти длится полтора такта, из них во время одного процессор будет допущен на шину. В остальных циклах обращения к памяти процессор активирует MREQ на 2 такта, и из них опять же, во время одного ему будет предоставлен доступ к памяти.

    Процессор обращается к памяти гарантированно не чаще, чем 1 раз за 2 такта, поэтому из каждых двух идущих подряд тактов один можно предоставить видеоконтроллеру, чего как раз достаточно для его нужд. Одно знакоместо по горизонтали занимает 4 такта, для него надо считать 2 байта (пиксели и атрибут).

    В советских клонах не используется доступ к памяти в пределах одной строки без активации RAS. Это было бы слишком сложно в реализации.
    Цитата Сообщение от predatoralpha Посмотреть сообщение
    У Вас сколько тактов берёт вычитка байта и атрибута видеопамяти?
    По 1 такту на то и другое.
    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Вы их поподряд читаете, или можно и прервать?
    Можно прервать. Схема арбитра "Орель БК" позволяет иметь максимум 2 такта между считыванием байта пикселей и атрибута, но на практике больше одного такта не бывает, т.к. процессор никогда не обращается к памяти 2 такта подряд.
    [QUOTE=predatoralpha;458699]А доступ к памяти для процессора сколько тактов берёт?[COLOR="Silver"]
    1 такт.
    Цитата Сообщение от predatoralpha Посмотреть сообщение
    А память с каким временем доступа применяется? Те же 150 наносекунд что и в оригинале или более быстрая?
    Память работает с постоянной частотой RAS и CAS 3.5МГц. Период составляет 285нс - этого достаточно для РУ5В и может быть даже для РУ5Г. Во всяком случае, в большинстве клонов ставится РУ5Г.

  5. #64
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Гм..
    Как я понимаю, для Спектрума был выбран максимально простой автомат. Два такта чтения (байт и атрибут) и два байта пропуска. Что бы не конфликтовать с процессором - проц просто отрубался.

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

    По умолчанию

    Не факт, что использование задержек - это самая простая реализация арбитража. В конце концов, им все равно нужно было где-то иметь сигнал конфликта процессора и памяти, нужно было иметь какую-то логику прекращения подачи тактовых импульсов и т.д. В совокупности это может быть ничем не проще, чем реализация "Пентагона" и "Орели" без задержек. Но чтобы предметно говорить, надо рассмотреть оба варианта схемы в пределе их упрощения.

  7. #66
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Не факт, что использование задержек - это самая простая реализация арбитража. В конце концов, им все равно нужно было где-то иметь сигнал конфликта процессора и памяти, нужно было иметь какую-то логику прекращения подачи тактовых импульсов и т.д. В совокупности это может быть ничем не проще, чем реализация "Пентагона" и "Орели" без задержек. Но чтобы предметно говорить, надо рассмотреть оба варианта схемы в пределе их упрощения.
    Как по мне, то в оригинальном самая примитивная схема арбитража. Если идет запрос в память/порт, то тупо вырубать. Только для памяти проверяются А14 и А15.
    Вырубается, похоже, на все эти 32 пары чтения, по 4 такта на пару. Какое-либо вклинивание в паузы вообще не предусмотрено. Так что примитивно до ужаса.

    Если бы не было 3-х тактового чтения/записи, то возможно что как-то вклинивали бы на 2 такта. А так - сэкономили на тригерах.
    Последний раз редактировалось predatoralpha; 26.01.2012 в 00:59.

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

    По умолчанию

    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Как по мне, то в оригинальном самая примитивная схема арбитража.
    Ну вот на каком основании ты так считаешь? Ты сравнивал схему арбитража синклера и советских клонов? Может быть схемы советских клонов с "прозрачным" доступом к памяти даже проще, чем блокирующая синклерская. Схему синклерского арбитража - в студию. Без этого говорить не о чем.

  9. #68
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Ну вот на каком основании ты так считаешь? Ты сравнивал схему арбитража синклера и советских клонов? Может быть схемы советских клонов с "прозрачным" доступом к памяти даже проще, чем блокирующая синклерская. Схему синклерского арбитража - в студию. Без этого говорить не о чем.
    Можешь глянуть, что раскопал Крис Смит:
    http://www.zxdesign.info/docs/waitGen-1.17.pdf
    Схема вроде не предполагает вклинивания.

    Кроме того есть разные "проще". Есть проще в количестве логических элементов/тригерров. Есть проще в разработке/отладке на макете. Это разные проще.

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

    По умолчанию

    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Можешь глянуть, что раскопал Крис Смит:
    Спасибо, понятно. Схема довольно сложная. Для сравнения прилагаю схему арбитра памяти Орель БК-08. Как говорится, почувствуйте разницу.

    В реальном компьютере вместо IC3A стоит более сложная схема, предназначенная для реализации теневого ОЗУ и других дополнительных возможностей "Орели" по сравнению с оригинальным ZX, а если бы требовалась только функциональность ZX, то достаточно было бы только элемента, который я показал как IC3A. Остальные элементы, показанные на моей схеме, соответствуют реальным элементам схемы "Орели", и я указал их обозначения на схеме DD7.1, DD9.2, DD15.1.

    Логика работы этой схемы следующая. Если обнаружено обращение процессора в память по адресам 4000-FFFF - то формируется активный низкий уровень сигнала /CSM - запрос обращения к ОЗУ. Далее, если процессору в этом цикле обращения к памяти доступ к ОЗУ еще не был предоставлен - то с триггера DD15.1 формируется низкий уровень сигнала /HM - это выход арбитра. Он там формируется не более чем на 1 такт, после чего снова возвращается в исходное состояние лог. 1.

    Так как циклы обращения к памяти Z80 не длятся более 2 тактов, то за каждое обращение к памяти на сигнале /HM будет сформирован один импульс отрицательной полярности длительностью в 1 такт.
    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Кроме того есть разные "проще". Есть проще в количестве логических элементов/тригерров. Есть проще в разработке/отладке на макете. Это разные проще.
    Ну вот, теперь у тебя появилась возможность сравнить обе схемы и проанализировать их. Какая из них, с твоей точки зрения, проще для понимания и наладки?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	orelbk_mem_arbiter.jpg 
Просмотров:	248 
Размер:	18.7 Кб 
ID:	32526  

  11. #70
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Ну вот, теперь у тебя появилась возможность сравнить обе схемы и проанализировать их. Какая из них, с твоей точки зрения, проще для понимания и наладки?
    Сразу видна неприменимость для оригинального Спектрума - на Синклере микросхема УЛА обрабатывала не только память, но и порты. Соответственно, нужен дополнительный арбитраж для портов. А цикл чтения-записи портов уже не 2, а 3 такта. Со всеми вытекающими отсюда последствиями.
    Во-вторых, наличие такого арбитра, что Вы привели, предполагает
    а) что УЛА может подождать 1 такт
    б) что вычитка байта и атрибута могут быть не поподряд.
    Т.е. что упрощение схемы здесь может усложнить схему "там".
    Последний раз редактировалось predatoralpha; 27.01.2012 в 01:03.

Страница 7 из 9 ПерваяПервая ... 3456789 ПоследняяПоследняя

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

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

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

Похожие темы

  1. О новых сферах применения платформы Spectrum
    от Black_Cat в разделе ZX Концепции
    Ответов: 39
    Последнее: 11.01.2010, 21:44
  2. Фотография игрового клуба
    от unbeliever в разделе Пресса
    Ответов: 7
    Последнее: 22.09.2007, 23:39
  3. Применения ZX
    от targon в разделе Софт
    Ответов: 45
    Последнее: 04.10.2005, 12:03

Ваши права

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