Разработка программы испытаний компьютерной техникиРефераты >> Программирование и компьютеры >> Разработка программы испытаний компьютерной техники
РУЭ (расширенное управление электропитанием) – стандарт, служащий для экономии электроэнергии. Представляет собой следующий набор функций:
- автоматическое отключение электропитания;
- «спящий» режим;
- автоматическое отключение питания монитора;
- автоматическое отключение питания жестких дисков.
Может находиться в двух состояниях: включено или выключено.
Вторая часть программы – диагностика памяти – проверяет на работоспособность память ПК, на котором выполняется программа.
2.2 Требования к функциональным характеристикам
При запуске программы на экран должна выводиться аннотация, затем, после нажатия на любую клавишу, должен очищаться экран и появляться меню из трех пунктов:
1 – сбор сведений о системе;
2 – тест памяти;
3 – выход.
Для выбора интересующего пункта необходимо нажать на клавиатуре цифры, соответствующие номерам пунктов.
В случае выбора пункта «Сбор сведений о системе» выполняется последовательный вывод информации о ПК в виде списка устройств с текущим состоянием. Ниже приведена таблица со списком устройств и их возможными состояниями.
Таблица 2.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.
2.3 Обоснование выбора языка программирования
Для написания данной программы был выбран язык ассемблера. В связи с тем, что он наиболее подходит для реализации такого рода задач, т.е. где требуется доступ к портам, выполнение специальных прерываний, доступ к области памяти BIOS и т.д.
Язык ассемблера, представляет собой фактически символьную форму записи машинного языка: в нем вместо цифровых кодов операций вписывают привычные знаки операций или их словесные названия, вместо адресов – имена, а константы записывают в десятичное системе счисления. Программу, записанную в таком виде, вводят в ЭВМ и подают на вход специальному транслятору, называемому ассемблером, который переводит её на машинный язык, и далее полученную машинную программу выполняют.
Для любой ЭВМ можно придумать разные языки ассемблера, хотя бы потому, что можно по-разному обозначать машинные операции. В частности, и для ПК разработано несколько таких языков(ASM-86, MASM, TASM). Для реализации данной задачи был выбран язык, который создан фирмой Borland и полное название которого – турбоассемблер, сокращенно TASM. Надо отметить, что этот язык наиболее часто используется на ПК.
2.4 Постановка задачи
Разработать программу тестирования оперативной памяти и сбора сведений о ПК.
Реализовать меню, в котором пользователю предлагается выбор из трёх пунктов:
1 – сбор сведений о системе;
2 – тест памяти;
3 – выход.
Сбор сведений должен осуществляться в виде списка устройств с текущим состоянием. Состояние от названия устройства должно отделяться двоеточием. Список устройств и возможных их состояний см. в таблице 2.1.
Пункт «тест памяти» должен осуществлять проверку ячеек памяти на работоспособность. Существует два типа неисправностей ячеек памяти:
- «постоянные нули»;
- «постоянные единицы».
Вид неисправности «постоянные нули» заключается в следующем: предположим, что бит №4 в байте, изображенном на рис. 2.1 – неисправный. В данный момент в байт записано число ноль (восемь нулей в двоичной системе исчисления), если считать содержимое этого байта, то на выходе получиться ноль – вроде бы он исправен.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Рис. 2.1. Код неисправности «постоянные нули»
Но это лишь только видимость, если в этот байт записать число FFh (восемь единиц в шестнадцатеричной системе счисления), что в двоичной системе счисления эквивалентно восьми единицам, то получится картина, представленная на рис. 2.2. В этом случае, если считать содержимое этого байта, на выходе получиться EFh, то есть, записывая в бит №4 единицу, мы при считывании все равно получаем ноль. Следовательно бит № 4, а значит и байт, неисправен.
Вид неисправности «постоянные единицы» схож с видом «постоянные нули». Разница состоит лишь в том, что в виде «постоянные нули» неисправные биты находятся всегда в нулевом состоянии, а в виде «постоянные единицы» в единичном.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Рис. 2.2 Код неисправности «постоянные единицы»
В связи с этим необходимо реализовать проверку ячеек памяти на два вида неисправностей: «постоянные нули» и «постоянные единицы».