Сделай Сам Свою Работу на 5

Специальные команды чипсета





Drive NA before BRDY

когда выбрано "Enabled", сигнал NA (читай ниже) устанавливается на один такт раньше последнего сигнала BRDY# в каждом цикле чтения/записи, таким образом вызывая генерацию процессором сигнала ADS# в следующем цикле после BRDY#, устраняя один потерянный цикл. С помощью сигнала BRDY# (Bus Ready) чипсет (точнее, т.н. "северный мост") сообщает процессору о том, что данные доступны для чтения или есть готовность для приема данных для их записи.

Extended CPU-PIIX4 PHLDA#

- при установке значения "Enabled" системный контроллер, входящий в состав "северного" моста, увеличивает на один такт (в тактах шины PCI) длительность сигнала PHLDA# и оставляет его активным в двух случаях:

* в течение адресной фазы в начале PCI-цикла чтения/записи,

* сопровождая адресную фазу "LOCK"-цикла центрального процессора.

При включенном значении опции функции "Passive Release" и "Delayed Transaction" должны быть также включены.

Сигнал PHLDA# (PCI Hold Acknowledge) применяется, в частности, для управления работой "арбитра" PCI-шины. Тема арбитража будет рассмотрена отдельно.

IBC DEVSEL# Decoding

- (декодирование адреса устройства). Сигнал DEVSEL (Device Select) означает "выбор устройства". Эта опция позволяет установить тип декодирования, используемый IBC (ISA Bridge Controller) для определения выбранного устройства. Чем дольше длится цикл декодирования, тем выше шанс корректного декодирования команд. Для отбора представлены следующие значения: "Fast", "Medium" и "Slow" (по умолчанию).



LOCK Function

- поскольку в данной опции идет речь об использовании сигнала LOCK#, то отключение опции ("Disabled") приведет к отказу от применения режима "bus-master" в системе.

NA Delay

- данная опция позволяет регулировать задержку (в системных тактах) перед выдачей сигнала NA# (Next Address). Меньшее значение повышает скоростные характеристики системы, но... Возможные значения опции: "0T", "1T", "2T".

NA# Enable

- опция включения/отключения сигнала NA#. Установив "Enabled", мы включаем механизм конвейеризации, при котором чипсет сигнализирует центральному процессору о выдаче нового адреса памяти еще до того, как все данные, переданные в текущем цикле, будут обработаны. Следующий адрес (вместе со стробом EADS#) появится через два такта после NA#. Естественно, что включение такого режима повышает производительность системы.



То же содержание заключено в опциях "NA# Pin Assertion" и "Chipset NA# Asserted".

NA# On Single Write Cycle

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

Negate LOCK#

- (отрицание сигнала LOCK#). Напомним, что сигнал LOCK# (Bus Lock) - это сигнал монополизации управления шиной, сигнал блокировки доступа к шине других абонентов. При установке опции в "Enabled" ранее некэшируемые "locked" циклы будут исполняться как "незакрытые" циклы, и поэтому они могут быть кэшированы. Повышение производительности очевидно.

Single ALE Enable

- (pазpешение одиночного сигнала ALE). Немножко информации. Пин B28 на шине ISA - это сигнал BALE (Bus Adress Latch Enable - разрешение защелкивания адреса). Это сигнал стробирования адресных разрядов. Может использоваться устройствами ввода/вывода для заблаговременной подготовки к предстоящему обмену информацией. Эта линия становится активной всякий pаз пpи появлении на адресной шине информации. Стоит добавить, что этот сигнал использовался еще во времена 808x-х процессоров. Сигнал этот используется редко.

Устанавливая "Enabled", активизируем одиночный сигнал ALE вместо множественных сигналов-стробов во время ISA-циклов. В какой-то степени выбор параметра был привязан и к скорости системной шины, т.е. пропускной способности системы. Поэтому установка в "Enabled" могла привести к замедлению быстpодействия видеоканала. Эта функция всегда оставалась достаточно "темной" функцией "BIOS Setup". "Disabled" рекомендовано.



Опция может называться также "ALE During Bus Conversion" с возможными вариантами выбора: "Single" (одиночный) или "Multiple" (множественный). Естественно, что при потоковой работе ISA-шины (т.е. множественных циклов чтения/записи) предпочтительнее была бы установка опции в "Multiple". Но какой правильный выбор должен был сделать пользователь, всегда оставалось загадкой.

Некоторые чипсеты имели поддержку усовершенствованного режима, при котором выдача множественных сигналов ALE производилась во время одиночных циклов шины. Функция BIOS при этом называлась "Extended ALE", а параметрами служили "Disabled" и "Enabled".

В наиболее "древних" версиях BIOS весь смысл сказанного выше был заключен в опции под названием "Quick Mode".

Stop CPU when PCI Flush

- при установке опции в "Enabled" центральный процессор, получив по своей входной линии (FLUSH) активный сигнал низкого уровня FLUSH#, вынужден будет приостановиться до тех пор, пока PCI-шина не закончит передачу данных. Запрещение опции не позволит процессору входить в режим ожидания, что естественно более приемлемо для системы.

Опция может называться "Stop CPU When Flush Assert".

 


CPU

 

Branch Target Buffer

просто редчайшая функция, скорее в смысле уникальности, а не частоты появления в различных версиях BIOS. О чем идет речь? BTB (Branch Target Buffer - буфер адресов перехода) - блок центрального процессора, отвечающий за динамическое предсказание переходов. При этом принимается во внимание, какие адреса переходов были выбраны ранее. Это важнейший узел современного процессора (см. специальную литературу).

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

CPU ADS# Delay 1T or Not

- опция установки задержки для сигнала ADS#. Несколько предваряющих слов. ADS# (Address Status) - строб адреса, вводимый инициатором обмена как индикатор действительности адреса. Сигнал действует на системной шине и может быть выходным как стороны процессора, так и со стороны чипсета.

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

Вынесенная в заголовок опция имеет два значения: "1T", "No Delay".

А вот опция "Cyrix M2 ADS# delay" предложила стандартные "Enabled" и "Disabled". Опция "Latency from ADS# status" предложила числовые значения в тактах системной шины: "2T" (по умолчанию), "3T".

Необходимо понимать, что устанавливая "время задержки", мы тем самым определяем временные характеристики циклов записи. И с учетом того, что использование буфера отложенной записи ведет, как правило, к формированию небольших пакетов (двойными словами или в два DW). Поэтому установив значение "3T", мы получаем 5 системных тактов для каждого двойного слова.

CPU BIST Enable

- в некоторых чипсетах, начиная с 430-й серии, нашли применение специализированные BIST-регистры. Большой нагрузки они не несли. Если система (чипсет + процессор) поддерживает функцию встроенного самотестирования (Built-In Self Test), то BIST-регистр хранит в своих разрядах команды "Start BIST" или "Completion Code". Если "система" не поддерживает BIST-функции, то установка опции в "Enabled" не даст эффекта, а в соответствующих разрядах регистра будут установлены "0".

Встроенный и, что немаловажно, полноценный механизм самотестирования BIST был реализован в процессорах Pentium III. Он обеспечивал постоянный контроль над зависаниями и сбоями в микрокоде, больших программируемых логических матрицах, а также обеспечивал тестирование кэша команд (инструкций) и кэша данных, буферов TLB (Translation Lookaside Buffer - буфера страничной переадресации) и сегментов памяти ROM. В течение 10-30 мсек (время связано с внутренней частотой ядра процессора) внутренним тестированием охватывается около двух третей всех внутренних блоков процессора. Лишь только после завершения теста процессор переходит в рабочий режим, результаты же теста фиксируются в регистре EAX.

CPU Fast String

- (быстрые операции со строками). Разрешение этого параметра ("Enabled") позволяет использовать некоторые специфические особенности архитектуры семейства процессоров Pentium Pro (Pentium II, Deschutes и т.п.), в частности, возможность кэширования операций со строками. Надо только понимать, что и в самой пользовательской программе должны быть выполнены условия для включения этого механизма. Эти условия указаны в документации на любой процессор данного семейства. Параметр рекомендуется оставлять в состоянии "Разрешено".

CPU Line Read Multiple

- в данной опции речь идет о чтении процессором т.н. "full cache"-линии. Когда "cache"-линия заполнена данными, то их объем составляет 32 байта (восемь двойных слов). Поскольку линия "полная", система точно знает, как долго данные на линии будут считываться. Поэтому системе не требуется сигнал об окончании передачи данных, и система не будет находиться в ожидании такого сигнала, будучи свободной для решения других задач. Когда опция включена ("Enabled"), процессор сможет считывать данные одновременно с нескольких "full cache"-линий. По умолчанию - "Disabled".

Опция может называться "CPU Multiple Reads".

Перечисленные ниже функции не содержат свойств множественности, но их размещение в данном месте более чем оправдано. Вот их наименования: "Allow Full Line Reads", "Full Cache Line Reads", "CPU Line Read". Каждая из них через "Disabled" или "Enabled" запрещает или разрешает использование "полных" линий чтения.

Опция "CPU-to-PCI Read-Line" имеет значения "On" и "Off", но различия на этом не заканчиваются. Опция под таким наименованием была введена и оптимизирована для работы с процессорами Intel OverDrive. Поэтому повышение эффективности использования CPU может быть достигнуто только с указанными процессорами. В противном случае опция должна быть отключена.

CPU Read Multiple Prefetch

- опция включения/отключения режима множественной предвыборки. Смысл процесса предвыборки (prefetch) заключается в том, что процессор, выбирая нужную инструкцию (например, из PCI-шины или памяти), одновременно начинает читать следующую, тем самым инициируя следующий процесс. Этому "способствует" то, что чипсет может иметь четыре линии чтения. Множественная же предвыборка позволяет выполнять одновременно несколько операций выборки инструкций, что существенно повышает быстродействие системы.

Опция может называться и "CPU Multiple Read Prefetch".

Если же речь не идет о "множественных" операциях, то опция может называться "CPU Line Read Prefetch", "CPU Read Prefetch".

I/O Space Access

- данная опция через "Enabled" разрешает доступ ко всему пространству адресов ввода/вывода. Редкий BIOS обходится без странных опций.

Linear Burst

- на материнских платах, предназначенных также для для использования семейства процессоров Cyrix 6x86/L/MX, обычно используется джампер для переключения между процессорами семейств "Pentium" и "AMD", с одной стороны, и "Cyrix", с другой. Этот джампер, как правило, носит название "CPU Burst Mode", что говорит об особенностях архитектуры данных процессоров. Естественно, что при установке "Cyrix"-процессоров в слот Socket 7 опция должна быть включена ("Enabled").

Опция может называться "Linear Burst (LINBRST)" или "M1 Linear Burst Mode".


CPU Speed

 

Материал данного подраздела построен в соответствии со стандартными действиями пользователя: установка тактовой частоты системной шины + установка множителя (коэффициента перемножения) = установка внутренней частоты (частоты ядра) процессора. В большинстве современных версий BIOS опции установки частот системной шины, процессора вынесены, как правило, в отдельное меню, которое может называться, например, "CPU Frequency Control".

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

CPU Host Clock Select

опция установки тактовой частоты системной шины. Если взять один из достаточно современных вариантов материнских плат, то можно выделить такой ряд значений (в МГц): 66, 75, 83, 100, 103, 112, 124, 133. В общем случае вариаций установки частоты может быть достаточно много. Особенно в этом плане выделяются материнские платы, буквально созданные для разгона (например, фирмы "ASUS"). И тогда без проблем можно "добраться" и до 166 МГц.

Опция может называться "CPU Bus Frequency" и предлагать такую подборку: "Auto", "66.8MHz", "68.5MHz", "75MHz", "83.3MHz", "100MHz", "103MHz", "112MHz". Значение "Auto" устанавливается по умолчанию и оно является рекомендованным.

Может быть предложен более "изощренный" вариант опции, связанный с тем, что модули памяти работают на частоте системной шины. Тогда опция может называться "Host/DRAM Frequency", а значения будут следующими: "66 MHz", "100 MHz". Понятно, что в данном варианте речь идет о SDRAM-памяти и интеловском чипсете с двумя фиксированными значениями тактовой частоты, например, 440BX. Опция может называться "CPU Host Clock".

Несколько нестандартной оказалась опция "CPU Clock/Spread Spectrum" (смотри раздел "Special"). Согласно опции устанавливается не только частота системной шины, но и разрешается/запрещается ("On"/"Off") включение механизмов понижения электромагнитной интерференции в системе. На выбор параметров влияет также и установка базовой перемычки тактовой частоты шины процессора: 66 или 100 МГц. В итоге для предустановленных 66 МГц имеем следующий набор значений: "Default", "66MHz/Off", "66MHz/On", "75MHz/Off", "83MHz/Off", "95MHz/Off". Если же предварительно установлено 100 МГц, то имеем такой внушительный ряд: "100MHz/Off", "100MHz/On", "112MHz/On", "117MHz/On", "124MHz/Off", "133MHz/Off", "133MHz/On", "138MHz/Off", "140MHz/On", "150MHz/Off".

Опция "CPU Operating Speed" через значение "User Define" дает возможность устанавливать частоту FSB (Front Side Bus) от 66 до 153 МГц. В противном случае можно однозначно выбрать одно из фиксированных соотношений частоты ядра CPU и частоты шины от "300/66" до "1G/133".

Непосредственно к рассматриваемой теме примыкают вопросы т.н. "разгона" процессоров. Эта проблема уже достаточна освещена в литературе, нет смысла на ней останавливаться. Со стороны же установок BIOS очень удобно, когда пользовательские действия адекватно воспринимаются и оцениваются. В этом плане меню "CPU Bus/PCI Freq" наиболее оптимально. Ведь превышение частоты PCI-шины свыше 37 МГц может повлечь за собой неисправность не только карт расширения, но и сбои жестких дисков.

CPU Ratio

- может принимать значения: 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5. Приведен практически весь возможный ряд коэффициентов умножения, который, как и сама опция, впрочем может отсутствовать вовсе, если коэффициент является фиксированным. Это довольно обычная ситуация, если речь идет об "интеловских" комплектующих. "Благоприятная" ситуация позволяет настраивать параметры работы CPU через BIOS, включая естественно нашумевший разгон процессоров.

Опция может называться "CPU Freq Ratio", а ряд значений может иметь несколько непривычный вид: "1:2", "1:3", "1:4", "1:5", "1:6", "1:7", "1:8", "2:5", "2:7", "2:9", "2:11", "2:13", "2:15".

CPU Speed

- поскольку внутренняя частота процессора является результатом перемножения двух других параметров, то данная опция носит информационный характер. Результирующая частота процессора может быть представлена, например, в таком виде: 133 MHz (66 x 2).

Опция может называться "CPU Frequency (MHz)".

Во многих случаях данная опция выносится наверх окна соответствующего меню (подменю) "BIOS Setup", хотя ее значение является результатом вычисления. Но в некоторых случаях пользователь может иметь доступ к параметрам данной опции. Опция "CPU Speed" может предложить значение "Manual", тогда активируются поля "CPU Ratio" и "CPU Host Clock" для индивидуальных установок. Но это конкретная реализация не только версии BIOS, но и системной платы, наверняка содержащей специальную перемычку для возможности ручных настроек.

В продолжение и дополнение вышесказанного необходимо выделить опцию "CPU Freq Select" со значениями "Hardware" и "Software", определяющими метод установки внутренней частоты процессора. Первое значение определяет использование соответствующих перемычек на системной плате, второе же предполагает применение настроек через "BIOS Setup".

Но также реальна ситуация с непосредственным выбором частоты процессора без каких-либо предварительных установок. Так опция "Processor Speed" предложила ряд значений ("233", "266", "300" и т.д.), а пользователь должен понимать, что имея фиксированные 66 МГц, он косвенно устанавливает множитель: 3.5, 4, 4.5 и т.д.

В дополнение к вышеизложенному еще кое-что интересное!

SEL 100/66# Signal

своим рождением этот сигнал ("100/66#") центрального процессора был обязан внедрению в материнские платы 100-мегагерцовой системной шины. Управление сигналом через установки BIOS приводит к тому, что линия, соответствующая этому сигналу, либо свободна ("high" - 100 мГц), либо заземлена ("low" - 66 мГц). Тем самым управление сигналом приводит к выбору частоты системной шины.

Позднее этот сигнал был переименован в "BSEL0#", а в паре с "BSEL1#" он стал принимать участие и в установке частоты шины в 133 мГц.

Turbo Mode (75 MHz)

- специальная опция "AMI BIOS", предназначавшаяся для работы процессора Pentium II на 75-мегагерцовой системной шине. При установке опции в "Disabled" устанавливалась стандартная частота шины - 66 МГц. Включение же опции допускалось при использовании высококачественных плат расширения, модулей памяти, что требовалось спецификацией "Intel" в отношении нестандартной частоты. В противном случае система может работать нестабильно.

Дополнительная информация о функциях чипсета и CPU содержится в опциях главы "PCI - Арбитраж, Bus-Master".

 


 

Memory

 

Memory Current

опция "Phoenix BIOS" с установкой тока нагрузки для модулей памяти. Значения параметра следующие:

"8mA" - модули памяти требуют тока нагрузки в 8 мА,

"12mA" - модули памяти требуют тока нагрузки в 12 мА. Установка "12mA" становится необходимой, если используются модули памяти большой емкости (64 МБ и более), которые содержат большое число чипов памяти.

 

ECC, Parity

 

Устройствам динамической памяти присущ один серьезный недостаток - вероятность ошибки считывания информации из ячейки. Для обнаружения ошибок памяти и их корректировки используются схемы проверки целостности данных. Существует 2 способа контроля - с помощью проверки бита четности и с помощью кода коррекции ошибок (ECC - Error Correction Code или Error Checking and Correction). Второй способ надежнее, хотя сравнивать эти методы можно с большой натяжкой.

Для пpовеpки ошибок памяти по четности (во время проведения POST, обычного режима работы) каждый байт информации должен иметь дополнительный девятый pазpяд, котоpый пpи каждом обpащении к ОЗУ по записи устанавливается таким обpазом, чтобы общее число единиц было нечетным. Пpи каждом обpащении по чтению пpовеpяется признак нечетности. Естественно, что поддерживающие проверку по нечетности модули памяти должны содержать дополнительный модуль для хранения этой дополнительной информации. Пpи обнаpужении ошибки возникает немаскиpуемое пpеpывание NMI, котоpое нельзя блокиpовать. Компьютер при этом пpекpащает pаботу, и на мониторе отобpажается сообщение об ошибке памяти, обычно в виде "PARITY ERROR AT 0AB5:00BE SYSTEM HALTED".

Недостаток такой схемы очевиден. Невозможно на основе такого метода контроля целостности исправлять обнаруженные ошибки. Метод же ECC, применяемый на высокоуровневых ПК, серверах, позволяет обнаруживать и исправлять двух-, трех- и даже четырехбитовые ошибки памяти. В отличие от метода по четности при реализации коррекции ошибок каждый бит входит более чем в одну контрольную сумму, что позволяет в случае возникновения ошибки в некотором бите восстановить адрес ошибки и исправить ее. Далеко не все чипсеты поддерживали и поддерживают коррекцию ошибок. К тому же с середины 90-х годов схемы обычного контроля четности применяются все реже. Надо отметить, что ECC не является панацеей от дефектной памяти и применяется для исправления случайных ошибок.

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

SmartCorrect - технология автоматической коррекции ошибок, разработанная корпорацией "Distributed Processing Technology" (DPT), предназначена для защиты всей подсистемы массовой памяти. Благодаря платам памяти с системой автокоррекции ошибок, высокопроизводительные адаптеры фирмы DPT могут обнаруживать и устранять любые нарушения целостности данных, возникшие на уровне кэш-памяти адаптера или на участках прохождения данных.

CPU Level 2 Cache ECC Check

опция включения/отключения коррекции ошибок кэша второго уровня у процессоров архитектуры Pentium II и выше, которые поддерживают эту опцию. К примеру, процессоры Pentium II поддерживает коррекцию ошибок, начиная с частоты в 333 МГц. ECC-коррекция несомненно повышает надежность системы, но при этом ее работа, как правило, несколько замедляется. В некоторых процессорах допущены ошибки, и включение этого режима может привести к нестабильной работе системы. К тому же фактор надежности играет значительную роль только в сетевых средах. Естественно, что при отсутствии кэш-памяти второго уровня или ее блокировке данная опция будет также недоступна. Может принимать значения:

"Enabled" - разрешено,

"Disabled" - запрещено.

Чуть другие названия этой же опции: "CPU Level 2 ECC checking", "CPU L2 Cache ECC Checking" и "L2 Cache ECC Support".

"AMI BIOS" предлагает несколько иное наименование опции, но речь идет о том же кэше второго уровня - "Cache Bus ECC". Еще одна опция - "ECC CPU Checking".

Data Integrity (PAR/ECC)

- (целостность данных). Опция разрешения/запрещения контроля памяти на ошибки. Вид контроля устанавливается параметром "DRAM ECC/PARITY SELECT". Может принимать значения:

"Enabled" - разрешено,

"Disabled" - запрещено.

DRAM Data Integrity Mode

- опция включения/отключения проверки целостности памяти. Включение опции позволит системе отслеживать и корректировать однобитные ошибки. Так же будут обнаруживаться двухбитные ошибки, но без исправления. Использование режима коррекции ошибок обеспечивает увеличение стабильности и целостности данных в системе, правда, при небольшой потере производительности. Если в системе не используются ECC-модули памяти, то опция должна быть отключена. Опция может быть отключена и при наличии ECC-модулей, но если ситуация в системе благоприятствует сохранению более высокой производительности. Может принимать значения:

"ECC" - разрешена коррекция,

"Non-ECC" - коррекция запрещена.

В некоторых случаях опция с тем же названием может иметь другой "набор" параметров: "Parity" и "ECC". При этом меняется и содержание функции. Опция может называться "DRAM Integrity Mode".

В "Phoenix BIOS" содержится аналогичная опция с названием "ECC Control". "Enabled" разрешает проведение коррекции (по умолчанию), "Disabled" запрещает. То же содержание вложено в опцию "ECC Memory Checking".

Значения "non-ECC" и "ECC" принадлежат и опциям "Memory Configuration", "ECC Configuration", хотя первая из них не совсем однозначна в наименовании.

В некоторых случаях к имеющимся параметрам может быть добавлено еще одно - "EC only" (режим проверки на четность, но только с выводом сообщений о возникновении ошибки). В зтом случае данная опция становится аналогичной одному из вариантов опции "DRAM ECC/PARITY Select", но при этом возникновение ошибки не приводит к полной остановке системы.

DRAM ECC/PARITY Select

- опция выбора режима коррекции ошибок/проверки по четности. Эта опция появляется только в BIOS тех материнских плат, в которых чипсет поддерживает ECC, и может быть использована только в том случае, если установлены модули памяти с истинной четностью. В некоторых вариантах BIOS этим параметром может устанавливаться только вид проверки, а разрешение на проверку устанавливается параметром "Data Integrity (PAR/ECC)" или аналогичным. Параметр может принимать значения:

"Parity" (по умолчанию) - в случае возникновения ошибки на монитор выдается сообщение о сбое по четности в памяти и работа компьютера останавливается,

"ECC" - в случае возникновения одиночной ошибки она исправляется (без вывода каких-либо сообщений) и работа системы продолжается. Если имеет место не одиночная ошибка, то работа компьютера также приостанавливается. Следует только учесть, что, по данным "Intel", скорость обмена с памятью при включении этого режима уменьшается приблизительно на 3%.

"Phoenix BIOS" содержит аналогичную опцию под названием "Parity Mode" и со следующими значениями:

"Disabled" - проверка памяти запрещена,

"Parity" (по умолчанию) - аналогично, как и в "Award BIOS",

"ECC" - так же аналогично, как и в "Award BIOS", сообщение выводится только при двухбитной (и более) ошибке.

"AMI BIOS" "подарил" нам два варианта опции "Memory Error Detection". В одном случае значения параметра оказались уже знакомыми: "Disabled", "ECC", "Parity". Другой же вариант по сути стал аналогом функции "DRAM Data Integrity Mode"(141) с разрешением или запрещением коррекции ошибок ("Enabled"/"Disabled").

Memory Parity/ECC Check

- опция разрешения/запрещения проверки целостности данных. Может принимать значения: разрешен контроль памяти на ошибки ("Enabled"), запрещен ("Disabled") и "Auto". Последняя установка активизирует проверку памяти автоматически с автоматическим же определением возможностей модулей памяти, как по четности, так и по коррекции ошибок. В другой версии BIOS в этой же опции может отсутствовать параметр "Auto".

Только два параметра ("Enabled"/"Disabled") предлагает и опция "Memory Parity (Error) Check". При включении опции и отсутствии необходимых модулей памяти загрузка ПК может прерваться с выводом сообщения "Parity Error".

Single Bit Error Report

- (сообщение об однобитовой ошибке). Если включен режим коррекции ошибок, то установка опции в "Enabled" позволит системе вывести сообщение о имеющей место однобитовой ошибке и ее коррекции. Решение этой задачи берет на себя контроллер памяти, он же направляет центральному процессору сообщение об ошибке памяти. Отключение опции ведет к отказу от вывода сообщений, но коррекция никак не отменяется.

 


 

4.2. "Затенение" памяти, выделенная память

 

"shadow memory" - это так называемая "теневая" память. В адресах памяти от 640 КБ до 1 МБ (a0000h - fffffh) находятся "окна", через которые "видно" содержимое различных системных ПЗУ. Например, адреса f0000h - fffffh занимает системное ПЗУ, содержащее bios системы, окно c0000h - c7fffh - ПЗУ видеоадаптера (видео-bios) и т.п. При включении режима "shadow" для каких-либо адресных диапазонов, соответствующих системным ПЗУ либо картам расширения, содержимое их ПЗУ копируется в участки основной памяти, которые затем подключаются к этим же адресам вместо ПЗУ, "затеняя" их.

Дает ли это какие-нибудь преимущества? Повышается ли при этом производительность системы? Включение "затенения" дает в первую очередь значительное ускорение работы с данными ПЗУ за счет более высокого быстродействия микросхем ОЗУ (в сравнении со временем доступа к ROM BIOS в 150-200 нс). Кроме того, при обращении к микросхемам BIOS непосредственно используется 8-разрядный доступ, что включение "затенения" ПЗУ делает еще более эффективным. Кроме этого, появляется возможность модифицировать видимое содержимое ПЗУ: все современные системные BIOS используют это для самонастройки, а в область видео-BIOS обычно загружаются экранные шрифты и т.п.

Что это за теневая память физически? Этот вопрос связан с распределением памяти вообще. В первом мегабайте памяти используются по прямому назначению, т.е. как основная память, 640 КБ, а остальные 384 КБ оказываются в адресном пространстве, зарезервированном для ПЗУ и внешних устройств. В современных платах вся память представляет собой непрерывный массив, поэтому разрывать адресное пространство модулей памяти на две части нельзя и поэтому часть системной области приходится аппаратно исключать, теряя при этом 384 КБ.

Как скопировать в эту память содержимое ПЗУ? Для этого применяют несколько способов:

1) Организация "Shadow Memory". Доступ к ней регулирует чипсет. Как правило, "Shadow Memory" находится в адресном пространстве в том же месте, где и исходное ПЗУ. Поскольку две области памяти в одном месте физически находиться не могут, для управления этой памятью в чипсете есть специальная схема, которая может подключить в этот фрагмент адресного пространства либо исходное ПЗУ, либо ОЗУ.

2) Несколько слов о защите от записи. Обычно "Shadow Memory" в нормальном состоянии находится в режиме "Read Only" (только для чтения). Это породило проблемы, например, при написании русификаторов, так как приходится открывать "затененные" участки той же видеопамяти. Различные версии BIOS позволяют решать эту проблему, имея опции с возможностью указания, следует ли оставлять требуемый диапазон "Read Write" или "Read Only".

3) Но не только BIOS способен управлять Shadow-функциями чипсета. Такое управление может осуществлять программа, умеющая корректно обращаться к регистрам чипсета на низком уровне. Начиная с 386-х в защищенном режиме работы процессора имеется страничная организация памяти, обеспечивающая формирование физического (реального) адреса из виртуального адреса программы. Именно эта возможность и обеспечивает в большинстве распространенных драйверов памяти (менеджеров) не только выполнение функций затенения, но и получение памяти EMS при наличии расширенной памяти в компьютере. Программно возможности "Shadow"-функций менеджеров памяти значительно более гибкие, чем у чипсета, управляемого BIOS. В частности, управление размерами памяти, выделяемой для "Shadow Memory", может производиться достаточно малыми по размеру страницами - 4 КБ, что позволяет эффективнее использовать адресное пространство первого мегабайта. В MS-DOS возможность управления "Shadow"-памятью имеет драйвер памяти HIMEM.SYS (ключ /SHADOWRAM:ON|OFF).

4) Затенение полезно, главным образом, в 16-разрядных ОС. 32-разрядные системы не используют 16-разрядный код из ROM. Вместо него они загружают 32-разрядные драйверы в ОЗУ, заменяя ими 16-разрядный код BIOS, который, таким образом, используется только в процессе загрузки системы.

5) 2) Организация блоков верхней памяти UMB (Upper memory blocks), по сути аналогия предыдущему варианту.

6) 3) Перемещение (relocation). Это перенос неиспользуемой памяти из системной области (640 КБ - 1 МБ) в область расширенной (Extended) памяти. Чаще всего перемещаться может весь фрагмент сразу, то есть все 384 КБ. Это связано со сложностью схемы управления адресными линиями. В этом случае освободить остаток первого мегабайта можно, только выключив все без исключения установки "Shadow". В первых IBM PC устанавливалось 640 КБ основной памяти и отдельно расширенная память, поэтому со старшими 384 КБ проблем не возникало. Позднее, а это также было давно, некоторые чипсеты (Neat, OPTi495, SiS471, др.) имели возможность переносить старшие 384 КБ за пределы пеpвого мегабайта, пpисоединяя их к pасширенной памяти. Одни чипсеты могли переносить свободные от "затенения" участки, другие - только все 384 КБ целиком.

Последующая серия опций объединена одной темой ("Теневое ПЗУ адаптеpа ХХХХ,16K") и представляет собой, в основном, устаревшие аппаратные решения.

Adaptor ROM Shadow C800,16K

опция для маскиpования ПЗУ некотоpых специальных каpт - сетевых, различных контpоллеpов и т.п. По умолчанию устанавливается "Disabled". Установка в "Enabled" допустима только тогда, когда в систему инсталлирована каpта расширения с ПЗУ, занимающим эти адpеса. В свое время большинство дисплейных видеоадаптеров, таких как MDA, Hercules, использовали ПЗУ с адpесом C800. Поскольку эти каpты были низкоскоростными, затенение этого адpеса улучшало общую пpоизводительность системы.

Дополнительная и интересная информация! Некотоpые версии BIOS допускали включение теневого ОЗУ со снятой защитой от записи. Пpи помощи дpайвеpа возможно было использование "теневой памяти" в качестве области UMB. Это давало некотоpое пpеимущество в скоpости в сpавнении с UMB-областью, обеспечиваемой пpи помощи EMM386.

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

Adaptor ROM Shadow CC00,16K

- эта область предназначалась для некоторых (естественно, старых) адаптеpов жестких дисков.

Adaptor ROM Shadow D000,16K

- адресная область для использования сетевыми картами.

Adaptor ROM Shadow D400,16K

- некоторые специальные контроллеры (это было давно) для четырех дисководов гибких дискет имеют отображаемый BIOS ROM в диапазоне адресов D400...D7FF.

Adaptor ROM Shadow D800,16K

Adaptor ROM Shadow DC00,16K

Adaptor ROM Shadow E000,16K

Adaptor ROM Shadow E400,16K

Adaptor ROM Shadow E800,16K

Adaptor ROM Shadow EC00,16K

- эта область могла быть использована системой после копирования SCSI-контроллерами своего BIOS. Hекотоpые SCSI-контроллеры могли иметь несколько другие области "затенения" ОЗУ (в зависимости от их марки).

Совершенно аналогично "работали" следующие опции:

C8000-CBFFF Shadow

CC000-CFFFF Shadow

D0000-D3FFF Shadow

D4000-D7FFF Shadow

D8000-DBFFF Shadow

DC000-DFFFF Shadow

Совершенно те же опции предложил "Phoenix BIOS" в меню под названием "Shadow Memory Regions".

И совершенно ясно, что возможны также другие вариации по "затенению". Например, опция "E8000 - EFFFF Shadow" может быть использована для поддержки интегрированного SCSI-контроллера.

И еще одно важное замечание, не утратившее актуальности и по сей день. Речь идет о специализированных ISA-адаптерах с микропроцессорами, память которых организована как двухпортовая. Если память такого микропроцессора по одному из портов со стороны компьютера адресуется как страница в области указанных адресов, то "затенение" для этой области должно быть запрещено ("Disabled").

Обобщая сказанное, необходимо отметить, что затенение разделяемой ("shared") памяти недопустимо. Разделяемая память служит также в качестве буферов сетевых контроллеров, т.п.

 

Еще пример затенения адресных областей:

C000,16K Shadow

C400,16K Shadow

C800,16K Shadow

CC00,16K Shadow

D000,16K Shadow

D400,16K Shadow

D800,16K Shadow

DC00,16K Shadow

Ничего нового, разве что первые две опции меню неявно предназначены для затенения видео-BIOS (см. подробно ниже).

Base Memory Address

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.