Там не память медленная. Память там нормальная. Там просто видеоконтроллер делит доступ к ОЗУ совместно с Z80 примерно с частотой в 7 МГц из рассчета, что в (возьмем условно) "четные" такты к памяти обращается проц, а в "нечетные" - видеоконтроллер считывает данные для видеоизображения. Т.е. и проц и контроллер обращаются к ОЗУ с частотой в 3.5МГц, только в разное время. В итоге при работе в режиме 3.5МГц процессор и контроллер никак друг другу не мешают. Другое дело при турборежиме. В нем контроллер по прежнему работает по "нечетным" тактам с частотой в 3.5МГц, а вот проц тактируется уже все 7МГц и понятие четны/нечетных тактов для него перестает существовать - он пытается достать ОЗУ каждый такт. И с вероятностью (условно - есть нюансы, но они для понимания общего смысла не важны) в 50% натыкаются на одновременно посланный запрос на доступ от видеоконтроллера. При этом схема машины устроена так - что в этом случае приоритет отдается именно контроллеру - просто при запросе контроллера на доступ к ОЗУ выдается сигнал WAIT, который, однако, срабатывает только в том случае, если процессор попытается обратиться к ОЗУ в этот момент. Поэтому, например, WAIT не возникает при командах, целиком обрабатывающихся "внутри" Z80 без считывания дополнительных данных из ОЗУ или записи туда (например, какие-нибудь LD A,B; EX DE,HL; OUT (C),A и т.д.), или если работа идет в ПЗУ.
Это оно. В АТМ-1 через частоту возникновения этого сигнала вычислялся ключ для расксорки зашифрованного кода в ПЗУ при его "самораспаковке" в ОЗУ (это весь BIOS CP/M). В АТМ2(+) в старых ПЗУшках сплошной ксорки не было, но сигнал Z тоже как-то там учитывался (глубоко не копал). В современных версиях xBIOS никакой "шифровки" и учета сигнала Z нет.
- - - Добавлено - - -
Ну при 60 герцах там в одном промежутке прерывания будет меньше тактов, и куча всего софта и демок "уедет" нафиг. Уже сталкивался с этим. Собственно, это и предполагалось. Не вижу большого смысла в его использовании даже с учетом географического пребывания...







Ответить с цитированием
