Персональный компьютер "КОРВЕТ"
Идеологические аспекты определения конфигурации компьютера
Основной причиной создания ПК "Корвет" явилась необходимость автоматизации установки для дистанционного измерения параметров низкотемпературной плазмы методами лазерной спектроскопии. Целью первого этапа разработки являлось создание компьютера, который мог бы использоваться для решения трех задач.
Во-первых, этот компьютер должен был управлять параметрами установки, изменяющимися в широком временном диапазоне - от нескольких миллисекунд до десятков секунд. Этими параметрами могли быть давление в газовом канале, напряжение высоковольтных источников и т.п., что предъявляло определенные требования к аппаратным средствам компьютера.
Во-вторых, компьютер предполагалось использовать для обработки получаемой информации и теоретических расчетов. Это определяло требования к его вычислительным ресурсам и программному обеспечению.
В-третьих, хотелось использовать компьютер для обработки текстовой, табличной и графической информации, ведения архива данных и других "персональных" применений. Это должно было наложить отпечаток на всю архитектуру компьютера.
Все эти соображения и определили конфигурацию компьютера, который собран на одной печатной плате, размещенной в корпусе клавиатуры.
Теми же соображениями обусловлен выбор процессора, на основе которого построен компьютер. Это очень важный вопрос. Действительно, в настоящее время наибольшую часть стоимости вычислительной системы составляет стоимость ее программного обеспечения, и правильный выбор процессора может помочь избежать лишних затрат путем использования уже разработанного программного продукта. Эго однозначно определило выбор отечественного 8-разрядного процессора КР580ВМ80А, являющегося аналогом широко известного процессора 8080А фирмы Intel.
Устройства, входящие в состав ПК "Корвет"
Центральный процессор КР580ВМ80А работает с максимальной разрешенной для него тактовой частотой 2,5 МГц, что обеспечивает быстродействие 625 тыс. коротких операций/с (Конечно, правильнее было бы измерять быстродействие в каких-либо более осмысленных единицах, однако такова сложившаяся практика). Поскольку генератор тактовых импульсов был собран по нетрадиционной схеме, это позволило обеспечить синхронную работу всех устройств компьютера при использовании одного кварцевого задающего генератора, существенно повысив тем самым быстродействие системы в целом.
Общая емкость памяти, входящей в состав ПК "Корвет", достигает 361 Кбайт. Поскольку процессор способе^ одновременно адресовать только 64 Кбайт, понадобилось специальное устройство, которое называется диспетчером памяти и обычно не встречается в компьютерах такого класса. В ПК "Корвет" оно имеется, но реализовано несколько нетрадиционно.
Для нашего компьютера был специально написан интерпретатор языка Бейсик, который с точки зрения пользователя не отличается от версий Бейсика фирмы Microsoft, являющихся стандартом de facto. Этой фирмой были разработаны интерпретаторы Бейсика для операционной системы СР/М-80, популярных ПК TRS-80 и самых распространенных ныне ПК серии IBM PC, а также Бейсик, составляющий основу стандарта MSX. Интерпретатор Бейсика, написанный для ПК "Корвет", является подмножеством версий Бейсика фирмы Microsoft и существует в двух вариантах - 16 и 24 Кбайт, что оставляет еще большой запас в пределах возможных 96 Кбайт для дальнейшего расширения. Интерпретатор языка размещается в компьютере резидентно, не требуя никаких устройств внешней памяти, и пользователь получает его в свое распоряжение при включении компьютера.
Следующим устройством, необходимым для работы ПК "Корвет", является клавиатура, представляющая собой основное устройство ввода информации, с помощью которого можно управлять работой компьютера. Для создания клавиатуры к печатной плате припаиваются клавиши, в качестве которых могут быть использованы любые замыкатели вплоть до кнопок от дверных звонков. С проблемами типа "дребезга контактов" борется сам компьютер. Все сервисные функции, такие как автоповтор, реализуются центральным процессором. Таким образом, единственным критерием при выборе клавиш является их дешевизна. Компьютер может обслуживать до 128 клавиш. В настоящее время используется 80 клавиш, которые охватывают поле стандартной пишущей машинки с русским шрифтом, поле программируемых клавиш, поле специальных клавиш и отдельное цифровое поле, переключаемое в поле управления курсором.
Наряду с устройством ввода информации необходимо устройство ее отображения. В ПК "Корвет" одним из таких устройств является устройство отображения алфавитно-цифровой и псевдографической информации на экране бытового телевизора или монитора, позволяющее отображать текстовую информацию в форматах 64 символа х 16 строк или 32 символа х 16 строк (Использование других устройств дает возможность реализовать формат 85 символов х 32 строки, что позволяет одновременно отобразить на экране полторы страницы машинописного текста).
Важной особенностью ПК "Корвет" является аппаратная реализация знакогенератора. Это означает, что для изображения какого-либо символа достаточно поместить его код в нужное место экрана, и аппаратные средства мгновенно реализуют его образ на экране. При этом символ будет достаточно удобочитаемым, так как он синтезируется в матрице 8x16 точек, что существенно больше общепринятых матриц 5x7 или 7x9 точек. Так как все вертикальные линии состоят из пар точек, то это позволило создать полужирный шрифт, так же как это сделано в специализированном текстовом адаптере ПК IBM PC.
Знакогенератор содержит два набора символов по 256 символов в каждом. В первый набор входят 128 символов, соответствующих стандартному набору символов кода ASCII, прописные и строчные буквы русского алфавита, расположенные в соответствии со стандартом КОИ-8, а также специальные символы, с помощью которых можно реализовать псевдографическое изображение с разрешением 128x48 точек. Возможности псевдографического режима далеки от возможностей, обеспечиваемых специализированной графической системой, имеющейся в ПК "Корвет", но и у этого режима есть свои преимущества. Во-первых, аппаратная реализация знакогенератора позволяет нарисовать картинку очень быстро (При программировании на языке Си или языке ассемблера весь экран может быть заполнен примерно за 10 мс, что в два раза быстрее, чем нужно для получения телевизионного изображения, так как длительность развертки телевизионного кадра составляет 20 мс.). Во-вторых, каждая картинка занимает очень мало места в памяти - всего 1 Кбайт, что позволяет хранить в памяти нашего компьютера несколько сотен таких кадров и, следовательно, показывать довольно длинный фильм.
Второй набор символов знакогенератора отличается от первого, прежде всего, другим расположением букв русского алфавита. Дело в том, что в стандарте КОИ-8 буквы русского алфавита расположены в звуковом соответствии с латинскими буквами, образуя последовательность Ю А Б Ц Д Е Ф Г X и тд., что удобно при использовании англоязычных клавиатур, но затрудняет работу с архивами и базами данных. Так, если вы будете составлять записную книжку в соответствии с кодом КОИ-8, не принимая специальных мер, то получите на первом месте всех Юрьевых, затем Андреевых, Борисовых, Цаплиных и т.д. Второй набор символов знакогенератора позволяет избежать этих проблем. Кроме того, в этом наборе графические символы аналогичны символам набора для ПК IBM PC, с помощью которых удобно создавать различные рамки, таблицы и т.п.
Каждый символ из любого набора может быть отображен светлым на темном фоне или темным на светлом фоне. Такая инверсия изображения возможна на всем экране или его части, что позволяет реализовать различные курсоры, меню, выделение блоков. На выходе устройства отображения алфавитно-цифровой и псевдографической информации получается обычный видеосигнал, который может быть подан на видеовход любого телевизора или монитора.
Для функционирования компьютера также необходимо устройство внешней памяти, позволяющее сохранить результаты работы за день или воспользоваться другими программами или данными. Для этой цели пригоден любой бытовой магнитофон. Лучшие результаты получаются на магнитофонах среднего класса. Это объясняется тем, что используемый сигнал является узкополосным (порядка нескольких килогерц), а высококачественные магнитофоны, предназначенные для широкополосных сигналов, воспроизводят при этом лишь дополнительные шумы. Скорость записи информации в нашем устройстве составляет 2400 бод, что позволяет записать на одну кассету МК-60 до 1 Мбайт информации, т.е. около 1 тыс. страниц текста.
Устройство имеет встроенное реле, с помощью которого можно управлять мотором магнитофона через вход "Кратковременный СТОП". Это позволяет хотя бы в минимальных пределах программно управлять процессами чтения и записи, а также загружать дополнительные программы или данные.
Оперативное запоминающее устройство (ОЗУ) представляет собой банк памяти, не используемый ни для каких иных нужд, кроме хранения программ и данных пользователя. Все другие устройства, как мы уже говорили, имеют свои, собственные банки памяти. Для реализации банка ОЗУ могут быть использованы как 16-, так и 64-Кбитные микросхемы, что позволяет иметь ОЗУ емкостью 16 или 64 Кбайт. За счет возможностей графической системы с высоким разрешением емкость ОЗУ может быть увеличена до 256 Кбайт.
Наиболее интересным и развитым устройством ПК "Корвет" является графическое устройство с высоким разрешением, позволяющее рисовать на экране цветные картинки с разрешением 512x256 точек (итого 128 тыс. точек). При этом точки могут быть любого из 16 возможных цветов.
Видеопамять разделена на три банка по 64 или 16 Кбайт в каждом. Для получения 16 цветов необходимы четыре бита, определяющие цвет точки. Рассмотрим процесс регенерации изображения на экране. Контроллер графического дисплея читает содержимое видеопамяти и через сдвиговые регистры передает прочитанную информацию в систему отображения. Из трех банков видеопамяти параллельно выходят три последовательности бит, комбинации которых задают восемь возможных цветов точки. Четвертая последовательность бит поступает с устройства отображения алфавитно-цифровой информации. Таким образом формируются четыре необходимые последовательности бит, позволяющие "зажигать" на экране точки 16 цветов.
Обычно для "зажигания" одной цветной точки необходимо считать байт из видеопамяти, установить в нем нужные биты, записать этот байт обратно, переключиться на следующий банк видеопамяти и повторить эту последовательность операций в остальных банках видеопамяти, составляющих цвет. Итого как минимум 12 машинных команд. В ПК "Корвет" это делается одной командой. Дело в том, что графическое устройство с высоким разрешением имеет специальный регистр для записи кода цвета. Цвет "зажигаемой" на экране точки будет соответствовать содержимому этого регистра. Для "зажигания" точек достаточно поместить в требуемую область видеопамяти байт, содержащий единицы в тех битах, которые соответствуют этим точкам. Цвета тех точек на экране, которым в байте соответствуют нули, не изменятся. Таким образом, по сравнению с традиционным подходом, получен 12-кратный выигрыш в быстродействии.
Аналогичный механизм предусмотрен и для чтения из видеопамяти. Обычно для проверки цвета точки на экране необходимо прочитать байт из первого банка, проверить, совпадает ли соответствующий проверяемой точке бит с кодом цвета, и повторить эту процедуру для двух других банков. Итого как минимум девять машинных команд. В ПК "Корвет" это также делается одной командой. Для этого в компьютере предусмотрен еще один регистр, в который записывается код требуемого цвета. Для анализа изображения на экране информация читается параллельно из всех банков видеопамяти и пропускается через аппаратно реализованный фильтр. На выходе фильтра получается байт, единицы в битах которого говорят о том, в каких точках экрана обнаружен искомый цвет. Этот фильтр, как и некоторые другие устройства ПК "Корвет", реализован с помощью программируемых логических матриц, которые являются простейшими из заказных БИС. Применение двух таких матриц позволило создать схему, для реализации которой потребовалось бы 77 микросхем типа К555ЛАЗ. Итак, получен 9-кратный выигрыш в быстродействии при чтении из видеопамяти.
Еще одна особенность заключается в следующем. Обычно при обращении к видеопамяти необходимо отключить экран телевизора. За это время на экране появляется помеха: темная или светлая черточка. Чтобы этого не происходило, в компьютерах типа IBM PC запрещается обращение к видеопамяти в процессе прямого хода строчной развертки. В ПК "Корвет" центральный процессор и видеоконтроллер с помощью специальной системы синхронизации в любой момент могут одновременно обращаться к видеопамяти, работая каждый со своим максимальным быстродействием, что обеспечивает дополнительное 5-кратное увеличение быстродействия. Совокупность всех рассмотренных механизмов позволяет, например, достичь скорости закраски больших областей до 3 млн точек/с.
Нами использовано еще одно необычное для ПК такого класса устройство, называемое просмотровой таблицей. Обычно программист имеет набор заранее известных цветов: красный, желтый, синий. В ПК "Корвет" он пользуется логическими цветами: первым, вторым,..., седьмым, и имеет возможность в любой момент присвоить этим логическим цветам любую комбинацию реальных, физических цветов. Это переобозначение производится аппаратно и практически мгновенно, за время примерно 50 мкс. На просмотровую таблицу также подается сигнал с выхода устройства отображения алфавитно-цифровой информации, что позволяет получить цветное изображение текста. Наличие этого механизма обеспечивает получение различных интересных эффектов. Например, можно изобразить разными цветами несколько фаз движения некоторого объекта, сделать их все невидимыми (черного цвета) и, делая их видимыми поочередно, создать эффект движения. Можно организовать на экране некие зоны, попадая в которые, любой объект, текстовый или графический, будет менять свой цвет. Можно перемещать такие зоны по экрану, подсвечивая, как цветным фонариком, попадающие в них объекты. На выходе графической системы с высоким разрешением получаются стандартные IRGB-видеосигналы, которые вместе с сигналом синхронизации могут быть поданы на вход цветного монитора.
К компьютеру могут быть одновременно подключены три различных монитора, каждый из которых выполняет свою собственную функцию. Первый - монохромный монитор, подключаемый к выходу устройства отображения алфавитно-цифровой и псевдографической информации. На нем могут отображаться только текст и псевдографика. Второй - цветной монитор, на котором отображается как текст, так и графика с высоким разрешением. И третий - монохромный монитор, на котором также отображаются текст и графика с высоким разрешением, но уже не в цвете, а в градациях яркости. Это становится возможным благодаря использованию цифро-аналогового преобразователя, преобразующего цветной IRGB-сигнал в полный аналоговый видеосигнал, поступающий на видеовход монохромного монитора, в качестве которого можно использовать и бытовой телевизор. Наличие такого преобразователя в ПК "Корвет" позволяет не только применять более доступный черно-белый телевизор вместо цветного монитора, но и получать качественно новые возможности, такие как обработка и отображение телевизионных изображений. Качество картинки при этом нисколько не уступает качеству телевизионного изображения, а вычислительные возможности компьютера позволяют решать различные задачи, связанные с разработкой систем машинного зрения, обработкой интерферограмм, медицинскими исследованиями и т.д.
Видеопамять графической системы может быть реализована как на 16-, так и на 64-Кбитных микросхемах. При использовании 16-Кбитных микросхем пользователю предоставляются абсолютно все перечисленные возможности, а 64-Кбитные микросхемы позволяет иметь одновременно четыре одинаковых логических экрана, содержимое любого из которых можно делать видимым и (или) модифицировать. Так, можно одновременно иметь общий вид и проекции отдельной детали или объекта. Если нет необходимости в использовании дополнительной видеопамяти, в ней можно организовать виртуальный диск емкостью 144 Кбайт или использовать эту память для увеличения емкости оперативной памяти до 256 Кбайт.
В заключение рассмотрения графических возможностей компьютера необходимо еще раз подчеркнуть полную независимость устройств отображения алфавитно-цифровой и графической информации, т.е. компьютер можно рассматривать так, как будто к нему отдельно подключены алфавитно-цифровой терминал и графическая рабочая станция, хотя все эти устройства и размещаются в корпусе клавиатуры.
Обмен данными и связь ПК "Корвет" с различными периферийными устройствами осуществляются через параллельный и последовательный интерфейсы. В ПК "Корвет" реализованы стандарт Centronics и оба существующих в настоящее время стандарта на последовательный интерфейс: "Токовая петля" и RS-232C. Скорость обмена данными через последовательный интерфейс задается программно и может достигать максимально разрешенной стандартом скорости 19 200 бод.
ПК "Корвет" может работать в составе локальной сети, реализованной на основе последовательного интерфейса. В одной локальной сети может быть объединено до 16 компьютеров, причем для передачи информации используется всего один провод. Локальная сеть разрабатывалась преимущественно как школьная. Она позволяет центральному компьютеру рассылать задания в периферийные машины, следить незаметно для их пользователей за текущей деятельностью, навязывать режимы работы, проверять результаты. В принципе, локальная сеть может использоваться и просто как дополнительный канал последовательного интерфейса.
К разъему последовательного интерфейса может подключаться манипулятор типа "мышь". С точки зрения эргономики "мышь" является наиболее удобным манипулятором для всех видов автоматизированного проектирования. К ПК "Корвет" без каких-либо переделок может быть подключена одна из наиболее распространенных в мире "мышь" фирмы Microsoft, поддерживаемая соответствующим программным обеспечением.
Для управления объектами на экране в ПК "Корвет" предусмотрена возможность подключения двух двухкоординатных манипуляторов типа "джойстик". Каждый джойстик может иметь до двух кнопок и не должен содержать никаких других устройств, кроме двух переменных сопротивлений. Внутри компьютера находятся соответствующие аналого-цифровые преобразователи, с помощью которых можно реализовать пропорциональный режим управления. Манипуляторы такого типа наиболее часто используются в играх.
В ПК "Корвет" имеется трехканальный таймер. На вход первого канала этого таймера подается сигнал тактовой частоты 2 МГц. Этот канал задает скорость обмена данными через последовательный интерфейс. Второй канал, также работающий на частоте 2 МГц, предназначен для генерации различных звуков. Источником звука является пьезокерамический излучатель, расположенный непосредственно на печатной плате. Звуковой сигнал выведен также на разъемы для подключения телевизора и цветного монитора, что позволяет использовать их динамики. Аппаратные средства, применяемые для генерации звука, аналогичны имеющимся в компьютере IBM PC, поэтому возможно получение аналогичных звуковых эффектов. Третий канал таймера работает на значительно более низкой, но также стабилизированной кварцевым резонатором частоте кадровой развертки и дает возможность реализовать часы реального времени.
Устройство обработки прерываний позволяет обслуживать различные устройства компьютера. Имеется восемь уровней запроса прерываний. Источниками прерываний могут являться: подключаемые через интерфейс для расширения системы внешние устройства, последовательный интерфейс, интерфейс локальной сети, генератор кадровых синхроимпульсов, таймер, параллельный интерфейс, контроллер дисководов.
Очень важным устройством является контроллер дисководов, позволяющий подключать к компьютеру до четырех дисководов для любых дисков: одно- или двусторонних, с одинарной или двойной плотностью записи, с любым числом дорожек, 8-, 5,25- и 3,5-дюймовых. Суммарная емкость четырех дисководов составляет 4 Мбайт. Если ПК "Корвет" укомплектован дисководами, то можно применять операционную систему, полностью аналогичную самой распространенной в мире для этого класса машин операционной системе СР/М-80. Это позволяет использовать чрезвычайно большое число системных и прикладных программ, созданных для работы под управлением этой операционной системы.
Нами предусмотрена также возможность подключения к ПК "Корвет" дополнительных модулей. В самом начале статьи говорилось, что из соображений надежности была выбрана замкнутая архитектура компьютера и все необходимые устройства были размещены на одной плате. Однако бывают различные специализированные применения, требующие подключения нестандартных устройств. Возможность подключения модулей позволяет превратить компьютер в тот или иной компьютеризованный прибор либо подключить какое-нибудь устройство, например накопитель на жестком диске типа Winchester. Для этого на левой боковой стенке компьютера имеется разъем, к которому могут подключаться модули, конструктивно оформленные таким образом, что корпус любого из них является продолжением корпуса компьютера "Корвет". Основная особенность модулей заключается в том, что они могут содержать не только аппаратные средства, необходимые для реализации какой-либо функции (например, входные усилители, аналогово-цифровые и цифро-аналоговые преобразователи, если модуль является осциллографом), но и ПЗУ с программой для их обслуживания.
Таким образом, для получения того или иного прибора пользователю, имеющему на своем столе ПК "Корвет", а в ящике стола набор модулей, достаточно подсоединить соответствующий модуль к боковому разъему компьютера и включить его в сеть. В результате, не производя каких-либо дополнительных операций, он увидит на экране шкалы разверток осциллографа или таблицу программатора, как будто он включил специализированный прибор. Это возможно потому, что компьютер с помощью специальной системы опознавания определяет наличие модуля и обслуживающей программы, и если таковая обнаружена, загружает ее в свою оперативную память, после чего передает ей управление. Через интерфейс расширения системы на дополнительные модули подаются все питающие напряжения, сигнал тактовой частоты 2 МГц, выходной сигнал одного из каналов программируемого таймера. Дополнительные таймеры могут вырабатывать сигнал запроса прерывания. Сам интерфейс, представляющий собой периферийный программируемый адаптер, состоит из одной микросхемы КР580ВВ55А.
Таковы основные устройства, входящие в состав ПК "Корвет". Как видно, замкнутость архитектуры компьютера, необходимая для повышения его надежности и уменьшения габаритов, при наличии практически всех необходимых устройств, реализованных в стандартной конфигурации, не является сколько-нибудь серьезным недостатком.
В ПК "Корвет" имеется еще один разъем, называемый тестовым или диагностическим, который позволяет рассматривать архитектуру компьютера как "открытую". На этот разъем выведены все жизненно важные сигналы процессора и сопутствующих устройств. Разъем преднамеренно не выведен наружу, чтобы сделать эти сигналы недоступными для неквалифицированного пользователя. Через разъем может быть подсоединен тестовый модуль, управляемый другим компьютером, который способен проверить работоспособность всех устройств диагностируемого компьютера. Опытный пользователь может использовать неограниченные возможности этого разъема и для других нестандартных применений.
На этом можно завершить описание основных аппаратных средств ПК "Корвет". Следует отметить, что большинство из этих средств, по крайней мере, не уступает аналогичным средствам такого популярного компьютера, как IBM PC/XT. Однако там эти устройства занимают отдельные печатные платы достаточно большого размера, расположенные не в корпусе клавиатуры, а в системном блоке, кроме того, ПК IBM PC/XT вообще относится к более высокой "весовой категории".
Программное обеспечение
Теперь посмотрим, какие программные средства имеются в распоряжении пользователя ПК "Корвет". Мы уже рассмотрели интерпретатор языка Бейсик, резидентно находящийся в памяти компьютера. Остановимся на возможностях, предоставляемых операционной системой СР/М-80.
Если начатые программ, необходимых массовому пользователю, то можно выделить программы трех типов, которые обязательно должны находиться в комплекте программ для ПК. Это редактор текста, а также средства для обработки архивов и табличной информации. В качестве редактора текста в ПК "Корвет" используется отечественный редактор "Супертекст", являющийся аналогом одного из наиболее мощных редакторов Final Word. С помощью редактора "Супертекст" на ПК "Корвет" была подготовлена и настоящая статья.
Для обработки архивов можно использовать широко известный пакет dBase II, а для работы с таблицами - также очень популярную программу Multiplan фирмы Microsoft.
Что касается системных программных средств, то выбор их чрезвычайно широк. Существуют различные ассемблеры, перемещающие загрузчики, отладчики, пакеты утилит. Имеются компиляторы с таких языков высокого уровня, как Фортран, Паскаль, Си, Ада, Форт, Лисп, ПЛ/М и др.
Основным языком для разработки прикладных программ на ПК "Корвет" является Си. В настоящее время разработана библиотека графических процедур для языка Си, которая делает преимущества аппаратных средств ПК "Корвет" в полной мере доступными программисту. Например, одна из функций библиотеки реализует так называемые спрайты (маленькие объекты типа стрелок или игровых персонажей), получение которых без специальных заказных БИС считается невозможным. В ПК "Корвет" реализованы спрайты с временем перемещения до 1-2 мс на один шаг.
В заключение несколько слов о том, кто выпускает ПК "Корвет". Основным изготовителем является Бакинское производственное объединение "Радиостроение". В Москве производством ПК "Корвет" заняты Московский экспериментальновычислительный центр ЭЛЕКС ГКВТИ и кооператив ЭЛИН.