СИСТЕМА ДЛЯ ОБНАРУЖЕНИЯ НЕДЕКЛАРИРОВАННЫХ АППАРАТНЫХ СРЕДСТВ ВЫЧИСЛИТЕЛЬНЫХ КОМПЛЕКСОВ

Полезная модель относится к вычислительной технике и может быть использована при построении вычислительных комплексов с использованием аппаратных средств.
Известно устройство управления программных средств, соединенных с ЭВМ общей магистралью [SU 1434448, G06F 13/24, 30.10.1988].
Недостатком устройства является относительно узкие функциональные возможности, поскольку оно не позволяет обнаруживать недекларированные аппаратные средства.
Известна также система с драйвером, содержащая компьютер с запоминающим устройством, по меньшей мере, одно дополнительное устройство, подключенное к компьютеру, и носитель информации для установки в компьютер, при этом, на носитель информации записаны основной модуль драйвера и средство формирования драйвера, каждое дополнительное устройство имеет носитель информации, на который записаны вспомогательный модуль драйвера и средство передачи данных, компьютер выполнен с возможностью формирования драйвера дополнительного устройства с помощью средства формирования драйвера из данных основного модуля драйвера и данных вспомогательного модуля драйвера, полученных из дополнительного устройства с помощью средства передачи данных магистралью [RU 2320004, С2, G06F 13/10, 20.03.2008].
Недостатком этого устройства также является относительно узкие функциональные возможности, поскольку оно не позволяет обнаруживать недекларированные аппаратные средства.
Наиболее близким по технической сущности к предложенной является техническое решение для сопряжения периферийных устройств с ЭВМ-персональным компьютером, содержащее блок приемопередатчиков, устройство управления, выполненное в виде управляющего процессора, транслятор прерывания, мультиплексор, генератор тактов, таймер ожидания и блок управления общей шиной, причем, входы Сброс, магистраль Адреса, Строб Адреса, Ввод и Вывод устройства управления являются одноименными входами устройства для подключения к соответствующим выходам шины персонального компьютера, выходы Готов и Укороченный Цикл устройства управления являются одноименными выходами устройства для подключения к соответствующим входам шины персонального компьютера, выходы Управление 1-Управление 8 устройства управления соединены с соответствующими входами мультиплексора, выход Сброс Программный которого подключен к одноименному входу устройства управления, которое соединено с мультиплексором также магистралью Слова Состояния, выходы Управляющий Сигнал 1-Управляющий Сигнал 6, Рабочий Такт 1 - Рабочий Такт 12 и Сброс устройства управления подключены к одноименным входам блока управления общей шиной, выходы Синхронизация Активного, Вывод, Ввод, Внешнее Устройство, Байт и Сброс которого являются соответствующими выходами устройства для подключения к одноименным входам общей шины периферийных устройств, вход Синхронизация Пассивного устройства управления является соответствующим входом устройства для подключения к одноименному выходу общей шины периферийных устройств, выход Чтение/Запись устройства управления соединен с соответствующим входом блока приемопередатчиков, один вход/выход которого магистралью Адреса-Данных подключен к мультиплексору, а другой является входом/выходом магистрали Адреса-Данных устройства для подключения к общей шине периферийных устройств, вход/выход магистрали Данных мультиплексора является соответствующим входом/выходом устройства для подключения к шине персонального компьютера, вход Стоп Таймер устройства управления соединен с выходом таймера ожидания, вход которого подключен к выходу Старт Таймер генератора тактов, вход Тактовые Импульсы которого является одноименным входом устройства для подключения к соответствующему выходу шины персонального компьютера, выходы Такт 1 - Такт 12 генератора тактов соединены с соответствующими входами устройства управления, выходы Старт Начала, Старт Конца и Сброс которого подключены к одноименным входам генератора тактов, выходы Окончание Прерывания и Прерывание по Таймеру устройства управления соединены с одноименными входами транслятора прерывания, выход Предоставление Прерывания и вход Требование Прерывания которого являются одноименными соответственно выходом и входом устройства для подключения к общей шине периферийных устройств, выход Прерывание Аппаратное транслятора прерываний является выходом Прерывание Аппаратное устройства для подключения к соответствующему входу шины персонального компьютера, при этом мультиплексор состоит из регистра адреса, регистра слова состояния и регистра данных, причем магистральный вход регистра адреса, первые магистральные входы и выходы регистра слова состояния и регистра данных объединены и являются входом/выходом магистрали Данных мультиплексора, магистральный выход регистра адреса и вторые магистральные вход и выход регистра данных объединены и являются входом/выходом магистрали Адреса-Данных мультиплексора, вторые магистральные вход и выход регистра слова состояния объединены и являются входом/выходом магистрали Слова Состояния мультиплексора, вход управления записью и вход управления считыванием регистра адреса являются входами соответственно Управление 1 и Управление 2 мультиплексора, входы управления записью, считыванием и выбором первого/второго направления регистра слова состояния и регистра данных являются соответственно входами Управление 3 - Управление 5 и Управление 6 - Управление 8 мультиплексора, причем выход выделенного для программного сброса разряда регистра слова состояния первого направления является выходом Сброс Программный мультиплексора [RU 2319996, C1, G06F 3/06, 20.03.2008].
Недостатком наиболее близкого технического решения является относительно узкие функциональные возможности, поскольку оно не позволяет обнаруживать недекларированные аппаратные средства.
Требуемый технический результат заключается в расширении функциональных возможностей.
Требуемый технический результат достигается тем, что, в систему, содержащую таймер и управляющий процессор, вход которого соединен с выходом таймера, введены блок выдачи тестовых команд ввода/вывода, первый вход-выход которого соединен с общей шиной аппаратных средств и системной шиной вычислительного комплекса, а второй вход-выход - соединен с первым входом-выходом управляющего процессора, а также блок памяти таблиц соответствия, вход-выход которого соединен со вторым входом-выходом управляющего процессора.
Кроме того, требуемый технический результат достигается тем, что, в предложенной системе в блок памяти таблиц соответствия заносятся тип и адреса доступа легальных аппаратных средств, блок выдачи тестовых команд ввода/вывода производит цикл сканирования портов ввода/вывода по всему адресному пространству, цикл сканирования регистров отраженных на системную шину по всему адресному пространству и цикл сканирования конфигурационных регистров по всему адресному пространству, по результатам которых управляющий процессор строит карту обнаруженных за заданный интервал времени рабочих регистров аппаратных средств, после чего сравнивает описание типа и адреса доступа легальных аппаратных средств, занесенных в блок памяти таблиц соответствия, с фактически обнаруженными рабочими регистрами аппаратных средств в два этапа, на первом из которых проверяется наличие фактически обнаруженных рабочих регистров аппаратных средств с адресами доступа легальных аппаратных средств, занесенных в блок памяти таблиц соответствия и если обнаруженные рабочие регистры отсутствуют среди занесенных в блок памяти таблиц соответствия, то они объявляются недекларированными и управляющим процессором в системную шину выдается сообщение об обнаружении недекларированных аппаратных средств, а остальные аппаратные средства принимаются за декларированные, а на втором этапе из блока памяти таблиц соответствия считываются описания типа аппаратных средств, которые сравниваются с описанием типа аппаратных средств принятых за декларированные на первом этапе, и в случае их несоответствия управляющим процессором в системную шину выдается сообщение об обнаружении аппаратных средств с недекларированной функциональностью, а остальные аппаратные средства принимаются за декларированные с декларированной функциональностью.
Нам чертеже представлена функциональная схема системы для обнаружения недекларированных аппаратных средств вычислительных комплексов.
Система для обнаружения недекларированных аппаратных средств вычислительных комплексов содержит таймер 1 и управляющий процессор 2, вход которого соединен с выходом таймера 1.
Кроме того, система для обнаружения недекларированных аппаратных средств вычислительных комплексов содержит блок 3 выдачи тестовых команд ввода/вывода, первый вход-выход которого соединен с общей шиной 4 аппаратных средств, соединенной с аппаратными средствами 4-1…4-n, и системной шиной 5 вычислительного комплекса, соединенной с оперативной памятью 6, а второй вход-выход - соединен с первым входом-выходом управляющего процессора 2.
Система для обнаружения недекларированных аппаратных средств вычислительных комплексов содержит также блок 7 памяти таблиц соответствия, вход-выход которого соединен со вторым входом-выходом управляющего процессора 2.
Работает система для обнаружения недекларированных аппаратных средств вычислительных комплексов следующим образом.
Периферийные аппаратные средства 4-1…4-n вычислительных систем и комплексов взаимодействует с остальными компонентами оборудования через регистры ввода/вывода.
Обычно используется три вида адресных пространств для регистров ввода/вывода:
- адресное пространство портов ввода/вывода, доступ к которым осуществляется с помощью команд IN/OUT;
- адресное пространство регистров, отображенных на системную шину (Memory Mapping) и доступ к которым осуществляется командами обращения к оперативной памяти;
- адресное пространство конфигурационных регистров, обращение к которым регулируется специальным протоколом доступа через адресное пространство системной шины (протокол PNP).
Любое легальное периферийное устройство при инициализации указывает в специальных таблицах (ACPI и DMI таблицы) свой тип и конкретные адреса, по которым осуществляется доступ к данным устройствам.
Если по каким-либо адресам пространства ввода/вывода отсутствуют регистры периферийных аппаратных средств, то в ответ на команду чтения регистров ввода/вывода поступит информация с установленными в единичное значение информационными битами, причем, ответ придет через определенное время, установленное в параметре конфигурации шины ввода/вывода (время «тайм-аута»).
В предложенной системе обнаружение переферийных аппаратных средств 4-1…4-n основано на временных замерах времени выполнения команды чтения регистров ввода/вывода по всему адресному пространству.
Для всех адресов ввода/вывода выдается команда на чтение регистров ввода/вывода и измеряется время ее выполнения (приход запрошенных данных). Если интервал времени отклика (ответа) превышает время «тайм-аута» системной шины, то переферийных аппаратных средств в системе (комплексе) нет.
В противном случае регистрируется наличие работоспособных регистров аппаратных средств. После чего производится поиск в таблицах их адресов с целью выяснения их принадлежности к аппаратным средствам, описанным в таблицах, и закрепленных за ними адресов ввода/вывода.
Если соответствующий регистр (его адрес) в таблице отсутствует, то такой регистр и, соответственно, аппаратное средство, в котором он находится, считается недекларированным.
Если такой адрес закреплен за аппаратным средством, описанном в таблице, то по информации о типе средства (коду устройства, коду производителя и т.п.) определяется конкретный тип аппаратного средства, после чего проверяется соответствие обнаруженного регистра на соответствие спецификации конкретного аппаратного средства.
Если регистр описан в спецификации аппаратного средства, предоставляемой его производителем, оно считается легальным, если его нет - то оно является недекларированным.
Таким образом, описанная выше технология работы системы позволяет определить все имеющиеся регистры периферийных аппаратных средств на вычислительном комплексе и отождествить их с конкретными устройствами ввода/вывода.
Система подключается к системной шине 5 вычислительного комплекса, в состав которого входит центральный процессор, и содержит в своем составе высокоточный таймер 1, блок 3 выдачи тестовых команд ввода/вывода команд на системную шину 5 и общую шину аппаратных средств, а также управляющий процессор 2 и блок 7 памяти таблиц соответствия, в который предварительно занесена информация о разрешенных регистрах и типах (чипах) аппаратных средств, разрешенных к применению в вычислительном комплексе.
Информация вносится экспертом и состоит из кода, идентифицирующего чип, и списка разрешенных регистров для его легального применения.
Управляющий процессор 2 выдает команду на запуск таймера 1 и одновременно команду блоку 3 для чтения регистров ввода/вывода. В момент окончания выполнения команды ввода/вывода (получение ответа с системной шины 5) считывается состояние таймера 1.
Блок 3 выдачи тестовых команд ввода/вывода производит цикл сканирования портов ввода/вывода по всему адресному пространству, цикл сканирования регистров отраженных на системную шину по всему адресному пространству и цикл сканирования конфигурационных регистров по всему адресному пространству.
По результатам сканирования портов управляющий процессор 2 строит карту обнаруженных за заданный интервал времени рабочих регистров аппаратных средств, после чего сравнивает описание типа и адреса доступа легальных аппаратных средств, занесенных в блок 7 памяти таблиц соответствия, с фактически обнаруженными рабочими регистрами аппаратных средств в два этапа.
На первом из которых проверяется наличие фактически обнаруженных рабочих регистров аппаратных средств с адресами доступа легальных аппаратных средств, занесенных в блок 7 памяти таблиц соответствия и если обнаруженные рабочие регистры отсутствуют среди занесенных в блок 7 памяти таблиц соответствия, то они объявляются недекларированными и управляющим процессором в системную шину 5 выдается сообщение об обнаружении недекларированных аппаратных средств, а остальные аппаратные средства принимаются за декларированные.
На втором этапе из блока 7 памяти таблиц соответствия считываются описания типа аппаратных средств (чипы), которые сравниваются с описанием типа (чипами) аппаратных средств принятых за декларированные на первом этапе, и в случае их несоответствия управляющим процессором 2 в системную шину 5 выдается сообщение об обнаружении аппаратных средств с недекларированной функциональностью, а остальные аппаратные средства принимаются за декларированные с декларированной функциональностью.
Таким образом, предложенная система обладает более широкими функциональными возможностями, поскольку оно позволяет не только обнаруживать и использовать переферийные апрпратные средства, но и обнаруживать недекларированные аппаратные средства, а также средства с недекларированной функциональностью.