Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[130]

микросхем системной логики. Он устанавливает пределы синхронизации и время доступа для модулей памяти. Ведь при работе на частоте 100 МГц и выше допустимые отклонения в синхронизации памяти не очень велики.

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

Контроль четности и коды коррекции ошибок (ECC)

Ошибки при хранении информации в памяти неизбежны. Они обычно классифицируются как отказы и нерегулярные ошибки (сбои).

Если нормально функционирующая микросхема вследствие, например, физического повреждения начинает работать неправильно, то все происходящее и называется постоянным отказом. Чтобы устранить этот тип отказа, обычно требуется заменить некоторую часть аппаратных средств памяти, например неисправную микросхему SIMM или DIMM.

Другой, более коварный тип отказа - нерегулярная ошибка (сбой). Это непостоянный отказ, который не происходит при повторении условий функционирования или через регулярные интервалы.

Приблизительно 20 лет назад сотрудники Intel установили, что причиной сбоев являются альфа-частицы. Поскольку альфа-частицы не могут проникнуть даже через тонкий лист бумаги, выяснилось, что их источником служит вещество, используемое в полупроводниках. При исследовании были обнаружены частицы тория и урана в пластмассовых и керамических корпусах микросхем, применявшихся в те годы. Изменив технологический процесс, производители памяти избавились от этих примесей.

В настоящее время производители памяти почти полностью устранили источники альфа-частиц. И многие стали думать, что проверка четности не нужна вовсе. Например, сбои в памяти емкостью 16 Мбайт из-за альфа-частиц случаются в среднем только один раз за 16 лет! Однако сбои памяти происходят значительно чаще.

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

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

Игнорирование сбоев, конечно, не лучший способ борьбы с ними. К сожалению, именно этот способ сегодня выбрали многие производители компьютеров. Лучше было бы увеличить отказоустойчивость систем. Для этого необходимы механизмы обнаружения и, возможно, исправления ошибок в памяти персонального компьютера. В основном для повышения отказоустойчивости в современных компьютерах применяются следующие методы:

контроль четности;

коды коррекции ошибок (ECC).


Контроль четности

Это один из стандартов, введенных IBM, в соответствии с которым информация в банках памяти хранится фрагментами по девять битов, причем восемь из них (составляющих один байт) предназначены собственно для данных, а девятый является битом четности (parity). Использование девятого бита позволяет схемам управления памятью на аппаратном уровне контролировать целостность каждого байта данных. Если обнаруживается ошибка, работа компьютера останавливается и на экран выводится сообщение о неисправности. Если вы работаете на компьютере под управлением Windows или OS/2, то при возникновении ошибки контроля четности сообщение, возможно, не появится, а просто произойдет блокировка системы.

Во всех процессорах, начиная с 386, схема контроля четности встроена в саму микросхему, поэтому никакие дополнительные микросхемы на системную плату устанавливать не нужно. В большинстве системных плат предусмотрена возможность отключения схем контроля четности для того, чтобы на них можно было устанавливать модули памяти без бита четности. К сожалению, некоторые системы вообще не поддерживают контроль четности. Данный факт ставит под сомнение четкую работу системы с критическими приложениями, требующими контроля четности.

Принцип работы проверки четности

При разработке схемы контроля четности IBM установила, что значение бита четности задается таким, чтобы количество единиц во всех девяти разрядах (восемь разрядов данных и разряд четности) было нечетным. Другими словами, когда байт (8 бит) данных заносится в память, специальная схема контроля четности (микросхема, установленная на системной плате или на плате памяти) подсчитывает количество единиц в байте. Если оно четное, на выходе микросхемы формируется сигнал логической единицы, который сохраняется в соответствующем разряде памяти как девятый бит (бит четности). Количество единиц во всех девяти разрядах при этом становится нечетным. Если же количество единиц в восьми разрядах исходных данных нечетное, то бит четности равен 0 и сумма двоичных цифр в девяти разрядах также остается нечетной.

Рассмотрим конкретный пример (имейте в виду, что разряды в байте нумеруются начиная с нуля, т. е. 0, 1, 2, . . . , 7).

Разряд данных: 01234567 Бит четности Значение бита: 101100110

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

Рассмотрим еще один пример.

Разряд данных: 0 1 2 3 4 5 6 7 Бит четности

Значение бита: 0 0 1 1 0 0 1 1 1

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

При считывании из памяти та же самая микросхема проверяет информацию на четность. Если в 9-разрядном байте число единиц четное и бит четности также равен единице, значит, при считывании или записи данных произошла ошибка. Определить, в каком


разряде она произошла, невозможно (нельзя даже выяснить количество испорченных разрядов). Более того, если сбой произошел в трех разрядах (в нечетном их количестве), то ошибка будет зафиксирована; однако при двух ошибочных разрядах (или четном их количестве) сбой не регистрируется. Сообщения об ошибках четности имеют следующий

вид:

В компьютере IBM PC: PARITY СНЕСК х В~компьютере IBM XT: PARITY СНЕСК х-yyyyy (z)

В~компьютере IBM PC и~последних моделях XT: PARITY СНЕСК х~ууууу

Здесь x может принимать значения 1 (ошибка произошла на системной плате) или 2 (ошибка произошла в разъеме расширения). Символы yyyyy - это шестнадцатеричное число от 00000 до FFFFF, указывающее адрес байта, в котором произошла ошибка. Символ z может принимать значение S (ошибка четности в системном блоке) или e (ошибка четности в корпусе-расширителе).

Замечание

IBM разработала корпуса-расширители для компьютеров PC и XT, чтобы увеличить количество разъемов расширения.

При обнаружении ошибки схема контроля четности на системной плате формирует немаскируемое прерывание (Non-maskable Interrupt - NMI), по которому основная работа прекращается и инициируется специальная процедура, записанная в BIOS. В результате ее выполнения экран очищается и в левом верхнем углу выводится сообщение об ошибке. Текст сообщения зависит от типа компьютера. В некоторых старых компьютерах IBM при выполнении указанной процедуры приостанавливается работа процессора, компьютер блокируется и пользователю приходится перезапускать его с помощью кнопки сброса или выключать и через некоторое время вновь включать питание. При этом, естественно, теряется вся несохраненная информация. (Немаскируемое прерывание - это системное предупреждение, которое программы не могут проигнорировать.)

В большинстве компьютеров в случае ошибки четности процессор не зависает и пользователю предоставляется возможность либо перезагрузить компьютер, либо продолжить работу как будто ничего не случилось. В подобных системах сообщение об ошибке может выглядеть иначе, чем в компьютерах IBM, хотя общий его смысл, конечно, остается прежним. Например, во многих компьютерах с BIOS компании Phoenix выводится сообщение

Memory parity interrupt at хххх:xxxx

Туре (S)hut off NMI, Type (R)eboot, other keys to continue

или

I/O card parity interrupt at хххх:xxxx

Туре (S)hut off NMI, Type (R)eboot, other keys to continue

Первое появляется при ошибке четности на системной плате (Parity Check 1), а второе - при ошибке четности в слоте расширения (Parity Check 2). Обратите внимание, что адрес памяти xxxx:xxxx выводится в формате [сегмент]:[смещение], а не в линейном виде, как в компьютерах IBM. Но в любом случае местоположение байта с ошибкой определяется однозначно.

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



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203] [стр.204] [стр.205] [стр.206] [стр.207] [стр.208] [стр.209] [стр.210] [стр.211] [стр.212] [стр.213] [стр.214] [стр.215] [стр.216] [стр.217] [стр.218] [стр.219] [стр.220] [стр.221] [стр.222] [стр.223] [стр.224] [стр.225] [стр.226] [стр.227] [стр.228] [стр.229] [стр.230] [стр.231] [стр.232] [стр.233] [стр.234] [стр.235] [стр.236] [стр.237] [стр.238] [стр.239] [стр.240] [стр.241] [стр.242] [стр.243] [стр.244] [стр.245] [стр.246] [стр.247] [стр.248] [стр.249] [стр.250] [стр.251] [стр.252] [стр.253] [стр.254] [стр.255] [стр.256] [стр.257] [стр.258] [стр.259] [стр.260] [стр.261] [стр.262] [стр.263] [стр.264] [стр.265] [стр.266] [стр.267] [стр.268] [стр.269] [стр.270] [стр.271] [стр.272] [стр.273] [стр.274] [стр.275] [стр.276] [стр.277] [стр.278] [стр.279] [стр.280] [стр.281] [стр.282] [стр.283] [стр.284] [стр.285] [стр.286] [стр.287] [стр.288] [стр.289] [стр.290] [стр.291] [стр.292] [стр.293] [стр.294] [стр.295] [стр.296] [стр.297] [стр.298] [стр.299] [стр.300] [стр.301] [стр.302] [стр.303] [стр.304] [стр.305] [стр.306] [стр.307] [стр.308] [стр.309] [стр.310] [стр.311] [стр.312] [стр.313] [стр.314] [стр.315] [стр.316] [стр.317] [стр.318] [стр.319] [стр.320] [стр.321] [стр.322] [стр.323] [стр.324] [стр.325] [стр.326] [стр.327] [стр.328] [стр.329] [стр.330] [стр.331] [стр.332] [стр.333] [стр.334] [стр.335] [стр.336] [стр.337] [стр.338] [стр.339] [стр.340] [стр.341] [стр.342] [стр.343] [стр.344] [стр.345] [стр.346] [стр.347] [стр.348] [стр.349] [стр.350] [стр.351] [стр.352] [стр.353] [стр.354] [стр.355] [стр.356] [стр.357] [стр.358] [стр.359] [стр.360] [стр.361] [стр.362] [стр.363] [стр.364] [стр.365] [стр.366] [стр.367] [стр.368] [стр.369] [стр.370] [стр.371] [стр.372] [стр.373] [стр.374] [стр.375] [стр.376] [стр.377] [стр.378] [стр.379] [стр.380] [стр.381] [стр.382]