
- •Организация эвм и систем
- •Глава 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 Построение «безотказных» систем питания Вопросы для самопроверки
- •Список литературы
Контроль передач информации
Чтобы обнаружить одиночную ошибку, достаточно добавить к двоичному слову всего один контрольный разряд. Обычно используют контроль по четности (или нечетности), т.е. в контрольном разряде проставляется единица, если сумма по модулю 2 всех разрядов исходной комбинации равна единице, и нуль, если эта сумма равна нулю. Таким образом, вес любой безошибочной комбинации всегда остается четным; одиночная ошибка приводит к нечетному весу этой избыточной комбинации. Дополнительный контрольный разряд вдвое увеличивает число возможных кодовых комбинаций.
Одиночная ошибка ведет к исчезновению единицы в одном разряде исходной числовой комбинации или появлению единицы в разряде, который первоначально содержал нуль. Это приводит к нарушению четности и может быть выявлено проверкой на четность; для этого выполняют декодирование, т.е. сложение по модулю 2 всех разрядов слова (находят «свертку»), включая контрольный разряд. Если результат свертки равен нулю, то числовая комбинация принята без ошибок, а если он равен единице, то в принятой комбинации присутствует ошибочный разряд.
Этот способ контроля выявляет все комбинации, в которых при передаче возникли нечетнократные (одиночные, тройные и т.д.) ошибки. Кроме того, он обладает небольшой избыточностью. Все это привело к тому, что он находит широкое применение для контроля правильности межрегистровых передач и работы основной памяти компьютера.
Для исправления ошибок при передачах информации можно воспользоваться той же идеей: а именно введением дополнительных контрольных разрядов. Если имеется два контрольных разряда, то можно определить место ошибочного разряда с точностью до полуслова, т.е. указать половину слова, которая содержит ошибку. Увеличивая число контрольных разрядов, можно точно определить «ошибочный» разряд, а, значит, и исправить возникшую ошибку. Если этот «ошибочный» разряд содержал нуль, то для исправления ошибки в него нужно записать единицу и наоборот, если в нем оказалась единица, то на ее место нужно записать нуль.
Именно такой способ выявления ошибок предложил Хемминг. Он последовательно разбивал слово на два полуслова, как показано на рисунке 12.х. В результате такого разбиения получилось log2n полуслов, причем в каждом полуслове встречается один разряд, принадлежащий исключительно этому полуслову. Этот разряд и принимается в качестве контрольного. Не охваченным проверкой остался только один нулевой разряд. Его значение может быть как ошибочным, так и верным, так как он не попал ни в одно из проверяемых полуслов. Обычно этот разряд не включают в состав проверяемого слова.
Рисунок 12.х Разбиение кодовой комбинации на полуслова
Если контрольные разряды записывать в специальный регистр, то появившееся в нем число определяет номер ошибочного разряда, и остается только произвести сложение по модулю 2 содержимого этого разряда с единицей.
Контроль арифметических операций
Для проверки правильности выполнения операции сложения, а, следовательно, и операций вычитания, умножения, деления и других, которые в компьютере выполняются как многократное сложение, можно воспользоваться контролем по четности, если привлечь некоторые дополнительные сведения об операндах.
Пусть нужно произвести сложение двух чисел A + B = S = sn, sn-1,…,s1. Значение четности ее кодового веса
Ps = sn sn-1 …s1
В результате сложения получим
Ps = PA PB PC, где
PA и PB - контрольные цифры операндов A и B, а PC – контрольная цифра числа, образованного из значений переносов. Естественно, что эти два значения Ps и Ps при отсутствии ошибки должны совпадать, а при возникновении ошибки во время операции сложения E = Ps Ps = 1.
Проверка умножения, деления и других операций может выполняться на каждом шаге, когда производится операция сложения.
Можно воспользоваться таким же приемом и для исправления ошибок при выполнении арифметических операций, если применить код Хемминга. Однако аппаратура для этого становится довольно громоздкой и используется сравнительно редко.