Производительность диска определяется четырьмя основными физическими параметрами:
1. временем доступа (мс)
2. размером цилиндра (секторов)
3. скоростью передачи данных (Кбайт/с)
4. средним временем ожидания (мс)
Время доступа - то время, которое требуется для перевода головок чтения-записи на нужные дорожки (цилиндры). После установки над нужными дорожками головки должны перейти из транспортного положения в положение чтения-записи. Все это и составляет обычно время доступа.
Скорость передачи данных (скорость, с которой они выдаются с диска) зависит от скорости вращения диска, плотности записи и секторного интерливинга. (Расслоение. Фактор интерливинга, равный 4 означает, что имеются три сектора, разделяющие смежные сектора. Следование секторов под головкой будет следующим- сектор 1, сектор X, сектор Y, сектор Z, сектор 2 и т.д.). При коэффициенте интерливинга, равного 6, у РС ХТ скорость передачи снижается с 5 М бит/с до 0.83 М бит/с.
Среднее время ожидания - время, за которое диск совершит половину оборота и нужный сектор окажется под головкой.
Использование контроллера DMA (Прямого доступа к памяти) в настоящее время не применяется для операций ввода-вывода с жестким диском. Контроллер в жесткого диска в АТ использует 512-байтный секторный буфер, к которому МП (i80286) обращается как к 16-разрядному устройству. Когда этот буфер полон или пуст, контроллер прерывает МП (с помощью INT 14), после чего данные передаются при помощи строковых команд ввода-вывода в память или из памяти со скоростью 2 Мбайта в секунду (у IBM XT, использовавшего подсистему DMA, скорость передачи в два раза ниже). Такая скорость достигается за счет использования трех тактов (включая одно состояние ожидания) для переноса данных (16 бит) в процессор и еще трех тактов (включая еще одно состояние ожидания) для переноса данных в память. Таким образом, для передачи двух байтов данных используется шесть тактов шины.
Таблица параметров жесткого диска
Она находится по адресу вектора прерывания INT 41h для первого жесткого диска и INT 46h для второго (если он есть):
Смещ. | Длина | Содержимое | ||
+0 | 2 | Максимальное число цилиндров | ||
+2 | 1 | Максимальное число головок | ||
+3 | 2 | Не используется в АТ | ||
+5 | 2 | Стартовый цилиндр предкомпенсации записи | ||
+7 | 1 | Не используется в АТ | ||
+8 | 1 | Управляющий байт | 7: запрет повторного доступа 6: запрет повторения по ошибке ЕСС 3: более 8 головок | |
+9 | 1 | Не используется в АТ | ||
+0Ah | 1 | Не используется в АТ | ||
+0Bh | 1 | Не используется в АТ | ||
+0Ch | 2 | Зона парковки головок | ||
+0Eh | 1 | Количество секторов на дорожку | ||
+0Fh | 1 | Резерв |
Дефекты информации, хранимой на магнитном носителе можно подразделить на две основные группы:
1. Временные (обратимые) - это пыль, частицы отслоившегося лакового покрытия.
2. Постоянные (необратимые) - это различные царапины, трещины в покрытии, прилипшая грязь и т. п.
Для обнаружения и коррекции ошибок были разработаны системы кодирования информации с избыточностью (внедрение контрольных разрядов, образуемых с помощью выполнения определенных арифметических операций над всеми информационными разрядами).
Но следует учитывать при разработке и применении конкретной системы кодирования, что возможность обнаружения и коррекции ошибок возрастает с избыточностью кода, но одновременно усложняется алгоритм кодирования и декодирования и, как следствие, возрастает объем буферной памяти, и снижается скорость передачи информации , усложняется аппаратура кодирования и декодирования и, следовательно, система становится менее надежной.
Для двоичного кода М сообщений, каждое из которых имеет дину n, можно закодировать, если выполняется условие: 2n >=M или n>=log2 M.
Приведем примеры различных методов кодирования:
Пусть имеются четыре события:
А1, А2, А3, А4, причем вероятности их появления различны:
Р(А1)=0,5; Р(А2)=0,25; Р(А3)= Р(А1)=0,125.
Равномерное кодирование - без учета вероятности появления того или иного события.
Метод Фанно - А1=02; А2=102; А3=1102; А4=1112 . Это пример неравномерного кодирования с учетом вероятности появления события. Система Фанно однозначно декодируема, поскольку ни одно А не является префиксом следующего. Такие системы кодирования называют префиксными.
Основные характеристики кодов:
1. Длина кода | n | Число символов, составляющих кодовое слово |
2. Основание кода | m | Количество отличных друг от друга значений импульсных признаков, используемых в кодовом слове |
3. Мощность кода | Мр | число разрешенных кодовых слов |
Полное число кодовых слов | М | все возможные кодовые слова |
4. Число информационных символов | k | без комментариев |
5. Число проверочных символов | r | без комментариев |
6. Избыточность кода | R | R=r/n |
7. Скорость передачи кодовых слов | R’ | R’=k/n |
8. Кодовое расстояние | d | Число несовпадающих позиций двух кодовых слов |
Имея один избыточных символ, можно обнаружить только нечетное количество ошибок. Поэтому используют другой метод. Объясним на примере:
Пусть должно прийти 9-разрядное число. Расположим приходящие разряды следующим образом:
В1 | В2 | В3 | С1 | Пусть | В1Å В4Å В7 = С4 |
В4 | В5 | В6 | С2 | В4Å В5Å В6 = С2 | В2Å В5Å В8 = С5 |
В7 | В8 | В9 | С3 | В7Å В8Å В9 = С3 | В3Å В6Å В9 = С6 |
С4 | С5 | С6 | С7 | С1 Å С2 Å С3 Å С4 Å С5 Å С6= С7 |
Пусть приходит число 011010001. Пусть произошла ошибка в 7-ом разряде
Передано | Принято | |||||||||
0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | |||
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | |||
0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | |||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Следовательно, ошибочный разряд локализован можно исправить.
Но это был случай единичной ошибки, а с двойной ошибкой этот метод не справляется, то есть определить может, но исправить - нет.
0 | 1 | 0 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 |
0 | 0 | 0 | 0 |
На рисунке видно, что, используя этот метод, нельзя понять, где произошла ошибка (В2 , В3 , В8 , В9).
Для дальнейшего объяснения d(x,y) между двумя кодовыми словами х и у называется число несовпадающих позиций. Пример: х=01101, у=00111 d(x,y)=2. Это расстояние называется кодовым расстояние Хемминга.
Итак, код способен исправить любые комбинации из q или меньшего числа ошибок тогда и только тогда, когда его кодовое расстояние > 2q. В настоящее время только для кодов с dmin получено такое соотношение между числом проверочных символов r и длиной кода n:
r>= log2 (n+1).
Циклическими кодами называются такие коды, которые с любым своим вектором содержит также его циклический сдвиг. Циклические коды основаны на представлении передаваемых данных в виде полинома (многочлена) и используются при последовательной передаче информации между Процессором и ВЗУ.
а(х)= а0+а1 х+а2 х2+...+ аn-1 хn-1 Для вектора а(а0, а1, ..., аn-1).
Циклический сдвиг а’(х)= аn-1 +а0x +а1 х2+...+ аn-2 хn-1 .