Главная Дока Микро-80 Радио-86РК ЮТ-88 Орион-128 Ссылки Новости Письмо

Описание компьютера Радио-86РК
Журнал РАДИО

КОНТРОЛЛЕР НАКОПИТЕЛЯ НА ГИБКИХ МАГНИТНЫХ ДИСКАХ

ДЛЯ "РАДИО-86РК"

Радиолюбительский компьютер “Радио-86РК”, как и большинство простейших микро-ЭВМ, для долговременного хранения данных использует обычный бытовой магнитофон. Низкая скорость ввода-вывода данных, трудности поиска нужной программы, риск при новой записи ошибочно стереть еще нужную старую и многое другое вынуждают радиолюбителей искать альтернативные способы хранения информации. Для этой цели применяются разные варианты ROM дисков, ПЗУ, но наиболее радикальное решение этой проблемы — использование накопителя на гибком магнитном диске. Предлагаемая вниманию читателей разработка контроллера НГМД отличается простотой, удачными решениями аппаратной и программной частей, невысокой стоимостью. Идея использовать для управления НГМД не специализированную БИС, а микропроцессор самого компьютера — вполне на уровне гениальной простоты “Радио-86РК”.

Специально разработанная с учетом всех особенностей компьютера версия дисковой операционной системы, развитое программное обеспечение, скромный, но достаточный для нормальной работы сервис на экране делают описываемую конструкцию весьма привлекательной. Похоже, что, наконец, владельцы “Радио-86РК" получат то, что так долго ждали.

Прошло более шести лет с тех пор, как журнал “Радио” познакомил своих читателей с радиолюбительским компьютером “Радио-86РК”. Простота конструкции, низкая стоимость, подробное описание схемы, процессов сборки, регулировки и настройки сделали этот компьютер доступным для повторения в домашних условиях. Десятки и десятки тысяч энтузиастов компьютерной техники с успехом эксплуатируют эту несложную и удобную в работе машину.

Компьютерный “голод” (на внутреннем рынке) в середине восьмидесятых годов подтолкнул отечественную промышленность к разработке и выпуску бытовых персональных вычислительных машин класса “Home Computer”. Естественно, что в основу некоторых из них легли принципиальные решения, удачно зарекомендовавшие себя в “Радио-86РК”. Наиболее близкими к оригиналу являются компьютеры “Электроника КР-01”, “Электроника КР-02” и “Микроша”, имеющие лишь небольшие отличия в архитектуре и в системной программе МОНИТОР. Эти отличия столь незначительны, что для опытного пользователя “Радио-86РК” или “Микроши” не составляет особого труда перевод программного обеспечения с одного компьютера на другой.

В свое время компьютеры, подобные “Радио-86РК”, сыграли роль катализатора в процессе массовой компьютеризации и имели неплохие характеристики (объем ОЗУ - до 32 Кбайт, объем ПЗУ - 2 Кбайта, быстродействие — более 300 тысяч операций в секунду). Однако сейчас, вследствие возрастания сложности задач, решаемых с помощью ЭВМ, возможности таких компьютеров становятся явно недостаточными и во многих случаях уже не могут удовлетворить пользователя. В наибольшей степени это относится к графическому разрешению экрана, объему ОЗУ и набору периферийного оборудования. Но стоит ли отказываться от проверенных в работе простых компьютеров ради покупки современной дорогостоящей машины, несовместимой с “Радио-86РК”? Ведь за шесть прошедших лет наработан значительный объем программного обеспечения, охватывающий весь спектр применений: от языков программирования и программ поддержки баз данных до игровых и обучающих программ.

Целесообразным представляется иной путь — разработка внешних модулей, подключение которых к “Радио-86РК” в какой-то степени приблизит характеристики компьютера к требованиям сегодняшнего дня. Тем более что архитектура “Радио-86РК” позволяет сделать такое подключение без существенных схемотехнических доработок. Эта статья посвящена описанию одного из таких модулей: контроллеру накопителя на гибких магнитных дисках (НГМД).

Принцип работы НГМД и преимущества записи-чтения с дискет уже рассматривались на страницах журнала “Радио” [1]. Остановимся лишь на основных моментах.

Гибкий магнитный диск представляет собой полимерную пластину круглой формы, на обе поверхности которой нанесен слой магнитного материала. Гибкий диск, называемый также дискетой, заключен в специальный конверт, предохраняющий магнитные слои от механических воздействий. В конверте сделаны радиальные прорези (окна), через которые магнитные головки НГМД входят в соприкосновение с магнитными слоями диска при записи или считывании информации. Кроме окон в дискете есть индексное отверстие, являющееся своеобразной точкой отсчета при поиске того или иного участка диска. На левой стороне конверта расположен вырез защиты записи, а в НГМД имеется специальный датчик, проверяющий состояние этого выреза. Если информация, хранящаяся на диске, не должна модифицироваться, то вырез заклеивают, и запись на диск станет невозможной.

Накопитель на гибких магнитных дисках является устройством внешней памяти, которое осуществляет запись и считывание информации с дискеты. В отличие от накопителя на магнитной ленте (магнитофона), в НГМД являются подвижными как носитель информации, так и магнитная головка. Тем самым достигается произвольный доступ к данным, что обусловливает высокую скорость записи и чтения. Существует несколько типов НГМД, отличающихся конструкцией, размерами используемого диска, максимальным объемом хранимой информации, плотностью записи и т.д. Наиболее распространенными в настоящее время являются двусторонние 80 дорожечныс накопители с рабочим диском диаметром 5,25 дюйма. Такие НГМД выпускаются как в нашей стране (ЕС5311, ЕС5313 и т.п.), так и за рубежом (ЕС5323.01, FD55 и т.п.). Их основные технические характеристики близки:

Каждый НГМД имеет разъем для подключения к ЭВМ, через который НГМД производит обмен данными с ЭВМ, а также принимает от компьютера и посылает ему необходимые сигналы управления. Полный перечень входных и выходных линий обычно приводится в паспорте на НГМД. Кроме этого, с ним можно ознакомиться в [1]. Конструкцией “Радио-86РК” не предусмотрена возможность прямого подключения к нему НГМД. Роль посредника, обеспечивающего взаимосвязь этих устройств, берет на себя контроллер НГМД.

Основными функциями контроллера являются:

В состав контроллера входит ПЗУ, содержащее дисковую операционную систему (ДОС). Дисковая операционная система—это специальная программа, которая организует запись, чтение, модификацию и хранение информации на диске. Диалог с ДОС пользователь ведет с помощью выдачи с клавиатуры определенных команд, называемых командами ДОС. Команды ДОС подразделяются на внутренние, подпрограммы выполнения которых содержатся в ПЗУ контроллера, и на внешние — хранящиеся на диске. Одной из основных функций ДОС является организация обмена информационными потоками между устройствами (каналами) ввода-вывода. Стандартными для данной версии ДОС являются каналы ввода: клавиатура и файл на диске, а вывода — дисплей, принтер и файл. Разработано специальное программное обеспечение (ПО), использующее ресурсы ДОС, подобно тому, как многие программы пользователя используют подпрограммы системного МОНИТОРА. В его состав входят языки программирования Бейсик, Паскаль, Си, Фортран, новая версия редактора “Микрон”. Кроме того, любое программное обеспечение, созданное ранее для “Радио-86РК”, может быть перенесено на диск и успешно функционировать. Схема контроллера и ресурсы ДОС позволяют подключить к компьютеру сразу два НГМД.

Накопители на гибких магнитных дисках, как отмечалось ранее, могут производить запись информации на диск, как с одинарной, так и с двойной плотностью. С целью максимального упрощения устройства данный вариант контроллера обеспечивает функционирование НГМД лишь в первом режиме. Запись с одинарной плотностью осуществляется методом частотной модуляции (FM метод). При FM методе сигналы записи представляют собой биты данных, каждый из которых предварен тактовым импульсом (синхробитом). Как видно из рис.1 частота сигналов записи в случае записи единичных битов в два раза выше, чем при записи нулевых. Запись на диск смеси информационных и синхросигналов позволяет увеличить надежность считывания, но в два раза снижает плотность записи.

В процессе считывания магнитная головка НГМД воспринимает магнитный поток с поверхности диска и при каждом изменении его вектора вырабатывает импульс сигнала считывания (рис.2). Специальная схема контроллера, называемая схемой синхронизации или сепаратором данных, выделяет из сигналов считывания окна данных, а затем и информационные биты.

Приведенный выше алгоритм описывает классический FM метод записи и чтения. Однако из-за схемотехнических особенностей рассматриваемого контроллера указанный алгоритм реализован не полностью. Особенности процессов записи и считывания будут подробно рассмотрены при анализе принципиальной электрической схемы.

Перед занесением на гибкий диск информации его предварительно подвергают форматированию под управлением команд дисковой операционной системы. В процессе разметки каждая поверхность диска разбивается на 80 концентрических дорожек (треков). Таким образом, на диске образуется 160 треков. Каждому треку присваивается порядковый номер от 0 до 159. Треки с четными номерами 0, 2, 4,..., 158 — располагаются на одной стороне диска, а с нечетными 1, 3,5,..., 159 — на противоположной. Нулевая дорожка располагается у внешнего края диска. Расстояние между соседними дорожками 0,264 мм. Так как трек имеет форму кольца, то за начало трека принимается воображаемая линия, выходящая из центра гибкого диска и проходящая через центр индексного отверстия [2].

Каждый трек в свою очередь разделяется на пять секторов. Этим секторам присваиваются порядковые номера от 0 до 4. Идентификация сектора производится по двум параметрам: номеру трека и номеру сектора. По ходу часовой стрелки от начала трека размещение секторов происходит в следующем порядке: сначала 0-й сектор, затем 3-й, 1-й, 4-й и 2-й секторы. Такое расположение существенно уменьшает время записи и считывания. В пределах одного сектора может быть записано до 512 байт. Таким образом, при общем числе секторов 800 на диске может храниться до 400 Кбайт информации.

Особая роль на диске отведена треку с номером 32. При стандартном форматировании его пять секторов использует дисковая операционная система для размещения карты и каталога диска. На эту дорожку не записываются данные и, следовательно, реальная емкость гибкого диска несколько меньше — 397,5 Кбайт.

При форматировании в начале каждого сектора ДОС размещает специальный заголовок. В заголовке указывается вся необходимая информация, требующаяся для идентификации сектора. Общий формат сектора приведен на рис. 3.

Синхробайты, размещаемые в начале заголовка сектора и поля данных, необходимы для обеспечения достоверности считывания последующей информации. Следующие пять нулевых байтов формируют временную задержку, которая необходима для установки параметров подпрограммы считывания. Метки адреса и данных можно считать началом информационной части заголовка и поля данных. Именно они (ЕА и D3 — для заголовка, DD и F3 — для поля данных) определяют, какую часть сектора считывает в настоящий момент НГМД, а значит, и как интерпретировать следующие за меткой байты. Нулевые байты после байтов контрольных сумм обеспечивают временную задержку, во время которой ДОС производит подсчет контрольных сумм считанного заголовка или блока данных и их сравнение с эталонными. R0 и R1 — разделители между заголовком и полем данных. Физически они представляют собой запись пяти последовательных нулевых байтов. Число байтов данных, записываемых в один сектор, может быть меньше 512. Тогда сектор будет занят не полностью. Длина блока данных сектора указывается после метки данных, что обеспечивает считывание из сектора только необходимого числа байтов.

Карта диска (VTOC) занимает на 32-м треке сектор 0 и представляет собой таблицу из 160 байтов, каждый элемент которой соответствует одному треку. Байты таблицы в своих младших пяти битах содержат информацию о наличии на соответствующем треке свободных и занятых секторов. Например, первые десять байтов VTOC имеют вид, показанный на рис. 4.

При записи файлов на диск, а также при удалении их с диска ДОС соответствующим образом модифицирует содержимое VTOC. Под файлом подразумевается любой набор данных, снабженных заголовком (именем) и размещенных дисковой операционной системой на дискете. Таким набором данных могут быть программа в машинных кодах, программа на Бейсике, текст и т.д. Перечень имен файлов, находящихся на дискете, составляет се каталог. Каталог занимает на 32-м треке секторы с 1-го по 4-й.

Формат каталога диска в среде ДОС может быть рассмотрен на следующем примере. Допустим, на диске имеется файл PROGR.СОМ. Расширение .СОМ указывает на тип файла, о чем более подробно будет рассказано в статье, посвященной описанию ДОС. Сейчас важно лишь то, что расширение является неотъемлемой частью имени файла. Предположим также, что при записи файла на диск ДОС разместила его на трех секторах: на секторе 1 дорожки 12 и секторах 3 и 4 дорожки 15. Тогда формат сектора каталога может быть таким, как на рис. 5.

При форматировании дискеты секторы с первого по четвертый трека 32 (2011) отводятся под каталог диска. В начале каждого из них ДОС будет делать ссылку на следующий сектор каталога. Эта ссылка размещается в двух первых байтах сектора и представляет собой адрес сектора продолжения каталога. В рассматриваемом примере каталог будет продолжен на секторе 2 трека 32. В начале сектора 4 ДОС записывает вместо адреса сектора продолжения два нулевых байта, что является признаком последнего сектора каталога.

После пяти нулевых байтов, не используемых ДОС, следуют коды литер, составляющих имя файла. Имя может состоять не более чем из десяти литер.

Нулевой байт, расположенный прямо за именем, играет важную роль при удалении файла с диска. Для ДОС достаточно трудно физически удалить информацию со всех секторов, занятых удаляемым файлом, поэтому изменения затрагивают только каталог. Вместо кода первой литеры имени записывается код FF, а сам код переписывается как раз на место нулевого байта. Эта процедура необходима для того, чтобы дать пользователю возможность восстановить ошибочно удаленный файл. Таким образом, если имя файла в каталоге начинается с кода FF, то этот файл считается уничтоженным.

После кодов литер расширения ДОС размещает адрес трек - секторного списка (T/S LIST) файла. Трек - секторный список — это запись, в которой последовательно перечисляются адреса всех секторов, занимаемых файлом. Такой список является необходимым для обеспечения правильной последовательности считывания данных с диска в ОЗУ. Под T/S LIST каждого файла на диске отводится, как минимум, один сектор. Если же файл имеет значительный размер, его список может занимать два, три и более секторов. В рассматриваемом примере под T/S LIST файла PROGR.СОМ операционная система отвела сектор 1 на треке 3. Формат этого сектора при принятых в примере условиях показан на рис. 6.

Так же, как и в начале сектора каталога, первые два байта указывают на сектор продолжения T/S LIST. Если на указанном месте расположены два нулевых байта, то продолжения списка не последует. Далее перечисляются секторы, занятые файлом PROGR.СОМ, а затем следует признак окончания T/S LIST— два нулевых байта.

В формате каталога после указания адреса T/S LIST файла ДОС размещает адрес начальной загрузки указанного файла в ОЗУ компьютера и общую длину файла в секторах (с учетом секторов, занятых T/S LIST). Последним байтом в записи имени файла в каталоге является атрибут. ДОС может запретить или, наоборот, разрешить запись нового файла под тем же самым именем. Кроме этого, средства ДОС могут запретить чтение имени файла при выводе на экран каталога диска. Как раз режимы разрешения или запрета содержатся в байте атрибута.

Вслед за байтом атрибута ДОС размещает имя следующего файла. Если вместо первой литеры имени на диске записан код 00, то это свидетельствует о достижении конца каталога.

(Окончание следует)

Е. СЕДОВ, А. МАТВЕЕВ

г. Москва

Отсканировано с журнала РАДИО №1 1993 г.
Отредактировано Лесных Ю. И. 1999 г.

Описание компьютера Радио-86РК
Журнал РАДИО



(C) 2003-2010 www.danbigras.ru Наш адрес: info@danbigras.ru
Всё о старых компьютерах