Из газеты Move #04, Минск, 18.04.1997 ЖЕЛЕЗО ------------------------------------------ (c) Ars MDM 249-97-53 Довольно часто пользователи Speccy спо- рят о том, чей компьютер является "более фирменным", что такое "двухполевая машина" и т.п. Если Вас интересуют эта тема, то советую ознакомиться с информацией "Инфор- кома" по данным вопросам. Ars. Микропроцессор Z80 может обслуживать адресное пространство в 64K. В стандартном компьютере оно распределено следующим об- разом: #FFFF +---------+ ····· | ОЗУ | #8000 | 32K | #7FFF +---------+ ····· | ОЗУ | #4000 | 16K | #3FFF +---------+ ····· | ПЗУ | #0000 | 16K | +---------+ В низших адресах от #0000 до #3FFF распо- лагается ПЗУ 16K, содержащее операционную систему Спектрума. Память в адресах с #4000 до #7FFF выполнена на 8 микросхемах динамической памяти DRAM типа 4116 с орга- низацией 16Kx1. Отечественным аналогом яв- ляется микросхема 565PY3 или 565PY6 (то же но с одним источником питания). Дополни- тельная память 32K в адресах с #8000 по #FFFF представлена 8 микросхемами DRAM 64Kx1, у которых (у всех одинаково) отбра- кована одна из половин - левая, правая, верхняя или нижняя. Нашим аналогом являют- ся "половинки" микросхем 565PY5 с марки- ровкой 565PY5Д1 или 565PY5Д2. В фирменном Спектруме, как известно, контроллер дисплея выполнен на одной БИС - программируемой логической матрице ULA или Uncomitted Logic Array. Хитрость микросхем типа ULA состояла в том, что фирма-изгото- витель выпускала их в незавершенном виде, т.е. как полуфабрикат, а затем в некотором "секретном" цехе она немного дорабатыва- лась ("зашивалась") под требования заказ- чика - Sinclair Research Ltd. Сэр Клайв Синклер был вынужден прибегнуть к такому методу защиты своего компьютера наученный горьким опытом со своей предыдущей машиной ZX-81, которая была мгновенно пиратски растиражирована по всей Европе. Надо ска- зать, что эта защита свою роль выполнила блестяще. Прошел не один год, пока научи- лись эмулировать эту микросхему с помощью "мелкой логики". В самодельных компьютерах функции ULA выполняет "рассыпуха" из 20-40 микросхем, причем многие варианты Спектру- ма различаются именно построением контрол- лера дисплея и количеством микросхем, зат- раченным на него. Оперативная память дисплея Спектрума расположена в адресах: #4000-#57FF - па- мять точек экрана, #5800-#5AFF - память атрибутов. Через каждые 20 ms контроллер дисплея аппаратным образом считывает ин- формацию из этой области для регенерации изображения на экране дисплея, причем для каждой строки обращение к этой области происходит 64 раза: 32 раза считываются по 8 точек строки (состоящей из 256 точек), чередуясь с 32-кратным считыванием атрибу- тов знакомест, в состав которых входит данная строка. Понятно, что во время этих считываний микропроцессор не может обра- щаться к микросхемам памяти, в которых на- ходится память дисплея. В фирменной машине этот конфликт решен так: если в момент ап- паратной регенерации изображения на экране дисплея процессор, выполняя программу, об- ратится к этим микросхемам, то на него ап- паратно перестают подаваться тактовые им- пульсы. Это, конечно, замедляет выполнение прграммы, но не очень сильно, т.к. во-пер- вых, не замедляется работа с "верхними" 32K памяти, которые физически выполнены на других микросхемах, во-вторых, процессор "свободно" работает с "нижними" 16K, обра- щаясь к ПЗУ Спектрума и, в-третьих, он имеет возможность работать с экранной об- ластью памяти, т.к. регенерация изображе- ния происходит неравномерно, что показано на диаграмме: Обратный Border 1 2 ход по | c ++ ++ ++ ++ ------------------~------++-++---++-++ ··· кадрам | a b a b Border Обратный c ++ ++ | ход по ···---++-++--------~---------------------- a b | строкам Работа процессора приостанавливается толь- ко при одновременном обращении в моменты a) и b), когда a) - происходит считывание в буфер байта точек экрана, b) - считыва- ется байт атрибутов знакомест. Все осталь- ное время - во время обратного хода по кадрам, по строкам, во время вывода бордю- ра в верхней, левой, нижей и правой частях экрана, а также внутри основной рамки изображения, в моменты времени c) процес- сор работает без ограничений. Из самодельных Спектрумов наиболее пол- но копируют идеологию фирменного компьюте- ра те, что используют раздельную память. В вариантах с общим полем памяти используют- ся микросхемы 64Kx1, нижние 16K которых как бы "затеняются" ПЗУ. Использование об- щего поля памяти сокращает общее количест- во микросхем на 12-15 корпусов, уменьшает потребление компьютера, его размеры, т.е. обладает несомненными достоинствами. Слож- ность же здесь состоит в том, что для сох- ранения прежней скорости работы программ приходится повышать частоту обращения к памяти, что повышает требования к быстро- действию микросхем памяти, их согласованию с другими микросхемами и т.п. Процессор в таких вариантах приостанавливается или ос- тановкой тактов или с помощью сигнала WA- IT. Следует также отметить, что фирменный 'Sinclair 128+' тоже выполнен по схеме вы- полнен по схеме с общим полем памяти, и в первые годы после его появления на рынке пользователи часто отмечали некоторую не- совместимость программ, написанных ранее для 'Spectrum 16K' и 'Spectrum 48K', но в программах, написанных позже, программисты видимо учли архитектуру 128-го, и поэтому с несовместимостью программ практически сталкиваться не приходится.