Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Диагностическая информация, по значениям разрядов регистра основного состояния и регистра ошибок контроллера исследуемого накопителя.

Диагностическая информация, по значениям разрядов регистра основного состояния и регистра ошибок контроллера исследуемого накопителя. 

                А что имеется у процессора для управления внешними устройствами: устройствами ввода,  вывода, устройствами внешней памяти ?

   - Есть всего две команды: IN и OUT («чтение порта» и «запись в порт»).

   - Есть аппаратная функция «прерывание» (без которой он в принципе может обойтись).

   - Есть еще две команды — INS, OUTS  (без которых он в принципе тоже может обойтись).

       А что вообще доступно процессору во «внешней среде» ?

 - Регистры контроллеров внешних устройств, регистры чипсета и  других  микросхем.

 - Ячейки оперативной памяти (DRAM или ПЗУ BIOS).

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

 

               Таблица 1

Бит

Регистр основного состояния

Бит

Регистр уточненного состояния (регистр ошибок)

0

Ошибка завершения предыдущей команды

0

Адресный маркер не найден

1

Датчик индекса

1

Ошибка начальной дорожки

2

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

2

Команда отвергнута

3

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

3

Резерв

4

Поиск завершен

4

Сектор не найден

5

Ошибка записи

5

Резерв

6

Готовность к выполнению команд

6

Ошибка контрольной суммы данных

7

Занят выполнением команды

7

Дефектный блок данных

 

                Правильность функционирования программно-доступных регистров контроллеров можно проверить при помощи профотладчика, например, «AFD».  Возможности отладчика «AFD» позволяют создавать программы, контролировать оборудование памяти, контроллеров и внешних устройств. В составе отладчика имеются  подпрограммы, запускаемые на выполнение командами отладчика, которые могут быть применены для определения состояния контроллеров внешних устройств и доступности их портов ввода-вывода. Формат таких команд  для вызова необходимой подпрограммы содержится в справке отладчика, содержимое которой можно прочитать, воспользовавшись функциональной кнопкой клавиатуры F4. Запись в порт ввода-вывода выполняется по команде отладчика:

О  Адрес порта, код байта(например: O 80,A0)

Чтение порта ввода-вывода запускается на выполнение командой отладчика:

I  Адрес порта

Пробел между командой и адресом порта не обязателен и используется лишь для удобства наблюдения за форматом команды отладчика. Правильность формата вводимых команд отладчика контролируется, и при ошибке выводится необходимая подсказка. У данного отладчика в наглядной, удобной форме отображается содержимое программно-доступных элементов компьютера - ячеек памяти, ПЗУ, регистров процессора (после каждого изменения их содержимого). Оперативная память отражается в «окнах» экрана монитора (см. рис.1). «Окна» с номерами 1 и 2 показывают по 80 байтов оперативной памяти, адрес байтов, мнемоническое обозначение сегментного регистра в котором задан базовый адрес отображаемого сегмента памяти. Адрес и содержимое байта представляются в шестнадцатеричной системе  счисления. Это надо учитывать при использовании десятичных чисел.  «Окно» номер 2 дополнительно имеет поле представления содержимого байтов в символьном виде, что облегчает чтение сообщений, содержащихся в программах.        «Окно» командной строки отладчика, обозначенное «CMD >»,  предназначено для набора команд отладчика. «Окно» расположенное под командной строкой отладчика («окно ассемблирования») отображает адреса байтов, содержимое байтов оперативной памяти в шестнадцатеричном виде и  в виде команд процессора на языке ассемблера. Это «окно» можно использовать для создания  программ на языке ассемблера, предназначенных для проверки и получения дополнительной диагностической информации о состоянии контролируемого устройства. «Окно» обозначенное «Stack» отображает  оперативную память, отведенную под стек. Оно показывает четыре ячейки памяти с условным смещением +0,+2,+4,+6. Условное смещение +0 показывает байты  вершины стека (адрес вершины стека указывается программным адресом в регистрах процессора SS : SP).

QIP Shot - Image: 2016-11-22 11:59:26  Рис. 1.  Информация отладчика AFD на экране монитора после загрузки

                В верхней части экрана монитора отображается содержимое регистров процессора. Шестнадцатеричные значения, находящиеся в регистрах CS, DS, ES, SS процессора, являются базовым адресом  сегментов оперативной памяти, который выделен операционной системой для  загружаемых программ после загрузки отладчика «AFD». Первые 256 байтов (со смещения 000 по 0FF) заняты префиксом программного сегмента (PSP). Они отображаются в «окнах» с номерами 1 и 2 сразу после начальной загрузки программы отладчика «AFD» в оперативную память, как бы предупреждая, что это место занято. Сам отладчик предоставляет пользователям возможность работать в этом сегменте со смещением 100 по отношению к базовому адресу, выделенного операционной системой сегмента оперативной памяти. 

Адрес регистра основного состояния контроллера второго жесткого диска (в шестнадцатеричной системе счисления) равен 177. Адрес регистра уточненного состояния (регистра ошибок) равен 171.  При помощи программ (отладчика DEBUG или AFD) прочитали содержимое этих регистров. Код байта регистра основного состояния был равен 80 (шестнадцатеричная система счисления). Код байта регистра уточненного состояния был равен 80. Соответствие двоичных разрядов байта читаемых регистров коду шестнадцатеричной системы счисления показано в таблице 2.

 

             Таблица 2

Номера разрядов регистра

7

6

5

4

3

2

1

0

«Вес» разряда в 10-й системе

8

4

2

1

8

4

2

1

Содержимое байта в 16-й системе

8

0

Содержимое байта в 2-й системе

1

0

0

0

0

0

0

0

 

На момент чтения регистров контроллера программами-отладчиками электроника устройства не была готова к приему команд,  накопитель занят выполнением команды контроллера (бит 7 байта регистра основного состояния равен 1) и при этом обнаружен дефектный блок данных (бит 7 байта регистра уточненного состояния равен 1).

Для уточнения состояния контроллера проверили корректность его  работы с помощью выполнения операции «запись байта» для регистров, допускающих выполнение данной операции (адреса регистров контроллера и режимы чтения – записи указаны в таблице 3). Например, запишем данные в регистр старшего байта номера цилиндра (адрес регистра 175) и прочитаем, а затем запишем другой код байта и вновь прочитаем.  В нашем случае при чтении регистра был получен код 80 (при проверке по записи использовали байт с кодом FF). Содержимое данного регистра не изменилось. Для уточнения характера неисправности был использован и регистр номера начального сектора. Результаты получились те же.

                       Таблица 3

Адрес регистра

Регистры контроллера

Бит

 

Режимы чтения 

записи

177

Регистр  основного состояния

8

Чтение

177

Регистр команд

8

Запись

176

Регистр номера устройства и головки

8

Чтение - Запись

175

Регистр старшего байта номера цилиндра

8

Чтение - Запись

174

Регистр младшего байта номера цилиндра

8

Чтение - Запись

173

Регистр номера начального сектора

8

Чтение - Запись

172

Регистр счетчика секторов

8

Чтение - Запись

171

Регистр ошибок

8

Чтение

171

Регистр включения предкомпенсации записи

8

Запись

170

Регистр данных

16

Чтение - Запись

376

Регистр управления

8

Запись

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По результатам этих проверок можно было сделать вывод о том, что контроллер неработоспособен, и возможно, что адреса регистров контроллера не дешифрируются.

Из практики ремонта электронных схем известно, что еще до включения  электропитания возможно получение важной диагностической информации. Прежде всего, обычно выполняют внешний осмотр платы с оценкой состояния каждого элемента по его внешнему виду. Оценивают условия эксплуатации платы (запыленность, наличие изменений геометрической  формы платы, состояние контактов разъемов, нарушения соединений пайкой). Проверяют комплектность платы, правильность установки элементов платы, подключаемых через сокеты, "кроватки".  Выясняют, ремонтировалась ли ранее плата или нет. В ряде случаев, например, измерение сопротивления между контактом номинала вторичного напряжения (например, +5 вольт) и "землей" на разъеме электропитания, позволяет определить ненормальную (повышенную) нагрузку, а это может быть вызвано пробоем на землю или питание одного из выводов микросхемы, запитанной от этого источника.  Обычно, при прямом и обратном измерении сопротивления между «плюсом» источника вторичного напряжения и землей, должна быть видна разница измеренного сопротивления (в соотношении примерно 3:2).

                При «прозвонке» электрических линий интерфейсных сигналов был обнаружен обрыв на линии шины адреса. Это и было причиной того, что ни один регистр контроллера жесткого диска не читался (адреса регистров контроллера не опознавались).


Лицензия