![]() |
Турбирование ZX
Интересно, а каков вообще принцип турбирования ZX?
Известно что память в ZX работает на частоте в 2 раза быстрее CPU. Обращения ВК (видеоконтроллера) и CPU чередуются (здесь я имею в виду схему с "прозрачным" ВК). Насколько я понимаю задачу: увеличить количество обращений CPU, оставив неизменной частоту обращений ВК. Частота памяти и CPU повышается еще в 2 раза, лишнее обращение ВК пропускается? |
Quote:
Насколько мне известно. Стандартное турбирование заключается только увеличением частоты процессора, циклы обращения к памяти по моему не изменялись. Поэтому турбирование достигает до процентов 80%...90%. Я же изменил тактику, увеличив все, но пришлось расплачиваться более быстрой памятью. Но турбирование здесь 100%. Если интересно, посмотри ветку ZX-777, начальные схемы. А там можешь додумать как тебе поступить. Турба это вещь!!!! |
Но ведь CPU и память синхронизированы? Или же во время обращения к памяти выдаем WAIT и работаем фактически на 3.5 мГц?
|
Мне показалось что тут есть некоторое непонимание. Обычные РУ5 имеют период обращения (не путать с термином времененем доступа обычно применяемым для скорости SIMM памяти, время доступа обычно на ~70% имеет меньшее значение) в 280нс (T=1/f=1/280нс=3,5Мгц). Но процессор Z80 обращается к памяти не каждый такт, а один раз в 3-4 такта (в зависимости от команды). Тоесть условно можно считать что память может иметь период обращения в 3 раза большее, или скорость проца при той же памяти может быть большей в 3 раза. Но память в Spectrum состязательная, тоесть разделяет "окна доступа" с видеоконтроллером. А видеоконтроллер за один машинный цикл проца (3-4 такта) на частоте 3,5Мгц обращается к памяти два раза (для получения значения пикселов и атрибутов). Поскольку проц Spectrum работает синхронно с видеоконтроллером, то реальное разделение времени выполняется так:
1 Z80 2 Video pixel 3 Z80 4 Video attribute. Если бы проц всегда имел длину мацинного цикла в 4 такта то память бы (при частоте проца в 3,5Мгц) использовалась на 50% (на 7Мгц проца на 100%). Но у Z80 есть и машинные циклы в 3 такта. Вот поэтому получается что проц и на 3,5Мгц притормаживается по WAIT (дабы попасть в свое "окно") и таже ситуация наблюдается и про 7Мгц. |
А в без-wait-овой схеме?
|
Безваитовая схемы бывают нескольких типов:
1. Если видеопамять находится физически в других микросхемах ОЗУ; 2. Если применяется быстрое ОЗУ которое за один такт процессора может успеть выдать данные и CPU и видеоконтроллеру; 3. Если применяется чтение видеопамяти на опережение, как в Пентагоне, он кстати тоже безваитовый. Похоже (не совсем уверен) что на этом же принципе построена и схема безваитового Ленинграда. |
Quote:
Дело ведь в том, что процессору,как уже было верно замечено, данные из памяти нужны не чаще чем раз в 3 такта, причем каждое обращение длится 2 такта. Видеопроцессору при стандартном разрешении нужны данные раз в два такта (при частоте 3.5 Мгц). Поэтому самый простой способ безвайтового обращения к памяти - чередование тактов. Четные такты - процессору, нечетные - видеоконтроллеру. В компьютерах Magic5,6 и Кворум этот метод отлично работает с микросхемами РУ5Б,Г и даже Д. В 100% турборежиме ничего принципиально не меняется, разве что видеоконтроллер будет использовать лишь половину из выделенных ему тактов. Память нужно заменять на SIMM модули (что стандартно и привычно), или на любые микросхемы, имеющие время цикла чтения менее 140 нс. Данная техника турбирования опробована мной на Magic5 лет 5 назад, причем изменения в схеме именно для турбирования - минимальные - ни одной новой м/с. А вот чтобы сделать переключение 3.5/7 Мгц пришлось сделать побольше - по-моему, одна или две м/с. |
Quote:
:v2_wink2: |
Quote:
|
Quote:
Добавлено через 3 минуты Quote:
На ПЛМ построен магик-6, но туды соваться с целью увеличения памяти или турбирования - бесполезно. Я пробовал расширять ему память (подменой уже готового мультиплексированного сигнала MA7) - но ничего толкового не вышло (нет возможности узнать, какой сейчас такт - видео или процессора). Зато магик 6 собран всего на 16 м/с, включая 8 РУ5 ;-) |
| All times are GMT +4. The time now is 08:22. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.