Если память способна выдать данные за один такт процессора (РУ5 вполне это может на 3.5 мгц, на 7мгц - могут симмы) - то проблем возникнуть не может. Причина: когда процессор обращается к памяти, это обращение длится минимум два такта (чтение опкода). Один из этих тактов точно - видеопроцессорский, один - процессорский. Т.е. коллизий не бывает
Добавлено через 1 минуту
Схему магик-5 я уже выкладывал в теме "список отечественного спекки-железа". Если надо - выложу снова.
Схему турбирования нашел, попытаюсь (если время будет) сегодня вечером слегка очеловечить и выложить.
Последний раз редактировалось AlexCrush; 04.05.2007 в 15:21. Причина: Добавлено сообщение
Scorpion 256 TurboPlus GMX2048 edition (с новой ревизией спец-чипов - Турбина и ПрофПЗУ на GAL22v10D, ФАПЧ дисковода - GAL16v8D ),CARO ZX_MC/SMUC1.3/GeneralSound 512 Kb/FDD3.5+5.25... Pentagon1024Sl v2/Z-controller+SD 2Gb/GS-512/TurboSound/FDD3.5+5.25...Speccy2007 48 +SD 2Gb ( 128+Ay в процессе ) ... Все через PAL-Coder
Что-то кто-то пытается все запутать...
2. Если применяется быстрое ОЗУ которое за один такт процессора может успеть выдать данные и CPU и видеоконтроллеру;Надо читать "выдать данные или CPU или видеоконтроллеру".Еще раз. Причина по которой нам приходится притормаживать процессор это разная длина машинного цикла для разных команд (3-4 такта). Следствие причины - проц не может работать синхронно с видеоконтроллером, переодически возникает ситуация при которой проц обращается к ОЗУ не в свое время. Притормаживать приходится только в системах в которых ОЗУ за такт процессора способно считать-записать только один байт (это классическая РУ5 с периодом обращения 280нс). Выход из ситуации применять память которая способна за такт процессора обрабатывать запрос и от процессора и от видеоконтроллера. Если считать схему видеоконтроллера неизменной, то при 3,5Мгц тактовой частоты процессора память должна работать на частоте 7Мгц, при 7Мгц частоты проца память должна работать на частоте 10,5Мгц.Именно "И", потому что тормозить проц приходится именно тогда, когда проц нуждается в пересылке данных, но в это же время идет выборка данных видеоконтроллером.
Да, быть может объясняю я не совсем понятно, но всё же попробую еще раз.
Неверно. Можно достичь равенства частоты памяти и ЦП. Это доказано в схеме Magic5 - компьютер собран на РУ5, при этом не используется ни сигнал Wait, ни замораживание тактовой частоты, ни прочие приемы "торможения" процессора. За одно прерывание имеем РОВНО 69888 тактов (312 строк - т.е. нормальный видеостандарт).
============================================
Мои изначальные утверждения:
1. Для полностью безваитовой работы в режиме 3.5 Мгц достаточно памяти, работающей на частоте 3.5 Мгц. Доказано разработчиками Magic5
2. Для полностью безваитовой работы в режиме 7 Мгц достаточно памяти, работающей на частоте 7 Мгц. Следует из (1), доказано моими доработками Magic5 5-летней давности.
Объясняю утверждение №1 (тактовая частота процессора 3.5 Мгц).
Видеопроцессору за одну горизонтальную строчку экрана (не бордюра) (256 пикселов, 128 тактов ЦП) нужно 32 байта пикселов и 32 байта аттрибутов. Т.е. 64 байта. Т.е. один байт раз в два такта.
У процессора обращение к памяти занимает или 2 (чтение опкода) или 3 такта (чтение/запись данных) . Т.е. в худшем случае (которого, впрочем, не бывает), процессору нужно получать данные раз в два такта.
Теперь поделим все такты между ЦП и видео "по справедливости" через один, т.е. один такт процессору, а следующий - видео. Предположим, что видеоконтроллер полностью использует все свои такты (что на самом деле не так - есть бордюр), и в каждый свой такт обращается к памяти.
А сейчас для улучшения понимания рассмотрим все возможные варианты действий процессора с памятью в разные моменты времени (по тактам):
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
(Картинки продублированы во вложении "TurboDescriptionsPictures.zip").
Т.е. в любом случае, процессор и видеоконтроллер друг другу не мешают. Каждый обращается к памяти исключительно в свой такт.
Бывает так, что процессор читает (или записывает) данные из памяти по два раза (см "чтение или запись данных, вариант 1"). Ничего страшного в этом нет.
Таким образом, частота сигналов RAS и CAS равняется 3.5 Mhz.
В турборежиме ничего принципиально не менеяется. Все частоты поднимаются в два раза за исключением частот видеосчетчиков (включая строчную и кадровую синхру). А видеоконтроллер читает данные из памяти не каждый второй такт, а лишь каждый 4-й.
Во вложениях:
TurboDescriptionsPictures.zip (11.3 Кб) - картинки из этого поста
Magic5_DJVU.zip (329.8 Кб) - схема Magic 5, оригинал, 3.5 Мгц
TurboScheme.zip (58.2 Кб) - схема турбирования.
Картинка Turbo.djvu - это скан моих "записей" (скудно, да ведь? ) о турбировании magic5. Это просто изменения, которые нужно внести в схему магика чтобы он полностью стал 7 Мгц (без wait). Здесь нет системы "выключения" турбы, так же не приведен генератор wait-ов при обращении к медленным портам (ВГ93) - пока что я не нашел схему .
Картинка TurboM5.djvu - это измененная схема Magic5 (изменяется только вторая страница схемы). Изменения касаются элементов D11,D12,D13 и D22.
P.S. Если я опять не смог кого-либо убедить в возможности существования безваитового обращения к памяти, которая работает на частоте процессора, то прошу обратить внимание, на то что это уже сделано 16-17 лет назад в Magic5.
Последний раз редактировалось AlexCrush; 04.05.2007 в 21:42.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Scorpion 256 TurboPlus GMX2048 edition (с новой ревизией спец-чипов - Турбина и ПрофПЗУ на GAL22v10D, ФАПЧ дисковода - GAL16v8D ),CARO ZX_MC/SMUC1.3/GeneralSound 512 Kb/FDD3.5+5.25... Pentagon1024Sl v2/Z-controller+SD 2Gb/GS-512/TurboSound/FDD3.5+5.25...Speccy2007 48 +SD 2Gb ( 128+Ay в процессе ) ... Все через PAL-Coder
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)