- •Организация эвм и систем
- •Глава 6 Организация памяти
- •Глава 1. Структура современного компьютера
- •1.1 Основные понятия
- •1.2 Принцип действия компьютера
- •Цикл работы компьютера
- •1.3 Программное обеспечение компьютера
- •1.4 Надежность, производительность и показатели быстродействия
- •Производительность компьютера
- •Технико-эксплуатационные характеристики
- •1.5 Вычислительные системы и сети
- •Вопросы для самопроверки
- •Глава 2 представление информации в компьютере
- •5.2 Система команд. Форматы команд и способы адресации
- •5.3 Система прерываний и приостановок, состояние процессора
- •Характеристики системы прерываний
- •Организация перехода к прерывающей программе
- •5.4 Режимы работы процессора: однопрограммный, пакетный, разделения времени, реального времени
- •5.5 CisCиRisCкомпьютеры
- •Процессоры персональных компьютеров
- •5.6 Устройства управления
- •Устройства управления с хранимой в памяти логикой
- •5.7 Методы и средства повышения производительности процессоров персональных компьютеров
- •Суперскалярная обработка
- •Переименование регистров
- •Динамическое прогнозирование условных переходов
- •Контроллер памяти Контроллер pci
- •Вопросы для самопроверки
- •Глава 6. Организация памяти
- •6.1 Адресное пространство
- •6.2 Виды памяти
- •6.3 Оперативная память
- •Статическая и динамическая память
- •6.5 Внешняя память
- •6.6 Организация виртуальной памяти
- •Страничное, сегментное и странично-сегментное распределение
- •Свопинг
- •6.7 Защита памяти
- •Вопросы для самопроверки
- •Глава 7. Интерфейсы
- •7.1 Понятие интерфейса и его характеристики
- •7.1 Состав линий системной шины
- •Передача данных по проводным линиям связи По линиям связи современных интерфейсов преимущественно передаются низкочастотные дискретные одно - и биполярные сигналы (рисунок 7.Х).
- •Адрес верный
- •7.2 Подключение устройств
- •7.4 Интерфейсы внешней памяти
- •7.5 Малые интерфейсы (usb,ide,rs-232c,scsi)
- •Вопросы для самопроверки
- •Глава 8. Периферийные устройства компьютеров
- •8.1 Организация систем ввода-вывода. Каналы, контроллеры
- •Основные функции свв
- •Программный ввод-вывод
- •Прямой доступ в память
- •8.2 Клавиатура и мышь
- •8.3 Дисплеи
- •8.4 Принтеры
- •8.5 Накопители на магнитных дисках
- •Структура накопителя на жестких дисках
- •Структура и особенности накопителя на гмд
- •8.6 Накопители на компакт-дисках (cd-rom, cd-r, cd-rw, dvd)
- •8.7 Другие виды периферийных устройств
- •Вопросы для самопроверки
- •Какие особенности пу делают возможным организацию параллельной обработки и ввода-вывода?
- •Закон Амдала
- •Совместно используемая и распределенная память
- •Когерентность кэш-памяти
- •Наибольшее распространение получили следующие аппаратные механизмы, реализующие протокол когерентности кэш-памяти: это протоколы наблюдения и на основе справочника.
- •9.2 Конвейерные системы
- •Векторные регистры
- •9.3 Симметричные системы
- •9.4 Вычислительные системы со сверхдлинным командным словом
- •9.5 Другие виды мультипроцессорных систем
- •Машины с массовым параллелизмом
- •Нейрокомпьютеры
- •9.6 Проблемно-ориентированные системы
- •Вопросы для самопроверки
- •Глава 10. Организация вычислительного процесса
- •12.2 Системы автоматического контроля и диагностики
- •Контроль передач информации
- •Контроль арифметических операций
- •12.3 Защита памяти. Raid-массивы
- •12.4 Построение «безотказных» систем питания Вопросы для самопроверки
- •Список литературы
12.2 Системы автоматического контроля и диагностики
Одним из важнейших требований к вычислительным системам, и в особенности к серверам, является требование обеспечения надежности, так как любой отказ ВС может привести к тяжким последствиям. Для улучшения ВС надежности существуют многочисленные методы, применение которых определяется назначением системы, условиями ее работы и вероятными видами отказов.
Виды отказов и статистические характеристики надежности
Все ошибки в работе ВС обычно подразделяют на систематические, возникающие в результате отказов, и случайные, вызванные сбоями. Отказ– это устойчивое нарушение работоспособности аппаратуры, вызываемое, как правило, выходом из строя одного или нескольких элементов. Отказы бывают внезапными и постепенными, проявляющимися вначале в виде неустойчивых дефектов.Сбоемназывают кратковременное самоустраняющееся нарушение правильного функционирования ВС; причиной сбоев чаще всего бывают электромагнитные и электростатические помехи, возникающие во внешней среде, так и внутри компьютера. Помимо отказов и сбоев в аппаратуре существуют ошибки в программном обеспечении, не выявленные в процессе отладки программ. С такими ошибками обычно приходится сталкиваться при некоторых редко встречающихся сочетаниях обрабатываемых данных и командной информации.
Отказы и сбои происходят в любых компьютерах. Но особенно они опасны в устройствах, входящих в состав управляющих систем и комплексов. Они приводят к потере огромных количеств информации, длительным простоям или к катастрофическим последствиям. Именно по этой причине проблема своевременного выявления и исправления ошибок в процессе решения задачи является актуальной.
Решение этой проблемы связано с введением в обрабатываемую информацию избыточности. Избыточность может вводиться в двух видах – временной или пространственной. Временная избыточность связана с увеличением времени решения задачи. Например, задачу можно решать дважды на одном компьютере, используя одну или две разные программы, и сравнивать получаемые результаты. Она служит основой для программно-логического контроля. Сюда принято относить тестовые проверки, повторные просчеты и расчеты с использованием других программ и т.д. Такие методы не требуют значительных аппаратных затрат, но существенно увеличивают время решения, нередко требуя более высокого быстродействия. Повторные расчеты не требуют больших пояснений. Для сокращения затрат на повторное выполнение программы в нее включают контрольные точки, позволяющие повторять не всю, а лишь участок программы, начиная с предыдущей контрольной точки. Расстановка контрольных точек особенно сложна в мультипроцессорных и многомашинных ВС и должна предотвращать эффект «домино», т.е. распространения ошибочного результата за счет обменов между процессорами.
Один из получивших наибольшее распространение методов программно-логического контроля – тестовые проверки – основаны на выполнении специальных программ с известным результатом. Глубина проверки зависит от времени, отведенного на проверку, и частоты проверок. Характерным для таких проверок служит то обстоятельство, что они дают информацию об исправности ВС на момент проверки и, поэтому полной уверенности в правильности решения задачи быть не может. Интервал между тестовыми ∆T проверками можно найти, исходя из формулы, определяющей вероятность безотказной работы в момент (t +∆T), т.к. в момент выполнения проверки аппаратура работала безотказно: ∆T = ∆Р/λ. Тестовые проверки сегодня являются одним из самых распространенных методов, позволяющих обнаружить постоянные отказы компьютера. Изучение методов программного контроля – это задача программирования и здесь подробнее рассматриваться не будут.
Пространственная избыточность заключается в увеличении длины машинного слова, в которое вводятся дополнительные разряды. Например, программа может одновременно выполняться на двух компьютерах. И, если полученные результаты совпадают, то задача решена верно, в противном случае – неверно. Для реализации пространственной избыточности необходимы дополнительные средства, а именно, средства аппаратурного контроля. К этой группе контроля относят корректирующие коды, мажоритарные схемы и т.п. Эти методы приводят к значительным аппаратным затратам, но обеспечивают возможность непрерывной работы ВС в условиях отказов и сбоев. Они являются единственными методами, позволяющими повысить надежность необслуживаемых (например, находящихся на борту автономного космического аппарата) ВС.
При пространственной избыточности возможность обнаружения ошибок основывается на добавлении к n-разрядному двоичному слову дополнительныхm«контрольных» разрядов. Ошибки в двоичном слове – это появление единицы вместо нуля или нуля вместо единицы. Если некоторая кодовая комбинация (а всего их 2n) перешла в разряд запрещенных, то это служит свидетельством наличия ошибки. Если в результате появления ошибки произошла замена некоторой разрешенной комбинации другой, но также разрешенной (например, при отсутствии избыточности), то такая ошибка не обнаруживается. Совершенно очевидно, что корректирующая способность кода, т.е. способность обнаруживать и исправлять ошибки, зависит от его избыточности. Различают абсолютную и относительную избыточность кода. Абсолютная избыточность – это число контрольных разрядовm, а относительная избыточность С определяется как отношение абсолютной избыточностиmк общей длине машинного слова (n+m):
С = m/(n + m)
Любой код, обладающий ненулевой избыточностью и позволяющий исправлять или только обнаруживать ошибки, называется корректирующим. В технике принято подразделять корректирующие коды на посылочные (используемые при передачах информации) и арифметические (служащие для контроля устройств обработки).
Корректирующая способность кода и функции систем контроля
Задача разработчика при выборе средств аппаратурного контроля сводится к определению такого кода, который при минимальной аппаратной избыточности обеспечивал бы нужную корректирующую способность. Естественно, что невозможно создать абсолютно надежную аппаратуру. Но для разных ВС требования к надежности могут значительно отличаться. Введем некоторые понятия. Назовем кодовым весомчисло разрядов машинного слова, содержащих единицу. Теперь сравним две кодовые комбинации одинаковой длины. Часть разрядов может содержать совпадающие двоичные цифры, а часть несовпадающие. Число разрядов с несовпадающими значениями назовемкодовым расстояниеми обозначим черезd. Кодовое расстояние можно определить, выполнив поразрядное сложение по модулю 2 этих комбинаций и определив кодовый вес полученной суммы. Иногда кодовое расстояниеdназывают хемминговым. Обычно интерес представляет минимальное кодовое расстояниеdmin, т.е. самое малое кодовое расстояние между двумя любыми используемыми комбинациями.
В обычном двоичном коде минимальное расстояние dmin= 1, т.е. такой код не является корректирующим. Чтобы код стал корректирующим, необходимо чтобы минимальное кодовое расстояние былоdmin≥ 2. Приdmin= 2 корректирующий код только обнаруживает одиночную ошибку, но не может ее исправить, так как запрещенная комбинация равно удалена от двух разрешенных. Еслиdmin= 3, то одиночная ошибка приводит к возникновению запрещенной комбинации, отстоящей от исходной на единицу; все остальные разрешенные комбинации будут отстоять от нее минимум на две единицы. Следовательно, задача исправления ошибки сводится к поиску разряда, содержащего ошибку, и добавление единицы к которому приведет к исходному безошибочному коду.