Контроллер гибкого магнитного диска КР1810ВГ72А

Однокристальный контроллер гибких дисков КР1810ВГ72А, предназначенный для записи, чтения и форматирования дисков с одинарной (режим ЧМ) в формате "IВМ – 3740" и двойной плотностью в формате "IBMSISTEM 34". Фазы выполнения команд. Режимы работы КГМД.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.02.2011
Размер файла 873,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовой проект

На тему

«КОНТРОЛЛЕР ГИБКОГО МАГНИТНОГО ДИСКА КР1810ВГ72А»

Харьков 2008г.

КОНТРОЛЛЕР ГИБКОГО МАГНИТНОГО ДИСКА КР1810ВГ72А

Однокристальный контроллер гибких дисков КР1810ВГ72А позволяет работать с четырьмя дисководами. Предназначен для записи, чтения и форматирования дисков с одинарной (режим ЧМ) в формате «IВМ - 3740» и двойной плотностью (режим МЧМ) в формате «IBMSISTEM 34». Контроллер сопрягается с процессором с помощью 8-разрядного параллельного канала данных. Обмен данными между контроллером и памятью ЭВМ осуществляется непосредственно через процессор или с помощью контроллера прямого доступа к памяти.

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 1. Форматы сектора и дорожки ГМД

Длина сектора равна 128, 256 или 512 байт при работе в режиме ЧМ и 256, 52, 1024 байт - в режиме МЧМ (табл. 2). Назначение выводов микросхемы КР1810ВГ72А приведено в табл. 3, структурная схема показана на рис. 2, электрические параметры - в табл. 4, временные диаграммы работы микросхемы - на рис. 3-9.

Таблица 1 Форматы ГМД

Ёмкость диска

Одинарная плотность

Двойная плотность

Байтов в секторе

128

256

512

1024

128

256

512

1024

Секторов на дорожке*

26

15

8

4

52

30

16

8

Килобайтов на диске

256, 256

295, 680

315, 392

315, 392

512, 512

591, 360

630, 784

630, 784

* - 77 дорожек на диске

Через последовательный интерфейс выполняются чтение или запись данных, преобразование байтов в последовательность сигналов WRD, выдача сигнала разрешения записи данных WRE и сигналов предкомпенсации PS0, PS1. В процессе считывания информации с ГМД последовательность данных в виде сигналов RDD, сопровождаемых сигналом DM, записывается через ПИ в регистры данных КГМД.

Интерфейс сопряжения обеспечивает выдачу команд управления и приём сигналов, информирующих о состоянии различных устройств НГМД через соответствующие порты входа и выхода.

Таблица 2 Параметры сектора

Режим

Длина сектора, байт

Код длины сектора (N)

Число секторов на дорожке (SC)

Длина пробела 3 (GPL)

Чтение, запись

Форматирование

ЧМ

128

256

512

256

00

01

02

01

IA

OF

08

IA

07

OE

IB

OE

IB

2A

3A

36

МЧМ

512

1024

02

03

OF

08

IB

35

54

74

* Примечание. Все параметры, кроме длины сектора, даны в шестнадцатеричном коде

Посредством логики управления режимами работы контроллера, а соответственно, и всей системой обмена информацией с помощью ГМД принимаются команды и данные от центрального процессора, выделяются сигналы управления и прерывания, устанавливается плотность записи, опрашивается контроллер ПДП (сигнал ТС), обеспечивается выполнение требуемых команд. Фактически ЛУ является центральным процессором самого контроллера. Регистры общего назначения включают интерфейсные регистры состояния, регистр данных, регистры номеров сектора, дорожки и др. Порядок обращения к интерфейсным регистрам приведён в табл. 5, назначение битов регистров состояний - в табл. 6.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис.2. Структурная схема контроллера КР1810ВГ72А

БД - буферы данных; Рг - регистры общего назначения; ПИ - последовательный интерфейс; ИД - интерфейс сопряжения с НГМД; ЛУ - логика управления режимами чтения, записи, обмена информацией.

Таблица 3 Назначение выводов микросхемы КР1810ВГ72А

Вывод

Обозначение

Тип

Направление сигнала

Назначение

1

SR

Вход

От ЭВМ

Сброс

2

»

»

Чтение

3

»

»

Запись

4

CS

»

»

Выбор микросхемы

5

AO

»

»

Адрес

6…13

DB0…DB7

Входы - выходы

К ЭВМ

Линии двунаправленного канала данных с тремя возможными состояниями

14

DRQ

Выход

На КПДП

Запрос данных

15

DACK

Вход

От КПДП

Подтверждение прямого доступа к памяти

16

TC

»

»

Завершение обмена

17

IDX

»

От ГМД

Индексный импульс

18

INT

Выход

На ЭВМ

Запрос прерывания

19

C

Вход

-

Тактовые импульсы

20

GND

-

-

Общий

21

WRC

Вход

-

Тактовые импульсы записи

22

DW

»

От разделителя

Сопровождение данных

23

RDD

»

От ГМД

Чтение данных

24

VCO

Выход

На разделитель

Разрешение синхронизации схемы разделителя данных

25

WE

»

На ГМД

Разрешение записи

26

MFM

»

На разделитель

Режим МЧМ

27

HDS

Выход

На ГМД

Выбор головки

28, 29

DS1, DS0

Выходы

На ГМД

Выбор дисковода 0…3

30

WRD

Выход

»

Запись

31, 32

RS1, RS0

Выходы

»

Сигналы предкомпенсации при записи с МЧМ

33

GLT/TRKO

Вход

»

Ошибка накопителя - нулевая дорожка

34

WR/TS

»

От ГМД

Защита записи - двусторонний диск

35

RDY

»

»

Готовность НГМД

36

HDL

Выход

На ГМД

Загрузка магнитной головки

37

FR/STR

»

»

Сброс триггера «Ошибка - шаг»

38

LCT/DIR

»

»

Снижение тока записи, направление шага

39

/SEEK

»

»

Чтение, запись - поиск (определяет назначение 33, 34, 37, 38)

40

UCC

»

»

Напряжение источника питания 5В±10%

Таблица 4 Основные электрические параметры контроллера КР1810ВГ72А, Т=-10…+70?С

Параметры, единица измерения

Статистические

Примечание

Не менее

Не более

-

0,45

2,4

-

120

-10

10

Динамические

-

200

20

100

-

500

1

-

500

-

200

13

-

1

20

100

20

100

33

-

1,2

Режима эксплуатации

-0,5

0,8

2,0

+0,5

120

500

40

0,52

0,76

250

-

250

-

2; 4

1; 2

MFM=0

MFM=13,1

80

350

40

-

2

1

MFM=0

MFM=13

10

3

14 14

-

* Примечание. 1 - значения даны для =8 МГц (для 4 МГЦ значения удваиваются); 2 - параметр программируется; 3 - указаны номинальные значения.

Рис. 3. Сигналы записи данных в контроллер

Таблица 5 Порядок обращения к интерфейсным регистрам

AO

Выполняемая операция

0

0

0

1

Чтение главного регистра состояния

0

0

1

0

Запрещённая комбинация

0

0

0

0

Запрещённая комбинация

0

1

0

0

Запрещённая комбинация

0

1

0

1

Чтение регистра данных*

0

1

1

0

Запись в регистр данных*

1

Х

Х

Х

Шина данных DB7…DB0 в высокоимпендансном состоянии

* При записи - чтении данных в режиме прямого доступа к памяти состояние входов и AO может быть произвольным (Х).

РЕЖИМЫ РАБОТЫ КГМД

Многосекторный и многодорожковый режимы. Обмен данными последовательности секторов заканчивается по сигналу (завершение обмена). Если с приходом последнего байта данных сектора не выдаётся сигнал , то КГМД записывает (считывает) данные в следующий (из следующего) сектор, увеличивающий текущий номер сектора на единицу. Многодорожковый режим определяется битом МТ в коде команды. Чтение - запись дорожек и секторов ГМД выполняется последовательно до прихода сигнала .

ОБМЕН ДАННЫМИ В РЕЖИМЕ ПДП

Передача (приём) данных на ГМД (от ГМД) может выполняться в режимах прямого (без участия центрального процессора) и непрямого доступов к памяти (через центральный процессор). В режиме ПДП для каждой посылки данных активизируется сигнал DRQ (запрос данных). Контроллер ПДП отвечает выдаче сигналов и при чтении или при записи.

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

По сигналу ошибки от НГМД прекращает запись данных на ГМД, устанавливается единица в бите ЕС регистра РС0 и заканчивается команда (после установки кода прерывания 01 в битах 1С регистра РС0).

однокристальный гибкий контроллер диск

Рис. 4. Сигналы чтения данных из контроллера.

ФАЗЫ ВЫПОЛНЕНИЯ КОМАНД

Каждая из 15 команд контролера имеет фазы задания, исполнения и контроля результата (табл. 7, 8). Фаза задания описывает порядок ввода команды от ЭВМ. Первые два байта, как правило, определяют непосредственно коды команды, остальные - необходимые параметры. Исключение составляют команды, описываемые одним байтом: «опрос состояния прерывания» и «определение параметров». Приведённый в табл. 7 порядок ввода исходной информации является обязательным. После ввода последнего байта задания контроллер автоматически переходит в фазу исполнения команд обмена данными или управления устройствами НГМД. Процессы обмена данными зависят от режимов ПДП и НПДП.

В фазе контроля результата процессор последовательно считывает все указанные в структуре команды байты и только после чтения последнего байта контроллер готов к выполнению следующей команды. Готовность подтверждают биты D10 и RQM главного РС, которые должны быть в состоянии 1 (РС0… РС3 опрашиваются только в фазе контроля результатов выполнения команд).

Команда «Определение параметров» используется перед выполнением любой дисковой операции (включая форматирование нового диска) для определения рабочих характеристик накопителя; задаёт режимы ПДП и НПДП. Состояние 0 младшего разряда третьего байта (В4) определяет режим ПДП. В процессе её выполнения устанавливаются значения трёх внутренних таймеров:

· время загрузки головки HLT - 7-разрядная величина, определяющая временной интервал между загрузкой головки и началом процесса считывания или записи; программируется на интервал 2…254 мс с приращением 2мс.

· время разгрузки головки HUT - 4-разрядная величина, задающая временной интервал между окончанием исполнительской фазы (команды чтения или записи) и разгрузкой головки, программируется в диапазоне 16…240 мс с приращениями 16 мс; если процессор выдаёт команду перед разгрузкой головки, то она остаётся загруженной;

· период шаговых импульсов SRT - 4-разрядная величина, устанавливающая временной интервал между шаговыми импульсами, посылаемыми КГМД (время перехода от дорожке к дорожке); программируется в диапазоне 1…16 мс с приращениями 1 мс.

Эти временные интервалы являются прямой функцией периода тактового импульса С (вывод 19). Интервалы даны для тактовой частоты, равной 8 МГц.

Команда «Опрос состояния накопителей» выдаётся процессором по требованию на получение информации о состоянии накопителей (данные о состоянии накопителя содержатся в РС3).

Сигнал прерывания формируется КГМД при появлении как мин6имум одного из следующих событий:

· КГМД выполняет заключительную фазу для команд чтения данных, дорожки, индексных и удаленных данных, записи данных; форматирования дорожки; записи удаленных данных; сканирования;

· сигнал «Готовность» одного из накопителей изменяет состояние;

· команда поиска или повторной поверки завершает операцию;

· КГМД запрашивает обмен данными в фазе исполнения команд записи чтения в режиме НПДП.

Прерывания, вызываемые первой и четвёртой причинами, происходят при нормальных командных операциях и легко различаются процессором. Прерывания, вызываемые второй и третьей причинами, определяются только с помощью команды «Опрос состояния прерывания». При вводе данной команды сигнал прерывания переходит в низкий уровень, а причина прерывания определяется с помощью разрядов 5, 6, 7 РС0 в фазе контроля результата (табл. 9).

Команды «Поиск» и «Восстановление» не имеют итоговой фазы выполнения. Для эффективного их завершения и контроля за положением головки на диске необходимо использовать команду «Опрос состояния прерывания».

Для выявления причины прерывания процессора могут быть использованы признаки занятости КГМД (разряд D4) и режима работы НПДП (разряд D5) главного РС.

Разряд D5 Разряд D4

0 0 Асинхронное событие (2), (3)

0 1 Фаза итоговой информации (1)

1 1 Требуется обмен данными (4)

Один запрос прерывания, посылаемый процессору, может быть вызван более чем одним событием. Поэтому процессору необходимо провести анализ с помощью команды «Опрос состояния прерывания» и чтения главного РС для определения причины прерывания. Таким образом, обслуживаются все «упрятанные» прерывания.

Рис. 5. Сигналы прямого доступа к памяти

Рис. 6. Сигналы записи на ГМД

Рис. 7. Сигналы чтения с ГМД

Таблица 6 Назначение битов регистров состояний

Бит

Обозначение

Значение

Главный регистр

7

RQM

Запрос данных

6

DIO

Ввод - вывод данных (направление передачи)

5

NDM

Режим непрямого доступа к памяти (только при выполнении команды)

4

CB

КГМД занят (для команд чтения или записи)

3…0

D3B…D0B

НГМД под номерами 3…0 заняты. Выполняется команда «Поиск»

РС0

7, 6

IC

Код прерывания 00 - нормальное завершение команды, 10 - некорректная команда, 01 - ненормальное завершение команды, 11 - состояние неготовности дисковода

5

SE

Конец поиска

4

EC

Ошибка аппаратных средств НГМД (для команд чтения или записи)

3

NR

Принят сигнал неготовности (запрос второй стороны одностороннего диска)

2

H

Номер головки

1, 0

DS1, DS0

Выбор накопителя

РС1

7

EN

Ошибка конца дорожки (несуществующий сектор)

5

DE

Ошибка данных (по контрольному коду)

4

OR

Признак переполнения

3, 6

-

Не используется (состояние 0)

2

ND

Не найден сектор

1

NW

Признак защиты записи

0

MA

Признак недостающей адресной метки

РС2

7

-

Не используется (состояние 0)

6

CM

Контрольная метка не соответствует заданной

5

DD

Ошибка в поле данных

4

WC

Ошибка адреса дорожки

3

SH

Признак совпадения сканирования

2

SN

Сканирование не удовлетворяется

1

BC

Признак нечитаемой дорожки

0

МД

Признак отсутствия адресной метки данных

РС3

7

FT

Ошибка накопителя

6

WP

Защита записи на иске

5

RDY

Готовность

4

TO

Дорожка 0

3

TS

Двухсторонний диск

2

H

Номер головки

1, 0

DS1, DS0

Выбранный накопитель

Рис. 8. Сигналы FR, IDX, TC, SR

По команде «Поиск» головка считывания записи накопителя размещается над заданной дорожкой, КГМД определяет разницу между текущим и требуемым адресами дорожки и выдает соответствующее число шаговых импульсов.

Если требуемый адрес дорожки больше текущего адреса, то сигнал направления (LCT/DIR, вывод 38) будет высокого уровня, если меньше - низкого уровня. Если заданная дорожка совпадает с текущим адресом, то головка не перемещается.

Период выдачи шаговых импульсов управляется таймером шагового импульса и задается (SRT) в команде «Определение параметров». После каждого шагового импульса требуемый адрес дорожки сравнивается с текущим. При равенстве адресов устанавливается признак «Конец поиска» (сигнал высокого уровня в разряде D5 ЗС0) и завершается выполнение команды. Если накопитель во время операции поиска находится в состоянии «Неготовность», то устанавливается признак «Неготовность» (сигнал высокого уровня в разряде D3 РС0) и команда завершается.

Во время выдачи шаговых импульсов КГМД находится в состоянии «Занят», в остальное время - в состоянии «Свободен». Все четыре накопителя могут одновременно находиться в режиме поиска. По завершении операции поиска КГМД посылает запрос прерывания, в ответ на который выдаётся команда «Опрос состояния прерывания». В итоговой фазе выполнения команды данные РС0, содержащие номер накопителя в разрядах D0 и D1, считываются процессором.

По команде «Восстановление» головка считывания записи накопителя устанавливается на нулевую дорожку. КГМД сбрасывает содержимое внутреннего счётчика дорожки и проверяет состояние сигнала TRKO, поступающего из накопителя. Если сигнал TRKO имеет низкий уровень, то вырабатываются сигнал направления DIR и шаговые импульсы; если высокий уровень, то в РС0 устанавливается признак «Конец поиска» и выполнение команды завершается. Если после поступления 77 шаговых импульсов сигнал TRKO остаётся на низком уровне, то поиск заканчивается, в РС0 устанавливается признак ошибки аппаратных средств НГМД и команда завершается. Команды восстановления для нескольких накопителей могут перекрываться таким же образом, как команды поиска.

Таблица 7 Структура системы команд контроллера КР1810ВГ72А

Команда

Коды команды (байты В1, В2)

Фазы выполнения команды

Задание*(последовательность байтов)

Контроль результата*

D7

D6

D5

D4

D3

D2

D1

D0

B1, B2

B3

B4

B5

B6

B7

B8

B9

Исполь-

зование

B1

B2

B3

B4

B5

B6

B7

Чтение данных

МТ

0

МЧМ

0

SK

0

0

0

0

0

1

HDS

1

DS1

0

DS0

B1

B2

Данные

ГМД >ЭВМ

ST0

ST1

ST2

C

H

R

N

Чтение удаленных данных

МТ

0

МЧМ

0

SK

0

0

0

0

0

1

HDS

0

DS1

0

DS0

B1

B2

C

H

R

N

EOT

GPL

DTL

Запись данных

МТ

0

МЧМ

0

0

0

0

0

0

0

1

HDS

0

DS1

1

DS0

B1

B2

Данные

ЭВМ >ГМД

Запись удаленных данных

МТ

0

МЧМ

0

0

0

0

0

0

0

0

HDS

0

DS1

1

DS0

B1

B2

Чтение дорожки

0

0

МЧМ

0

SK

0

0

0

0

0

0

HDS

1

DS1

0

DS0

B1

B2

Данные

ГМД >ЭВМ

Чтение индексных данных

0

0

МЧМ

0

0

0

0

0

1

0

0

HDS

1

DS1

0

DS0

B1

B2

Индексные данные

ГМД >ЭВМ

Форматирование дорожки

0

0

МЧМ

0

0

0

0

0

1

0

1

HDS

0

DS1

1

DS0

B1

B2

N

SC

GAL

D

-

-

-

Индексные данные

ЭВМ >ГМД

Сканирование на равенство

МТ

0

МЧМ

0

SK

0

1

0

0

0

0

HDS

0

DS1

1

DS0

B1

B2

Сравнение данных

ГМД и ЭВМ

Сканирование на меньше или равно

МТ

0

МЧМ

0

SK

0

1

0

1

0

1

HDS

0

DS1

1

DS0

B1

B2

C

H

R

N

Сканирование на больше или равно

МТ

0

МЧМ

0

SK

0

1

0

1

0

0

HDS

0

DS1

1

DS0

B1

B2

Восстановление

0

0

0

0

0

0

0

0

0

0

1

0

1

DS1

1

DS0

B1

-

-

Установка МГ на TRO

-

-

Опрос состояния прерывания

0

0

0

0

1

0

0

0

B1

-

-

-

-

-

-

-

ST0

C

-

-

-

-

-

Определение параметров

0

0

0

0

0

0

1

1

B1

SRT

HVT

NLT

ND

-

Опрос состояния накопителей

0

0

0

0

0

0

0

0

0

0

1

HDS

0

DS1

0

DS0

B1

B2

-

-

-

-

-

-

-

-

ST1

-

-

-

-

-

-

Поиск

0

0

0

0

0

0

0

0

1

0

1

HDS

1

DS1

1

DS0

B1

B2

C

-

-

-

-

-

-

Установка МГ на дорожку

-

-

-

-

-

-

-

Примечания: 1. Коды команды D7…D0 указывают состояние битов DB7…DB0 канала данных контроллера, т.е. байты информации при записи команды.

2. Запись байтов B1…B9 в фазе контроля (в таблице указываются номера и содержание байтов) составляют обязательную последовательность.

3. Команда «Опрос состояния прерывания » обязательно должна следовать за командами «Поиск» и «Восстановление».

По команде «Форматирование дорожки» размечается дорожка на ГМД путём записи индексных данных, пробелов и адресных меток для каждого сектора. Перед ней выдаётся команда «Поиск» для размещения головки считывания - записи над соответствующей дорожкой. Кроме того, перед выполнением данной команды должна быть подготовлена таблица индексных данных для каждого сектора (адрес дорожки, номер головки, адрес сектора, а также код длину сектора). В процессе выполнения команды КГМД обращается к процессору и, используя данные таблицы, делает запись индексных данных на каждом секторе дорожки. Метка адреса поля индексных данных выдаётся самим контроллером и автоматически записывается, как первый байт IDAM каждого сектора. Контрольный код (КК) поля ID (посчитанный для данных, записанных в первых пяти байтах) автоматически записывается, как последние два байта поля. Пробелы задаются автоматически, причём длина регулируемого пробела 3 определяется одним из параметров команды форматирования.

Таблица 8 Сокращения, используемые в описании команд

Обозначение

Описание

C

Номер дорожки (0….76)

D

Байт данных, который будет автоматически повторён во всех байтах области данных каждого сектора форматируемой дорожки

DS1, DS0

Выбор диска: DS1 DS0 Дисковод

0 0 0

0 1 1

1 0 2

1 1 3

DTL

Эффективный размер сектора (1…256 байт)

EOT

Число секторов на текущей дорожке

GPL

Размер пробела 3 (см. табл.2)

H

Номер стороны диска (0 или 1)

HLT

Время загрузки головки (биты D1…D7 третьего байта В4 команды «Определение параметров»)

HUT

Время загрузки головки (биты D0…D3 второго байта команды «Определение параметров»)

МЧМ

Выбор режима ЧМ или МЧМ

МТ

Вариант многодорожечного режима

N

Код длины сектора (см. табл. 2)

ND

Признак работы с непрямым доступом к памяти

SK

Признак пропуска

SRT

Период следования импульсов пошагового перемещения блока магнитной головки (1…16 мс с шагом 1 мс)

R

Номер сектора

ST0…ST3

РС0…СР3

STR

Шаг адреса сканирования

SC

Число секторов на дорожке (задаётся для команды «Форматирование»)

Метка адреса поля данных DAM формируется и автоматически записывается, как первый байт поля данных. Байт данных, указанный в командной фазе задания, заносится в поле данных (все байты) каждого сектора. Значение КК формируется из адресной метки данных и данных, записанных в секторе. За последним байтом данных размещается два байта КК.

Рис. 9. Сигналы поиска

Таблица 9 Коды прерывания

Конец поиска разряда D5

Код прерывания, разряд

Причина

D6

D7

0

1

1

Сигнал готовности меняет состояние

1

0

0

Нормальное завершение выполнения команды «Поиск» или «Восстановление»

1

1

0

Ненормальное завершение выполнения команды «Поиск» или «Восстановление»

Форматирование дорожки начинается с физической индексной метки. Порядок распределения секторов непосредственно соответствует таблице форматирования (предоставляемой процессором). В таблице каждый сектор определяется четырьмя признаками: адресом дорожки, номером головки, адресом сектора и кодом длины сектора. Адрес дорожки в поле ID должен быть равен адресу форматируемой дорожки. Адрес сектора должен быть уникальным (нет двух равных адресов). Порядок расположения секторов в таблице - это последовательность, в которой номера сектора появляются на дорожке при её форматировании. Число входных установок (адреса дорожки, головки и сектора, код длины сектора) должно быть равно числу секторов, размещаемых на дорожке (указывается также в командной фазе).

В зависимости от расположения секторов дорожки могут форматироваться последовательно, тогда первый сектор, идущий за индексной меткой, имеет адрес сектора 1, соседний сектор - адрес сектора 2 и т.д.; или же номера секторов могут располагаться со сдвигом, например: 1, 4, 7, 10, 13 и т.д. - со сдвигом на три сектора. Такой сдвиг может быть полезен для увеличения времени, отведённого на обработку данных сектора.

Чтение данных. Для завершения спецификации фазы задания по команде «Чтение данных» требуется 9 байт. КГМД загружает головку и считывает метки адресов IDAM и поля ID. Когда адрес запрашиваемого сектора сравнивается с адресом сектора, считанным с диска, КГМД выдаёт побайтовые данные (с поля данных сектора) в ЭВМ. Команда «Чтение данных» автоматически выполняется в многосекторном режиме. Многодорожковый режим может задаваться с помощью признака МТ (см. табл. 8). Число данных, передаваемых по одной команде на КГМД, зависит от признака многодорожечного режима, признака плотности записи и числа байтов на сектор.

В процессе выполнения команд чтения и записи для временного изменения эффективного размера дискового сектора используется специальный параметр размера сектора DTL., задающий длину 1…256 байт. Если фактический сектор больше сектора, указанного параметром DTL, в ЭВМ считывается только число байтов, указанных этим параметром, остальная часть фактического дискового сектора не считывается (данные проверяются по КК). Аналогично происходит процесс записи на диск.

Многосекторный режим чтения обеспечивается таким же образом, как и при нулевом коде размера сектора. Параметры N и DTL всегда присутствуют при задании команд чтения - записи данных. Параметр DTL должен быть установлен на шестнадцатеричное число FF при нулевом значении N.

Если физическая индексная метка фиксируется дважды без нахождения запрашиваемого сектора, то КГМД устанавливает признак «Необнаруженный сектор» (разряд D2 в РС1) и завершает команду считывания данных. Код прерывания устанавливается на 01 (разряды D7 и D6 РС0).

Ошибка «Необнаруженный сектор» может появиться в многосекторном режиме после чтения части секторов и в случаях, когда номер конкретного сектора упущен при форматировании дорожки или систематическая ошибка на диске делает секторное поле ID нечитаемым.

Таблица 10 Значение индексных байтов в фазе контроля результата при завершении команды

МТ

EOT

Сектор

Сторона

Байт информации

C; H; R; N

0

IA

OF

08

1…25

1…14

1…7

0

NC

NC

R+1

NC

IA

OF

08

26

15

8

0

C+1

NC

R=01

NC

IA

OF

08

1…25

1…14

1…7

1

NC

NC

R+1

NC

IA

OF

08

26

15

8

1

C+1

NC

R=01

NC

1

IA

OF

08

1…25

1…14

1…7

0

NC

NC

R+1

NC

IA

OF

08

26

15

8

0

C+1

R=01

NC

IA

OF

08

1…25

1…14

1…7

1

NC

NC

R+1

NC

IA

OF

08

26

15

8

1

C+1

R=01

NC

После считывания поля ID и поля данных на каждом секторе КГМД проверяет байты КК. При обнаружении ошибки считывания (некорректный КК в поле ID или в поле данных) КГМД устанавливает признак «Ошибка данных» в РС1. Если ошибка КК появляется только в поле данных, то признак устанавливается в РС2. В любом случае КГМД завершает команду считывания данных. Код прерывания (разряды D7 и D6 в РС0) устанавливаются в состояние 01.

Если метка адреса удаленных данных считывается с диска, а признак пропуска (указанный в командной фазе) не установлен, то КГМД выдает признак «Контрольная метка» (разряд D6 РС2) и завершает команду чтения данных (после считывания всех данных в секторе).

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

Во время обмена данными между ГМД и ЭВМ контроллер должен обслуживаться системой (процессором или контроллером ПДП) каждые 27 мкс в режиме МЧМ. В противном случае устанавливается признак переполнения (разряд D4 в РС1) и команда чтения данных завершается.

В фазе контроля результата команды данные зависят от состояния признака многодорожечного режима и адреса последнего обработанного сектора (табл. 10).

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

КГМД считывает поле ID каждого сектора и проверяет байты КК. Если фиксируется ошибка считывания (некорректный КК) в одном из полей ID, он устанавливает признак «Ошибка данных» (разряд D5в РС1) и завершает выполнение команды «Запись данных». Код прерывания (разряды D7 и D6 РС0) устанавливается в состояние 01.

Режимы и признаки команд записи и чтения данных подобны. В исполнительной фазе команды «Запись данных» обмен данными между процессором и КГМД должен происходить каждые 31 мкс в режиме ЧМ и каждые 15 мкс в режиме МЧМ. Если временной интервал больше, КГМД устанавливает признак переполнения (разряд D4 РС1) и завершает команду.

Считывание удалённых данных выполняется подобно команде «Считывание данных». Единственная разница заключается в обработке адресной метки данных и признака пропуска. Когда КГМД фиксирует адресную метку данных в начале поля данных (признак пропуска не был установлен), считываются все данные, записанные в секторе, устанавливается признак «Контрольная метка» (разряд D6 РС2) и завершается выполнение команды. Если признак пропуска установлен, от КГМД пропускает этот сектор и продолжает считывание следующего сектора. Признак пропуска может быть использован для считывания только секторов с удалёнными данными в многосекторном режиме считывания.

Запись удалённых данных выполняется в том же порядке, что и команда записи данных, за исключением того, что адресная метка удаленных данных вводится в начале поля данных вместо адресной метки обычных данных. Данной командой можно поместить «плохой» сектор, содержащий систематическую ошибку.

Команда «Чтение дорожки» аналогична команде «Чтение данных», только вся информация (метки, адреса и данные) считываются непрерывно. Сразу же после обнаружения физической индексной метки КГМД начинает считывание индексной информации и данных с дорожки, как одного непрерывного блока данных. Даже в случае ошибки в байтах КК поля данных или поля ID КГМД продолжает считывать данные с дорожки. Он сравнивает информацию ID, считанную из каждого сектора, со значениями, указанными в командной фазе. Если информация поля ID не обнаруживается на дорожке, то в РС1 устанавливается признак «Необнаруженный сектор». Данная команда не допускает многодорожечного режима и операции пропуска данных. Она завершается после считывания последнего сектора дорожки (число секторов на дорожке указано в байте параметра дорожки в командной фазе). Если КГМД не обнаруживает адресной метки IDAM на диске после второго прохождения физической индексной метки (т.е. за два оборота диска), он устанавливает признак «Недостающая адресная метка» (разряд D0 в РС1) и завершает команду. Код прерывания (разряды D7 и D6 РС0) устанавливается на 01.

По команде «Чтение индексных данных» данные с первого корректного поля ID текущей дорожки передаются на процессор. Если на дорожке отсутствует адресная метка IDAM, устанавливается признак «Недостающая адресная метка» (разряд D0 РС1); если метка данных - признак «Необнаруженный сектор» (разряд D2 РС1). В обоих случаях происходит завершение команды.

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

Для сравнения используется простая бинарная (дополнение до единицы) арифметика (FF - наибольшее число, 00 - наименьшее).

Если после сравнения полного сектора данных условия не удовлетворяются, номер сектора увеличивается за счёт шага адреса сканирования (указанного в командной фазе). Сканирование продолжается до тех пор, пока не появится одно из следующих событий: условия для сканирования удовлетворяются (равные, меньше или больше), достигнут последний сектр на дорожке или получен сигнал ТС.

При удовлетворении условий сканирования КГМД устанавливает признак «Совпадение сканирования» (разряд D3 РС2) и завершает команду сканирования. Если условия сканирования не удовлетворяются между стартовым и последним сектором на дорожке (сканируемые секторы определяются в командной фазе), КГМД устанавливает признак «Сканирование не удовлетворено» (разряд D2 РС2) и завершает команду сканирования.

Как только во время сканирования сигнал ТС от процессора или контроллера ПДП поступит на КГМД, он прекратит операцию сравнения конкретного текущего байта. При этом команда завершается. Коды состояния признаков «Совпадение сканирования» и «Сканирование не удовлетворено» для различных условий завершения сканирования приведены в табл. 11.

Таблица 11 Коды состояния сканирования

Команда

РС2

Соотношение данных ГМД и ЭВМ

Разряд D2

Разряд D3

Сканирование равно

0

1

1

0

Равны

Не равны

Сканирование меньше или равно

0

0

1

1

0

0

Равны

Меньше

Меньше, равны

Сканирование больше или равно

0

0

1

1

0

0

Равны

Больше

Больше, равны

Если КГМД обнаруживает адресную метку удалённых данных в одном из секторов и признак пропуска имеет низкий уровень, то сектор рассматривается как последний на дорожке, Устанавливается признак «Контрольная метка» (разряд D6 РС2) и завершается команда. Если признак пропуска имеет высокий уровень, КГМД пропускает сектор с адресной меткой удалённых данных и считывает следующий сектор. В этом случае также устанавливается признак «Контрольная метка» (разряд D6 РС2), показывающий, что обнаружен стертый сектор.*

Во время сканирования данные передаются из процессора или контроллера ПДП для сравнения с данными, считанными с диска. Для исключения установки признака переполнения (разряд D4 РС0) необходимо, чтобы данные выбирались не более, чем через 27 мкс (режим ЧМ) или 13 мкс (режим МЧМ). Если ошибка из-за переполнения является, КГМД завершает эту команду.

Недопустимые команды. Если на КГМД подаётся недопустимая (неопределенная) команда, он прекращает выполнение другой команды и не выдает сигнала прерывания. В основном РС устанавливаются разряды D6 и D7, указывая процессору, что контроллер требует заключительной фазы выполнения команды. В качестве завершения должно быть считано содержимое РС0, в том числе шестнадцатеричный код 80, указывающий на прием недопустимой команды.

Необходимо отметить, что команда «Опрос состояния прерывания» должна посылаться после команды «Поиск» или «Восстановление», в противном случае КГМД будет принимать следующую команду, как недопустимую. Кроме того, после обслуживания последнего «утаенного» прерывания повторные команды «Опрос состояния прерывания» также воспринимаются как недопустимые.

В некоторых случаях полезно использовать недопустимую команду, как команду No - Op для переключения КГМД в резервное или нерабочее состояние.

* Во время выполнения команд сканирования последний сектор на дорожке должен быть считан для соответствующего завершения команды. Например, шаг адреса сканирования устанавливается равным 2, конец дорожки (последний сектор) - 26. Сканирование начинается с сектора 21, тогда будут сканированы секторы 21, 23, 25. следующий сектор 27 на дорожке обнаружен не будет и произойдёт непредусмотренное завершение команды. Для нормального завершения необходимо, чтобы в данном примере сканирование начиналось с сектора 20 или конец дорожки был установлен равным 25.

Размещено на Allbest.ru


Подобные документы

  • Сущность и виды процесса форматирования диска. Формула расчёта информационного объема гибких дисков и их логическая структура. Структура записей в каталоге. Понятие таблицы размещения файлов (FAT-таблица). Расчёт размера кластера жесткого диска.

    презентация [77,8 K], добавлен 07.04.2014

  • Технические характеристики 18 моделей винчестеров с плотностью записи 20 GB на пластину и выше. Тестирование жестких дисков EIDE. Текущая линейка жестких дисков для настольных систем различных производителей (Fujitsu, IBM, Seagate, Maxtor, WD, Samsung).

    реферат [1,0 M], добавлен 03.05.2010

  • Физическая и логическая структура жёстких дисков персонального компьютера. Методы организации файлов. Процесс форматирования жёсткого диска. Разработка программы, реализующей функции файлового обмена, чтения и записи с образом файловой системы FAT16.

    курсовая работа [166,3 K], добавлен 09.06.2015

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

    курсовая работа [1,8 M], добавлен 10.10.2014

  • Сущность и виды компакт-привода (оптического привода), история его появления. Формат хранения данных на диске. Считывание информации с диска. Скорость чтения/записи CD. Суть технологии записи высокой плотности. Технические особенности CD и DVD дисков.

    контрольная работа [26,1 K], добавлен 04.10.2011

  • Типы файловых систем, поддерживаемые Windows NT. Методика сжатия данных и динамического кэширования диска. Символы, которые нельзя использовать в имени. Уровень дисководов, логических дисков, устройства чтения компакт-дисков, панель управления, принтеры.

    презентация [8,0 K], добавлен 23.10.2013

  • Накопитель на жёстких магнитных дисках как основной накопитель данных в большинстве компьютеров. Строение устройства. Блок электроники. Особенности геометрии дисков со встроенными контроллерами. Адресация памяти. Виды интерфейсов. Тенденции развития.

    презентация [4,6 M], добавлен 20.11.2013

  • Дисковод (FDD) - это устройство, предназначенное для чтения информации с гибких магнитных дисков, а также записи на них (как правило, используется для переноса информации с одного компьютера на другой). Информация записывается на гибкий магнитный диск.

    контрольная работа [502,1 K], добавлен 28.02.2004

  • Эволюция технологий записи информации на оптические носители информации. Создание DVD приводов и дисков с возможностью записи большего количества информации. Работа в графических редакторах. Серийное производство записываемых дисков формата Blue Ray.

    контрольная работа [739,0 K], добавлен 03.12.2010

  • Жесткий диск (винчестер): общее понятие, предназначение, структура. Основные операции по обслуживанию дисков. Процесс форматирования диска. Логические и физические дефекты, возникающие на диске и методы их устранения. Дефрагментация и очистка винчестера.

    презентация [264,1 K], добавлен 23.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.