Батьков Г.А.
О З У У К Н Ц :
ШТАТНОЕ И ДОПОЛНИТЕЛЬНОЕ
Технические характеристики ОЗУ в значительной степени определяют
возможности ЭВМ, а значит и области ее применения. Что же может УКНЦ ?
ШТАТНОЕ ОЗУ.
УКНЦ выпускается с оперативной памятью общим объемом 192 Кбайта,
которая размещается в микросхемах типа КР565РУ5В. 56 Кбайт отводится
под ОЗУ центрального процессора (при работе процессора в специальном
режиме HALT ему непосредственно доступно 64 Кбайта). 32 Кбайта
отведено под ОЗУ периферийного процессора. К этой памяти процессоры
имеют непосредственный доступ. Здесь могут храниться как
программы, так и данные. Оставшиеся 96 Кбайт доступны только через
регистры, т.е. для доступа к ним необходимо предварительно в регистр
адреса записать число - адрес нужной ячейки, а затем прочитать (или
записать) данные из регистра данных. Это механизм регистрового доступа
к памяти. Большая часть такого ОЗУ используется как видеопамять, но не
исключено хранение произвольных данных, что и делают драйверы так
называемых квази-дисков (типа KD, VM, RD). Центральный процессор имеет
доступ через регистры к 64 Кбайтам из этих 96, а периферийный - ко
всем 96 Кбайтам. Вообще же из всех 192 Кбайт через регистры доступны:
центральному процессору - 128 Кбайт, периферийному - все 192 Кбайта.
ОЗУ центрального процессора (ОЗУ ЦП) обычно используется для
размещения операционной системы (ОС) и прикладных программ. ОС (вместе
с драйверами) занимает около 8-12 Кбайт и оставляет свободной примерно
44-48 Кбайт.
Часть ОЗУ периферийного процессора (ОЗУ ПП) используется
программным обеспечением, зашитым в ПЗУ (объем которого составляет так
же 32 Кбайта). На это уходит около 10 Кбайт. Оставшиеся примерно 22
Кбайта можно использовать произвольно.
Несколько слов о быстродействии, т.к. эта тема напрямую связана с
вопросом об организации памяти.
У многих владельцев УКНЦ часто возникает вопрос о возможности
повышения быстродействия компьютера. Первое, что приходит в голову -
повышение тактовой частоты процессора. Но насколько эффективна данная
процедура ? Различные тесты показали, что быстродействие центрального
процессора большинства нетурбированных машин лежит в пределах
500 - 700 тыс. коротких операций в секунду (типа регистр-регистр).
Микропроцессор КМ1801ВМ2, на котором (точнее, на которых) сделан
компьютер, при благоприятных условиях без особого труда способен дать
1 - 1.2 млн. оп./сек., а на отдельных экземплярах и более. Однако
эксперименты показали, что на УКНЦ более 780 - 800 тыс. оп./сек.
(редко до 830 - 840 тыс.) получить не удается. С дальнейшим ростом
тактовой частоты растет только быстродействие команд, выполняемых
микропрограммно, т.е. команды умножения и деления (MUL и DIV). Основ-
ные же для любой программы команды (по работе с памятью) турбируются
слабо или не турбируются вовсе. Таким образом общее быстродействие
центрального процессора можно поднять не более чем на 10 - 20 %,
в лучшем случае до 30 % (если до турбирования компьютер работал крайне
медленно). Казалось бы и это уже кое-что, но простое повышение такто-
вой частоты в абсолютном большинстве случаев недостаточно, чтобы ваша
ЭВМ работала быстро. Центральный процессор работает на 8 МГц. Если
сделать, скажем, 10 МГц, то такой фокус может и получится, но прибавка
по скорости будет незначительной и пользователь скорее всего ее просто
не заметит (разве только специальными тестами). Если же подать 12 МГц,
то, почти наверняка, ваша машина очень быстро зависнет или вообще не
запустится. Не вдаваясь в подробности отметим только, что здесь будет
много возни, прежде чем ЭВМ будет работать надежно. Окупятся ли трудо-
вые и временные затраты -- решать вам, однако опыт работы многих
пользователей на МС0511 пока не выявил таких задач, где данная
прибавка по скорости была бы принципиальна. Для сравнения заметим, что
быстродействие IBM PC XT (на 4.75 МГц) приблизительно равно быстродей-
ствию центрального процессора УКНЦ.
В чем же причина торможения работы центрального процессора УКНЦ ?
Она лежит в аппаратной организации ЭВМ: работу ЦП (и ПП) задерживает
память в широком смысле слова, т.е. включая доступ к ней, различные
"обвески". Изменить эту организацию не представляется возможным и
целесообразным.
Если с центральным процессором и его памятью все достаточно просто,
то с периферийным дело обстоит иначе. Наличие второго процессора и его
собственного ОЗУ заметно выделяет УКНЦ на фоне остальных домашних и
учебных ЭВМ. Мы не будем здесь сочинять оду периферийному процессору
(тем более что у каждой медали есть обратная сторона) - речь идет о
памяти. Как уже было сказано, объем ОЗУ ПП равен 32 Кбайтам, если не
считать доступ через регистры. Остальные 32 Кбайта адресного
пространства занимает ПЗУ. Аппаратная организация ОЗУ ПП отличается
от организации ОЗУ центрального процессора. Обе магистрали ЭВМ
(центрального и периферийного процессоров) представляют собой шины
стандарта МПИ. Память центрального процессора организована как 1*16,
т.е. за одно обращение к памяти извлекается сразу 16 разрядов данных -
одно машинное слово. Память периферийного процессора сделана как 2*8.
Поясним. Т.к. данный микропроцессор - шестнадцатиразрядный, то за одно
обращение к своему ОЗУ он должен получать 16 бит данных. Реально же за
одну выборку (обращение) от ОЗУ ПП можно получить только 8 бит.
Конфликтную ситуацию устраняет контроллер памяти ПП - он
последовательно дважды обращается к восьмиразрядному ОЗУ (это и есть
2*8) и на шину процессору выставляет уже 16 бит данных, таким образом
последний особенностей работы в этом отношении не имеет. Очевидно, это
одна из причин, замедляющих работу ПП.
Другая причина торможений - общая для обоих процессоров. Извлечение
данных из ОЗУ видеоконтроллером ЭВМ происходит по тем же линиям что и
процессорами. Процессоры и видеоконтроллер работают с ОЗУ по очереди,
которая имеет строгую временную диаграмму, определенную требованиями
развертки монитора (см. рис.).
|<---Т--->|<---Т--->|<---Т--->| |
| | | | |
| | | | |
| Ц.Э. | Ц.Э. | Ц.Э. | Ц.П. | Ц.Э.
---|---------|---------|---------|---------|---------
Т - время цикла
Т=320 нс
Видеоконтроллер имеет более высокий приоритет для доступа к ОЗУ. Время
доступа видеоконтроллера к ОЗУ называется цикл экрана (Ц.Э.), время
процессора (или любого другого устройства, кроме видеоконтроллера) -
цикл процессора (Ц.П.). В очереди видеоконтроллера всего три Ц.Э.,
общей длительностью 960 наносекунд. Когда процессору нужно обратиться
к памяти, то он выставляет соответствующий запрос арбитру. Если этот
запрос подан процессором во время Ц.Э., то ему предоставят ОЗУ в
ближайший по времени Ц.П. Если же запрос выставлен во время текущего
Ц.П. (хотя бы и в самом начале), то ОЗУ он получит только в следующем
Ц.П., т.е. прождав минимум три Ц.Э. Повышение тактовой частоты приво-
дит к тому, что все большее число запросов к памяти успевает попасть в
последний Ц.Э. и процессор успевает произвести обмен данными в ближай-
ший Ц.П., а не ждет следующего. Однако, когда исполнение почти всех
команд процессора начинает работать подобным образом, то наступает
предел быстродействия ЭВМ - ЦП и ПП будет задерживать строгий режим
доступа к памяти. Если теперь повышать тактовую частоту дальше, то,
безусловно, каждая машинная инструкция будет исполняться быстрее, но и
ждать процессор своей очереди будет дольше. Для ПП, кроме этого, как
уже было сказано выше, общее время исполнения машинной инструкции
увеличивается за счет восьмиразрядной организации памяти.
Итог для ПП: 6 МГц тактовой частоты, плюс время на видеоконтроллер,
плюс восьмиразрядная память дают относительно низкое быстродействие
нашего дополнительного процессора, которое по тестам составляет: для
программ в ОЗУ - 350-400 тыс. оп./сек.; в ПЗУ - на 5-10 % быстрее, чем
в ОЗУ. Поэтому программистам мы советуем не возлагать на него задачи,
критичные по времени, а обходиться по возможности ресурсами основного
процессора. Если это невозможно, то используйте команды и методы
адресации с минимальным числом обращений к памяти, т.е. чаще напрямую
обращайтесь к внутренним регистрам процессора. Кроме того максимально
задействуйте подпрограммы, зашитые в ПЗУ, это еще и сэкономит ОЗУ. Тем
не менее заметим, что данной скорости исполнения программ вполне
хватает для решения множества задач, а основная задача ПП -
обслуживание и эмуляция внешних устройств. Кроме того, для сравнения
скажем, что, при всем вышеупомянутом, скорость работы второго
процессора превышает скорость работы нетурбированного БК-0010
(БК-0011). В итоге, при всех отмеченных особенностях, УКНЦ, образно
говоря, по суммарному быстродействию представляет собой более трех
БК-0010 (это сказано не для критики БК, а скорее к вопросу о
необходимости турбирования). Если, тем не менее, кому-то захочеться
протурбировать свою ЭВМ и он сможет получить при этом ощутимые резуль-
таты, то я буду рад узнать об этих экспериментах в подробности.
Теперь несколько слов о надежности памяти. Здесь все просто: в УКНЦ
нет аппаратного контроля и исправления ошибок памяти. Это значит, что
либо ЭВМ работает, либо нет. Записанные в ПЗУ тесты проверки
оперативной памяти при включении машины отчасти позволяют это
определить. Хуже, если ошибки начинают проявляться через некоторое
время успешной работы, т.е. с прогревом микросхем. В том и другом
случае компьютер нуждается в ремонте. Однако статистика говорит, что
как правило среди неисправных МС 0511 не так много машин с плохой
памятью: в большинстве случаев причина брака в другом. Тем же
пользователям, у которых возникли проблемы (например, непонятные сбои
в работе), советуем не спешить с выводами о некачественной аппаратной
части. Скорее всего, вы сами в чем-то не разобрались как следует или
используется некачественное программное обеспечение. Аппаратный сбой
от программного можно отличить так: если кроме операционной системы в
память ЭВМ ничего не загружено и вы долго не притрагивались к
клавиатуре, и после этого сбой все же произошел, то аппаратная часть
неисправна. Но так можно выявить не все неисправности ЭВМ.
ДОПОЛНИТЕЛЬНОЕ ОЗУ.
Что это такое и зачем нужно на УКНЦ ? Приведем несколько примеров
из жизни простого пользователя.
Допустим, произошел программный сбой, да такой, что требует пере-
загрузки машины. Если эта ситуация возникает часто, то вместе со вре-
менем тратятся и нервы (особенное сочувствие вызывают пользователи
классов УКНЦ МС0202, работающие со стандартной локальной сетью). Кроме
того, в дисководе постоянно должна находиться системная дискета. Рабо-
та операционной системы приводит к активному ее износу. Появляются
сбои из-за ошибок в чтении/записи. Вместе с дискетами активно изнаши-
ваются дисководы. Последние, в дополнение ко всему, имеют весьма невы-
сокую скорость работы и даже если использовать высококачественные и
долговечные импортные дискеты, то временные затраты на обращение к
магнитному диску по прежнему останутся значительными.
У программистов проблем и того больше. Если у вас возникло желание
или потребность написать какую-либо серьезную систему, то почти
наверняка встанет вопрос о нехватке ОЗУ. Первое что можно и нужно
сделать - это тщательнее подобрать алгоритм работы. В ряде случаев
можно тогда "сжать" программу в несколько раз. Когда этого не хватает
некоторые разработчики используют оверлеи - загрузка программы или
данных в память по частям. Но не всегда это возможно и удобно, т.к.
программа усложняется, да к тому же загрузка оверлеев требует
дополнительного времени (для дисковода это несколько секунд). Другой,
хотя для многих и не самый лучший способ, это выбор языка
программирования. Например, ассемблер может обеспечить самый
компактный и быстродействующий код, но он не удобен для решения чисто
математических задач или им подобных. Не имея здесь возможности
проводить дальнейший анализ, порекомендуем обратить ваше внимание на
языки Си и Форт. Оба они (особенно версии Форта 1993 и 1994г.) дают
достаточно плотный и быстродействующий в сравнении с другими языками
высокого уровня код. Так или иначе после всех предпринятых мер
наступает предел и вы видите невозможность воплощения своего замысла
на этой марке компьютера. Если для задуманной системы хватает всех
ресурсов машины, кроме памяти, становится обидно.
Эти и другие проблемы привели к тому, что рядом фирм, независимо
друг от друга были разработаны так называемые "электронные диски".
Несмотря на то, что они производятся и рекламируются достаточно давно,
многим все же не до конца ясно что это такое и для чего нужно.
Электронный диск (ЭД)- электронный модуль с дополнительными
микросхемами оперативной памяти (обычно КР565РУ7). Внешнее исполнение
различно и зависит от объема ОЗУ. Память размером 512 Кбайт
размещается в такой же коробочке, как и контроллер дисководов (КМД УК)
и устанавливается так же как и последний и рядом с ним, т.е. в
свободный разъем. Память размером 1 Мбайт у разных производителей
сделана по-разному: это либо отдельный настольный блок (возможно с
независимым энергопитанием), либо такая же коробочка, как у КМД УК
(последние сделаны на микросхемах объемом 1 Мбит).
Как использовать эту память и что она дает ?
Осветим сначала общие моменты для всех ЭД не зависимо от
модификации. Каждый из производителей прилагает к электронному диску
соотвествующую программную поддержку - драйвер. Вспомним квази-диски
KD, VM, RD, SD и им подобные. Многие их так же называют электронными
дисками, но во избежание путаницы мы сохраним за ними термин
"квази-диск". Представьте теперь что их объем не 100 - 170 блоков а,
например, 1000 - 1010 (для модуля 512 Кбайт) и цветов (градаций
яркости для черно-белых мониторов) у компьютера при этом не два, а все
восемь при полном сохранении палитры. Кроме того, после нажатия кнопки
сброса ЭВМ все данные полностью сохраняются, а если ЭД выполнен в виде
выносного блока с независимым энергопитанием, то и после выключения
компьютера. Еще одно преимущество - возможность записи на ЭД
полноценной операционной системы. Это определило основное его
применение - в качестве системного устройства, т.е. того, с которого
ОС загружается в ЭВМ. Насколько это удобно ? Поскольку данное
устройство исключительно электронное и не содержит никакой механики,
то скорость работы с операционной системой (и вообще при чтении/записи
файлов) возрастает в несколько раз. Для примера: скорость обмена
данными с гибким магнитным диском около 32 Кбайт в секунду; с
электронным диском - 100 Кбайт/сек. Однако при работе с дискетами
основное время уходит не на непосредственный обмен данными с указанной
выше скоростью, а на поиск их на дискете, на передвижение головок
дисковода и т.п. У ЭД на эту операцию уходят миллисекунды, т. е. в
первом приближении - мгновенно ! Следующий замечательный момент -
отсутствие износа дискет. Дискеты теперь нужны только для хранения
файлов. Основная работа ведется на электронном диске, а к НГМД
обращение происходит для считывания новых данных и сохранения
результатов. Разумеется дисковод при этом будет в основном
простаивать, что в большой степени продлит срок его службы. Как
следствие наблюдается существенное снижение материальных затрат на
дискеты и ремонт накопителей. Помимо всего прочего совершенно исчезают
сбои, возможные при ошибочном чтении гибких магнитных дисков. Все эти
удобства особенно заметны при работе в составе класса УКНЦ, как на
РМП, так и на РМУ. Насколько сложно обучение по работе с ЭД ? Если вы
умеете работать с обычным дисководом и знакомы с операционной
системой, то все обучение по работе с электронным диском займет
несколько минут, причем ЭД в обращении намного проще, чем дисковод.
Для примера скажем, что ребенок трех с половиной лет без труда умеет
загружать операционную систему с электронного диска и затем запускать
с него игру, хотя и не понимает до конца смысла своих действий (личные
наблюдения автора статьи). Помимо всего, для подключения ЭД не
требуется специалист и пользователь делает это самостоятельно без
какого-либо труда.
Опрос пользователей машин, на которых установлены электронные
диски, показывает, что вместо мучений с дисководами (к которым
большинство уже привыкло), а тем более со стандартной локальной сетью
человек начинает получать удовольствие от работы на ЭВМ. Программисты,
работающие с трансляторами, многократно обращающимися к дисководу
(типа Макроассемблера, Фортрана, Си, Форта и т.п.), первое время
работы с ЭД испытывают ощущения подобные тем, какие возникают у чело-
века, пересевшего с велосипеда на мотоцикл. Другая аналогия: многие
владельцы компьютеров типа БК-0010 или Sinclair могут рассказать о
своих впечатлениях, когда они установили дисковод вместо магнитофона.
На УКНЦ при переходе с дисковода на электронный диск происходит нечто
подобное. Еще пример удобства: те владельцы, у которых дети любят
поиграть, уже не боятся, что дискета с игрой будет испорчена - в
худшем случае просто придется перезагрузить электронный диск. Со
временем как программисты, так и простые пользователи уже не могут
понять, как они обходились без электронных дисков.
Рассудительный читатель скептически скажет: Прямо-таки электронный
рай получается. Не может быть, чтобы не было недостатков ! Или цена
как у бочки черной икры ! Отвечаем: Конечно, недостатки есть, но они
весьма незначительны. И цена не нулевая. Обо всем этом мы скажем чуть
ниже.
Таковы общие для всех моделей качества. В чем различие ?
Программный доступ к памяти электронного диска производители
осуществили принципиально по-разному. Это определило свой ряд
возможностей для каждого из ЭД. На будущее сделаем ряд оговорок.
Во-первых: поскольку ЭД на 1 Мбайт принципиальных программных отличий
от ЭД 512 Кбайт не имеет, то ниже будут рассмотрены только диски на
512 Кбайт. Во-вторых: так как статья носит не рекламный, а скорее
справочный характер, то данные о производителе будут минимальными, а
модификации электронных дисков мы будем различать по названию
обслуживающих их драйверов.
Электронные диски НПП "Техноком" имеют драйвер QQ.SYS. Их внешнее
исполнение - коробочка от КМД УК или настольный блок с независимым
питанием. Память выполнена на микросхемах типа КР565РУ7, обслуживание
которых осуществляет микросхема контроллера памяти типа КА1515ХМ2-003
или ее аналог. Доступ к этому ОЗУ осуществляется со стороны
периферийного процессора через регистры. Такой регистровый доступ
подобен описанному выше с поправкой на объем адресного пространства
ЭД. Для работы с ЭД в ОЗУ ПП засылается специальная программа, которая
обслуживает запросы со стороны центрального процессора. Поясним
подробнее. Драйвер QQ.SYS написан стандартным для операционной системы
образом и работать с ним пользователь может как с обычным драйвером
для устройства с произвольным доступом, типа MZ.SYS или LD.SYS.
Соответственно обращаться к ЭД надо как к устройству с именем QQ:. Но
регистры этого электронного модуля доступны только периферийному
процессору, а ОС работает исключительно в ОЗУ центрального процессора.
Таким образом требуется программа, выполняя которую периферийный
процессор производил бы обмен данными между ЭД и ОЗУ ЦП, эмулируя тем
самым контроллер электронного диска. Такая программа загружается самим
драйвером QQ.SYS в ОЗУ ПП и находится там постоянно до сброса или
выключения компьютера, а запускается только при обращении к устройству
QQ:. Все это очень похоже на работу с дисководом, только для дисковода
такая программа уже записана в ПЗУ, а для электронного диска она
загружается в ОЗУ ПП, что естественно уменьшает свободный объем
последнего (впрочем, весьма незначительно).
Для данной модификации все предоставляемые пользователю удобства
были перечислены выше. Несколько слов о недостатках.
Конечно, электронный диск можно сделать системным, но, к сожалению,
загрузить с него операционную систему можно только командой самой
операционной системы BOOT QQ:. То есть вам придется сначала загрузится
с дискеты, а затем уже подать эту команду. Если вы хотите иметь ЭД в
качестве системного устройства, то такую процедуру придется
проделывать каждый раз при перезагрузке ОС. Учитывая скорость работы
ЭД, надежность, отсутствие износа и т.п., а так же то, что при
исправной аппаратуре, качественном программном обеспечении и
правильных действиях оператора неисправимых сбоев в работе ОС почти не
бывает, то таким неудобством можно пренебречь. Если частые сбои
все-таки есть, то эта особенность действует на нервы (о чем
свидетельствует опрос и личный опыт автора).
Другой момент - надежность аппаратной части.
Абсолютной надежности не бывает. Встречаются случаи, когда через
некоторое время работы на электронном диске появляются плохие блоки
(иначе их называют BAD-блоками). Здесь возможны два варианта. Первый -
со временем (от нескольких дней до нескольких месяцев) возник один или
несколько устойчивых BAD-блоков, как на некачественной дискете.
Действуйте как с последней. Вместо обычной инициализации командой INIT
QQ: давайте команду INIT/BAD QQ: и у вас на месте плохих блоков будут
образованы файлы с именем FILE.BAD. Оставшееся место можете спокойно
использовать по вашему усмотрению. Второй случай намного хуже.
BAD-блоки начинают появляться с прогревом микросхем - не ранее, чем
через несколько минут после начала работы. Они могут исчезать и
появляться вновь. Наблюдается эффект "мигания". Вы здесь уже ничего
поделать не можете. При изготовлении большого количества ЭД
выявить такой брак почти невозможно, поэтому не спешите обвинять
производителя. В обоих случаях советуем вам обратиться к лицам,
осуществляющим гарантийное обслуживание. Статистикой о количестве
подобных случаяев мы, к сожалению, не располагаем.
Другой вариант электронного диска выпускает одна фирма из
подмосковного города Зеленоград. Эти диски поставляются с драйвером
ED.SYS. Они представляют собой по сути аналог тех, которые предлагает
НПП "Техноком", хотя и были разработаны независимо от последних. Все
написанное выше о дисках QQ в полной мере относится и к дискам ED. Это
относится как к достоинствам, так и к недостаткам. Поэтому для
пользователя принципиальной между ED и QQ разницы нет (мы не
затрагиваем вопросы цены и предоставляемого фирмами сервиса), и
отдельно диск ED рассматривать не будем.
Драйверы ED.SYS и QQ.SYS реализуют все аппаратные возможности
соответствующих электронных дисков и альтернативное использование их
ОЗУ вряд ли целесообразно.
Наиболее удачной разработкой стал диск московского АО "Электронные
работы". Его рассмотрим подробнее. Драйвер этого диска называется
ME.SYS. Внешнее исполнение модуля - плата в корпусе от КМД УК.
Помимо всех перечисленных выше возможностей электронных дисков вообще,
от ED и QQ эта модификация выгодно отличается рядом особенностей.
Первое, что бросается пользователю в глаза - возможность автономной
перезагрузки операционной системы без использования дисковода. Для
этого достаточно в меню начальной загрузки ЭВМ выбрать пункт 2 -
"загрузка с кассеты ПЗУ" и указать номер кассеты - он же номер разъема
в который установлен ЭД и нажать клавишу "Ввод" или ВК. Если на ЭД
записана ОС, то она будет загружена. Дисковод при этом не нужен, его
можно даже выключить. Те, кто работал на РМУ в составе класса УКНЦ со
стандартной локальной сетью, знают сколько требуется времени для
загрузки операционной системы, при условии что сеть не зависла. Если
на РМУ установлен электронный диск, то для перезагрузки ЭВМ обращение
к сети не потребуется вообще и загружен будет не эмулятор ОС, а
оригинал. Данное качество особенно удобно при частых сбоях, т.к.
загрузка операционной системы теперь занимает всего 4-8 секунд (без
применения турбо-загрузчика).
Такой дополнительный сервис существует благодаря оригинальной
аппаратной конструкции диска. Рассмотрим ее подробнее.
Электронный диск ME сделан на микросхемах КР565РУ7 (Диск на
1 Мбайт - на микросхемах объемом 1 Мбит). Их обслуживает контроллер
памяти оригинальной разработки. Он обеспечивает постраничный доступ к
ОЗУ ЭД. Поясним. В дисках QQ и ED для доступа к их ОЗУ был применен
регистровый механизм: в регистр адреса записывается адрес ячейки
памяти, а из регистра данных читаются (записываются) данные, хранимые
(заносимые) в этой ячейке. И так для доступа к каждой ячейке. В диске
ME осуществлен непосредственный доступ - как к основной памяти. Для
этого программно отключается часть ПЗУ, а вместо нее, в эти же
адреса, подключается ОЗУ ЭД тех же размеров, что и отключенное ПЗУ.
Размер этой области (страницы) - 8 Кбайт. Вся память электронного
диска состоит из нескольких десятков (для 512 Кб их 64) таких
страниц. Номер подключаемой страницы заносится в специальный регистр.
Подключение страницы полностью эмулирует стандартную кассету ПЗУ, что
и позволило сделать автономную загрузку ОС. Разница лишь в том, что
вместо постоянной памяти кассеты ПЗУ подключается оперативная память
ЭД. Если в меню начальной загрузки компьютера дать команду
загрузиться с кассеты ПЗУ, то ЭВМ произведет загрузку с электронного
диска, "думая", что это кассета ПЗУ. Итак, диск ME представлен
периферийному процессору регистром номера страницы и страницей
адресов размером 8 Кбайт, программно подключаемой штатными средствами
УКНЦ. В таком диске не надо для каждой ячейки заносить ее адрес в
регистр адреса. Это заметно ускоряет обмен данными с ЭД.
Электронный диск ME - это полноценное расширение ОЗУ периферийного
процессора, используемое прилагаемым драйвером в качестве электронного
диска. Он имеет стандартную шину МПИ и организацию памяти - 1*16. При
подключении одной из страниц ОЗУ ЭД, объем ОЗУ ПП становится равным 40
Кбайт против 32 штатных, а объем ПЗУ - 24 Кбайта против 32 штатных.
Адреса переключаемой страницы в адресном пространстве ПП: 100000 -
117777 (восьмеричные). Они же - адреса отключаемого ПЗУ. Регистр
адреса страницы (на магистрали ПП) - 177200 (восьм.). В него заносится
инвертированный (!) номер подключаемой страницы.
Поставляемое программное обеспечение так же отличается от других
моделей. Это две программы: стандартный драйвер ME.SYS и программа
MEDRIV.SAV. Для использования модуля ME в качестве электронного диска,
в начале работы запускается программа MEDRIV.SAV. Она осуществляет
начальное тестирование памяти ЭД и загружает в ОЗУ ПП программу
поддержки запросов со стороны центрального процессора. Причем, эти
запросы имеют стандартный для УКНЦ вид - массив параметров, который
описан в документации на ЭВМ. Эта резидентная программа оформлена в
ОЗУ ПП как процесс, что обеспечило высокую степень совместимости с ПО
для периферийного процессора. Очень удобно, например, работать с
PAF-commander'ом (касается только MEDRIV.SAV V5.01 и выше) и подобными
программами, т.к. они работают в несколько раз быстрее, чем с
дисководом. Что дает начальное тестирование ? Выше мы писали о
вероятном появлении BAD-блоков на модулях QQ и ED. Иногда, такое
встречается и здесь. Программа начального тестирования составляет
специальную таблицу, где на каждый блок памяти электронного
диска хранится информация - исправен/неисправен. Сама таблица
записывается на электронный диск и штатной памяти не занимает.
Резидентная в ОЗУ ПП программа, при обмене с ОЗУ ЭД, постоянно
сверяется с этой таблицей и обходит при записи/чтении неисправные
блоки, если таковые были найдены при тестировании. В результате, если
на диске и появились со временем устойчивые плохие блоки, то для
операционной системы они будут не видны, но общий объем электронного
диска будет меньше на число этих BAD-блоков. Диск сохранит свою
работоспособность полностью, а в ОЗУ центрального процессора попадают
гарантированно верные данные. Важно только, чтобы тестировался
устойчивый диск - если есть BAD-блоки, то они не должны мигать. С этой
точки зрения модуль ME надежнее в использовании, чем ED и QQ. В
случае, когда BAD-блок появился с прогревом микросхем и после
тестирования и мигнул хотя бы один раз, программа в ОЗУ ПП определит
его сразу, как только произойдет обращение к области ОЗУ, где он
находится и будет помнить о нем до конца работы. Тогда ЦП получит
сообщение об ошибке, которую можно отработать стандартными средствами
ОС (например, командой INIT/BAD или DIR/BAD). Разумеется, если в этом
месте ОЗУ хранился какой-либо файл, то он будет испорчен, но ситуация
останется полностью контролируемой. Если на диске во время работы
появились BAD-блоки и остаются устойчивыми до конца работы с
компьютером, то можно перетестировать память ЭД и продолжить спокойно
работу, но нужно помнить, что данные, при этом, будут потеряны и
требуется повторная их запись на ЭД. Безусловно, это полумера, но при
срочной необходимости она может помочь. Мы же опять порекомендуем
обратится за гарантийным обслуживанием.
Скорость обмена данными с ME такая же, как и с QQ и ED - около 100
Кбайт/сек. В качестве эксперимента был написан драйвер, который, для
ускорения работы, не проводил тестирования диска на наличие BAD-блоков
и не проверял данные на наличие ошибки. Скорость обмена через этот
драйвер составила 180-200 Кбайт/сек, т.е. почти в два раза быстрее.
Увы, но этот драйвер может корректно работать только с абсолютно
исправными и надежными электронными дисками.
Приведенная информация была как для пользователей, так и
программистов. Теперь просим внимания программистов, и в первую
очередь тех, кто пишет программы на ассемблере.
Выше было рассказано о постраничной организации электронного диска
ME. Если подключить одну из страниц ОЗУ ЭД и записать в нее программу,
то эта программа будет работать так же, как и записанная в штатном ОЗУ
ПП. То есть модуль ME может быть использован не в качестве
электронного диска, а непосредственно как расширение ОЗУ. Тесты
показали, что такие программы работают примерно на 30 % медленнее, чем
в штатном ОЗУ ПП. Относительно низкая скорость связана с параметрами
регенерации ОЗУ МЕ, выбранными из расчета максимальной надежности
хранения данных. Для использования модуля в качестве электронного
диска этого хватает с избытком, но для программ, работающих в адресах
ME и критичных по быстродействию, получается маловато. Изменив период
регенерации удается легко турбировать память МЕ минимум на 20 %. Но
при этом возможно снижение надежности ОЗУ.
Использование модуля ME как расширения ОЗУ значительно расширяет
функциональные возможности ЭВМ. На периферийный процессор становится
возможным возложение более серьезных задач. В большой степени
снимаются ограничения по объему памяти для программ. Становится
возможным написание мощного программного обеспечения: компьютерных игр
с большими объемами графики, многооконного графического интерфейса,
многозадачных операционных систем, и многого другого. Из двух главных
проблем - объема памяти и быстродействия программ, по крайней мере
одна - память, в значительной степени отпадает. Вопрос быстродействия
остается. Но на самом деле, это не так страшно, как кажется. Есть
круг задач, где не требуется большой скорости. Например,
это всевозможные графические редакторы и полиграфические системы. Сюда
можно так же отнести ряд игровых программ. Те, кто пробовал писать
игры, могли столкнуться с ситуацией, когда быстродействия хватает, а
картинки для оформления не помещаются в памяти ЭВМ. Например, если на
экране одновременно перерисовываются только две-три картинки, а общий
их набор составляет несколько десятков. Использование при этом
оврелеев значительно снижает динамизм игры. Даже если хранить оверлеи
на электронном, а не магнитном диске (т.е. использовать для обмена
стандартный драйвер электронного диска), то все равно программа
получится медленной. Использование модуля ME в качестве раширения ОЗУ
позволяет осуществлять обмен данными между видеоОЗУ и ОЗУ ME напрямую,
без промежуточных обменов с ОЗУ ЦП (тем более, что только периферийный
процессор имеет доступ ко всем трем планам видеопамяти). Таким
образом, даже при оносительной медленности памяти ME общее
быстродействие программы значительно возрастает. Кроме того,
разгружается центральный процессор и освобождается основная память
ЭВМ, куда может быть помещен более быстрый код (к примеру,
динамическая графика). Аналогичным образом можно использовать диски QQ
и ED, но скорость обмена с ними намного ниже в сравнении с ME и
выигрыш в их алтернативном использовании будет малозаметным.
Другой вариант использования ME основан на его особенности
подключаться в адреса стандартного ПЗУ (100000-117777). Опять же, если
не требуется высокая скорость работы, то можно сэмулировать эту часть
BIOS. Это позволит записать на место стандартных системных подпрограмм
свои. Но такая операция требует хорошего знания работы системных
программ в ПЗУ УКНЦ. Для любопытных мы скажем только, что в указанных
адресах ПЗУ расположены программы по работе с экраном, клавиатурой и
еще кое-что.
Вот еще пример непосредственного обращения к ОЗУ ME. В статье
М. Б. Носова "Все о периферийном процессоре", опубликованной в журнале
"Персональный компьютер УКНЦ" N 1 за 1994 г. был предолжен вариант
ЦАП и АЦП, подключаемых к параллельному порту УКНЦ. Программа для
такого АЦП оцифровывала сигнал с частотами до 4 кГц, а полученные
данные заносила в старшие 16 КБайт ОЗУ ПП. Этого ОЗУ хватало примерно
на 4 секунды записи. Данную программу легко модифицировать для записи
данных в ОЗУ ME. Если ЭД (объемом 512 Кбайт) полностью использовать
для хранения оцифрованного звука, то можно записать сигнал,
длительностью около двух минут. Это время небольшого телефонного
разговора. Заметим, что при этом не использовалась основная память
ЭВМ. Аналогичное использование электронных дисков QQ и ED приведет к
некоторому снижению частоты дискретизации, так как для доступа к их
ОЗУ требуется больше времени, из-за чего падает общее быстродействие
программы. А винчестер, который часто ставят в альтернативу
электронным дискам, вообще не пригоден для подобной задачи в силу
своей специфики. Видимо, кроме дополнительного ОЗУ с прямым доступом
(в нашем случае это ОЗУ ME), никакое другое устройство универсального
назначения не может успешно справиться с этой задачей.
Можно было бы продолжить дальше список примеров, но мы предоставим
это фантазии читателя.
Итак ME - электронный диск или расширение ОЗУ ? Можно ответить так:
и электронный диск, и расширение ОЗУ. Ведь никто не мешает использо-
вать часть памяти под электронный диск и часть памяти под прямое обра-
щение к ОЗУ. Наличие в УКНЦ периферийного процессора, возможность его
свободного программирования, применение дополнительной памяти
позволяют писать очень гибкое, многофункциональное и многозадачное
программное обеспечение. Получается два персональных компьютера в
одном.
Кое-кто скажет: писать программы в расширенном ОЗУ это хорошо, но
многим ли пользователям это надо ? Ведь машин с уже установленными
электронными дисками по отношению к общему количеству выпущенных УКНЦ
совсем не много. Тем более, что программировать можно только диски
типа ME. На это можно ответить следующее. Во-первых, данные диски
пользуются устойчивым спросом, следовательно число их владельцев
постоянно растет (вопрос цен см. ниже). В абсолютном же количестве на
начало 1995 года их число достойно того, чтобы попытаться выйти за
рамки минимальной конфигурации ЭВМ. А во-вторых, можно задать резонный
вопрос: если такой ЭД уже стоит на машине, то почему бы не
использовать его более продуктивно ? Если бы, скажем, на
IBM-совместимых машинах все программы писались под минимальные 640
Кбайт, то существование ныне мощного и разнообразного ПО там было бы
невозможно.
Мы провели краткий обзор электронных дисков. С каждым из них
непосредственно работает только периферийных процессор. Читатель,
искушенный в схемотехнике ЭВМ и системном программировании, задаст
резонный вопрос: почему бы не поставить такое ОЗУ центральному
процессору ? Прикладным программам было бы намного проще к нему
обращаться, да и скорость обмена данными была бы намного выше.
Ответ: Да. Вы правы. Но ...
Такие разработки были. Плата с дополнительной памятью
устанавливалась на место сетевого адаптера. Понятно, что сетевой
адаптер вынимается из машины и работа с сетью становится невозможной.
Можно встраивать модуль с ОЗУ внутрь корпуса ЭВМ, не отключая сетевого
адаптера, но при серийном производстве этот метод не приемлем. Можно
так же сделать плату расширения данного слота, но это приводит к
усложнению конструкции. Частным владельцам, конечно, работа с сетью не
нужна, однако надо помнить, что большинство выпущенных машин МС0511
работает в составе классов УКНЦ МС0202, т.е. с локальной сетью. Машины
в частном пользовании составляют относительно небольшой процент от
общего парка этих ЭВМ и ориентироваться в выпуске только на них не-
выгодно. Одна эта причина стала непреодолимым препятствием для наладки
серийного производства удобных в эксплуатации и недорогих электронных
дисков для центрального процессора.
Теперь самый больной в нашей стране вопрос. Вопрос цен.
Бессмысленно называть здесь конкретные цифры, они постоянно меняются.
Спрашивайте на фирмах. Но одну информацию мы все же дадим. По нашим
проверенным сведениям цена на электронные диски модификации ME за все
время их выпуска не превышала цены одного отечественного
80-дорожечного дисковода (не путать с накопителями в корпусах и с
блоком питания, которые значительно дороже). Это привело к тому, что
намного удобнее становится иметь на УКНЦ один 80-дорожечный дисковод и
один электронный диск, чем только два 80-дорожечных дисковода. Об этом
свидетельствует опрос пользователей. Те, кто раньше работал только с
двумя дисководами (например, с двухкарманными блоками дисководов типа
МС5309, МС5310), а затем установили электронный диск, могут
подтвердить, что один из дисководов теперь в основном простаивает за
ненадобностью. О нем вспоминают только при копировании дискет. Но при
наличии электронного диска эту операцию легко выполнить и с одним
дисководом.
Кто-то спросит: а как же винчестер ? Это на ваше усмотрение. Кому
что больше нужно. По скорости работы он приближается к ЭД, хотя
разница все же заметна. Объем ЖД, конечно, намного больше. Но вот
цена в 2-3 раза выше (контроллер плюс сам винчестер типа MFM).
Кроме того, для винчестера данного типа требуется дополнительный блок
питания. Винчестер типа IDE предпочтительнее во всех отношениях, но
стоит более ста долларов США. Если кто-то при этом все же считает, что
ему нужен винчестер, а не электронный диск, то рекомендуем объем
20 Мбайт. Это и не очень дорого, и хватит с запасом. Напомним только,
что жесткий диск предназначен для хранения постоянно используемых
файлов, а не архивов, как это многие ошибочно делают.
Резюме.
Предлагается новая конфигурация рабочего места: монитор, один
карман дисковода, электронный диск и собственно ЭВМ с КМД. Цена такого
комплекса примерно та же, как если бы было два кармана дисковода, но
не было ЭД, но при этом возможности и перспективы намного выше. В
качестве электронного диска предпочтительнее выбрать ME. Он более
сервисный, перспективный и конкурентноспособный по отношению к
винчестеру.
В заключение приведем интересный случай.
Один владелец электронного диска (типа ME), разбирающийся в
электронике сделал следующее. Перерезав на плате ЭД шину питания, он
установил в модуль независимый источник напряжения - аккумулятор,
сделав тем самым диск энергонезависимым. Его сын старшекласник с
большим успехом выполнял все свои школьные задания по информатике у
себя дома и приносил на уроки электронный диск с записанными на нем
программами (в школе стоял класс УКНЦ). Там этот диск устанавливался
на одно из РМУ. Дальнейшее было так, как описано выше. С диска
грузилась ОС и Бейсик. Функциональных возможностей на этом РМУ было
несравненно больше, чем у РМП как по быстродействию, так и по
надежности. Кроме того, программа набивалась и отлаживалась дома, а в
классе только демонстрировалась преподавателю. Легко догадаться, какая
была итоговая оценка этого ученика.