Смекни!
smekni.com

Разработка программы диагностики и тестирования аппаратных средств ПК (стр. 1 из 2)

Разработка программы диагностики и тестирования аппаратных средств ПК

СОДЕРЖАНИЕ

ВВЕДЕНИЕ…………………………………………………………………..4

ОБЩИЙ РАЗДЕЛ……………………………………………………………5

Технико-математическое описание задачи……….…………………5

Требования к функциональным характеристикам………………….7

Требования к техническим и программным средствам………….…8

Обоснования выбора языка программирования…………………….9

СПЕЦИАЛЬНЫЙ РАЗДЕЛ………………………………………………..11

2.1. Постановка задачи……………………………………………………..11

2.2. Описание структуры программы…………………………………..…12

2.3. Оисание алгоритма решения задачи………………………………….14

2.4. Отладка и тестирование……………………………………………….16

2.5. Инструкция к пользователю…………………………………………..17

2.6. Заключение о результатах проектируемой задачи…………………..18

ПРИЛОЖЕНИЕ 1…………………………………………………………..19

ПРИЛОЖЕНИЕ 2…………………………………………………………..21

СПИСОК ЛИТЕРАТУРЫ………………………………………………….30

ВВЕДЕНИЕ

В связи с появлением персональных компьютеров мгновенно вырос рынок аппаратных средств, как грибы росло число производителей, предлагающих свою продукцию. При этом, покупая то или иное аппаратное средство, производитель не может (а иногда и не хочет) дать 100% гарантию, что оно исправно.

В связи с этим также стремительно развивался и рынок пограммных тестирующих средств. На рынке существует огромное количество отличных диагностических программ, написанных большими корпорациями: такими как Symantec inc., APS (Advanced Personal Systems), Microsoft и т.д., но все сущестующие диагностирующие программы написаны на язках высокого уровня, а значит не достаточно быстры и надёжны.

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


ОБЩИЙ РАЗДЕЛ

1.1. Технико-математическое описание задачи

Программа делится на две части:

Первая часть программы - Сбор сведений - это часть программы, собирающая справки об оборудовании, установленном на ПК, на котором программа выполняется. Справки наводятся о следующих устройствах:

математическом сопроцессоре;

СОМ портах;

LPT портах;

дисководах;

CD-ROM приводах;

расширенном управлении электропитанием;

манипуляторе «мышь».

Математический сопроцессор – это микрочип, устанавливаемый на материнскую плату, который работает совместно с основным процессором, осуществляет обработку чисел с плавающей точкой, тем самым разгружая основной процессор. Может устанавливаться опционально по желанию пользователя либо самим пользователем, т.е. может либо присутствовать, либо отсутствовать.

СОМ порты – это порты с последовательным типом передачи данных, предназначенные для подключения коммуникационных, манипуляторных и других устройств, где требуется сравнительно не- большая скорость передачи данных. Количество установленных последовательных портов может варьироваться от одного до четырёх. На некоторых материнских платах существует ограничение на подключение последовательных портов, например: если это значение будет два, и если вы подключите четыре порта, то работать будут все равно два.

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

Дисковод – устройство, предназначенное для чтения/записи накопителей на магнитном диске (гибкий диск). Существует четыре типа дисководов:

360 Кб.;

720 Кб.;

1.2 Мб.;

1.44 Мб.

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

CD-ROM привод – устройство, предназначенное только для чтения накопителей на лазерных дисках. Различаются по скорости доступа к данным и скоростью вращения лазерного диска. Обычно устанавливают не более одного привода.

РУЭ (расширенное управление электропитанием) – стандарт, служащий для экономии электроэнергии. Представляет собой следующий набор функций:

автоматическое отключение электропитания;

«спящий» режим;

автоматическое отключение питания монитора;

автоматическое отключение питания жестких дисков.

Может находиться в двух состояниях: включено или выключено.

Вторая часть программы - диагностика памяти - проверяет на работоспособность память ПК, на котором выполняется программа.

1.2. Требования к функциональным характеристикам

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

1 – сбор сведений о системе;

2 – тест памяти;

3 – выход.

Для выбора интересующего пункта необходимо нажать на клавиатуре цифры, соответствующие номерам пунктов.

В случае выбора пункта «Сбор сведений о системе» выполняется последовательный вывод информации о ПК в виде списка устройств с текущим состоянием. Ниже приведена таблица со списком устройств и их возможными состояниями.

Таблица 1

Таблица возможных состояний устройств

Устройство Возможные состояния
Математический сопроцессор Присутствует, отсутствует
Максимальное количество подключаемых СОМ-портов От 0 до 4
Количество CОМ-портов От 0 до 4
Количество LPT-портов От 0 до 4
Первый дисковод Отсутствует, 360Kb, 720Kb, 1.2Mb, 1.44Mb.
Второй дисковод Отсутствует, 360Kb, 720Kb, 1.2Mb, 1.44Mb.
Количество установленных CD-ROM приводов От 0 до 4
Расширенное управление электропитанием(APM) Отсутсвует, присутствует, включено/выключено
Манипулятор «мышь» Отсутствует, присутствует

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

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

В случае выбора пункта «выход», необходимо реализовать завершение работы программы и передачу управления операционной системе DOS.

1.3. Требования техническим и программным средствам

Программа выполнена на языке ассемблера 8086 процессора,

соответственено ей необходим IBM PC – совместимый компьютер с процессором не ниже 8086, также программа может выполняться на компьютерах с процессорами старшего поколения (например: 80286 или 80386), т.к. особенностью архитектуры 80х86 является преемственность на уровне машинных команд: программы, написанные для младших моделей процессоров, без всяких изменений могут быть выполнены на более старших моделях.

Компилированный код программы занимает всего 2 Кб – это связано с отсутствием избыточного кода, которого очень много при использовании языков высокого уровня. В связи с этим программа может легко поместиться на дискету 360 Кб.

Программа работает в текстовом режиме и не использует цветовой гаммы, поэтому ей достаточно монитора CGA. Кроме того она может без всяких изменений работать на мониторах старшего поколения таких, как EGA, VGA и SVGA.

Так как программа тестирует 640 Кб оперативной памяти, этот объем являеться минимумом.

1.3.1. Обоснования выбора языка программирования

Для написания данной программы был выбран язык ассемблера. В связи с тем, что он наиболее подходит для реализации такого рода задач, т.е. где требуеться досуп к портам, выполнение специальных прерываний, доступ к области памяти BIOS и т.д.

Язык ассемблера, представляет собой фактически символьную форму записи машинного языка: в нем вместо цифровых кодов операций вписывают привычные знаки операций или их словестные названия, вместо адресов – имена, а константы записывают в десятичное системе счисления. Программу, записанную в таком виде, вводят в ЭВМ и подают на вход специальному транслятору, называемому ассемблером, который переводит её на машинный язык, и далее полученную машинную программу выполняют.

Для любой ЭВМ можно придумать разные языки ассемблера, хотя бы потому, что можно по-разному обозначать машинные операции. В частости, и для ПК разработано несколько таких языков(ASM-86, MASM, TASM). Для реализации данной задачи был выбран язык, который создан фирмой Borland и полное название которого – турбоассемблер, сокращенно TASM. Надо отметить, что этот язык наиболее часто используется на ПК.

СПЕЦИАЛЬНЫЙ РАЗДЕЛ

2.1. Постановка задачи

Разработать программу тестирования оперативной памяти и сбора сведений о ПК.

Реализовать меню, в котором пользователю предлагается выбор из трёх пунктов:

1 – сбор сведений о системе;

2 – тест памяти;

3 – выход.

Сбор сведений должен осуществляться в виде списка устройств с текущим состоянием. Состояние от названия устройства должно отделяться двоеточием. Список устройств и возможных их состояний см. в таблице 1.

Пункт «тест памяти» должен осуществлять проверку ячеек памяти на работоспособность. Существует два типа неисправностей ячеек памяти:

«постоянные нули»;

«постоянные единицы».

Вид неисправности «постоянные нули» заключается в следующем: предположим, что бит №4 в байте, изображенном на рис. 1 – неисправный. В данный момент в байт записано число ноль (восемь нулей в двоичной системе cчисления), если считать содержимое этого байта, то на выходе получиться ноль – вроде бы он исправен.