- •1. Два подхода к формированию понятия «архитектура компьютера»
- •Вопрос 2. Архитектура фон неймана: принципы, проблемы и способы их решения
- •7. Графический процессор
- •Вопрос 3. Типы команд и техника (методы) адресации
- •Вопрос 4. Иерархия памяти: регистровая, кэш, оперативная главная и вспомогательная
- •Вопрос 5. Организация кэш-памяти.
- •Вопрос 8. Семантический разрыв между архитектурными решениями компьютеров и его программным окружением
- •Вопрос 9. Компьютеры в режиме управления технологическим процессом
- •Вопрос 10. Cisc- и risc-архитектуры
- •Вопрос 11. Компьютеры со стековой архитектурой
- •Вопрос 12: нейрокомпьютеры
- •14. Процессоры с микропрограммным управлением.
- •Вопрос 15. Методы повышения эффективности функционирования компьютеров
- •16. Многоядерный процессор
- •Вопрос 21. Ортогональная память. Вс с комбинированной структурой.
- •Вопрос 17. Организация системы прерываний.
- •Вопрос 18. Vliw-архитектура.
- •19. Конвейеризация. Predication и speculation. Конвейерные системы.
- •Вопрос 20. Матричные компьютеры.
- •Вопрос 23. Топологии локальных сетей
- •Вопрос 24. Архитектура программного обеспечения.
- •Вопрос 31. Классификация ошибок. Программные методы контроля ошибок
- •Вопрос 32. Управление процессами в многопроцессорных и однопроцессорных компьютерах
- •Вопрос 33. Информационные модели систем параллельногодействия: мультипроцессоры и мультикомпьютеры.
- •Вопрос 35. Программное обеспечение для мультикомпьютеров.
- •Вопрос 37. Алгоритмы выбора маршрутов для доставки сообщений.
- •Вопрос 39. Основные подходы к проектированию языков параллельного программирования
- •40. Языки параллельного программирования.
- •Вопрос 41. Преобразование последовательных программ в последовательно-параллельные
- •Вопрос 42. Планирование в мультисистемах.
- •25. Кодирование данных с симметричным представлением цифр.
- •26. Кодирование данных в системах с отрицательным основанием.
- •30 Алгоритм деления в системе с отрицательным основанием.
- •27 Кодирование данных с помощью вычетов.
- •13. Искусственные нейронные сети. Обучение сетей.
Вопрос 31. Классификация ошибок. Программные методы контроля ошибок
Систематические ошибки. Они появляются, как правило, в результате отказов одного или нескольких схемных элементов, входящих в цепи передачи информации или в устройства, с помощью которых выполняются арифметические и логические операции. Если повторяется одна и та же операция над одними и теми же данными, ошибка будет повторяться всякий раз. При других данных или других операциях она может и не повторяться. Тем не менее вычисления бессмысленны.
Случайные ошибки. Это результат сбоя в элементах машины. Эти ошибки - источник основных затруднений для эффективной эксплуатации ВС. Единственный способ установить наличие или отсутствие ошибки - это контроль каждой операции или всего решения в целом.
Одиночные и кратные ошибки. Определение их зависит от вида обработки информации, характера операции и т. д. При хранении информации или ее передаче одиночная ошибка состоит в изменении одного двоичного знака. Если же изменению подверглось несколько знаков, ошибку называют кратной. Так же определяются ошибки результата поразрядных логических операций.
Наиболее просто обнаруживать и исправлять одиночные ошибки. Поэтому важно выяснить законы распределения вероятностей ошибок в числе или слове. Наиболее просто это сделать для компьютера параллельного действия. Здесь каждый двоичный разряд передастся по отдельному каналу и обрабатывается в отдельных устройствах, связанных друг с другом только цепями переноса. Следовательно, возникновение ошибок в отдельных двоичных разрядах можно считать независимыми случайными событиями, имеющими одинаковую вероятность. Тогда для ошибок i-й кратности в n-разрядном числе справедлив биномиальный закон распределения:
где Q, - вероятность ошибки i-й кратности в числе; q - вероятность ошибки в одном разряде при выполнении одной операции.
Формула (1) позволяет определить вероятность ошибки i-й кратности при условии, что в остальных n-i разрядах ошибок нет. Из формулы (1) следует, что для очень малых значений q наибольшую вероятность имеет случай одиночной ошибки.
Для компьютеров последовательного действия положение осложняется тем. что ошибки в разных разрядах числа происходят, вообще говоря, в разное время. Поэтому кратность ошибок в числе, очевидно, зависит от соотношения между быстродействием узлов компьютера и длительностью сбоя. Во всяком случае, вероятности кратных ошибок следует ожидать более высокими, чем в предыдущих случаях, при одинаковой вероятности сбоя в аппаратуре.
Программные методы контроля
Программные методы базируется на использовании специальных методов и пакетов контролирующих программ. Различают тестовый и програмно-логический контроль. Тестовый контроль осуществляется в ЭВМ периодически с помощью программ-тестов. Тесты бывают: наладочные - для комплексной наладки компьютера; проверочные - для проверки устойчивости близких к отказу элементов во время профилактики ЭВМ; программы контрольных задач - пропускаются во время решения задачи в целях проверки работоспособности компьютера: диагностические - для локализации обнаруженных отказов путем программного анализа ошибок.
Программно-логический контроль ставит цель - непосредственно проверить правильность решения задачи при выполнении основной программы. Можно вводить некоторые операции дополнительно для контроля всех выполняемых операций. Рассмотрим ряд способов такого контроля.
Контроль решений методом двойного счета. Суть метода состоит в повторном вычислении всей задачи или отдельных ее частей. Результаты сравниваются и их совпадение считается признаком достоверности результата. При несовпадении результатов решение повторяется до двух одинаковых результатов, которые считаются верными.
Математические и смысловые проверки (МС-проверки). МС-проверки основаны на анализе промежуточных результатов решения задачи. Для этого предварительно необходимо проделать определенную работу по исследованию алгоритма решения задачи с целью выявить границы изменяемых величин, дополнительные условия, которым они должны удовлетворять, и т. д. Общие принципы МС-проверок сформулировать трудно, ибо многое зависит от конкретной задачи и искусства программиста.
Способ подстановки. Суть: программой осуществляется подстановка полученных решений в условие задачи. После этого сравниваются правые и левые части уравнений в целях определения невязок. Если невязки не выходят за пределы заданной точности, решение считается правильным. Проверки предельных значений. В большинстве задач нетрудно заранее определить пределы, в которых должны находиться некоторые искомые величины. Это делается обычно на основе приближенного анализа алгоритма вычислений. Тогда в программе в определенных точках выполняется проверка на нахождение величин в заданных пределах.
Адресное кодирование. В целях повышения быстродействия компьютера используется модификация команд. Она состоит в изменении адресной части базовой команды. В некоторых случаях в адресной части базовой команды индексируются и адреса команд. Этот прием используется в программах, состоящих из нескольких вычислительных блоков. Операции, связанные с изменением адресов, не застрахованы от ошибок.