RSS

Компьютерная терминология    1_9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  .....  A  Б  В  Г  Д  Ж  З  И  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч

Полные настройки BIOS

  • Оптимизация биос
  • Integrated Peripherals
  • Настройка подсистемы памяти в BIOS
  • BIOS с поддержкой технологии обеспечения безопасности Palladium
  • Оптом уф лампы купить в москве цена в интернет-магазине Planet-Nails.ru
  • SDRAM CAS Latency Time
  • SDRAM Cycle Time Tras/TrcTras/Trc
  • SDRAM RAS-to-CAS Delay
  • SDRAM RAS Precharge Time
  • SDRAM Cycle Length
  • SDRAM Leadoff Command
  • SDRAM Bank Interleave
  • SDRAM Precharge Control
  • DRAM Data Integrity Mode
  • Read-Around-Write
  • System BIOS Cacheable
  • Video BIOS Cacheable
  • Video RAM Cacheable
  • Memory Hole At 15M-16M
  • 8-bit I/O Recovery Time
  • 16-bit I/O Recovery Time
  • Passive Release
  • Delayed Transaction
  • PCI 2.1 Compliance
  • AGP Aperture Size MB
  • AGP 2X Mode
  • AGP Master 1WS Read
  • AGP Master 1WS Write
  • USWC Write Posting
  • AGP Driving Control
  • AGP Driving Value
  • AGP Master 1WS Read
  • AGP Master 1WS Write
  • Режим AGP 4X
  • AGP Driving Control
  • AGP Driving Value
  • BIOS #
  • PCI & ISA
  • PCI & ISA #2
  • PCI & ISA #3
  • Boot & POST
  • Errors & Chipset
  • CPU
  • CPU Speed#Memory
  • Memory
  • Power Management Setup
  • Spread Spectrum
  • Auto Detect DIMM/PCI Clk
  • BIOS Flash BIOS Protection
  • Hardware Reset Protect
  • DRAM Read Latch Delay
  • DRAM Interleave Time
  • Byte Merge
  • PCI Pipeline / PCI Pipelining
  • Fast R-W Turn Around
  • CPU to PCI Write Buffer
  • PCI Dynamic Bursting
  • PCI Master 0 WS Write
  • PC Delay TransactionI
  • PCI#2 Access #1 Retry
  • Master Priority Rotation
  • Autodetect DIMM/PCI Clk
  • Force Update ESCD / Reset Configuration Data
  • USB Keyboard Support Via
  • PIRQ_0 Use IRQ No. ~ PIRQ_3 Use IRQ No.
  • Spread Spectrum Modulated
  • Таблица 1
    Производитель BIOSКлавиши 
    ALR Advanced Logic Research, Inc.F2, Ctrl+Alt+Esc
    AMD (Advanced Micro Devices, Inc.) BIOS F1
    AMI (American Megatrends, Inc.) BIOSDel
    Award BIOS Ctrl+Alt+Esc, Del
    DTK (Datatech Enterprises Co.) BIOSEsc
    Phoenix BIOSCtrl+Alt+Esc, Ctrl+Alt+S, Ctrl+Alt+Ins
     
    Таблица 2
    Производитель ПК Клавиши 
    Acer F1, F2, Ctrl+Alt+Esc 
    ASTCtrl+Alt+Esc, Ctrl+Alt+Del 
    CompaqF10 
    CompUSADel 
    CybermaxEsc 
    Dell 400F3, F1
    Dell DimensionF2, Del
    Dell InspironF2
    Dell LatitudeFn+F1
    Dell LatitudeF2
    Dell OptiplexDel, F2
    Dell PrecisionF2
    eMachineDel
    GatewayF1, F2
    HP (Hewlett-Packard)F1, F2
    IBMF1
    IBM E-pro LaptopF2 
    IBM PS/2Ctrl+Alt+Ins затем Ctrl+Alt+Del 
    IBM Thinkpadиз Windows: Programs >Thinkpad CFG
    Intel TangentDel
    MicronF1, F2, or Del
    Packard BellF1, F2, Del
    Sony VAIOF2, F3
    TigerDel
    ToshibaEsc, F1

    Звук

    Что означает

    Один короткий гудок после включения или сброса компьютера

    Все нормально

    Длинный, постоянно повторяющийся гудок

    Либо памяти нет, либо она неисправна

    Один длинный гудок и затем три коротких

    Либо не установлена видеокарта, либо ее видеопамять неисправна

    Частые гудки при нормально работающем компьютере

    Процессор перегрет и частота его принудительно понижена BIOS


    ROM BIOS состоит из четырех основных компонентов:
    1. POST (Power-On Self Test). Процедура самотестирования при включении питания. При проверке тестируются: центральный процессор, само ПЗУ, элементы материнской платы, ОЗУ и основные периферийные устройства. Грубо говоря, POST – это набор маленьких подпрограмм. Проверка не является тщательной но серьезные неисправности все же обнаруживаются. Информация об ошибках выводится тремя путями: вывод информации в виде текста или шестнадцатеричных кодов ошибок на экран и набор звуковых сигналов. В случае успешного прохождения теста встроенный динамик выдает один короткий сигнал.
    2. BIOS (Basic Input/Output System). По сути дела это набор драйверов (драйвер – программа управления устройством), обеспечивающих работу системы при запуске компьютера или при загрузке в безопасном режиме. Дело в том, что когда Вы включаете комп, то еще до загрузки операционной системы можно управлять им с клавиатуры, видеть все действия на мониторе. Кроме этого, если Вы загружаетесь в безопасном режиме, то отказываетесь от драйверов операционной системы и в работе остаются только драйвера BIOS.
    3. Программа начальной загрузки. Эта программа после включения компьютера ищет операционную систему, загружает ее и отдает ей все управление компьютером.
    4. CMOS (Complementary Metal Oxide Semiconductor). А точнее,
    процедура установки параметров конфигурации системы в CMOS. Эту часть ROM BIOS Вы можете посмотреть и при необходимости внести туда изменения, если сразу после включения компьютера будете нажимать клавишу [Delete]. В основном все параметры касаются материнской платы, но так или иначе они связаны и остальными компонентами компьютера.
    Kогда Вы включаете компьютер:
    1. После включения источник питания проводит самотестирование и в случае положительного результата теста выдает на материнскую плату сигнал Power Good. Все это происходит за 0.5 сек.
    2. После получения сигнала Power Good таймер перестает генерировать подаваемый на процессор сигнал Reset.
    3. CPU начинает выполнять код, который записан в ROM BIOS по адресу FFFF:0000. По данному адресу записана команда перехода на реально выполняемый код ROM BIOS.
    4. ROM BIOS проводит тестирование системы на наличие ошибок, в случае нахождения которых будет подан лишь звуковой сигнал, так как видеоадаптер еще не инициирован.
    5. Для того, что бы найти программу работы с видеоадаптером, BIOS сканирует адреса от C000:0000 до C780:0000. В случае нахождения программы, BIOS проверяет контрольную сумму кода. При совпадении суммы с заданной управление передается BIOS видеоадаптера и на монитор выводится первичная информация. В случае, если BIOS видеоадаптера на найдена, управление передается, встроенному в BIOS материнской платы, драйверу.
    6. Сканируются следующие адреса памяти начиная с C800:0000 до DF80:0000 с целью обнаружения BIOS каких либо еще устройств в системе. В случае обнаружения оных так же проверяется контрольные суммы кодов и затем управление этих устройств отдается их встроенным BIOS.
    7. По адресу 0000:0472 ROM BIOS проверяет значение слова, определяющего тип загрузки – холодная или горячая. В случае холодной загрузки в работу будет запущена POST, в случае горячей – POST будет пропущен.
    8. Выполняется POST (в случае холодного пуска) для проверки всех компонентов системы. При отсутствии фатальных ошибок выдается встроенным динамиком короткий сигнал.
    9. ROM BIOS производит поиск дискеты в дисководе (при соответствующей настройке) и читает на ней сторону 0, цилиндр 0 сектор 1. Этот сектор загружается по адресу 0000:7С00 и проверяет, является ли дискета загрузочной. В случае повреждения этих данных или же дискета не является загрузочной, то на экран выводится соответствующее сообщение.
    10. Если в дисководе нет дискеты, то ROM BIOS читает MBR (Memory Boot Record), которая лежит в первом секторе жесткого диска и загружает его (сектор) в память по адресу 0000:7С00.
    11. В работу вступает программа, находящаяся в MBR. Дальнейшее нас уже не должно интересовать, так как не относится к теме данной статьи.
    Как Вы наверно уже поняли ОЗУ и ПЗУ разделять на диаметрально противоположные памяти нельзя. Часть адресного пространства ОЗУ отводится под данные и коды BIOS. Говоря другими словами, во время работы компьютера BIOS является частью оперативной памяти. Ниже я приведу карту памяти и размещения области ROM BIOS в большинстве АТ совместимых компьютерах:

    ROM BIOS

    Теперь кое-что о совместимости. Любая версия ROM BIOS не может поддерживать абсолютно все существующие устройства. Особенно это касается устаревших версий. Оно и понятно. Мир не стоит на месте. Постоянно появляется что-то новенькое и это новенькое иногда требует обновления BIOS. Следует учесть еще и вот какой аспект. Дело в том, что на рынке инфотехнологий всего два основных производителя ROM BIOS – Phoenix Technologies, и AMI (American Megatrends, Inc). Когда-то существовала еще и Award Software, но в 1998 году Award была выкуплена Phoenix и сейчас существует лишь торговая марка. Большинство производителей материнских плат заказывают BIOS у этих фирм. Но Compaq производит BIOS полностью самостоятельно, что сказывается на, мягко говоря, низкой совместимости с устройствами изготовленными другими фирмами.


    Полные настройки BIOS.
    II. Chipset Features Setup
    SDRAM CAS Latency Time (Время задержки SDRAM CAS [Column Address Strobe])
    Опции: 2, 3
    Управляет задержкой времени (по периодам синхронизирующих импульсов) которая происходит до момента когда SDRAM начинает выполнять команду считывания (read command) после ее получения. Также определяет значение "цикла таймера" для завершения первой части пакетной передачи. Таким образом, чем меньше время ожидания, тем быстрее происходит транзакция. Однако некоторые SDRAM не в состоянии обеспечить меньшее время ожидания, становятся нестабильными и теряют данные.Таким образом, по возможности устанавливайте Время ожидания (SDRAM CAS Latency Time) в поз.2 для оптимальной производительности, но увеличивайте до 3 если система становится нестабильной.
    SDRAM Cycle Time Tras/TrcTras/Trc (время цикла памяти SDRAM)
    Опции: 5/6, 6/8
    Эта функция позволяет изменить минимальное количество циклов памяти требуемых для Tras и Trc в SDRAM. Tras означает SDRAM`s Row Active Time (время активности ряда SDRAM ), т.е. период времени в течение которого ряд открыт для переноса данных. Также существует термин Minimum RAS Pulse Width (минимальная длительность импульса RAS ). Trc, с другой стороны, означает SDRAM`s Row Cycle Time (цикл памяти/время цикла ряда SDRAM), т.е. период времени в течение которого завершается полный цикл открытия и обновления ряда (row-open, row-refresh cycle).
    Установкой по умолчанию является 6/8, более медленной и стабильной чем 5/6. Однако, 5/6 быстрее сменяет циклы в SDRAM, но может не оставлять ряды открытыми на период времени достаточный для полного завершения транзакции данных. Это особенно справедливо для SDRAM с тактовой частотой свыше 100MHz. Следовательно, следует попробовать 5/6 в целях увеличения производительности SDRAM, но следует увеличить до 6/8 если система становится нестабильной.
    SDRAM RAS-to-CAS Delay (Задержка SDRAM RAS-to-CAS)
    Опции: 2, 3
    Эта опция позволяет вам вставить задержку между сигналами RAS (Row Address Strobe) и CAS (Column Address Strobe). Это происходит когда что-то записывается, обновляется или считывается в SDRAM. Естественно, что уменьшение задержки улучшает производительность SDRAM, а увеличение, наоборот, ухудшает производительность SDRAM.Таким образом, уменьшайте задержку со значения 3 (default) до 2 для улучшения производительности SDRAM. Однако, если уменьшения задержки возникает проблема со стабильностью, то установите значение обратно на 3.
    SDRAM RAS Precharge Time (Время предварительного заряда RAS SDRAM)
    Опции: 2, 3
    Эта опция устанавливает количество циклов необходимых, чтобы RAS накопил свой заряд перед обновлением SDRAM. Уменьшение времени предзаряда до 2 улучшает производительность SDRAM, но если эта установка недостаточна для установленного SDRAM, то SDRAM может обновляться некорректно и не сможет удерживать данные. Таким образом, для улучшения производительности SDRAM, устанавливайте SDRAM RAS Precharge Time на 2, но увеличивайте до 3, если уменьшение времени предзаряда вызывает проблемы со стабильностью.
    SDRAM Cycle Length (Длина цикла SDRAM)
    Опции: 2, 3
    Данная характеристика сходна с SDRAM CAS Latency Time. Управляет задержкой времени (по периодам синхронизирующих импульсов) которая происходит до момента когда SDRAM начинает выполнять команду считывания (read command) после ее получения. Также определяет значение "цикла таймера" для завершения первой части пакетной передачи. Таким образом, чем меньше длина цикла, тем быстрее происходит транзакция. Однако, некоторые SDRAM не в состоянии обеспечить меньшую длину цикла, становясь нестабильными. По возможности устанавливайте SDRAM Cycle Length в поз.2 для оптимальной производительности, но увеличивайте до 3 если система становится нестабильной.
    SDRAM Leadoff Command (время доступа к первому элементу пакета данных)
    Опции: 3, 4
    Данная опция позволяет вам подстроить значение leadoff time, периода времени требуемого до того как можно будет получить доступ к данным хранимым в SDRAM. В большинстве случаев это время доступа к первому элементу пакета данных. Для оптимальной производительности, для быстрого доступа к SDRAM устанавливайте значение на 3, но увеличивайте его до 4, если система становится нестабильной.
    SDRAM Bank Interleave (Чередование банка данных SDRAM)
    Опции: 2-Bank, 4-Bank, Disabled
    Данная характеристика позволяет вам установить режим interleave(чередование) интерфейса SDRAM. Чередование позволяет банкам SDRAM чередовать их циклы обновления и доступа. Один банк проходит цикл обновления в то время как другой находится в стадии обращения к нему. Это улучшает производительность SDRAM путем маскирования (masking) времени обновления каждого банка. Более внимательное рассмотрение чередования покажет, что с упорядочиванием циклов обновления всех банков SDRAM проявляется эффект схожий с конвейерным эффектом.
    Если в системе 4 банка, то CPU может в идеале посылать один запрос данных к каждому из банков SDRAM последовательными периодами синхроимпульсов (consecutive clock cycles). Это значит, что в первом периоде CPU пошлет один адрес к Bank 0 и затем пошлет следующий адрес к Bank 1 во втором периоде, перед тем как пошлет третий и четвертый адреса к Banks 2 и 3 в третьем и четвертом периодах соответственно. Такая последовательность будет иметь примерно следующий вид:
    CPU посылает адрес #0 к Bank 0
    CPU посылает адрес #1 в Bank 1 и получает данные #0 из Bank 0
    CPU посылает адрес #2 в Bank 2 и получает данные #1 из Bank 1
    CPU посылает адрес #3 в Bank 3 и получает данные #2 из Bank 2
    CPU получает данные #3 из Bank 3
    В результате, данные из всех четырех запросов последовательно поступят от SDRAM без задержек между ними. Но, если чередование не было активизировано, та же самая 4-х адресная транзакция примет следующий вид:
    SDRAM refreshes (SDRAM обновляется)
    CPU sends address #0 to SDRAM (CPU посылает адрес #0 в SDRAM)
    CPU receives data #0 from SDRAM (CPU получает данные #0 из SDRAM)
    SDRAM refreshes (SDRAM обновляется)
    CPU sends address #1 to SDRAM (CPU посылает адрес #1 в SDRAM)
    CPU receives data #1 from SDRAM (CPU получает данные #1 из SDRAM)
    SDRAM refreshes (SDRAM обновляется)
    CPU sends address #2 to SDRAM (CPU посылает адрес #2 в SDRAM)
    CPU receives data #2 from SDRAM (CPU получает данные #2 из SDRAM)
    SDRAM refreshes (SDRAM обновляется)
    CPU sends address #3 to SDRAM (CPU посылает адрес #3 в SDRAM)
    CPU receives data #3 from SDRAM (CPU получает данные #3 из SDRAM)
    Как видите, с чередованием, первый банк начинает перенос данных к CPU в том же самом цикле при котором второй банк получает адрес от CPU. Без чередования, CPU посылал бы этот адрес к SDRAM, получал бы требуемые данные и затем ждал бы пока обновится SDRAM, перед тем как начать вторую транзакцию данных. На все это тратится множество периодов синхроимпульсов. Вот почему пропускная способность SDRAM увеличивается при включенном чередовании (interleaving enabled).Однако, чередование банков (bank interleaving) работает только в том случае если последовательно запрошенные адреса не находятся в одном и том же банке. Иначе транзакции данных происходят так, словно эти банки не чередуются. CPU придется подождать пока не очистится первая транзакция данных, а этот банк SDRAM не обновится, и только затем CPU сможет послать еще один запрос к этому банку. Каждый SDRAM DIMM состоит либо из 2-х банков, либо 4-х банков. Двухбанковые SDRAM DIMM используют 16Mbit SDRAM чипы и обычно бывают 32MB или менее в размере. Четырехбанковые SDRAM DIMM, с другой стороны, обычно используют 64Mbit SDRAM чипы, хотя SDRAM плотность может достигать 256Mbit на один чип. Все SDRAM DIMMs размером хотя бы 64MB или более по природе своей являются 4-банковыми. Если вы используете отдельный 2-bank SDRAM DIMM, то устанавливайте значение этой опции на 2-Bank. Но если вы используете пару 2-bank SDRAM DIMMs, то можно также применить 4-Bank опцию. С 4-bank SDRAM DIMMs, вы можете использовать любую из опций чередования (interleave options). Само собой, 4-банковое чередование лучше, чем 2-банковое чередование, поэтому по возможности выбирайте 4-Bank. Выбирайте 2-Bank только если используете отдельный 2-bank SDRAM DIMM. Заметьте, однако, что Award (теперь часть Phoenix Technologies) рекомендует отключать SDRAM bank interleaving если используются 16Mbit SDRAM DIMMs.
    SDRAM Precharge Control (Управление предварительным зарядом SDRAM)
    Опции: Enabled (включен), Disabled (выключен)
    Данная характеристика определяет, чем управляется предзаряд SDRAM - процессором или самим SDRAM. Если эта опция выключена, то все циклы CPU к SDRAM завершатся командой All Banks Precharge на интерфейсе SDRAM, что улучшит стабильность, но понизит производительность. Если же эта опция включена, то предварительный заряд предоставлен самому SDRAM. Это уменьшит количество раз предзаряда SDRAM, так как произойдет множество циклов CPU- SDRAM до того как потребуется обновить SDRAM. Поэтому включайте эту опцию для оптимальной производительности, если это не окажет влияния на стабильность системы.
    DRAM Data Integrity Mode (Режим целостности данных DRAM)
    Опции: ECC, Non-ECC
    Эта установка BIOS применяется для конфигурации режима целостности данных вашего RAM. ECC означает Error Checking and Correction (Проверка и Исправление Ошибок), и ее следует использовать только если вы пользуетесь специальным 72-bit ECC RAM. Это позволит системе определять и исправлять ошибки в одном разряде, а также определять в двух разрядах, но не исправлять их. Все это увеличит целостность данных и повысит стабильность системы, но за счет небольшого уменьшения скорости.Если у вас ECC RAM, установите ECC чтобы повысить целостность данных. В конце концов, вы и так уже потратились на дорогой ECC RAM, так почему бы и не использовать его? ;) если же вы не используете ECC RAM, то выбирайте установку Non-ECC.
    Read-Around-Write (Выполнение команды считывания с изменением последовательности)
    Опции: Enabled, Disabled

    Данная настройка позволяет процессору выполнять команды считывания с изменением последовательности, как если бы они были независимы от команд записи. Таким образом, если команда на чтение указывает адрес в памяти, последняя запись (содержание) которого находится в кэше (ожидая копирования в память), команда на чтение будет удовлетворена содержимым кэша вместо этого. Это улучшает эффективность подсистемы памяти. Мы рекомендуем включить эту опцию.
    System BIOS Cacheable (Кэширование области системного BIOS)
    Опции: Enabled, Disabled

    Данная настройка применима только в случае если system BIOS затенен. В ней включается или выключается кэширования области памяти по адресам системного BIOS с F0000H по FFFFFH через кэш второго уровня. Это заметно ускоряет доступ к системному BIOS. Однако не повышает производительность, так как ОС не сильно требуется доступ к BIOS. А поэтому, было бы пустой тратой пропускной способности кэша второго уровня - кэшировать системный BIOS, вместо данных которые гораздо более критичны для производительности системы. Важно то что, когда любая программа пишет в эту область памяти, это закончится полным отказом системы. Следовательно, мы рекомендуем вам выключить System BIOS Cacheable для оптимальной производительности системы.
    Video BIOS Cacheable (Кэширование области BIOS видеоадаптера)
    Опции: Enabled, Disabled

    Данная настройка применима только в случае если video BIOS затенен. В ней включается или выключается кэширования области памяти по адресам BIOS видеокарты с C0000H по C7FFFH через кэш второго уровня. Это заметно ускоряет доступ к video BIOS. Однако не повышает производительность, так как OS обходит BIOS, используя графический драйвер для прямого доступа к видеокарте. А потому, было бы пустой тратой пропускной способности кэша второго уровня - кэшировать video BIOS, вместо данных которые гораздо более критичны для производительности системы. Важно что, когда любая программа пишет в эту область памяти, это закончится полным отказом системы. Следовательно, мы рекомендуем вам выключить Video BIOS Cacheable для оптимальной производительности системы.
    Video RAM Cacheable (Кэширование видео памяти)
    Опции: Enabled, Disabled

    Данная настройка включает или выключает кэширование видео памяти в A0000h-AFFFFh через кэш второго уровня (L2 cache). Это предположительно ускоряет доступ к видео памяти. Однако, не улучшает производительность. Cовременные графические карты имеют пропускную способность памяти порядка 5.3GB/s (128bit x 166MHz DDR) и эти цифры постоянно растут. Тем временем, пропускная способность SDRAM`s все еще застряла где-то около 0.8GB/s (64bit x 100MHz) или, в лучшем случае, 1.06GB/s (64bit x 133MHz) если вы используете PC133 систему.
    Так вот, хотя Pentium 650 и может иметь кэш второго уровня с пропускной способностью примерно 20.8GB/s (256bit x 650MHz), все равно лучше кэшировать действительно медленный system SDRAM, а не RAM графических карт. Также, заметьте, что кэширование видео памяти не имеет особого смысла даже если есть хорошая пропускная способность кэша второго уровня. Это потому, что video RAM сообщается с кэшем второго уровня (L2 cache) через AGP шину, которая имеет максимальную пропускную способность всего 1.06GB/s используя AGP4X протокол. На самом деле, данная пропускная способность "ополовинена" в случае если L2 cache кэширует RAM видеокарточки так как данные должны идти в двух направлениях. Опять же, когда любая программа пишет в эту область памяти, это закончится полным отказом системы, поэтому, мы не так уж и выигрываем при кэшировании RAM видеокарты. Гораздо лучше использовать вместо этого L2 cache процессора для кэширования системной SDRAM. Следовательно, мы рекомендуем вам выключить Video RAM Cacheable для оптимальной производительности системы.
    Memory Hole At 15M-16M (Промежуток между 15-16 мегабайтом памяти)
    Опции: Enabled, Disabled

    Некоторые особые ISA карты требуют под себя эту область памяти для корректной работы. Если эта опция включена, то она резервирует область памяти для использования подобными карточками. Это также предотвращает доступ системы к памяти свыше 16MB. Означает это только то, что если вы включите эту функцию, ваша ОС сможет использовать только не более 15MB памяти, независимо от того как много памяти на самом деле в вашей системе. :-)
    Всегда выключайте эту функцию.
    8-bit I/O Recovery Time (Время восстановления для восьми разрядных устройств)
    Опции: NA, 8, 1, 2, 3, 4, 5, 6, 7

    PCI гораздо быстрее чем шина ISA и для нормальной работы ISA карточек с I/O циклами от PCI шины, механизм восстановления шины ввода/вывода (I/O bus recovery mechanism) добавляет в ISA шину дополнительные синхронизирующие циклы шины между каждыми последовательными PCI-вырабатываемыми I/O циклами.
    По умолчанию, этот механизм восстановления шины ввода/вывода добавляет минимум 3.5 синхронизирующих цикла между каждыми последовательными 8-bit I/O циклами в ISA шину. Вышеописанная опция позволяет вам добавить даже больше синхронизирующих циклов между каждыми последовательными 8-bit I/O циклами в ISA шину. Опция NA устанавливает количество циклов задержки на минимум 3.5 синхронизирующих циклов. Таким образом, по возможности устанавливайте 8-bit I/O Recovery Time в позицию NA для оптимальной производительности ISA шины. Увеличивайте I/O Recovery Time только если у вас проблемы с вашей восьми разрядной ISA карточкой, обратите внимание что эта функция не имеет смысла если вы не используете ISA карточки.
    16-bit I/O Recovery Time (Время восстановления для 16-разрядных устройств)
    Опции: NA, 4, 1, 2, 3

    PCI гораздо быстрее чем шина ISA, поэтому, для нормальной работы ISA карточек с I/O циклами от PCI шины, механизм восстановления шины ввода/вывода (I/O bus recovery mechanism) добавляет в ISA шину дополнительные синхронизирующие циклы шины между каждыми последовательными PCI-вырабатываемыми I/O циклами.
    По умолчанию, этот механизм восстановления шины добавляет минимум 3.5 синхронизирующих цикла между каждыми последовательными 16-bit I/O циклами в ISA шину. Вышеописанная опция позволяет вам добавить даже больше синхронизирующих циклов между каждыми последовательными 16-bit I/O циклами в ISA шину. Опция NA устанавливает количество циклов задержки на минимум 3.5 синхронизирующих циклов. Таким образом, по возможности устанавливайте 16-bit I/O Recovery Time в позицию NA для оптимальной производительности ISA шины. Увеличивайте I/O Recovery Time только если у вас проблемы с вашей 16-bit ISA карточкой, обратите внимание что эта функция не имеет смысла если вы не используете ISA карточки.
    Passive Release (Функция BIOS, которая включает/выключает механизм параллельной работы шин ISA и PCI)
    Опции: Enabled, Disabled

    Если Passive Release включена, то доступ процессора к шине PCI разрешен во время пассивного разделения. Следовательно, процессор может иметь доступ к PCI шине пока происходит обращение к ISA шине. Включите Passive Release для оптимальной производительности. И выключите Passive Release только если у вас проблемы с вашей ISA картой.
    Delayed Transaction (Функция BIOS, которая включает/выключает задержку транзакций на шине PCI)
    Опции: Enabled, Disabled

    Эта опция применяется, чтобы соответствовать периоду ожидания PCI циклов к ISA шине и от неё. PCI циклы "к" и "от" ISA шины требуют большего времени для завершения и это замедляет PCI шину. Однако, если установить Delayed Transaction в позицию Enabled, это включит встроенный в чипсет 32-битный буфер записи для поддержки задержанных транзакционных циклов. Это означает, что транзакции к ISA шине и от ISA шины заполняют буфер и PCI шина освобождается, чтобы выполнять иные транзакции пока реализуется ISA транзакция. Эта опция должна быть включена для лучшей производительности и чтобы соответствовать требованиям PCI 2.1.Выключите ее только если ваша PCI карточка не может нормально работать или вы используете ISA карту которая не совместима с PCI 2.1.
    PCI 2.1 Compliance (Совместимость с PCI 2.1)
    Опции: Enabled, Disabled
    Это то же самое что и Delayed Transaction описанная выше. Опция применяется, чтобы соответствовать периоду ожидания PCI циклов к ISA шине и от неё. ISA шина гораздо медленнее чем PCI bus. Поэтому, PCI циклы к и от ISA шины требуют большего времени для завершения и это замедляет PCI шину. Однако, если установить Delayed Transaction в позицию Enabled, это включит встроенный в чипсет 32-битный буфер записи для поддержки задержанных транзакционных циклов. Это означает, что транзакции к ISA шине и от ISA шины заполняют буфер и PCI шина освобождается, чтобы выполнять иные транзакции пока реализуется ISA транзакция. Эта опция должна быть включена для лучшей производительности и чтобы соответствовать требованиям PCI 2.1. Выключите ее только если ваша PCI карточка не может нормально работать или вы используете ISA карту которая не совместима с PCI 2.1.
    AGP Aperture Size MB (Размер апертуры AGP Mб)
    Опции: 4, 8, 16, 32, 64, 128, 256
    Данная опция выбирает размер апертуры AGP. Апертура - часть диапазона адреса памяти PCI (memory address range) отведенная под пространство адреса графической памяти . Ведущие циклы которые подпадают под этот диапазон апертуры пересылаются к AGP без необходимости трансляции. Данный размер также устанавливает максимальный размер системной RAM отведенной графической карточке для хранения текстур.
    Размер апертуры AGP устанавливает следующая формула: максимально используемая AGP память x2 плюс 12MB. Это значит что размер используемой памяти AGP составляет менее половины размера апертуры AGP. Это из-за того, что система требует не кэшированную память AGP плюс равное количество области памяти для комбинированной записи и дополнительные 12MB для виртуальной адресации. Это адресное пространство, а не используемая физическая память. Физическая память размещается и высвобождается по необходимости только когда Direct3D запрашивает ("create non-local surface") запрос.Win95 (с VGARTD.VXD) и Win98 используют "эффект водопада" ("waterfall effect"). Поверхности сначала создаются в локальной памяти. Когда эта память заполнена, процесс создания поверхности вытекает в AGP память и затем в системную память. Таким образом, использование памяти автоматически оптимизируется для каждого приложения. Память AGP и системная память не используются без абсолютно крайней необходимости.
    Размер апертуры не соответствует производительности, поэтому увеличивая его до огромных пропорций, мы не улучшим производительность. Многие графические карты, однако, потребуют размера апертуры более чем 8MB AGP для нормальной работы, так что следует устанавливать размер апертуры AGP минимум 16MB. Даже тогда, вам следует устанавливать завышенный размер апертуры, чтобы он был достаточно большим для соответствия требованиям графики предъявляемым вашими играми и приложениями.В настоящее время, практическим правилом считается иметь размер апертуры AGP от 64MB до 128MB. Превышая 128MB мы не ухудшим производительность, но все равно лучше придерживаться 64MB-128MB чтобы GART (Graphics Address Relocation Table) не был слишком большой. При увеличении устанавливаемого RAM и практики сжатия текстур, становится меньше нужды в размере апертуры AGP превышающем 64MB. Так что мы рекомендуем вам устанавливать AGP Aperture Size на 64MB или, в крайнем случае, на 128MB.
    AGP 2X Mode (Режим AGP 2X)
    Опции: Enabled, Disabled
    Этот пункт в BIOS включает и выключает протокол передачи AGP2X. Стандарт AGP2X использует возрастающий край сигнала AGP для передачи данных. При 66MHz, это транслируется в пропускную способность 264MB/s. Включение режима AGP 2X Mode удваивает эту пропускную способность при помощи передачи данных по обоим (возрастающему и нисходящему) краям сигнала. Поэтому, в то время как тактовая частота или частота (следования) тактовых или синхронизирующих импульсов шины AGP все еще остается 66MHz, эффективная пропускная способность шины удваивается. Таким же образом достигается усиление производительности в UltraDMA 33. Однако, как чипсет на материнской плате так и видеокарточка должны поддерживать AGP2X режим до того как вы сможете использовать AGP2X протокол. Если ваша графическая карта поддерживает AGP2X режим, включите AGP 2X Mode в целях повышения AGP скорость передачи (transfer rate). Выключите его только если начинаются проблемы со стабильной работой (особенно с Super Socket 7 материнскими платами) или если планируете разогнать AGP шину за пределы 75MHz.
    AGP Master 1WS Read (Уменьшение задержки до 1 цикла ожидания при cчитывании)
    Опции: Enabled, Disabled
    По умолчанию, AGP устройство ожидает минимум 2 периода или AGP цикла ожидания до того как он начнет транзакцию чтения. Эта опция BIOS позволяет вам уменьшить задержку только до 1 периода ожидания или цикла ожидания. Для лучшей производительности AGP считывания (read performance) включите эту опцию. Но выключите ее если вы обнаружите странные графические аномалии типа контуров или "каркасного" изображения и пиксельных артефактов после включения этой опции.
    AGP Master 1WS Write (Уменьшение задержки до 1 цикла ожидания при записи)
    Опции: Enabled, Disabled
    По умолчанию, AGP устройство ожидает минимум 2 периода или AGP цикла ожидания до начала транзакции чтения. Эта опция BIOS позволяет вам уменьшить задержку только до 1 периода ожидания или цикла ожидания. Для лучшей производительности AGP записи включите эту опцию. Но выключите ее если вы обнаружите странные графические аномалии типа контуров или "каркасного" изображения и пиксельных артефактов после включения этой опции.
    USWC Write Posting (Некэшируемая прогностическая комбинация записи)
    Опции: Enabled, Disabled
    USWC или Uncacheable Speculative Write Combination (некэшируемая прогностическая комбинация записи) улучшает производительность для систем Pentium Pro (а также, вероятно, иных P6 процессоров) с графическими картами которые имеют линейный буфер видео кадров (linear framebuffer) (он есть у всех новых моделей). Путем комбинации меньших записей данных в 64-битной записи, она уменьшает количество транзакций требуемых для конкретного объема данных для передачи в линейный буфер видео кадров графической карты. Однако это может привести к сбоям в графике, отказам и проблемам с загрузкой, и т.д... если графическая карта не поддерживает такую опцию. Следует добавить, что тесты применяющие FastVid (в предыдущих статьях - The Phoenix Project) показали, что такая опция возможно способна ухудшить производительность, вместо того чтобы улучшить ее! Подобное наблюдалось на материнских платах на основе Intel 440BX. Таким образом, если вы используете процессор Pentium Pro или материнскую плату на основе более старых чипсетов, включите эту опцию для быстрой графической производительности. Если у вас достаточно новая материнская плата, то можете попробовать включить ее, но обязательно проведите серию тестов чтобы определить улучшает ли это на самом деле производительность или нет. Вполне возможно, что ничего не улучшится, а то и ухудшится.
    AGP Driving Control
    Эта опция есть у материнских плат с чипсетами VIA. Она позволяет включить режим управления мощностью сигнала, подаваемого на слот AGP. Необходимость в этом возникает, когда графический контроллер потребляет слишком много энергии. Если материнская плата не способна обеспечивать необходимые параметры, начнутся сбои и зависания при работе 3D-игр.
    Также эта опция может быть полезной при разгоне процессора шиной, когда вместе с FSB поднимаются частоты всех шин, в том числе и AGP.
    AGP Driving Value
    Это и есть та опция, которая задает мощность сигнала. Для устранения проблем обычно советуется поставить значение DA. Если не помогает, стоит попробовать E7, EA и выше. Однако экспериментировать с этой опцией очень опасно, поэтому трогайте ее только в случае крайней необходимости.
    AGP Master 1WS Read
    Эта опция отвечает за установку задержек при работе AGP-контроллера видеокарты в режиме DMA. Обычно начало обращения к памяти происходит по истечении двух холостых тактов. Для увеличения производительности можно включить эту опцию и тем самым вдвое сократить задержки.
    AGP Master 1WS Write
    Аналогично предыдущей опции, но касательно операций записи в память.
    Spread Spectrum (Функция BIOS, позволяющая изменять режим работы задающего генератора частоты и, таким образом, снизить электромагнитное излучение от системного блока компьютера)
    Опции: Enabled, Disabled, 0.25%, 0.5%, Smart Clock
    Когда на материнской плате пульсирует генератор тактовых или синхронизирующих импульсов, то предельные величины (пики - spikes) этих пульсаций образуют EMI (Electromagnetic Interference - электромагнитное излучение проникающее за пределы среды передачи, главным образом за счет использования высоких частот для несущей и модуляции. Функция Spead Spectrum понижает EMI путем модуляции пульсаций таким образом что пики этих пульсаций сглаживаются до более плоских кривых. Это достигается путем варьирования частоты и она не использует какую-либо отдельную частоту дольше одного момента. Это уменьшает проблему помех для другой электроники расположенной вблизи. Однако, хотя включение Spread Spectrum и понижает EMI, стабильность системы и производительность становятся вопросом компромисса. Особенно это справедливо для устройств где критичны временные параметры, например чувствительные к синхронизации SCSI устройства. Некоторые BIOS предлагают опцию Smart Clock. Вместо модулирования частоты импульсов по времени, Smart Clock отключает AGP, PCI и SDRAM синхросигналы, когда они не используются. Таким образом, можно понизить EMI не идя на компромисс со стабильностью системы. В качестве бонуса, применение Smart Clock может также помочь снизить потребление энергии. Если у вас нет никаких проблем с EMI, оставьте установку Disabled для оптимальной производительности и стабильности системы. Но если вас очень волнует вопрос EMI то используйте опцию Smart Clock если возможно, а если нет, то вас может устроить Enabled или одно из двух оставшихся значений. Процентное значение показывает количество вариаций которое BIOS производит на частоту синхронизации. Т.е. меньшее значение (0.25%) сравнительно лучше для стабильности системы, в то время как большее значение (0.5%) лучше для понижения EMI.
    Auto Detect DIMM/PCI Clk (Автоматическое обнаружение DIMM/PCI Clk)
    Опции: Enabled, Disabled

    Данная функция схожа с опцией Smart Clock в Spread Spectrum function. BIOS контролирует работу AGP, PCI и SDRAM. Если в этих слотах нет карт, BIOS отключает соответствующие AGP, PCI или SDRAM синхроимпульсы. То же самое он делает и с занятыми слотами AGP / PCI / SDRAM. Таким образом, можно понизить EMI не идя на компромисс со стабильностью системы. Это также может также помочь снизить потребление энергии, так как энергию будут потреблять только работающие компоненты. Все же, если у вас нет никаких проблем с EMI, оставьте установку Disabled для оптимальной производительности и стабильности системы. Включайте ее только если вас очень волнует вопрос EMI или вы хотите сэкономить больше энергии.
    BIOS Flash BIOS Protection (Функция Flash защиты данных)
    Опции: Enable, Disable

    Данная функция предназначена для защиты BIOS от случайного повреждения пользователями или компьютерными вирусами. Когда она включена, данные, содержащиеся в BIOS, не смогут быть изменены при попытке обновить BIOS при помощи утилиты Flash. Для того, чтобы обновить BIOS, Вам нужно отключить функцию Flash защиты данных BIOS.Вы должны оставить эту функцию всегда включенной. Единственная ситуация, в которой следует отключать данную функцию - это обновление данных BIOS. После обновления данных BIOS, Вы должны немедленно включить ее вновь, чтобы защитить BIOS от вирусов.
    Hardware Reset Protect (Защита от случайной перезагрузки компьютера)
    Опции: Enable, Disable
    Данная функция полезна для серверов, маршрутизаторов и т.д., которые необходимо держать включенными 24 часа в сутки. Когда данная функция включена, кнопка перезагрузки компьютера Reset не работает. Это предотвращает возможность случайной перезагрузки. Когда функция отключена, т.е. выбрана позиция Disabled, то кнопка Reset работает в обычном порядке. Рекомендуется выключить данную функцию (позиция Disabled) в том случае, если вы не используете сервер или у вас нет детей, которые любят просто бегать и нажимать маленькую красную кнопку. ;)
    DRAM Read Latch Delay (Установка задержки считывания DRAM)
    Опции: Enable, Disable
    Данная функция BIOS устанавливает небольшую задержку прежде, чем система начинает считывать данные из модуля DRAM. Данная функция добавлена для оптимизации работы с некоторыми специальными модулями SDRAM, у которых необычная синхронизация. Вам не следует включать данную функцию, если не сталкиваетесь с внезапными отказами системы, которые, скорее всего, вызваны нестабильной работой оперативной памяти. Таким образом, выбирайте позицию Disabled, если не испытываете проблем со стабильной работой системы. В этом случае можно включить данную функцию для того, чтобы увидеть, имеет ли ваш модуль DRAM необычную синхронизацию и устранить эту проблему.
    DRAM Interleave Time (Время чередования работы DRAM)
    Опции: 0мс, 0.5мс
    Данная функция BIOS управляет временными интервалами для перехода к чтению следующей порции данных DRAM, когда включено чередование работы DRAM. Естественно, чем меньше используемое время, тем быстрее модули DRAM могут чередоваться и, соответственно, тем лучше они работают. Таким образом, рекомендуется устанавливать как можно меньшее время для лучшей работы модулей DRAM. Увеличивайте промежутки времени чередования работы DRAM, только если Вы сталкиваетесь с проблемами стабильности работы системы.
    Byte Merge (Сливание байтов)
    Опции: Enable, Disable
    Функция сливания байтов удерживает 8-битные или 16-битные записи с CPU на шину PCI в буфере, где они аккумулируются и сливаются в 32-битные записи. Затем чипсет заносит данные из буфера на шину PCI, как только у него появляется такая возможность. Как видно, сливание 8-битных или 16-битных записей уменьшает количество транзакций, проходящих через PCI, освобождая тем самым время, затрачиваемое CPU и повышая пропускную способность шины. Таким образом, рекомендуется выбрать позицию enable, чтобы обеспечить лучшую работу PCI.
    PCI Pipeline / PCI Pipelining
    Опции: Enable, Disable
    Данная функция BIOS сочетает конвейерную обработку данных на PCI или CPU со сливанием байтов (byte merging). Сливание байтов используется для оптимизации работы видеокарты. Данная функция управляет сливанием байтов для циклов передачи данных из видеобуфера. Если данная функция включена (позиция Enabled), контроллер проверяет восемь сигналов CPU Byte Enable для того, чтобы определить, можно ли слить байты данных, поступающих с шины PCI на CPU. Таким образом, рекомендуется оставить данную функцию включенной для лучшей работы Вашей PCI видеокарты. Также могут лучше работать и другие PCI устройства.
    Fast R-W Turn Around
    Опции: Enable, Disable
    Данная функция BIOS уменьшает задержку, которая происходит в тот момент, когда CPU сначала считывает данные из RAM, а затем пишет в оперативную память. Обычно происходит и дополнительная задержка в момент переключения с чтения на запись. Если включить данную функцию, задержка будет сокращена и ускорится переключение с чтения на запись. Однако, если ваш модуль RAM не сможет выдержать более быстрый темп, данные могут быть потеряны, а система станет нестабильной. Имея это в виду, включите данную функцию для лучшей работы RAM, если только не испытываете проблемы со стабильностью системы.
    CPU to PCI Write Buffer (Буфер записи данных, поступающих с CPU на шину PCI)
    Опции: Enable, Disable
    Эта функция контролирует буфер записи данных, поступающих с CPU на шину PCI. Если этот буфер отключен, CPU пишет непосредственно на шину PCI. Хотя это может показаться более быстрым, а потому и предпочтительным способом передачи данных, на самом деле это не так. Так как шина CPU быстрее, чем шина PCI, записи данных, передаваемых с CPU на шину PCI, вынуждены ждать, пока шина PCI будет готова принять данные. Это не дает возможности CPU перейти к другим задачам до тех пор, пока процессор не закончит передачу данных на шину PCI. Включение буфера позволяет CPU немедленно до 4 слов данных в буфер, что позволяет ему продолжать выполнять другие задачи, не ожидая момента, когда эти 4 слова данных достигнут шины PCI. Данные в буфере записей будут переданы на шину PCI в момент, когда начнется следующий цикл считывания данных на шине PCI. Разница заключается в том, что он делает это без стопорения процессора во время всей транзакции с CPU на PCI. Таким образом, рекомендуется активирование буфера записей с CPU на PCI.
    PCI Dynamic Bursting
    Опции: Enable, Disabled
    Данная функция BIOS управляет буфером записи PCI. Если она включена, то каждая транзакция на шине PCI заносится в буфер записи. Транзакции затем отправляются по назначению, как только набирается достаточно транзакций, чтобы составить один пакет. Если функция отключена, данные поступают в буфер записи и передаются пакетами позже (когда шина PCI свободна или заполнен буфер записи), если записанная транзакция является пакетной транзакцией. Если транзакция не является пакетной, то буфер очищается, и данные немедленно передаются на шину PCI. Рекомендуется включить функцию PCI Dynamic Bursting для лучшей работы шины.
    PCI Master 0 WS Write
    Опции: Enable, Disabled
    Данная функция определяет задержку между записями в PCI. Если данная функция включена, то запись в PCI осуществляется немедленно (с нулевой задержкой), как только шина PCI готова получить данные. Но если данная функция отключена, то каждая транзакция на шину PCI идет с задержкой с периодом ожидания one (один).Обычно рекомендуется включить данную функцию (позиция enable), для ускорения работы PCI. Однако отключение данной функции может быть полезно, когда "разгон" шины PCI ведет к нестабильной работе. Задержка, как правило, улучшает работу "разогнанной" шины PCI.
    PC Delay TransactionI
    Опции: Enable, Disabled
    Данная функция схожа с другой функцией BIOS - отложенной транзакции (Delayed Transaction). Она используется для адаптации к задержке циклов передачи данных с шины PCI на шину ISA. Шина ISA намного медленнее, чем шина PCI. Вследствие этого цикл передачи данных с PCI на ISA и наоборот занимает большее время, что замедляет работу шины PCI. Включение функции Delayed Transaction позволяет встроенному 32-битному буферу записи чипсета поддерживать отложенные циклы трансакций. Это означает, что транзакции с и на шину ISA заносятся в буфер, и шина PCI освобождается для проведения других транзакций, пока шина ISA все еще занята этими транзакциями.Данная функция должна быть включена (позиция Enabled) для лучшей работы шины PCI и соответствия техническим требованиям PCI 2.1. Отключайте ее только в том случае, если Ваши PCI карты не работают должным образом, или если Вы используете ISA карту, которая не совместима с PCI 2.1.
    PCI#2 Access #1 Retry
    Опции: Enable, Disabled
    Эта функция BIOS связана с буфером записи данных, идущих между CPU и шиной PCI. Обычно данный буфер записи включен. Все записи на шине PCI, по сути, заносятся в буфер записи, а не на шину PCI. Это избавляет CPU от необходимости ждать, когда освободится шина PCI. Затем данные идут на шину PCI в момент начала следующего цикла работы шины PCI. Существует вероятность, что запись в буфер на шине PCI может сорваться. В случае, если это происходит, данная функция BIOS определяет, следует попробовать осуществить запись еще раз или отсылать назад на проверку. Затем, если данная функция BIOS включена, буфер будет пытаться провести запись в шину PCI до тех пор, пока у него это не получится. Если же функция отключена, буфер очистит свое содержимое и зарегистрирует данную запись как сбойную. CPU придется вновь заносить запись в буфер записи.
    Рекомендуется держать данную функцию включенной (позиция enable) за исключением случаев, когда в системе имеется много медленных PCI устройств. В этом случае отключение данной функции предотвратит генерацию большого количества повторных попыток, которые могут серьезно нагрузить шину PCI.
    Master Priority Rotation
    Опции: 1 PCI, 2 PCI, 3 PCI
    Данная функция контролирует доступ CPU к шине PCI. Если выберете позицию 1 PCI, CPU всегда будет иметь доступ к текущей шине PCI после того, как будет закончена транзакция независимо от того, сколько других шин PCI находится в очереди. Это обеспечивает моментальный доступ CPU к шине PCI, но означает более медленную работу устройств PCI. Если выбираете позицию 2 PCI, CPU получит доступ после того, как текущая и следующая PCI транзакции будут закончены. Другими словами, CPU получает доступ после двух транзакций PCI, независимо от того, сколько других устройств передачи данных по шине PCI будет в очереди. Это означает, что CPU вынужден будет ждать несколько дольше, чем в предыдущем опции (1 PCI), но устройства PCI получат более быстрый доступ к шине PCI. Если выберете опцию 3 PCI, CPU получит доступ к PCI шине после того, как будут закончены текущая и две последующих транзакции устройствами передачи данных по шине PCI. Таким образом, CPU вынужден будет ждать, пока три устройства передачи данных, находящихся в очереди, не закончат свои транзакции через шину PCI прежде, чем он получит доступ к самой шине PCI. Это означает более медленную коммуникацию от CPU к PCI, но PCI устройства будут работать лучше. Но, независимо от выбора, CPU будет иметь доступ к PCI после максимум 3 транзакций устройствами передачи данных по шине PCI. Это произойдет независимо от того, сколько устройств передачи данных по PCI будет находиться в очереди, или когда CPU запросит доступ к шине PCI. Процессор всегда получит доступ к шине PCI после одной транзакции (1 PCI), двух транзакций (2 PCI) или трех транзакций (3 PCI).
    Режим AGP 4X
    Опции: Enable, Disabled
    Данная функция имеется только у материнских плат, поддерживающих AGP4X. Однако, она обычно отключена (выбрана позиция Disabled) по умолчанию, так как не каждый использует карту AGP4X. У пользователей карт AGP1X или 2X данная функция BIOS должна быть отключена, чтобы карты смогли нормально работать. Для того, чтобы избежать осложнений, производители предпочитают просто отключать режим AGP4X. Однако, это означает, что пользователи карт AGP4X не смогут воспользоваться большой пропускной способностью, которая доступна в режиме AGP4X. Хотя скорость передачи данных в режиме AGP4X незначительно выше, чем в режиме AGP2X, все равно будет неразумно не воспользоваться возможностями этого режима. Так что, если у вас видеокарта AGP4X, рекомендуется включить режим AGP4X (позиция enable) для лучшей работы шины AGP. Не включайте данный режим, если карта поддерживает только режимы передачи данных AGP1X или AGP2X.
    AGP Driving Control
    Опции: Автоматический режим, Ручной режим
    Данная функция BIOS позволяет настраивать управление работой порта AGP. Обычно по умолчанию выбирается автоматический режим (позиция Auto), что позволяет чипсету автоматически настраивать работу AGP в соответствии установленной видеокартой формата AGP. Однако для устранения сбоев в работе и "разгона" шины можете перейти в ручной режим управления работой шины AGP для выбора необходимого значения AGP Driving Value.
    AGP Driving Value
    Опции: от 00 до FF (шестеричная система)
    Данная опция зависит от функции BIOS, которая отвечает за настройку управления AGP (см. выше). Если эта функция будет переведена в автоматический режим, (позиция Auto), то значение, которое вы будет устанавливать в данной опции, работать не будет. Для того чтобы данная опция BIOS работала, необходимо перевести функцию настройки управления AGP в ручной режим (позиция Manual). AGP Driving Value определяет интенсивность сигнала шины AGP. Чем больше значение, тем сильнее сигнал. Диапазон значений в шестеричной системе счисления (от 00 до FF) соответствует диапазону от 0 to 255 в десятичных значениях. По умолчанию значение AGP Driving Value установлено на DA (218), однако, если вы используете AGP карту серии NVIDIA GeForce2, рекомендуется установить AGP Driving Value на более высокое значение EA (234).
    Характер данной опции BIOS позволяет "разгонять" шину AGP (работать на большей частоте, чем предусмотрено). Шина AGP чувствительна к "разгону", особенно в режиме AGP4X и с активированной повышенной пропускной способностью. По сути более высокое значение AGP Driving Value может оказаться как раз тем способом для "разгона" шины AGP, который Вам необходим. Увеличением силы сигнала шины Вы можете повысить стабильность ее работы на больших скоростях.Однако, будьте предельно осторожны, увеличивая значение AGP Driving Value при "разогнанной" шине AGP, так как Вы можете безнадежно повредить свою AGP карту! Кстати, вопреки некоторым сообщениям увеличение значения AGP Driving Value не улучшит работу шины AGP. Это не та опция, которая увеличивает производительность шины, так что не следует задирать ее значение, если в этом нет необходимости.


    III. Integrated Peripherals
    Onboard IDE-1 Controller (IDE-1 Контроллер)
    Опции: Enabled, Disabled
    Эта опция позволяет вам включать и отключать первый IDE канал на материнской плате. Если отключить эту опцию (положение Disabled) то все IDE (Integrated Drive Electronics - устройство со встроенным контроллером) устройства подключенные к этому каналу перестанут функционировать. Если не подключены никакие IDE устройства к первому IDE каналу (или используются SCSI диски или есть внешний более современный IDE контроллер), имеет смысл отключить эту опции, тем самым освободить прерывание (IRQ).
    Master/Slave Drive PIO Mode (Режим передачи данных PIO Mode)
    Опции: 0, 1, 2, 3, 4, Auto
    Эта опция обычно всегда идет после настроек "Onboard IDE-1 Controller" и "Onboard IDE-2 Controller". Регулирует один из IDE каналов, так что, если вы отключите соответствующий канал то настройка Master/Slave Drive PIO Mode для данного канала исчезнет, либо станет недоступной. Опция позволяет устанавливать PIO (Programmed Input/Output - программированный ввод/вывод) режим для двух IDE устройств (Master и Slave) подключенных к соответствующему каналу. Рекомендовано оставить опцию в положении Auto, тем самым позволив BIOS автоматически определить режим PIO для IDE устройства. Есть несколько случаев конда лучше выставить PIO режим вручную:
    Если BIOS не смог автоматически определить PIO режим устройства;
    Если есть горячее желание попробовать запустить устройство с более высоким PIO режимом;
    Если вы "разогнали" шину PCI и одно или больше IDE устройств не могут функционировать нормально, то можно попытаться исправить эту проблему выставив более низкий PIO режим данному устройству. Обратите внимание на то что выставляя более высокий, чем положено PIO режим устройству, вы рискуете потерей собственных данных.
    Таблица показывающая разную пропускную способность в зависимости от режима передачи (PIO mode):
    PIO режим    Максимальная пропускная способность (MB/s)          
    PIO Mode 0    3.3       
    PIO Mode 1    5.2       
    PIO Mode 2    8.3       
    PIO Mode 3    11.1     
    PIO Mode 4    16.6     
    Master/Slave Drive UltraDMA
    Опции: Auto, Disabled
    Эта опция обычно всегда идет после настроек "Onboard IDE-1 Controller" и "Onboard IDE-2 Controller". Регулирует один из IDE каналов, так что если отключитть соответствующий канал, то настройка Master/Slave Drive Ultra DMA для данного канала исчезнет, либо станет недоступной. Эта опция позволяет вам включать или отключать Ultra DMA (если поддерживается) для двух IDE устройств (Master и Slave) подключенных к соответствующему каналу. Рекомендовано оставить опцию в положении Auto, тем самым позволив BIOS автоматически определить поддерживают ли IDE устройства Ultra DMA. Если поддерживают, то соответствующий режим Ultra DMA включится тем самым ускорив процесс передачи данных вплоть до 100 МБ/сек. Следует выключать эту опцию только в целях выявления конфликтов. Заметьте, что опция в значении Auto не включит UltraDMA или любой другой DMA режим для IDE устройств которые не поддерживают UltraDMA. Также, для того чтобы DMA режимы заработали (включая UltraDMA режимы), вам необходимо включить DMA transfer в вашей ОС. В Win9x это можно сделать поставив галочку на против DMA в свойствах диска (Система-->Устройства).
    Таблица показывающая разную пропускную способность в зависимости от режима DMA.
    DMA Transfer Mode Максимальная пропускная способность (MB/s)          
    DMA Mode 0  4.16     
    DMA Mode 1  13.3     
    DMA Mode 2  16.6     
    UltraDMA 33   33.3     
    UltraDMA 66   66.7     
    UltraDMA 100 100.0   
    Ultra DMA-66/100 IDE Controller
    Опции: Enabled, Disabled
    Эта опция позволяет вам включать или отключать дополнительный UltraDMA 66/100 контроллер (если установлен в системе). Это не затрагивает встроенные IDE контроллеры от Intel ICH1 и ICH2 или VIA чипсеты где уже присутствует поддержка UltraDMA 66/100. Эта опция только для дополнительных контроллеров (таких как HighPoint или Promise) установленных в системную плату в дополнение к встроенным контроллерам. Если к вашему дополнительному UltraDMA 66/100 контроллеру подсоединены некоторые IDE устройства, то придется включить эту опцию, чтобы устройства функционировали. Следует отключать эту функцию только в следующих случаях:
    Если к вашему дополнительному UltraDMA 66/100 контроллеру не подсоединены IDE устройства;
    Если в системную плату не установлено дополнительных контроллеров
    В целях выявления конфликтов
    Отключив эту опцию вы также увеличите скорость загрузки своей системы. Потому как BIOS контроллера не будет загружаться и соответственно опрашивать устройства на этом канале. Так что если вы не используете дополнительных контроллеров, лучшим вариантом будет отключение этой опции.
    USB Keyboard Support Via (Поддержка USB клавиатуры через OS или BIOS)
    Опции: OS, BIOS
    Эта опция определяет будет ли USB клавиатура поддерживаться через ОС (операционную систему) или BIOS. Поддержка(работа) через ОС наиболее функциональна, но все преимущества сводятся к нулю, потому как в таком режиме USB клавиатура не работает в DOS. Так что если вы используете real mode DOS ("чистый" DOS, не запущенный из Windows) устанавливайте опцию в значение BIOS, чтобы спокойно работать в DOS и не устанавливать драйвер.
    RxD, TxD Activ (Опция установки полярности сигналов приема/передачи инфракрасного порта)
    Опции: High, Low
    Опция зависима от второго последовательного порта, и если вы отключите его, то опция пропадет либо станет недоступной. Эта функция позволяет вам установить полярность сигналов приема/передачи инфракрасного порта в значение High или Low. Обратитесь к документации IR устройства что бы убедится в правильной полярности.
    ECP Mode Use DMA (ECP режим)
    Опции: Channel 1, Channel 3
    Опция зависима от установок параллельного порта, и если вы не включите ECP или ECP+EPP режимы, то опция пропадет либо станет недоступной. С помощью этой функции вы можете выбрать DMA канал на свое усмотрение. Значение по умолчанию Channel 3 работает нормально. Выбирайте Channel 1 только если заметили конфликты с другим устройством.
    EPP Mode Select (EPP режим)
    Опции: EPP 1.7, EPP 1.9
    Опция зависима от установок параллельного порта, и если вы не включите EPP или ECP+EPP режимы, то опция пропадет либо станет недоступной. Вы можете использовать эту функцию, чтобы выбрать версию EPP. Я не смог найти разницы между версиями 1.7 и 1.9. 1.9 по идее быстрее и лучше чем 1.7. Я рекомендую ставить 1.9 но если появятся проблемы возвращаться к 1.7.
    IV. PNP/PCI Configuration
    PNP OS Installed (Plug&Play операционной системы)
    Опции: Yes, No
    Выбирайте "Yes" если все ваши установленные операционные системы поддерживают Plug & Play (PnP), тогда OS получат полный контроль над ресурсами устройств. Если хотя бы одна не поддерживает PnP выбирайте "No", тогда BIOS самостоятельно сконфигурирует все устройства.
    Примечание: Windows 2000 будет работать с ACPI (Advanced Computer Management and Interface) даже в том случае если PNP OS Installed = Yes. Достаточно убедится, что отключен APM (Advanced Power Management). Как обычно Майкрософт рекомендует ставить PNP OS Installed = No
    Совет для пользователей Linux: Не смотря на то, что Linux не по настоящему PnP совместимый, многие дистрибутивы используют часть программы ISAPNPTOOLS, для установки ISA карт. Если у вас значение PNP OS Installed = No, BIOS будет пытаться конфигурировать ISA карты самостоятельно. Это не сделает их работоспособными в Linux, и необходимость в ISAPNPTOOLS или подобной утилите останется. Если пытаться конфигурировать ISA карты и с помощью BIOS и с помощью ISAPNPTOOLS могут возникнуть проблемы. Оптимальный вариант это установка PNP OS Installed = Yes, затем с помощью ISAPNPTOOLS конфигурировать ISA устройства.
    Force Update ESCD / Reset Configuration Data (Быстрое обновление ESCD)
    Опции: Enabled, Disabled
    ESCD (Extended System Configuration Data - данные расширенной системной конфигурации) опция Plug & Play BIOS которая хранит IRQ, DMA, I/O и конфигурации всех ISA, PCI и AGP карт в системе. Cледует оставить эту опцию в положении Disabled. Но если вы установили дополнительную карту и вследствие чего произошел конфликт ресурсов (ОС даже может и не загрузится), тогда следует включить эту опцию и BIOS сбросит и переконфигурирует настройки для всех PnP карт в системе во время загрузки. После этого BIOS автоматически отключит эту опцию (положение Disabled) сразу после следующей загрузки.
    PIRQ_0 Use IRQ No. ~ PIRQ_3 Use IRQ No. (Установка IRQ индивидуально)
    Опции: Auto, 3, 4, 5, 7, 9, 10, 11, 12, 14, 15
    Эта опция позволяет устанавливать прерывания индивидуально каждому устройству на PCI и AGP шине. Это очень полезная функция может пригодиться, если вы переносите жесткий диск с одного компьютера на другой, и вы не хотите переустанавливать операционную систему чтобы переопределить прерывания. Тогда вы можете подогнать установки прерываний к оригинальным и избежать множество проблем при установке жесткого диска в новую систему. Заметки:
    Если вы укажите прерывание, такое же как для ISA шины возникнет конфликт.
    мыло опт Заказать. Мыло хозяйственной "Эффект" 300 гр. ,78%, п/пропилен 40 штук.
    Каждый PCI слот может активизировать до четырёх прерываний - INT A, INT B, INT C и INT D
    AGP слот может активизировать два прерывания - INT A и INT B
    Нормально когда каждый слот назначен как INT A. Остальные прерывания как резервы если PCI/AGP устройство потребует больше чем одно прерывание или если запрашиваемое прерывание занято.
    AGP слот и PCI слот#1 распределяют одинаковые прерывания (IRQ)
    PCI слот #4 и #5 распределяют одинаковые прерывания (IRQ)
    USB использует PIRQ_4
    Таблица показывающая связь между PIRQ (programmable interrupt request - программируемый запрос прерывания) и INT (Interrupt - прерывание):
    Сигнал           AGP Slot
    PCI Slot 1
           PCI Slot 2       PCI Slot 3       PCI Slot 4 PCI Slot 5         
    PIRQ_0           INT A   INT D           INT C   INT B    
    PIRQ_1           INT B   INT A           INT D   INT C    
    PIRQ_2           INT C   INT B           INT A   INT D    
    PIRQ_3           INT D   INT C           INT B   INT A    
    Обычно следует оставить опцию в положении AUTO. Но, если возникла необходимость установить индивидуальное IRQ устройству на AGP или PCI шине, вот совет как использовать эту функцию. Прежде всего определите в каком слоту установлено устройство. Потом посмотрите таблицу чтобы установить основной PIRQ. Например если сетевая карта установлена в слот 3 то основной PIRQ будет PIRQ_2 потому как все слоты назначены на INT A, если возможно. После этого, выберите то IRQ, которое хотите использовать, присваивая нужное значение PIRQ. Если сетевая карта требует IRQ 7 установите PIRQ_2 чтобы использовать IRQ 7. BIOS распределит IRQ 7 для третьего PCI слота. Только помните, что BIOS будет пытаться назначить PIRQ в INT A для каждого слота. Так что, для AGP и PCI #1 слотов основной PIRQ это PIRQ_0, тогда как для PCI слота #2 основной PIRQ это PIRQ_1 и так далее.
    Как запрограммировать TestBIOS™ в микросхему Flash?
    Если у Вас нет программатора, лучше всего программировать микросхемы Flash c помощью несложного устройства, схема которого приводится на русском и на английском языках.
    Установите собранное устройство в панель вместо системного BIOS, убедитесь в том, что переключатель находится в положеннии "Нижняя панель", установите в верхнюю панель микросхему для программирования TestBIOS™.
    Практика показывает, что лучших результатов в программировании микросхем Flash, независимо от того, кто производитель файла BIOS, можно достичь используя утилиты от AMI, например, AMI Flash v8.22.
    Следует отметить, что подобным способом можно перепрограммировать не только TestBIOS™, но и микросхемы для системного BIOS, видеоадаптеров, модемов и тому подобных устройств
    Где взять прошивку?
    Конечно, все самые свежие прошивки (небольшие файлы с расширением .bin) выкладываются производителями материнских плат на свои http- и ftp-серверы. Пользователи сети могут зарегистрировать официально свой продукт или просто подписаться на почтовую рассылку новостей компаний. Затем им будет периодически высылаться информация об обновлении версий драйверов и BIOS`ов. Файлы с прошивками занимают в архивированном виде немного дискового пространства, так что "вытянуть" их не составит труда даже с сервера, не поддерживающего докачку.
    Кроме самой прошивки, вам также понадобится программа (exe-файл), непосредственно выполняющая перезапись. Обычно она находится на дискетке или компакт-диске, входящем в комплект поставки материнской платы, и описывается в руководстве пользователя. Не рекомендуется пользоваться утилитами, перезаписывающими BIOS от других плат. Они если даже и будут переписывать содержимое BIOS, то нет никаких гарантий, что все произойдет корректно.
    Перезапись Flash BIOS
    Процесс перезаписи Flash BIOS по своей сути похож на процесс инсталляции драйверов. Основное отличие в том, что все операции с Flash BIOS производятся в чистом DOS'e, т.е. без размещения в оперативной памяти всевозможных драйверов и программ. Перед перезаписью Flash BIOS прежде всего следует отключить в BIOS Setup кэширование System BIOS и Video BIOS (установить опции System BIOS Chacheable и Video BIOS Chacheable в положение Disabled). Затем во время загрузки операционной системы нажмите F8, а в появившемся меню выберите пункт "Safe mode command prompt only". Далее следует "ручками" или каким-нибудь простым файловым менеджером типа Norton Commander, DOS Navigator или FAR добраться до каталога с прошивкой и утилитой перезаписывающей Flash BIOS. Например, для Award BIOS эта утилита может называться awdflash.exe, а для AMI - amiflash.exe. Название может быть любым. Главное, повторяю, - использовать утилиту, предназначенную именно для вашей материнской платы. Перед записью новой версии BIOS вам будет предложено сохранить текущую версию. Соглашайтесь. Иногда свежезаписанный BIOS работает неверно или просто не так, как вы ожидали. Встречается такое достаточно редко, но все же...
    Восстановление запорченной Flash BIOS
    Вы, наверное, не раз слышали рассказы о безнадежно испорченных вирусами или "кривыми руками" BIOS'ах. Паникуют в таких случаях либо авторы антивирусов, потому как хотят прославить свой чудный программный продукт, либо люди, не знающие то, что неверно перезаписанную или испорченную вирусом BIOS можно восстановить.
    Простейший метод подходит для Award BIOS с так называемым Bootblock Flash Support. Эта уникальная возможность некоторых плат позволяет при выходе из строя Flash BIOS загружаться с дисковода и отображать видео на ISA'шную видеокарточку. С PCI, AGP, а также жестким диском этот "фокус" не пройдет, потому что для них нужен корректно работающая BIOS.
    Итак, извлеките PCI- или AGP-видеокарту, вставьте в один из свободных ISA-слотов ISA'шную. Приготовьте загрузочную дискетку с записанной на нее утилитой для перезаписи и правильной прошивкой. Загрузитесь с нее и перезапишите BIOS. После перезагрузки BIOS начнет правильно функционировать.
    Компания Intel для обеспечения аварийного восстановления Flash BIOS на своих материнских платах продвинулась еще дальше. Чтобы восстановить неисправную BIOS на интеловской материнской плате, нет нужды искать у кого-нибудь спасительную видеокарту под шину ISA. Достаточно лишь переключить джампер "Flash Recovery" в положение "Recovery Mode", вставить в дисковод специальную загрузочную дискету, которой комплектуется материнская плата, и включить компьютер. Программа восстановления BIOS самостоятельно перезапишет правильную версию. Вам останется только, подождав пару минут, выключить компьютер и вернуть джампер в исходное положение.
    Самая кропотливая работа по восстановлению BIOS предстоит всем владельцам материнских плат без поддержки аварийного Bootblock. Им никак не обойтись без другой (исправной) материнской платы, поддерживающей ту же разновидность микросхемы Flash BIOS. Описанные ниже операции требуют определенной сноровки и ловкости, так что, если вы будете производить их в первый раз, будьте предельно внимательны, чтобы случайно не повредить выводы микросхемы ПЗУ.
    Теперь все по порядку. Выключите компьютер с исправным BIOS. Аккуратно, отверткой с прямым шлицом, поддев микросхему со сторон безвыводных краев, достаньте микросхему Flash и обвяжите ее кольцами нити.
    Это самодельное крепление будет использоваться для извлечения микросхемы. Вставьте обвязанную микросхему в разъем, но не зажимайте ее до упора.
    Достаточно того, чтобы выводы только касались контактов разъема. Включите компьютер и, загрузившись в чистом DOS'e, потяните за нитки. Микросхема должна легко извлечься наружу. Заметьте, компьютер при этом остается работоспособным, потому, как содержимое Flash памяти переписывается в промежуточный буфер, для ускорения работы материнской платы. Теперь обмотайте тем же образом неисправную микросхему и вставьте на освободившееся место. Загрузите программу перезаписи BIOS от материнской платы, на которой производится восстановление. Используйте ту прошивку, которую вы сохраняли при перезаписи, или прошивку с инсталляционной дискеты (компакт-диска). Далее перезаписываете BIOS как и в случае простого обновления старой версии. Вот только сохранять неисправную версию необязательно. Как только процесс перепрошивки будет успешно завершен, выключите компьютер и извлеките микросхему с исправленной BIOS. Теперь ее можно вставить в разъем пострадавшей материнской платы и произвести первую загрузку "потерпевшей крушение", но успешно восстановленной Flash BIOS.
    Для восстановления запорченных микросхем BIOS также можно использовать программатор, умеющий программировать вашу разновидность Flash. Если есть такая возможность, используйте ее. Этот метод лучше, чем экспериментирование с чужой материнской платой. Хотя, кто не рискует, тот не пьет шампанское. А еще лучше перешить содержимое Flash в ПЗУ, тогда вам еще и вирусы перешивающие Flash BIOS будут не страшны. Но к сожалению такое возможно только при наличии программатора.
    Какие микросхемы можно использовать для программирования TestBIOS?
    Для программирования TestBIOS™ руководствуйтесь списками поддерживаемых микросхем для каждой конкретной утилиты либо устройства исходя из того, что требуется микросхема объемом 1 Mbit.
    Мы рекомендуем для TestBIOS™ использовать микросхемы с 12 В напряжением программирования
    Почему POST материнской платы прекращается на шаге 0Bh?
    Если материнская плата полностью исправна, останов процедуры POST на этапе инициализации ресурсов South Bridge, а именно в этот момент в порт 0080h выводится код 0Bh, происходит потому, что процессор стартует на нештатной частоте.
    В AwardBIOS™ предусмотрен в этот момент опрос клавиатуры, если будет обнаружено, что клавиша INS нажата, все установки в CMOS SetUp будут загружены по умолчанию как самые мягкие


    Q.Почему после выполнения всех стартовых процедур BIOS плата все же не загружает операционную систему ни с гибкого диска, ни с HDD?
    A.Причина тому - искажение информации в DMI блоке BIOS. INT19 не выполняется, т.к. невозможно правильно определить загрузочное устройство. В создавшейся ситуации наилучшее средство - перепрограммирование микросхемы Flash ROM, в которой хранится BIOS.
    Почему TestBIOS Lite завершает выполнение диагностических процедур успешно, а системный BIOS не выводит в порт 0080h ни одного кода и материнская плата не стартует?
    Программная модель большинства современных контроллеров SI/O такова, что при подаче питания большинство ресурсов контроллера находятся в выключенном состоянии. Поэтому инициализацию SI/O следует осуществить на самом раннем этапе выполнения POST. Для AwardBIOS™ первый исполняемый POST код С0h визуализируется после инициализации ресурсов SI/O, что в случае неисправности данного контроллера может привести к останову системы до вывода в порт 0080h первого POST кода.
    Поиск и инициализация контроллера SI/O будет реализована в полной версии TestBIOS™ Power и будет осуществляться на поздних этапах диагностики материнской платы.
    TestBIOS™ Lite не учитывает особенности неинтеловских процессоров, не выполняет обновление микрокод для процессоров Intel Pentium II и старше, т.к. указанные свойства CPU не имею отношения к работоспособности и старту материнской платы.
    Системный BIOS материнской платы на ранних этапах инициализации осуществляет не только определение типа процессора, но и настройку его программных ресурсов, что в случае частичного повреждения микропрограмм системного BIOS или при неправильной установке CPU либо его неисправности может привести к сбоям до индикации первого POST кода
    Где можно приобрести диагностическую плату Port80+ , TestBIOS™ и сколько они стоят?
    Рекомендованная розничная цена составляет 30$. TestBIOS™ в облегченной версии в конструктиве EPROM 1Mbit прилагается бесплатно
    Мой компьютер не стартует вообще. Что мне делать?
    Установить диагностическую карту и, если выполнение POST прекращается на первом же коде, заменить память. Причина, по которой не работает Ваш компьютер, может быть в том, что используется неподходящая память: PC66 вместо PC100, или PC100 вместо PC133.
    Возможно, особенность Вашей материнской платы такова, что для инициализации DRAM контроллера используется информация SPD, в котором производителем завышены рабочие параметры
    Почему используя некондиционную память, когда материнская плата не стартует, код останова системного BIOS указывает на неисправность различных устройств, начиная от невозможности выполнения POST кода в ShadowRAM (C5h) и заканчивая инициализацией клавиатуры и устройства PS/2 Mouse (3Dh)?
    Определение типа и объема установленной памяти выполняется на C1 с помощью алгоритмов, использующих для контрольной записи и чтения в ячейки памяти ассемблерные команды mov. Этого вполне достаточно, чтобы выполнить поставленную на данном этапе задачу.
    В дальнейшем процедуры BIOS используют защищенный режим работы процессора. Для адресации команд и операндов в памяти применяется достаточно много служебных операций, выполнение которых выглядит как многоцикловая последовательность с очень большим количеством обращений к памяти за единицу времени. Скорость выполнения и, как следствие, количество циклов обращения к памяти за единицу времени при этом существенно больше, чем может получиться при программном выполнении записи/чтения командами mov.
    В связи с этим использование некондиционной памяти не приводит к прекращению выполнения POST на шаге C1h, а вызывает останов при попытке выполнения некоторых процедур BIOS и/или инициализации устройств
    После индикации POST кода 05 системный BIOS снова возвращается к выполнению POST кода C0h. Почему?Зачастую такая проблема возникает на материнских платах оснащенных буфером IT8687 из-за неисправности последнего.


    Q.Как определить, что установленный на материнской плате BIOS, прошит во Flash ROM?
    A.Определить тип микросхемы ПЗУ, установленнолй на материнской плате, несложно. Сразу следует сказать, что практически все материнские платы после 1997 года поставляются с Flash ROM, но если Вы не уверенны лучше проверить - для этого необходимо посмотреть на маркировку чипа ROM (28 или 32-контактная микросхема с наклейкой производителя BIOS), отодрав наклейку. Маркировка означает следующее (ххх означает три произвольных цифры):

     
    28Fxxx - 12V Flash память
    29Cxxx - 5V Flash память
    29LVxxx - 3V Flash memory (раритет)
    28Cxxx - EEPROM, почти то же, что и Flash память
    27Cxxx - с окошком. EPROM (уже не устанавливается с 1997 года): только для чтения, требует программатор для записи и ультрафиолетовую лампу для стирания
    PH29EE010: SST ROM Чип - перепрошиваемый
    29EE011: Winbond чип - 5V Flash память
    29C010: Atmel Chip - 5V Flash память

     
    Любые другие микросхемы, не имеющие окошка с маркировкой, не начинающейся с цифр 28 или 29, являются, скорее всего не Flash-памятью. Если же на микросхеме есть окошко - это верный признак того, что это не Flash.


    Q.Что делать, если производителя и название материнской платы определить не удается?
    A.Чаще всего, производителя и название материнской платы можно определить по идентификационной строке, которую выдает BIOS сразу при включении компьютера.

     
    Для AMI BIOS эта строка имеет вид, похожий на
    51-0102-1101-00111111-101094-AMIS123-P или 40-01S5-ZZ1124-10101111-060691-OPWBSX-F,
    где производитель определяется третьей группой цифр. Далее необходимо найти свой идентификационный номер втаблице соответствия номеров и названий производителей. Определить название материнской платы можно по всей идентификациолнной строке, пользуясь тем же документом.

     
    Идентификационная строка Award BIOS имеет вид
    2A59CQ1CC
    и позволяет определить чипсет (первые пять цифр и букв - 2A59C), производителя материнской платы (следующие два символа - Q1) и модель материнской платы (оставшаяся часть строки - CC). Далее необходимо посмотреть обозначения чипсетов, производителей и моделей в идентификационных строках.


    Q.Что такое PROM, EPROM и ЕEPROM и чем они отличаются?
    A.:
    PROM (programmable read-only memory - программируемая память только для чтения) - это чип памяти, данные в который могут быть записаны только однажды. То что записано в PROM, не вырубишь топором :) (хранится в нем всегда). В отличии от основной памяти, PROM содержит данные даже когда компьютер выключен.Отличие PROM от ROM (read-only memory - память только для чтения) в том, что PROM изначально производятся чистыми, в тот время как в ROM данные заносятся в процессе производства. А для записи данных в чипы PROM, применяются специальные устройства, называемые программаторами.
    EPROM (erasable programmable read-only memory - стираемая программируемая память только для чтения) - специальный тип PROM, который может очищаться с использованием ультрафиолетовых лучей. После стирания, EPROM может быть перепрограммирована. EEPROM - по сути похожа на PROM, но для стирания требует электрических сигналов.
    EEPROM (electrically erasable programmable read-only memory - электрически стираемая программируемая память только для чтения) - специальный тип PROM, который может быть очищен электрическим разрядом. Подобно другим типам PROM, EEPROM содержит данные и при выключенном питании компьютера. Аналогично всем другим типам ROM, EEPROM работает не выстрее RAM.
    Специальный тип EEPROM, называемый Flash memory или Flash EEPROM, может быть перезаписан без применения дополнительных устройств типа программатора, находясь в компьютере.


    В огромном количестве форумов по всей Сети обсуждается ошибка, известная под названием Infinite Loop или NV Loop/BSOD error. Давайте разберемся, что она из себя представляет, как возникает и как с ней бороться.

    Какие симптомы возникновения этой ошибки?

    Как правило данная ошибка возникает в Direct3D или OpenGL приложениях на системах с видеокартами GeForce 2 или GeForce 3 и операционной системой WinXP при установленных драйверах Nvidia Detonator версий 23.11 или 21.83. Однако есть сообщения о том. что данная ошибка иногда может возникать и под Win2K. Так же вероятно возникновение этой ошибки на видеокартах ATI, но это только ничем не подтвержденное предположение. В приложениях OpenGL - спонтанная перезагрузка системы, полное зависание системы или выдача сообщения о недостатке виртуальной памяти.В приложениях Direct 3D - полное зависание системы или сообщение б ошибке Infinite Loop в драйвере Nvidia.
    Вообще появляющееся сообщение об ошибке может различаться от раза к разу. Но всегда указывает на проблемы в файле "nv4_disp.dll"

    Что такое nv4_disp.dll?

    Это часть драйверов Nvidia Detonator. Полное название - Nvidia display driver.
    Эта ошибка может возникать и в Win2K без установленного Direct X8.1.

    Связана ли данная ошибка с WinXP?

    Нет. Эта ошибка может проявляться и в Win2K при использовании драйверов Nvidia Detonator версий выше 21.81.
    Что же можно сделать?

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

    1) Попробуйте поставить драйвера Nvidia 21.83.

    Очень много отзывов от людей, которые утверждают, что заменив драйвера 23.11 на 21.83 они избавились от Infinite Loop.

    2) Если у вас система с процессором AMD на чипсете VIA

    Установите драйвера VIA 4in1 версии 4.37v(a). Этот набор драйверов содержит в себе патч, который меняет настройки регистров, отключая Memory Write Queue. Этот патч делает некоторые регистры зарезервированными, что соответствует рекомендациям VIA производителям материнских плат. В некоторых случаях этот патч способствует своевременному высвобождению системных ресурсов, нехватка которых и вызывает в конце концов Infinite Loop. На самом деле данный патч не избавляет вас 100% от этой ошибки, но на некоторых системах предотвращает ее возникновение.

    3) Настройки DRAM в BIOS - для материнских плат с памятью DDR

    Производители памяти строго рекомендуют использовать в настройках BIOS параметр Command Rate не выше 2T. Хотя на некоторых материнских платах он устанавливается на 1T и в большинстве случаев работает все нормально. Для проверки зайдите в BIOS, выберите пункт "Advanced Chipset features", а затем "DRAM Clock Drive Control". Там вы и найдете параметр "DRAM Command Rate". Установите его на 2T. В том случае если у вас в системе установлено больше двух модулей памяти другие установки этого параметра не рекомендуются.

    Если это вам не помогло, попробуйте снизить другие параметры настройки памяти, например:

    DRAM Clock - это частота шины на которой работает ваша память. Если у вас память PC2100, вам следует установить этот параметр на 133, что соответствует DDR266. Можно попробовать установить его на 100, но это оставьте на самый крайний случай, если ни что другое уже не помогает.

    SDRAM Cycle Length - Этот параметр показывает текущую латентность CAS. Значение 2 соответствует максимально агрессивным настройкам, безопасным и рекомендуемым является значение 2,5.

    Bank Interleave - Этот параметр показывает каким образом будут взаимодействовать несколько модулей памяти в системе. Имеет значения Enable или Disable this. Какое либо влияние на работу системы этот параметр производит только в том случае. Если у вас установлено несколько модулей памяти.

    Precharge to Active(Trp) - значение 2T агрессивное, 3T - нормальное/ безопасное.

    Active to Precharge(Tras) - значение 5T агрессивное, 6T - нормальное/безопасное.

    Active to CMD(Trcd) - значение 2T агрессивное, 3T - нормальное/ безопасное.
    DRAM Burst length - значение 8 агрессивное, 4 - нормальное/ безопасное.

    DRAM Drive Strength - строго настрого рекомендуется во всех случаях оставлять это значение в виде AUTO.

    CPU to DRAM. Он может принимать значения Slow, Medium и Fast. Очевидно, что Fast - самое агрессивное значение

    4) Настройки DRAM в BIOS - для материнских плат с памятью PC133

    В BIOS выберите пункт "Advanced Chipset features"

    DRAM Timing By SPD установите Disabled

    DRAM Clock - значение Host CLK самое безопасное значение, заставляющее память работать на 100МГц, значение HCLK-33M - эффективное значение, заставляющее память работать на 133МГц

    SDRAM Cycle Length - значение 2 агрессивное, 3 - нормальное/ безопасное.

    Bank Interleave - Этот параметр показывает каким образом будут взаимодействовать несколько модулей памяти в системе. Имеет значения Enable или Disable this. Какое либо влияние на работу системы этот параметр производит только в том случае. Если у вас установлено несколько модулей памяти.

    DRAM Drive Strength - строго настрого рекомендуется во всех случаях оставлять это значение в виде AUTO.

    Memory Hole - лучше оставлять его в состоянии Disabled, хотя в крайне редких случаях установка этого параметра в 15M-16M помогает решить обсуждаемую нами проблему.

    5) Свойства экрана
    Откройте диалог свойств экрана, для чего кликните правой клавишей мыши по свободному участку рабочего стола и в появившемся меню выберите пункт "Свойства" или найдите иконку "Экрана" в Панели управления. На закладке "Настройка" нажмите кнопку "Дополнительно". В появившемся диалоге выберите закладку "GeForce 2/3". Затем нажмите кнопку "Дополнительные свойства". Там вы обнаружите закладку "Параметры Direct 3D". Видите параметр "Размер памяти текстур PCI". Вот его очень рекомендуется максимально понизить.
    6) Память
    Во время многочисленных тестов мы выяснили, что при параметре Command Rate со значением 1T невозможно использовать более одного модуля памяти в течение долгого времени. Система просто не проходит тест на стабильность работы. Установка этого параметра на 2T устраняет эту проблему. Хотя. Надо признать, при использовании памяти DDR333 или высококачественной памяти от Micron вполне можно было заполнять все имеющиеся на плате слоты DIMM и выставлять в BIOS 1T Command Rate. При установке этого параметра на 2T с одним модулем памяти в системе мы получили нашу Infinite Loop ошибку только с двумя модулями памяти от неизвестно каких китайских производителей. Оба эти модуля были односторонние 256Mb DIMM. Все другие модули, участвовавшие в наших тестах были двухсторонними, и под WinME/98/2K/XP не было замечено никаких проблем с ними. Так что рекомендуется покупать двухсторонние модули памяти и желательно от известных производителей.
    Заключение
    Не факт, что все рассказанное нами вам поможет. Но надеемся, что большинство возможностей устранения Infinite Loop мы все же рассмотрели.


    Зачем нужна Flash? Это достаточно сложный вопрос, имеющий, однако, достаточно простой ответ – для того, чтобы можно было оперативно изменять BIOS карты. При наличии однократно программируемой микросхемы, для замены BIOS необходимо купить новую, чистую микросхему, затем на программаторе "прошить" новый BIOS и установить (запаять) ее на место. Для Flash-BIOS достаточно просто запустить программу - прошивальщик. Сразу же возникает следующий вопрос - зачем надо менять BIOS? Причин может быть много - какие-либо ошибки в BIOS, желание разогнать карту на низком, не программном уровне, изменить какие-либо параметрыКо всему этому, от себя добавлю еще один повод в пользу перепрошивки BIOS карты - возможность получить русский шрифт в консоли, без применения внешних программ. Особенно полезным это может оказаться для Linux.
    Шаг первый - диагностика проблемы
    И так, в интернете, у друга или ещё где-то Вы нашли самую новую прошивку BIOS, программу-прошивальщика, сделали загрузочную дискету и приступили, собственно, к прошивке. Однако с ходу это может не получиться. Причин на это может быть масса: прошивальщик может «не знать» микросхему BIOS’а, установленную на Вашей плате; может быть поврежден файл BIOS’а или прошивальщик, либо последний сообщает о несовпадении контрольной суммы файла и т.д. В моем случае было несколько интересней - прошивальщик «опознал» микросхему как type 55 (т.е. как перепрограммируемую ПЗУ, хотя, на самом деле, микросхема, как выяснилось, была «одноразовой»), честно изобразил процесс прошивки и на этапе проверки сообщил о несоответствии по адресу: XXXX. После нескольких попыток я попробовал сделать старую прошивку - к моему удивлению, она прошилась на ура. Это и навело меня на мысль об отсутствии Flash-памяти на карте.
    Чтобы в этом точно убедится, необходимо вынуть карту из компьютера и посмотреть маркировку микросхемы BIOS. Найти эту микросхему легко - обычно на ней имеется наклейка, с лейблом производителя или с версией BIOS. Микросхема выполнена в корпусе PLCC (рис.1 и рис.3 справа) или DIP (рис.2 и рис.3 слева). Чтобы прочитать маркировку, Вам, скорее всего, придется аккуратно снять наклейку. Чтобы ее не испортить, можно предварительно прогреть ее над лампой накаливания и, затем, поддеть лезвием. Читаем маркировку. Если там что-то типа 27xx - то, увы, это «однократка». Придется читать дальше. Если 29xx - то это Flash и проблема в чем-то другом.
                         Flash-BIOSFlash-BIOS
    Теперь идем дальше. Смотрим, какого типа у нас микросхема. Если это DIP (рис.2), да еще и не впаян, а вставлен в «кроватку», то нам крупно повезло. Если это PLCC (рис.1) и, скорее всего, просто впаян, то без хороших навыков по выпаиванию и монтажу современных микросхем не стоит и браться… В общем, с типом определились. Смотрим теперь, насколько сильно сэкономили китайцы J. В случае с DIP, у нас должна стоять панелька на 32 вывода или же на 28, но тогда должны оставаться свободными две пары отверстий. Если панель на 28 ног и свободных 4-х отверстий (должны быть видны со стороны ключа) нет - то, увы, производитель даже и не задумывался, что на этой плате может стоять Flash-Memory, и не развели нужных сигналов. Если отверстия все-таки есть, то смотрим на ножку №31 (рис.3, выделено красным) - это #WE (Write Enable) - сигнал разрешения записи во флэш. Если к этой ножке подходит проводник, то нам повезло - сэкономили только на микросхеме J. Можно менять. Если же дорожки нет, то апгрэйд теряет смысл - прошить флэш прямо на плате будет невозможно. Если это PLCC, то сразу смотрим на вывод 31 и, по написанному выше, определяем возможность апгрэйда микросхемы.
                   Flash-Memory
    Шаг второй - подготовка
    Если возможность замены определена положительно, то можно приступить к подготовке. Первый вопрос - приобретение Flash. Но для этого надо определиться с маркой микросхемы. Я, не долго думая, просто открыл HEX-редактором файл Nv5flash.exe и посмотрел список типов поддерживаемых микросхем:

     
    Atmel Flash ROM

     
    Atmel 5.0/2.7V 49F/BV512 Flash ROM
    Atmel 5.0/3.0/2.7V 49F/LV/BV001 Flash ROM
    Atmel 5.0/3.0/2.7V 49F/LV/BV001T Flash ROM
    Atmel 5.0/3.0/2.7V 49F/LV/BV010 Flash ROM
    Atmel 5.0/3.0/2.7V 29F/LV/BV512 Flash ROM
    Atmel 3.0/2.7V At29LV/BV010A Flash ROM
    Atmel 5.0V 29C512 Flash ROM
    Atmel 5.0V 29C010A Flash ROM

     
    SST Flash ROM

     
    SST 5.0V 29EE512 Flash ROM
    SST 3.0/2.7V 29LE512/29VE512 Flash ROM
    SST 5.0V 29EE010 Flash ROM
    SST 3.0/2.7V 29LE/VE010 Flash ROM
    SST 5.0V 39SF512 Flash ROM
    SST 5.0V 39SF010 Flash ROM
    SST 2.7-3.6V 39VF512 Flash ROM
    SST 2.7-3.6V 39VF010 Flash ROM

     
    Winbond Flash ROM

     
    Winbond 5.0V 29EE011/29C010M Flash ROM
    Winbond 5.0V 29EE512 Flash ROM

     
    Напряжение питания у них у всех разное, поэтому надо определить, чем у нас «кормится» ПЗУ. Можно аккуратно замерить напряжение на выводах питания или (что лучше) найти описание на свою микросхему. Мне повезло - напряжение было 5 вольт и, у меня уже была микросхема Winbond 5.0V 29EE01, от сгоревшей материнской платы. Также понадобится новая панелька для установки микросхем (рекомендую поставить, если ее нет и чип впаян), либо часть панельки (см. ниже). Все это пока касается только DIP-исполнения. Если же у Вас корпус PLCC, то надо, во-первых, иметь хорошие навыки по пайке/демонтажу таких микросхем, во-вторых - твердую руку, в-третьих - достаточную смелость, чтобы решится на эту авантюру. Кроме этого, стоит еще раз посмотреть на плату, на предмет возможности установки панельки - часто вокруг посадочного места под микросхему находится второй ряд ламелей, для установки панельки. Из инструментов нам понадобится паяльник, отсос для демонтажа, нож и надфиль. Если эта карта у вас в единственном экземпляре, то подготовить программы для прошивки нужно на этом этапе, так как чистая флэшка не позволит карте инициализироваться.
    Форматируем дискету как системную и записываем на нее VGABios.exe, DOS4GW.exe, NV5Flash.exe и образ вашего старого BIOS. Взять его можно любой программой для снятия дампа BIOS’а, например, вот этой. Потом, туда же записываем autoexec.bat следующего содержания:

     
    Vgabios.exe -fbios.bin - где bios.bin - образ нашего биоса

     
    Для удобства можно записать и flash.bat:

     
    Nv5flash.exe bios.bin - где bios.bin - образ нашего биоса

     
    В BIOS Setup материнской платы ставим последовательность загрузки "A,C" и "Halt on" - "No error". Также необходимо разрешить кэширование и затенение видеобиоса. Перезагружаемся. Должен успешно подгрузиться резидентный BIOS. Если у нас чип установлен в кроватке, то стоит попробовать вынуть микросхему и повторить эксперимент. После проверки переходим к основному этапу.
    Шаг третий - переделка
    Извлекаем карту из компьютера и прогреваем паяльник (желательно низковольтный и с заземлением). Если у нас DIP в панельке, то просто извлекаем его, АККУРАТНО поддев отверткой с ОБОИХ сторон. Если мы решили поменять панельку полностью, а не допаивать недостающий сегмент, то берем отсос и поочередно освобождаем от припоя все ножки и извлекаем панельку. С PLCC несколько сложнее. Тут потребуется или строительный фен, или газовая горелка-авторучка. При отсутствии всего этого, микросхему можно выпаять при помощи лезвия. Греем сразу несколько соседних выводов и, параллельно плате, подкладываем под них половинку лезвия от безопасной бритвы, стараясь не повредить соседние элементы. Таким образом, отпаиваем все выводы (см. рис. 4).

     
                                    bios
    Если мы не выпаивали панельку, то отрезаем от другой, ненужной панельки, сегмент необходимого нам размера (4 ламели) и, подправив надфилем, впаиваем в плату (см. рис. 5).

     
                                   Flash-Memory
    С PLCC придется повозиться, но при наличии опыта все получится. Правда, при установке панельки, в данном случае, паяльником не обойтись - только фен или горелка. А микросхему, в свою очередь, можно впаять и паяльником.
    Шаг четвертый - первая "прошивка"
    Собрали? Включаем питание. При загрузке, система остановится на темном экране, и спикер системного блока будет предупреждать Вас о не работоспособной карте. Если все было сделано правильно, должна произойти загрузка с заранее подготовленной дискеты, и мы увидим знакомое сообщение видеокарты. Набираем "flash" и прошивальщик сделает свое дело - запишет в чистый флэш образ BIOS, ранее сохранённый нами из прежнего ПЗУ. Если все нормально, то вынимаем дискету и перегружаемся. Все должно быть как до переделки. Если не работает, то не следует сразу впадать в панику. Выключаем систему, и все еще раз перепроверяем. Если не помогло - то вставляем родную ПЗУ и пробуем загрузиться с ней. Если работает, то перепроверяем наличие описанного выше контакта #WE. Ещё одна возможная причина – новая микросхема могла быть неисправной. Возможно также, что Вы плохо пропаяли дополнительные сегменты панельки, или же панелька, от которой была отрезана необходимая часть для установки на карту, была слишком стара, и ламели окислились от времени. Это исправляется путём замены неисправной части, либо зачисткой ламелей.
    Эпилог
    Теперь можно экспериментировать с настройками BIOS. Программ для этого можно найти достаточно много. С их помощью можно с легкостью менять шрифты, подправить Sub Vendor, дату и версию BIOS. Есть встроенный НЕХ-редактор и редактор шрифтов, встроенный набор русских шрифтов для русификации. Можно написать свое приветствие при старте компьютера (обычно места хватает не на одну строку) J. Однако с таймингами пока сложнее – мне не известна формула, по которой задается частота ядра и памяти. Адреса известны, а с пересчетом - проблемы. Если кто-то знает, пишите - буду очень благодарен.
    P.S. Данный материал, возможно, применим и для модернизации видеокарт других марок. Читайте, пожалуйста, описания.


    Настройка подсистемы памяти в BIOS
    SETUP
    Основная система ввода/вывода (BIOS - Basic Input Output System) является "прослойкой" между аппаратной (комплектующие) и программной (операционная система) частями ПК. В ней содержится информация относительно установленных компонент и общих настроек всей системы. Основными моментами в данном вопросе являются установки параметров,предназначенных дляконфигурирования системного ОЗУ (оперативной памяти): всевозможные задержки, специфические режимы работы, общие схемы функционирования все,что касается этого вопроса можно найти в разделе
    "Advanced Chipset Setup" (или "Chipset Features Setup") в BIOS Setup.
    Auto Configuration
    Этот пункт в настройке является, пожалуй, основным, однако встречается не в каждой системе. Он определяет возможность изменений в настройках подсистемы памяти типа FPM DRAM и EDO DRAM, указывая длительность цикла обращения (минимальный промежуток времени в течение которого можно выполнить циклическое обращение по произвольный адресам) к данным: 60ns (оптимизировано для микросхем памяти с временем доступа 60ns), 70ns (оптимизировано для микросхем памяти с циклом доступа 70ns) и Disable (в данном случае разрешить "ручную" настройку имеющихся параметров подсистемы памяти). При асинхронной передаче данных гарантируется, что определенная операция будет полностью осуществлена за фиксированный промежуток времени, поскольку в данном случае функционирование памяти не привязывается к частоте системной шины. Поэтому, если данные появляются сразу за фронтом системного синхросигнала, то они будут считаны лишь по приходу следующего фронта тактового импульса. Значения 60/70 ns данного пункта указывают системе, что надо использовать предустановки, занесенные производителем материнской платы заранее, которые обеспечивают стабильную работу памяти, исходя из установленной длительности цикла доступа. Понятно, что при этом наверняка теряется некоторая часть максимально возможной производительности. Поэтому, чтобы дать возможность гибкой проведения конфигурации, этот параметр необходимо установить в положение Disable, открыв доступ к другим установкам настройки подсистемы памяти.
    DRAM Read Timing
    Параметр, характеризующий скорость чтения данных из массива памяти. Сам массив представляет собой некое подобие координатной сетки, где есть положения по горизонтали (адрес строки) и по вертикали (адрес столбца). Упрощенно, на пересечении каждого конкретного адреса строки и столбца находится единичный "строительный элемент" массива - ячейка, которая представляет собой ключ (транзистор) и запоминающий элемент (конденсатор). Логическое состояние ячейки (физически, заряд в конденсаторе) представляется довольно просто: есть заряд - "1", нет заряда - "0".
    В самом простом случае, для чтения/записи одной ячейки памяти необходимо пять тактов. Сначала на шину выставляется адрес строки (первая половина полного адреса ячейки памяти). Затем подается строб RAS# (Row Address Srobe), который является своего рода контрольным сигналом (защелка адреса строки), подтверждающим полученный адрес строки для записи в специально отведенное место - регистр микросхемы памяти. После этого передается адрес столбца (вторая половина полного адреса ячейки памяти), следующим тактом за которым идет сигнал подтверждения принимаемого адреса (защелка адреса столбца) - CAS# (Column Address Strobe). И, наконец, следует операция чтения/записи из/в ячейку, контролируемая сигналом разрешения записи - WE# (Write Enable). Однако если считываются соседние ячейки, то нет надобности передавать каждый раз адрес строки или столбца, и процессор "считает", что необходимые данные расположены по соседству. Поэтому на считывание каждой последующей ячейки понадобится уже три такта системной шины. Отсюда и берет свое начало существование определенных схем функционирования (тайминги, в широком смысле этого понятия, обычно означающего временной параметр) конкретного фундаментального типа ОЗУ: xyyy-yyyy-..., где x - количество тактов шины, необходимое для чтение первого бита, а у - для всех последующих.
    Так, цикл доступа процессора к памяти состоит из двух фаз: запроса (Request) и ответа (Response). Фаза запроса состоит из трех действий: подача адреса, подача запроса (чтения/записи) и подтверждение (необязательно). В фазу ответа входит выдача запрашиваемых данных и подтверждение приема. Довольно часто происходит чтение четырех смежных ячеек, поэтому многие типы памяти специально оптимизированы для данного режима работы, и в сравнительных характеристиках быстродействия обычно приводится только количество циклов, необходимое для чтения первых четырех ячеек. Речь идет о пакетной передаче, которая подразумевает подачу одного начального адреса и дальнейшую выборку по ячейкам в установленном порядке - такого рода трансфер улучшает скорость доступа к участкам памяти с заранее определенными последовательными адресами. Понятно, что в случае необходимости чтения данных с непоследовательного адреса в "цепочке" пакетной передачи возникает разрыв и первый бит произвольного адреса считается с пятитактным доступом. Обычно процессор формирует адресные пакеты на четыре передачи данных вперед, поскольку предполагается, что система автоматически возвратит данные из указанной ячейки и трех следующих за ней. Преимущество такой схемы очевидно: на передачу четырех порций данных требуется всего одна фаза запроса. Например, для памяти типа FPM DRAM применяется схема 5333-3333-..., в отличие от первой разновидности динамического ОЗУ, где применялась самая простая - 5555- 5555-... Для памяти EDO DRAM после первого считывания блока данных увеличивается время доступности данных того ряда, к которому происходит доступ в настоящий момент, при этом уменьшается время получения пакета данных, т.к. схема доступа уже 5222-2222-... Синхронное ДОЗУ типа SDRAM, в отличие от асинхронного (FPM и EDO), "свободно" от передачи в процессор сигнала подтверждения и выдает/принимает данные в строго определенные моменты времени (только совместно с сигналом синхронизации системной шины), что исключает несогласованность между отдельными компонентами, упрощает систему управления и дает возможность перейти на более "короткую" схему работы: 5111-1111-... Аналогичную временную диаграмму имеет и пакетное ДОЗУ на основе схемы расширенного доступа к данным (BEDO DRAM) - последняя разновидность асинхронного типа динамической памяти.
    Поэтому в рассматриваемом пункте меню настройки можно встретить варианты допустимых значений для циклов обращения к памяти: x333 или x444 оптимально подходит для FPM DRAM, x222 или x333 - для EDO DRAM, и x111 или x222 - для BEDO DRAM (и SDRAM). Варьируя эти параметры и стараясь использовать более короткую диаграмму для конкретного типа памяти, можно добиться некоторого повышения производительности.
    DRAM Write Timing
    Параметр, аналогичный по принципу предыдущему, с той разницей, что происходит настройка произведения операций записи. Для фундаментальных типов памяти FPM DRAM и EDO DRAM значение рассматриваемого параметра одинаково, поскольку выигрыш от принципа EDO можно получить только на операциях чтения. Соответственно, устанавливаемые значения данного параметра аналогичны "DRAM Read Timing", принимая во внимание особенности архитектуры используемой памяти.
    Fast RAS-to-CAS Delay
    Установка, характеризующая задержку в циклах тактового сигнала между сигналами RAS# и CAS# (как уже говорилось, по сигналам RAS# и CAS# внутрикристальные триггеры фиксируют части полного адреса - строки и столбца), за которую данные из накопителя ДОЗУ передаются на выходные усилители (SenseAmp, играющие роль временного буфера и усилителя уровня, поскольку сигнал, выходящий из микросхемы, достаточно слабый), и обычно составляющая 2ns. Эта задержка вводится умышленно и необходима для того, чтобы было достаточно времени для однозначного определения адреса строки (сигнал RAS#) и столбца (сигнал CAS#) ячейки. Иными словами, данный параметр характеризует интервал между выставлением на шину контроллером памяти сигналов RAS# и CAS#. Понятно, что чем меньше данное значение, тем лучше, однако не стоит забывать, что за ним стоит возможность самих микросхем памяти реализовать установленную задержку, поэтому выбор здесь неоднозначен.
    DRAM RAS Precharge Time
    Параметр, определяющий время повторной выдачи (период накопления заряда, подзаряд) сигнала RAS#, т.е. через какое время контроллер памяти будет способен снова выдать сигнал инициализации адреса строки. Данная установка может принимать значения 3 или 4 (в циклах шины), и во временном отношении аналогична предыдущей - чем меньше, тем лучше. Иногда возможен вариант, когда можно выставить конкретную схему циклов регенерации или прямо указать время обновления содержимого строки памяти, выражаемое в микросекундах (ms). Для поддержания целостности информации заряд конденсаторов следует периодически обновлять (регенерировать), читая содержимое всего ряда целиком и заново перезаписывая. Устройствам памяти с динамической "природой" присущ один довольно серьезный недостаток - высокая вероятность образования ошибки, когда данные, записанные в определенную ячейку, при считывании могут оказаться иными, что связано с циклами регенерации заряда в ячейке памяти. Для контролирования и исправления этого недостатка существует два способа проверки целостности данных: контроль бита четности и код коррекции ошибок. Как уже упоминалось, элементарная ячейка динамической памяти состоит из одного конденсатора и запирающего транзистора, что дает возможность достичь большей плотности размещения элементов (большее количество ячеек на единицу площади) по сравнению со статической. С другой стороны, данная технология имеет ряд недостатков, главным из которых является то, что заряд, накапливаемый на конденсаторе, теряется со временем. Несмотря на то, что при топологии конденсаторов ячеек динамической памяти используется хороший диэлектрик с электрическим сопротивлением в несколько тераом (х1012 Оhm), заряд теряется достаточно быстро, так как размеры одного конденсатора микроскопические, а емкость мизерна - порядка 10-15 F. При такой емкости на одном конденсаторе накапливается всего порядка 40000 электронов. Среднее время утечки заряда составляет порядка сотни или даже десятков миллисекунд, поэтому его необходимо перезаряжать с 64ms интервалом, согласно требованиям JEDEC Std 21-C. Данные из ядра считываются и передаются на усилители уровня, после чего, не поступая на выход, записываются обратно в массив. Стандартно, банк микросхемы памяти (массив ячеек, имеющий определенную организацию структуры, состоящей из строк и столбцов) содержит или 2k, или 4k, или 8k строк (точнее, или 2048, или 4096, или 8192), доступ к которым позволяет производить одновременную регенерацию всего массива, относящегося к этой строке. Как бы то ни было, наилучшая схема регенерации заключается не в одновременном обновлении содержимого ячеек всех строк, а в поочередном обновлении индивидуально каждой строки. В результате, взяв за основу 4k-массив (средняя плотность), можно вычислить стандартную нормальную схему регенерации одной строки, поделив полный цикл обновления на количество строк: 64000ms/4096=15.625ms. В случае, если банк содержит более 4k строк, любые две строки могут обрабатываться одной командой, или все решается простым кратным увеличением частоты регенерации - с точностью до наоборот, если банк содержит менее 4k строк. Если рассматривать возможные варианты решения проблемы обновления содержимого массива ДОЗУ, на данный момент известны три различных метода регенерации данных.
    Регенерация одним RAS (ROR - RAS Only Refresh). В данном случае адрес регенерируемой строки передается на шину адреса, в ответ на что выдается сигнал RAS# (точно так же, как при чтении или записи). При этом выбирается строка ячеек, и данные из них временно поступают на внутренние цепи (точнее, на выходные усилители уровня) микросхемы, после чего записываются обратно. Так как сигнала CAS# не следует, цикл чтения/записи не начинается. В следующий раз передается адрес следующей строки и так далее, пока не восстановятся все ячейки, после чего цикл регенерации повторяется. Недостатком этого метода, безусловно, является то, что занимается шина адреса, и в момент регенерации блокируется доступ к другим подсистемам компьютера. Это сильно снижает общую производительность, поскольку подобного рода регенерацию в микросхемах памяти необходимо осуществлять довольно часто.
    CAS перед RAS (CBR - CAS Before RAS). При нормальном цикле чтения/записи сигнал RAS# всегда приходит первым, а за ним следует CAS#. Если же CAS# приходит раньше RAS#, то начинается специальный цикл регенерации (CBR), при котором адрес строки не передается, а микросхема использует свой собственный внутренний счетчик, содержимое которого увеличивается на 1 (дискретное инкрементирование) при каждом цикле CBR. Этот режим позволяет регенерировать память не занимая шину адреса, что, безусловно, более экономично в плане использования системных ресурсов.
    Механизм автоматической регенерации (AutoPrecharge) или саморегенерации (SEREf - SElf REfresh) обычно используется в режиме энергосбережения, когда система переходит в состояние "сна" и формирователь синхросигналов деактивируется. Режим расширенной регенерации (EREf - Extended REfresh) не является отдельным методом, характеризующим саму способность микросхемы, а, как и сокращенная (REREf - REduce REfresh), определяет только режим периодичности обновления содержимого массива относительно нормального цикла (Normal, 15.625ms), и состоит в "подмножестве" цикла саморегенерации. При EREf энергия экономится потому, что теперь регенерацию страницы (строки) можно производить значительно реже: скажем, через 125.2ms, а не через 15.625ms, как это происходит при стандартной регенерации. Сокращенная регенерация рекомендуется к использованию в микросхемах памяти большой емкости (64Mbit приборы и более емкие) и в модулях памяти с большим количеством микросхем (16 и более). Саморегенерация используется в периоды микропотребления (общее состояние системы - Suspend), когда содержимое микросхемы памяти регенерируется самостоятельно путем инкрементирования своего внутреннего счетчика - это значит, что все функции управления можно выключить. В таком состоянии обновление данных в ячейках по вышеописанным методам невозможно, потому как некому посылать сигналы на регенерацию, и микросхема памяти делает это сама - в ней запускается свой собственный генератор, который тактирует ее внутренние цепи.
    Так, метод ROR использовался еще в первых микросхемах DRAM и на данный момент практически не применяется. Метод CBR активно используется в микросхемах EDO DRAM. Саморегенерация рекомендована для систем на основе SDRAM и поддерживает значения: 3.906ms (0.25х-сокращенная), 7.812ms (0.5х-сокращенная), 15.625ms (нормальная), 31.25ms (2х-расширенная), 62.5ms (4х-расширенная) и 125.2ms (8х-расширенная). Понятно, что сама способность конкретной микросхемы памяти (контролируемая со стороны "закрытых" установок в BIOS или саморегенерация) определяется архитектурно и зависит от типа используемой памяти. Однако выставив наибольший временной цикл, можно "не вписаться" в общую временную диаграмму, поэтому производитель модуля памяти такого рода информацию просто заносит в специально отведенное место - микросхему SPD, которой оснащено большинство современных модулей DIMM. В случае, если таковой микросхемы на используемом модуле нет, то можно, при условии, что это позволяет гибкая настройка BIOS Setup, самостоятельно выставить периодичность проведения регенерации, исходя из стандартных 15.625ms для 4k массива банка, кратно уменьшая (сокращенная) цикл при увеличении количества строк или увеличивая (расширенная) цикл при уменьшении количества строк - все зависит от логической организации (количество банков и структура банка) микросхемы конкретного модуля памяти.
    MA Wait State
    Период ожидания до переключения адреса, который позволяет установить или снять дополнительный такт задержки до начала чтения данных из памяти. Своего рода "контрольной точкой" срабатывания этого режима является переключение сигнала MA# (Multiplex Address). Например, для памяти типа EDO DRAM однотактная задержка введена по умолчанию, поэтому установка значения Slow добавляет еще один такт ожидания. У SDRAM же данного такта ожидания нет, и установка Slow только добавит его. Установка же параметра в режим Fast позволит снять дополнительный такт ожидания, а значит - увеличить производительность.
    DRAM R/W Leadoff Timing
    Данный пункт характеризует число тактов, затрачиваемое подсистемой памяти при подготовке выполнения операции чтения/записи данных, определяя их количество на шине до выполнения операций в самой микросхеме. При этом возможны следующие значения: 8/7 и 7/5 - количество тактов для чтения/записи соответственно. Как и любой параметр, характеризующий задержку, его необходимо стараться установить с меньшим значением.
    Speculative Leadoff
    Параметр, включающий (Enable) и выключающий (Disable) режим опережающей выдачи сигнала чтения (READ), разрешение которого позволяет выдавать его немного ранее, чем адрес будет декодирован (однозначное определение адреса ячейки при помощи стробов RAS# и CAS#). Поскольку на определение адреса необходимой ячейки требуется определенное время, система теряет такты, которые могут использоваться с пользой. Поэтому включение этого параметра дает возможность считать следующий адрес ячейки, пока идет процесс определения координаты ячейки, адрес которой считался ранее. Данный прием также позволит в некоторой степени сэкономить время и уменьшить количество "холостых" тактов системной шины.
    DRAM ECC/Parity Select
    Параметр, управляющий режимами контроля целостности данных: кода коррекции ошибки (ECC - Error Correction Code) и проверки четности (Parity). Нередко встречается также пункт "DRAM Data Integrity Mode". По характеру ошибки памяти можно разделить на два типа. Временные ошибки (сбои, Soft Errors), связанные с воздействием космических лучей, альфа-частиц, посторонних и внутренних шумов, приводят обычно к однократному изменению информации, и чаще всего данные записываются в ту же ячейку повторно без ошибок. Постоянные ошибки (отказы, Hard Errors), возникающие вследствие неисправности самих микросхем памяти, зачастую приводят к потере информации в целом столбце или даже во всей микросхеме.
    В случае использования схемы Parity один бит четности сохраняется в специально выделенной области памяти вместе с каждыми восемью битами информации. Бит четности формируется так: подсчитывается количество "единиц" в двоичном представлении байта, если оно четное, то данный бит принимает значение "1", если нет - "0". После этого данные записываются в оперативную память. При считывании этого байта данных из ячейки к нему "приписывается" бит четности и затем анализируется 9bit значение. Если в этом числе нечетное количество единиц, то бит четности "обрезается" и байт информации передается на обработку - в противном случае генерируется ошибка четности и работа компьютера приостанавливается с выдачей сообщения. Если изменено четное количество бит информации, проверка бита четности не сработает. Однако, несмотря на то, что схема контроля четности может выявлять максимум двухбитные ошибки, исправлять их она не способна.
    Механизм ECC может не только выявлять, но и исправлять ошибки, а также генерировать ошибку четности. Обычно данная схема работы основывается на использовании кодов Хемминга (помехоустойчивые коды), позволяющих выявлять и исправлять один неверный бит или же найти две и исправить одну ошибку (корректирующие свойства кода определяются его избыточностью). Коррекция ошибок намного сложнее контроля четности и используется в системах, где необходима передача большого количества информации с минимальной вероятностью ошибки. В любом случае, будь то схема Parity или ECC, использование данных типов памяти может снизить производительность: если контроль четности может "затормозить" систему на 2-3 %, то у ECC этот показатель иногда доходит до 10% в зависимости от сложности используемого алгоритма. Кроме этого, 72bit модуль ECC дороже своего обычного 64bit "аналога" при условии одинаковой емкости, поэтому выбор использования данных типов памяти на ПК является исключительно делом каждого.
    Наличие в ПК модуля, поддерживающего схему ECC, определяется самой системой, и если таковые не обнаружены, пункт меню "DRAM Data Integrity Mode" изменить невозможно - "серое" поле с индикацией "Non-ECC". Разрешение (Enable) же пункта "DRAM ECC/Parity Select" при условии, что в системе используются соответствующие модули памяти, приводит к активации контроля коррекции ошибки или к включению механизма контроля четности.
    SDRAM Configuration
    Параметр, определяющий способ настройки подсистемы памяти на основе SDRAM и принимающий значения: by SPD (необходимые параметры считываются из специальной микросхемы последовательного детектирования, устанавливаемой на модуле памяти, и полностью оптимально согласованы с типом и индивидуальными характеристиками установленных на нем микросхем) или Manual (разрешено варьировать определенные параметры "вручную", причем соответствующие пункты меню этих параметров становятся доступными для изменения). Суть данной установки сводится к тому, что в случае использования схемы Manual разрешается доступ к изменению параметров "SDRAM CAS Latency Time", "SDRAM RAS-to-CAS Delay" и "SDRAM RAS Precharge Time", которые образуют основную тайминговую схему работы памяти (CL-tRCD-tRP соответственно) и позволяют осуществлять более гибкую настройку подсистемы на основе синхронного ДОЗУ - все аналогично рассматриваемому ранее параметру "Auto Configuration". В случае использования схемы SPD требуемые значения автоматически загружаются из микросхемы EEPROM, в которой производитель конкретного модуля памяти заранее "прошивает" необходимые значения временных параметров (таймингов), гарантируя стабильную работу. При синхронной работе с памятью операции выполняются строго с тактами системного генератора. При этом само управление синхронного ДОЗУ несколько усложняется относительно асинхронного режима, поскольку приходится вводить дополнительные защелки, хранящие адреса данные и состояния сигналов управления. В результате этого вместо продолжительности цикла доступа, применяющегося для характеристики в асинхронных системах, для описания быстродействия SDRAM прибегают к указанию длительности периода синхросигнала (tCLK - Clock time - величина, обратно пропорциональная частоте следования синхроимпульсов). Поэтому в некоторых разновидностях BIOS возможно указание непосредственно длительности периода синхросигнала: 7ns (максимальная частота функционирования данного модуля - 143MHz, следовательно, используемые временные схемы будут оптимизированы для микросхем памяти с параметром -7, указываемом непосредственно на самой микросхеме), 8ns (максимальная частота функционирования данного модуля - 125MHz, поэтому временные установки будут оптимизированы для приборов памяти с параметром -8) и 10ns (максимальная частота функционирования данного модуля - 100MHz, поэтому временные установки будут оптимизированы для микросхем памяти с параметром -10), которые работают аналогично описываемым ранее в пункте "Auto Configuration", но встречаются сравнительно редко. Стандартно, массив микросхемы содержит логические банки (Bank), количество и организация которых определяется индивидуальностью (фундаментальностью) самой архитектуры и конечной емкостью микросхемы. Банки содержат строки (Row), которые, в свою очередь, содержат столбцы (Column) - матрица, образуемая такой иерархией, и является ядром микросхемы памяти. Строка - это объем считываемых или записываемых данных в один из нескольких банков ядра. Столбцы - подмножества строк, которые считываются или записываются в индивидуальных фазах операций чтения/записи.
    Рассмотрим последовательно продвижение данных по микросхеме. Обычно цикл начинается по приходу команды активизации банка, которая выбирает и активирует банк и строку массива. В течение следующего цикла информация передается на внутреннюю шину данных и направляется на усилители уровня (как говорилось ранее, своего рода "накопитель", играющий роль как усилителя сигнала, так и временного буфера). Когда усиленный уровень сигнала достигает необходимого значения, данные запираются (Latch) внутренним синхросигналом - этот процесс, именуемый задержкой между определением адреса строки и столбца (tRCD - RAS#- to-CAS# Delay), занимает 2-3 цикла системной шины (количество периодов синхросигнала). После этой задержки команда чтения может подаваться совместно с адресом столбца, чтобы выбрать адрес первого слова (в данном случае, объем данных, передаваемых за один цикл, равный ширине шины данных микросхемы памяти), которое надо считать с усилителей уровня. После выставления команды чтения выполняется двух- или трехтактная задержка строба выбора столбца (задержка сигнала CAS# - CAS# Latency или просто CL), в течение которой данные, выбранные из усилителей уровня, синхронизируются и передаются на внешние выводы микросхемы (линии DQ). За первым словом следуют остальные в течение каждого последующего синхросигнала, отрабатывая полную установленную длительность пакета (Burst Length) - количество непрерывно передаваемых слов за одну фазу передачи данных. Лишь после того, как вся информация передалась, данные можно возвратить обратно из усилителей уровня в строку пустых ячеек массива для восстановления его содержимого, что занимает 2-3 тактовых цикла. Динамический, а значит обладающий свойством ослабевания сигнала и утечки, по своей природе массив ячеек должен регенерировать их содержимое. Периоды восстановления заряда устанавливаются регенерирующим контроллером программы мониторинга, выполняемой счетчиком регенерации (Refresh Counter) - подобное восстановление требует 7-10 циклов, в течение которых поток данных прерывается.
    SDRAM CAS Latency Time
    Задержка выдачи сигнала CAS# для микросхемы синхронного ДОЗУ является одной из важнейших характеристик и обозначает минимальное количество циклов шины (Clock Period) от момента "фиксации" запроса данных стробом CAS# до момента их устойчивого определения и считывания. Предполагается, что на момент прихода фронта сигнала CAS# на адресных входах имеются правильные данные. Однако поскольку везде существуют временные задержки (в том числе и внутри самой микросхемы), то специально отводится некоторое время на их преодоление, причем в силу разброса параметров задержки для разных адресных линий могут быть разными - это и есть в данном случае CAS Latency (CL), а CL2 и CL3 - время вводимой задержки в тактах (2 и 3 соответственно). Чем меньше задержка - тем больше скорость работы с памятью, но и тем больше риск, что данные попадут "не по адресу", что непременно вызовет сбой. Устойчивость к подобным сбоям - есть устойчивость по CL.
    Иными словами, CL - это задержка между формированием логикой управления кристалла микросхемы команды чтения и доступностью к чтению первого слова. Если регистрация (опознавание приемником сигнала конкретного логического уровня) команды чтения происходит по фронту такта N, а CL составляет M тактов, то соответствующие данные будут доступны через (N+M) тактов. Однако, для обеспечения гарантированной выдачи данных, транзисторы выходных цепей линий данных включаются на один такт раньше (N+M-1), т.е. на них выводятся данные с неопределенными (на тот момент) уровнями, в результате чего контроллер памяти ожидает еще один такт, и только после этого принимает поступающие данные. При использовании CL2 для модулей, рассчитанных для данной частоты на CL3, выходные цепи могут не успеть выставить нужный уровень (и обеспечить номинальный ток) для точного представления данных на шине и может возникнуть ошибка.
    SDRAM RAS-to-CAS Delay
    Аналогичного рода параметр (Fast RAS-to-CAS Delay), определяемый как tRCD, описывался ранее, и в данном случае может принимать значения 2 или 3, устанавливая двух- и трехтактную задержку от начала передачи команды активизации конкретного логического банка до момента приема команды чтения/ записи по приходу фронта CAS# (переход в активный низкий уровень). Другими словами, после подачи команды активизации банка линию RAS# необходимо предварительно зарядить (выполнить цикл накопления заряда, Precharge) до момента поступления команды чтения (определяемой адресом столбца). Это означает, что данные передаются из массива памяти на внутрикристальные выходные усилители уровня с задержкой 2 или 3 цикла. Необходимо понимать, что рассматриваемая задержка сама по себе играет довольно незначительную роль в общей задержке при условии попадания в страницу и/или чтения данных из открытой страницы. Тем не менее, далеко не в каждом BIOS можно варьировать значение данной задержки по причине отсутствия соответствующего параметра, однако в действительности tRCD учитывается также в значении "Bank X/Y Timing".
    SDRAM RAS Precharge Time
    Длительность подзаряда линии RAS# - tRP. В данном случае микросхема DRAM с двумя/четырьмя банками (логическая организация) позволяет "скрыть" это время, чтобы обеспечить непрерывный ввод/вывод данных: в то время, когда происходит какая-либо операция с одним банком памяти, другой успевает регенерировать (обновить данные). Проще говоря, данный параметр позволяет определять быстрое (Fast) или медленное (Slow) накопление заряда по линии RAS# до начала цикла регенерации. Установка значения Fast увеличивает быстродействие, однако может привести к нестабильности работы. Slow же действует наоборот - повышает стабильность работы компьютера, однако увеличивает время, затрачиваемое на цикл регенерации данных. Поэтому рекомендуемое значение Fast следует устанавливать в случае уверенности в качестве микросхем памяти. Обычно встречаемые значения 2 и 3 данного пункта определяют количество тактов системной шины, необходимых для накопления заряда по линии RAS#.
    Вообще, задержка, обуславливаемая выполнением предзаряда линии RAS#, необходима для перемещения данных обратно в массив (закрытие банка/страницы) до момента прихода команды активизации следующего банка. Так, 30-60 % от общего количества передаваемых запросов на чтение теряется в пределах одной страницы (Page), стандартно называемая строкой логического банка), что получило название попадания в страницу (Page Hit). Поэтому в данном случае нет необходимости активизировать банк, так как данные уже находятся в странице, и все, что требуется - это изменить адрес столбца посредством выдачи сигнала CAS#. Если запрашиваемые данные не найдены в пределах данной страницы, их необходимо вернуть обратно в массив и закрыть банк. Если запрашиваемые данные существуют в одном и том же банке, но в разных строках, необходимо подать команду перезаряда, чтобы банк закрылся (промежуток, составляющий длительность подзаряда), а новая команда активизации банка откроет правильную строку (задержка tRCD), где размещаются необходимые данные. Позднее, через промежуток CL, команда чтения придет по правильно выбранному адресу. В результате количество циклов общей задержки (схема CL-tRCD-tRP), описываемое как 2-2-2, составляет 6 тактов, а схема 3-3-3 увеличивает ее до 9. Если запрашиваемые данные расположены в разных строках, нет необходимости тратить время на ожидание закрытия первого банка, поэтому задержка tRP в данном случае не учитывается. Следовательно, остается только задержка выдачи сигнала CAS# и интервал RAS#-CAS#. Вообще, данная схема немного упрощена, поскольку если данные находятся в одном банке, но в разных строках, то банк необходимо не просто закрыть, а еще и реактивировать. Поэтому каждый банк имеет очень малое время, в течение которого он остается открытым, и длительность цикла tRC становится довольно критическим фактором.
    SDRAM Cycle Time Tras/Trc
    Параметр микросхемы SDRAM, определяющий отношение интервала, в течение которого строка открыта для переноса данных (tRAS - RAS# Active time), к периоду, в течение которого завершается полный цикл открытия и обновления ряда (tRC - Row Cycle time), также называемого циклом банка (Bank Cycle Time). По умолчанию устанавливается значение 6/8 - более медленное, но более стабильное, чем 5/6. Однако, 5/6 быстрее сменяет циклы в SDRAM, но может не оставлять строки (ряды) открытыми на период времени, достаточный для полного завершения транзакции, что особенно справедливо для SDRAM с частотой синхронизации более 100MHz. Следовательно, для начала рекомендуется попробовать установить 5/6 в целях увеличения производительности SDRAM, но, если система становится нестабильной, следует изменить на 6/8. Также данный параметр можно встретить в виде [tRAS, tRC]. Например, для некоторых базовых логик данные установки могут иметь следующие значения: для серии i82815xx - [5T, 7T] или [7T, 9T], для серий наборов VIA - [5T, 7-8T] или [6T, 8-9T], и для ALi MAGiK1 - [3-10T, 4-15T].
    Цикл банка определяет количество тактов, необходимых после выставления команды активизации банка до начала фазы перезаряда. Другими словами, после открытия страницы ее необходимо поддерживать в открытом состоянии некоторый промежуток времени до того как она снова закроется. Параметр tRC определяет минимальное количество тактов до тех пор, пока банк реактивируется. Поскольку фаза перезарядки имеет задержку 2-3 такта, то полный цикл банка является суммой времени активности сигнала RAS# и интервала подзаряда линии RAS#: tRС=tRAS+tRP, где tRAS=CL+tRCD определяется как задержка отклика (Latency), характеризующая промежуток времени между регистрацией полученной команды и моментом начала передачи ассоциируемых с командой данных. Таким образом, tRС характеризует общее количество циклов, входящих в основную тайминговую схему CL-tRCD-tRP. Так, серия i82815xx поддерживает схемы [5T, 7T] или [7T, 9T], откуда видно, что период подзаряда фиксирован и составляет два цикла шины (2T). Серия базовых логик от VIA определяет интервал tRAS по значениям 5T и 6T, что говорит о плавающем значении tRP в 2 или 3 такта соответственно, однако они не прямо доступны, а являются частью "микса" установок.
    Текущие микросхемы SDRAM имеют продолжительность цикла ядра 50-60 ns. С другой стороны, это означает, что теоретически микросхема, синхронизирующаяся на частоте 133MHz (7.5ns период), имеет значение tRC=7T, откуда можно определить текущий цикл ядра: 7х7.5ns=52ns. Если частоту синхронизации увеличить, количество циклов, соответственно, тоже увеличится, чтобы укладываться в 50ns окно. Проведя расчет, можно отметить теоретический предел частоты синхронизации SRDAM в 183MHz при текущих параметрах (9T), что означает 49.2ns цикл ядра. Интересной особенностью является то, что в ранних ревизиях i82815 серии схема выглядела как [5T, 7T] или [6T, 8T], что определяет предел частоты синхронизации в районе 166MHz. Для 100MHz синхросигнала, с целью получения максимально возможной производительности, цикл банка необходимо установить как 5/7, а для 133MHz шины, как 5/8 или 6/8 - в зависимости от того, насколько сильно требуется "разогнать" интерфейс.
    В связи с этим, наиглавнейшим вопросом считается определение минимально возможного интервала активности сигнала RAS# и что повлечет за собой выход за пределы его допустимых значений (tRAS Violation). После того, как сигнал RAS# активизировал банк, данные запираются в усилителях уровня. Например, имеется две линии, идущие параллельно, из которых одна сигнальная, а другая - связанная. Эта схема работает по принципу чередования, где каждая линия может быть и сигнальной, и опорной. Усилители уровня дифференцируют напряжение между заряженной линией данных и опорной линией, и усиливают относительно слабый сигнал - это необходимо делать, чтобы восстанавливать данные в ячейке. Линии данных имеют четко определенную емкость, которая уменьшается с увеличением заряда. Если фаза перезаряда (стирание всей информации со строки данных для активизации следующего банка - строчный доступ) начинает выполняться до момента, пока уровень сигнала не стабилизировался достаточно для возможности восстановления первоначального содержимого страницы, четко определенная длительность активности сигнала RAS# нарушается (tRAS Violation), результатом чего является полная потеря данных или в лучшем случае неверное их восстановление. Другими словами, tRAS - это время, необходимое для накопления полного заряда линии и восстановления данных до начала цикла следующего передзаряда. В свою очередь, перезаряд является командой, закрывающей страницу или банк, поэтому tRAS также характеризуется как минимальное время открытия страницы. Если к этому добавить еще и длительность цикла перезаряда, то в результате получится общее количество тактов, необходимое для открытия и закрытия банка, именуемое циклом банка - то, о чем велась речь ранее.
    SDRAM Bank Interleaving
    Механизм чередования логических банков микросхемы памяти (не путать с режимом чередования физических банков - переключение строк, поделенных на сегменты с собственной логикой управления для каждого, - реализация которого требует присутствия сложной аппаратной адаптивной логики и специальной разводки сигнальных трасс подсистемы памяти) позволяет "коммутировать" циклы регенерации и доступа (конвейеризация): в то время, как один банк проходит цикл обновления содержимого, другой находится в активном состоянии и отрабатывает цикл обращения. Это улучшает эффективность функционирования подсистемы памяти (реальную пропускную способность приближает к теоретической пиковой) относительно неоптимизированного механизма (предвыборка) и "скрывает" время обновления содержимого каждого отдельного банка.
    Базисная идея чередующихся обращений заключается в доступе от одного банка к другому, когда соответствующие страницы открыты в каждом банке - этот момент требует высокой степени концентрированности данных в системном ОЗУ. Обычно команда активизации банка может открыть один банк в определенный момент времени (предвыборка), а затем считать данные после задержки CL+tRCD. Однако, практически сразу же, после посылки команды активизации одного банка, контроллер памяти может послать команду активизации другого в этом же цикле, таким образом открыв следующий банк. Если контроллер точно знает какие данные следует передать в другой банк, он может послать команду чтения без трешинга (Trashing, режим интенсивной передачи данных при нехватке системной памяти) пакета данных первого банка. В этом случае делается возможным переход от одного банка к другому с задержкой лишь в один цикл (Bank-to-Bank Latency, задержка перехода "банк-банк") между пакетами из четырех слов (BL=4). В дополнение, фазы накопления заряда и закрытия банка могут выполняться в "фоновом режиме" в процессе считывания данных из перемежающихся банков.
    Известны три режима чередования: обычный (No Interleave), двухбанковое чередование (2-Way Interleave, данные коммутируются между двумя банками) и четырехбанковое чередование (4-Way Interleave, данные коммутируются между четырьмя банками). Режим чередования логических банков работает только в том случае, если последовательно запрашиваемые адреса находятся в разных банках - иначе транзакции данных происходят по обычной схеме No Interleave. В этом случае системе придется простаивать время прохождения обращения и цикл регенерации, после чего запрос повторится. Тем не менее, поддержка конкретного режима должна быть реализована еще и на уровне конкретного приложения. Вообще, любое приложение, сильно зависящее от процессорного кэша (объема, типа и иерархии), не способно оптимально использовать режимы чередования по простой причине ограниченности размера страницы, и данные из кэша могут потеряться. В результате, чередование банков может отрицательно сказаться на производительности, поскольку неправильный открытый банк необходимо закрыть до выполнения следующего цикла доступа к данным.
    Bank X/Y DRAM Timing
    Параметр, включающий в себя сумму tRC+tRCD+Bank Interleaving и разделяющийся на схемы: SDRAM 8-10 ns, Normal, Medium, Fast и Turbo - это оптимизированные под "одноименную" производительность настройки, которые производитель материнской платы прописывает в BIOS сам (схема, подобная описываемому ранее "Auto Configuration" и "SDRAM Configuration"). Так, значения соответствующих настроек BIOS, которые устанавливают управляющие регистры контроллера памяти в определенное состояние, обычно выглядят следующим образом:
    Тайминги некоторых оптимальных настроек подсистемы памяти SDRAM
    Установка SDRAM 8-10 ns Normal Medium Fast Turbo
    tRAS 6T 5T 6T 6T 6T

    tRP 3T 2T 3T 3T 3T

    CAS N/A N/A N/AN/A N/A

    DDR-WE Disable Disable Disable Disable Disable
    tRCD 3T
    T 3T 3T 2T

    Interleave No 4-way NoNo No
    Важно заметить, что нет никакой разницы между установками SDRAM 8-10, Medium и Fast, поскольку все они имеют одинаковые значения основных временных параметров. Исключение составляет лишь Turbo, которая уменьшает tRCD до 2T (количество тактов шины), что может стать причиной нестабильной работы модулей на микросхемах EMS HSDRAM 150MHz. Еще более важно, что четырехбанковое чередование (4-Way Bank Interleaving) сокращает время активности сигнала RAS# до 5 тактов, определяя общую длительность цикла банка 8T. С позиции производительности Normal ничем не отличается от SDRAM 8-10, Medium и Fast, но демонстрирует интересные результаты: установкой tRCD в 2T при включенном четырехбанковом чередовании можно получить нестабильно функционирующую систему.
    DRAM Command Rate
    Параметр, устанавливающий задержку поступления команд в память (CMD Rate). Контроллеры памяти DDR-интерфейса различных базовых логик (например, VIA Apollo Pro266 и KT266), как правило, имеют две разные программируемые задержки команд для адаптации режима работы с разным типом используемой памяти - 1T или 2T. В стандартном режиме работы задержка составляет 2 цикла, что означает, что команда запирается в микросхеме по второму приходящему фронту строба после отработки команды выбора кристалла (CS#). После этого отрабатываются команды активизации банка, чтения и перезаряда в отведенный им фиксированный интервал времени. Рассматриваемая дополнительная задержка применяется исключительно в случае выполнения первоначального доступа (Initial Access, также именуемый произвольным доступом), принимая во внимание то, что все подпоследовательные команды выставлены в очередь в соответствии с установленными в BIOS задержками. Поэтому задержка поступления команды дает эффект только при произвольных доступах.
    Как было указано выше, при произвольном доступе команда активизации банка запирается по второму фронту синхросигнала - именно такой механизм применяется в модулях памяти с применением микросхем-регистров - Registered DIMM, - которые уменьшают нагрузку на систему синхронизации и играют роль транзитных буферов, где происходит перераспределение адресов. Также регистры применяются для трансляции команд и их последующей передачи в микросхему памяти с задержкой в 1 такт. Тем не менее, ранее упоминавшаяся задержка 2T уже включает этот дополнительный цикл ожидания и контроллер памяти, обслуживающий Registered DIMM, не выполняет никаких фаз дополнительно вводимой задержки.
    Для небуферизированных модулей памяти (Unbuffered DIMM) контроллер снимет дополнительный такт задержки, уменьшив общую до 1 цикла, что говорит о запирании команды по следом идущему фронту тактового сигнала и экономии одного такта при каждом начальном доступе к памяти. В свою очередь, это увеличивает реальную пропускную способность в зависимости от того, насколько загружена шина памяти и сколько случайных доступов выполнено.
    Сама способность обработки команд с задержкой 1T зависит от таких факторов, как частота синхронизации шины памяти, количество микросхем на модуле памяти (чем больше микросхем, тем больше времени понадобится контроллеру, чтобы выбрать необходимую), качество используемого модуля, общее количество используемых модулей памяти в системе (прямо связано с количеством микросхем в составе одного модуля) и удаленность модуля от контроллера (протяженность сигнальных трасс от выводов контроллера до выводов микросхемы памяти с учетом количества переходов).
    SDRAM Banks Close Policy
    Контроль над операциями закрытия банков SDRAM введен специально из-за того, что микросхемы памяти с определенной логической организацией работают не совсем корректно в системах, основанных на некоторых базовых наборах. Например, контроллер памяти, находящийся в составе хаба FW82815 базового логического набора i82815, позволяет держать одновременно открытыми до четырех страниц в раздельных логических банках (для микросхемы памяти с четырехбанковой логической организацией это значит - по одной странице на каждый банк) - грубо говоря, этот механизм эквивалентен чередованию банков (Bank Interleaving). Поэтому, если произошло попадание в страницу, логика попытается выбрать альтернативную политику (проще говоря, принять определенное решение): выполнить фазу закрытия банка и всех открытых страниц или закрыть только страницу (Close Page), в которую произошел промах. Если принято решение о закрытии одной страницы, другие могут оставаться открытыми, в результате чего доступ "банк-банк" возможен лишь с дополнительной задержкой в 1 такт. В случае, если запрашиваемые данные найдены в открытой странице, доступ к ним может быть произведен немедленно (Seamlessly). Однако данные установки параметра связаны с определенным риском, поскольку в случае промаха в страницу (Page Miss), соответствующая строка будет закрыта для проведения цикла перезаряда и откроется уже по проcшествии полного установленного цикла задержек. В случае применения политики закрытия всех банков (Close All Banks) последующий доступ будет считаться холостым (бесполезным), поскольку банки нельзя закрыть до момента прихода команды начала следующего цикла. Плюс, после закрытия банка необходимо произвести его реактивизацию, на что потребуется определенное количество дополнительных тактов.
    SDRAM Speculative Read
    Параметр, разрешающий (Enable) или запрещающий (Disable) производить опережающее чтение. Это значит, что его включение позволяет выдавать сигнал разрешения записи (WE#) немного ранее, чем адрес будет декодирован (однозначно определен). Этот режим подобен "Speculative Leadoff" и снижает общие временные задержки на проведение операции чтения. Другими словами, инициализация (установка) сигнала разрешения записи происходит практически одновременно с генерацией того адреса, где находятся необходимые данные. Поэтому, если рассматриваемый параметр включен, контроллер выдаст сигнал WE# до завершения декодирования адреса считываемой ранее ячейки, несколько повышая общую производительность системы.
    SDRAM PH Limit
    Ограничение на количество попаданий в страницу банка микросхемы SDRAM. Влияние фаз регенерации на производительность увеличивается с увеличением объема микросхемы памяти (или с увеличением объема модуля памяти). Как говорилось ранее, регенерация просто необходима в силу динамической природы ядра ДОЗУ, поскольку конденсатор теряет заряд (читай, данные) через четко установленный промежуток времени. С момента открытия страницы усилители уровня могут удерживать данные только ограниченное время. Для гарантирования поддержания целостности данных, поскольку они через определенный интервал возвращаются обратно в строку, необходимо ввести ограничение на время открытия страницы. Поэтому в BIOS некоторых чипсетов (например, AMD-750) обычно присутствует соответствующий пункт меню для того, чтобы иметь возможность выбрать между 8 и 64 попаданиями в страницу до момента закрытия строки. В зависимости от количества модулей в системе и от их организации (объема используемого модуля и логической организации микросхем в составе этого модуля) экспериментально можно подобрать оптимальное значение количества попаданий в страницу. Поскольку при условии нормального функционирования существует весьма ограниченная вероятность, что следующая команда чтения попадет в ту же страницу, что и предыдущая, вероятность возникновения промаха в страницу увеличивается по экспоненциальной зависимости после каждого последовательного идущего друг за другом попадания. Если страница остается открытой, ее необходимо закрыть до прихода сигнала RAS# (до подачи очередной команды выбора строки), что является наилучшим вариантом по прошествии четко установленного количества попаданий в страницу (принудительное закрытие страницы). Кроме этого, данное обстоятельство снимает определенное количество циклов задержки, необходимых для выполнения перезаряда, от общего числа задержек, которые могут возникнуть при промахе. Поэтому для получения наилучшей производительности в ресурсоемких приложениях рекомендуется устанавливать данный параметр максимально в значение 16.
    SDRAM Idle Cycle Limit
    Интерфейс некоторых BIOS предоставляет возможность выбора ограничения на количество холостых циклов микросхемы SDRAM, определяющееся отношением длительности цикла активности банка к времени его простоя (холостому ходу). Данный параметр напрямую связан с PH Limit и обычно составляет от 0 до 8 (рекомендуется) тактов. Это означает не только задание возможного количества последовательных попаданий в одну и ту же страницу, но также и возможность запрограммировать контроллер для закрытия конкретной страницы, если в нее не намечается запросов на чтение в определенный интервал времени, измеряемый в количестве тактов системной шины.
    DRAM Drive Strength
    Параметр (еще известен как Buffer Drive Strength), управляющий распределением токовой нагрузки на выходные буферы сигнальных линий (программируемая нагрузка), путем изменения состояния соответствующего регистра управления, который содержит битовые поля с четко установленными значениями, контролируемыми через BIOS. Конечной целью является повышение быстродействия системы или стабильности функционирования подсистемы памяти и контролирования нагрузки на шине в случае нестабильной работы с большим количеством установленных модулей с максимальной нагрузкой на шину.
    Небуферизированные (Unbuffered) модули памяти SDRAM DIMM имеют конечную частоту функционирования, при которой сохраняется стабильность работы. Однако с увеличением количества микросхем в составе модуля увеличивается емкостная нагрузка на шину памяти. Это обстоятельство требует большей силы тока, чтобы поддерживать определенный уровень сигнала, поскольку типичная сигнальная линия представляется (довольно упрощенно) как RC-цепь, где при фиксированном значении сопротивления емкость является сдерживающим фактором. Таким образом, получается, что лучшей производительности и стабильности можно достигнуть меньшим количеством установленных модулей памяти - иными словами, меньшей емкостной нагрузкой на шину. С другой же стороны, это означает использование модулей с микросхемами памяти большой емкости и организации (для уменьшения нагрузки на сигнальную линию), что поддерживается далеко не всеми базовыми логиками - большинство чипсетов имеют ограничение в 16 микросхем на полную физическую строку (два физических банка). Например, модули памяти с применением микросхем-регистров (Register) и микросхем фазовой автоподстройки частоты (ФАПЧ, PLL) - Registered DIMM - с позиции рассматриваемого вопроса позволяют использовать до 36 микросхем памяти на полную строку, при этом "скрывая" реальную нагрузку на сигнальные линии, сохраняя ее значение на уровне максимально нагруженного небуферизируемого "двустрочника".
    Если данный параметр рассматривать с позиции физических терминов, то все базируется на емкостной нагрузке, фронтах импульсов и согласовании по полному сопротивлению (Zo). В результате небольших преобразований получаем зависимость полного сопротивления на заданной частоте от емкости нагрузки: Zo=U/I=1/(C*f). Поскольку полное сопротивление зависит от напряжения и тока сигнала в цепи, данной установкой BIOS можно регулировать Zo, изменяя значения U и I, оптимизируя емкостную нагрузку на сигнальную линию шины. Если увеличивать одновременно напряжение и ток, поддерживая постоянное значение сопротивления, то, понятно, увеличится и мощность, рассеиваемая в цепи. С другой стороны, если сохранять постоянным уровень напряжения, увеличивая ток в цепи, можно увеличивать полное сопротивление. Основной целью же является согласование сопротивления источника с собственным сопротивлением сигнальной линии и сопротивлением нагрузки (согласование сопротивлений). Это позволяет минимизировать отражения сигнала и перекос (идеализировать форму и длительность фронта) между активными уровнями - по-другому, улучшить целостность сигнала. Понижением уровня сигнала (для SDRAM стандартно 3.3V), уменьшается запас помехоустойчивости (Noise Margin) для высокого и низкого логических уровней. Тем не менее, наиважнейшим контролирующим фактором импеданса (полного сопротивления, Zo) является именно ток. Изменяя значение силы тока при постоянном уровне напряжения сигнала, можно контролировать полное сопротивление, а значит - управлять нагрузкой на конкретную сигнальную линию.
    Впервые управление токовой нагрузкой встречается в логических наборах серии Triton от Intel - i82430HX и i82430TX. Управляющий регистр DRAMEC (DRAM Extended Control Register), содержащийся в северном мосту этих наборов, отвечает за уровень сигнала адресных линий (MAD - Memory Address Drive Strength). Иными словами, этот 2bit регистр DDECR[2:1] программирует токовую нагрузку на выходные буферы линий адресации MAA[1:0]/MAB[1:0] и MA[11:2]/MWE# по значениям 8/12 mA для моста FW82439HX (базовый набор i82430HX) и 10/16 mA - для FW82439ТX (логика i82430TX). В некоторых базовых наборах от VIA (например, КТ133) ввели персональный расширенный 8bit регистр, который позволяет программировать выходные буфера не только адресных линий, но и других по значениям 12/24 mA. Изменяя значения силы тока по линиям данных (Memory Data Drive), команд (SDRAM Command Drive), адреса (Memory Address Drive) и стробов (CAS# Drive и RAS# Drive) можно добиться повышения скорости или стабильности функционирования подсистемы памяти.
    System BIOS Cacheable
    Параметр, разрешающий (Enable) или запрещающий (Disable) кэширование BIOS. После загрузки системы нет необходимости производить обращение к ПЗУ, поскольку все системные установки и параметры загружаются в ОЗУ, поэтому кэшировать эти данные нецелесообразно. Тем не менее, включение этого параметра приводит к появлению возможности кэширования (очень быстрого доступа к необходимым данным) области памяти по адресам системного BIOS в ОЗУ. Поскольку память, используемая в BIOS, очень медленная, то есть возможность копирования установок BIOS в специально отведенный участок (F0000h-FFFFFh) системной памяти, но это применимо лишь только в случае, если системный BIOS затенен (Shadow). Но если какая-либо программа попытается выполнить операцию записи в данные адреса, то это может привести к глобальной ошибке системы.
    Video BIOS Cacheable
    Параметр, управляющий кэшированием BIOS видеокарты, но работающий лишь в случае, если видео BIOS затенен (пункт Video BIOS Shadow в положении Enable). Разрешение этого параметра приводит к появлению возможности кэширования области памяти по адресам BIOS видеоадаптера C0000h-C7FFFh в ОЗУ аналогично "System BIOS Cacheable", только в этот раз копируются установки подсистемы видео. Если какая-либо программа попытается выполнить операцию записи в эти адреса, то система выдаст сообщение об ошибке. В данном случае рекомендации по установке рассматриваемого параметра аналогичны предыдущему пункту.
    Video RAM Cacheable
    Аналогично двум предыдущим параметрам, разрешение (Enable) этого позволят кэшировать содержимое видеопамяти в системном ОЗУ (A0000h-AFFFFh), увеличивая при этом скорость доступа к видеопамяти и несколько улучшает системную производительность.
    8 bit I/O Recovery Time
    Пункт настройки, характеризующий время восстановления после проведения операций для 8bit устройств ISA-интерфейса - так называемый механизм восстановления шины ввода/вывода (I/O Bus Recovery Mechanism). Данный параметр измеряется в тактах шины и определяет, какую задержку система будет устанавливать после выдачи запроса на чтение/запись устройства ввода/вывода. Эта задержка необходима, так как цикл чтения/записи для устройств интерфейса ISA существенно больше, чем для периферийных компонент PCI. Рекомендуемое значение этого параметра по умолчанию 1, и его следует увеличивать только в случае установки в компьютер какого-либо достаточно медленного ISA-устройства. Может принимать значения от 1 до 8 тактов и NA (по умолчанию соответствует 3.5 такта).
    16 bit I/O Recovery Time
    Параметр, характеризующий время восстановления после проведения операций для 16bit устройств ISA-интерфейса. По аналогии с предыдущим параметром, рекомендуемое устанавливаемое значение - 1. Может принимать значения от 1 до 4 тактов и NA (по умолчанию соответствует 3.5 такта).
    Memory Hole at 15M-16M
    "Дырка" в промежутке между 15-м и 16-м мегабайтами системного ОЗУ (в некоторых конфигурациях бывает 14-15). Ее разрешение (Enable или указание используемого пространства напрямую) позволяет обращаться к устройствам ввода/вывода, использующим интерфейс Legacy ISA, как к памяти, за счет чего увеличивая скорость доступа к ним, однако запрещает системе использовать отведенную область ОЗУ, резервируя ее для нужд установленной карты расширения. Поэтому включать этот параметр следует в том случае, если это требуется в документации на установленную в компьютере периферийную плату. Выключение (Disable или None) позволяет исключить для всех обычных программ возможность использования указываемой области памяти и дать системе прямой доступ к полному объему установленного системного ОЗУ.
    VGA Shared Memory Size
    В отличие от предыдущего параметра, этот характеризует резервируемую память для нужд подсистемы видео, интегрированной в сам чипсет. Унифицированная архитектура памяти (UMA - Unified Memory Architecture) является аналогом еще одного похожего стандарта - SMBA (Shared Memory Buffer Architecture). Базисная идея UMA - предоставить раздельный доступ к основной памяти в системе, исключив за счет этого необходимость в специально выделенных графических буферах, где базовая логика уступает контроль над памятью, когда интегрированный графический контроллер требует к ней доступ. Все это довольно негативно сказывается на общей производительности системы, поскольку унифицированный кадровый буфер "тормозит" общую производительность (иногда падение может доходить до 15%) относительно non-UMA версии. Теоретически, рассматриваемый механизм допускает динамическую смену размера кадрового буфера в зависимости от требований текущего запущенного приложения, однако практически невозможно выйти за рамки отведенного в BIOS Setup объема. Поэтому для определения необходимого объема с учетом требуемой разрешающей способности экрана, глубины цвета и максимально возможной гранулярности (наименьший шаг изменения) памяти (0.5MB) будет полезна следующая таблица:
    Устанавливаемый объем кадрового буфера
    Разрешение экрана Количество цветов (глубина цвета)
                                        16 (4bit) 256 (8bit) 65536 (16bit) 16.7 млн. (24bit)
    640x4800. 5 MB 0 5 MB 1.0 MB 1.0 MB
    800x6000. 5 MB 0.5 MB 1.0 MB 1.5 MB
    1024x7680. 5 MB 1.0 MB 1.5 MB 2.5 MB
    1280x1024 1.0 MB 1.5MB 2.5 MB 4.0 MB
    1600x1200 1.0 MB 2.0MB 4.0 MB 6.0 MB
    Однако стоит заметить, что изменение объема резервируемой под кадровый буфер памяти может иметь разную дискретность с шагом от 0.5MB до арифметической прогрессии (2N) и собственный "потолок", определяемые конкретной версией BIOS. Поэтому цифры в таблице являются "опорными" и возможно, что требуемый объем не удастся установить точно, в результате чего потребуется определить близкое (в ту или иную сторону) значение от необходимого.
    PCI 2.1 Support
    Параметр, определяющий поддержку спецификации шины PCI 2.1, параллельную работу которой, кроме "Passive Release" и "Delayed Transaction", характеризуют еще два механизма: Multi-Transaction Timer (MTT - таймер для нескольких транзакций, который позволяет устройствам, управляющим шиной PCI, сохранять за собой управление шиной и выполнять передачи коротких пакетов данных без повторной процедуры контроля шины, что дает возможность повысить производительность при обработке, например, видеоданных) и Enchanced Execute Recording (EER - улучшенная производительность при записи, которая достигается благодаря использованию буферов большей глубины, слиянию операций и более быстрому обновлению DRAM, в результате чего циклы записи оказывают меньшее воздействие на системную производительность, а при слиянии операций записи циклы байта, слова и двойного слова объединяются в единую операцию записи в память). Однако эти два режима в рассматриваемой спецификации включены по умолчанию и в контроле не нуждаются. Данная ревизия спецификации 2.1 расширяет поддерживаемые возможности версии 2.0: реализована возможность работы 64bit устройств PCI, кроме чего введен мостовой механизм PCI-to-PCI, позволяющий увеличивать максимальное число устанавливаемых периферийных устройств PCI- интерфейса - теперь их может быть более 4. Однако самое важное отличие - это специфический механизм Concurrent PCI. Теперь шина опирается на мультитранзакционный таймер, оптимизирующий производительность для коротких, но мощных потоков, что облегчает работу в режиме реального времени. Обмен данными по шине выполняется более эффективно. Задержки, вносимые задатчиками шины, снижаются, что облегчает эффективную одновременную работу процессора и PCI/ISA-устройств, потому как теперь каждый отдельный слот PCI носит качество управляющего (функционирует в режиме Bus Master).
    Интересными являются также два уникальных механизма, позволяющих улучшить эффективность обмена данными между PCI и другими подсистемами. Так, буфер записи процессор-PCI-интерфейс (CPU-to-PCI Write Buffer) предоставляет возможность записи до четырех слов, поставленных в очередь интерфейсу PCI, после передачи команды готовности устройством принимать данные. Обычно же процессор может выполнять исключительно прямую запись в PCI и будет простаивать в ожидании, пока устройство не возвратит ответ о подтверждении готовности приема. Иными словами, использование данного буфера позволяет значительно уменьшить количество холостых тактов (Idle Cycles) в режиме ожидания процессора.
    Режим предвыборки данных из памяти (PCI-to-DRAM Prefetch) используется во избежание повторяющихся фаз доступа в системное ОЗУ для извлечения и доставки небольших порций, которые можно предварительно выбрать из массива когерентных данных. Это значит, что данные постоянно находятся в буфере до того, как понадобятся, и могут быть доступны с минимальной задержкой.
    Выключать же параметр "PCI 2.1 Support" следует, если установленная плата не соответствует версии 2.1 и при работе дает сбои. Если все периферийные устройства, используемые в системе, используют интерфейс PCI 2.1, то данный параметр рекомендуется включить.
    Passive Release
    Пассивное освобождение. Данный режим работы является своего рода "коньком" функционирования шины PCI, начиная с версии 2.0 - это реализация ее параллельной работы, которая позволяет более эффективно выполнять передачи данных между процессором, PCI и ISA интерфейсами для повышения скорости. Допуская чередующиеся обращения к шине от процессора и других устройств управления PCI, система может продолжать обработку запросов даже тогда, когда обращение от устройства интерфейса ISA полностью захватило шину. Иными словами, рассматриваемых механизм определяет согласованность циклов EISA/ISA и обращений CPU-to-PCI (процессор-устройство PCI), что дает возможность переопределить PCI-шину и позволяет процессору получить к ней прямой доступ и захватить управление. Поэтому включение (Enable) данного режима позволит периферийным компонентам, подключенным к шинам PCI и ISA, использовать меньше системных ресурсов.
    Delayed Transaction
    Задержанная (отложенная) транзакция. Интерфейс ISA функционирует на 1/4 от частоты синхронизации шины PCI, имея поэтому гораздо большие задержки. Если устройство PCI пытается получить доступ к системной шине в момент, когда ее заняло устройство ISA-интерфейса, в этом случае устройство PCI может произвести временную запись передаваемых данных в специальный буфер, из которого позднее данные в фазе пассивного освобождения выставятся на запись в системную шину. При этом устройства управления интерфейсов могут свободно воспользоваться шиной PCI, а передача данных на шину ISA может быть завершена позднее. Данный механизм чрезвычайно актуален, поскольку, например, цикл такого обращения устройства 8bit интерфейса ISA занимает около 50-60 тактов шины PCI. Поэтому задержанная транзакция позволяет более эффективно использовать шины PCI и ISA, что должно привести к более гладкой работе периферийных компонентов ISA- интерфейса и дать возможность одновременного доступа к устройствам на шинах ISA и PCI. Включение (Enable) этого параметра заметно облегчает согласованность данных интерфейсов, применяя 32bit буфер для поддержки увеличения временного цикла обмена на шине PCI. Однако, если в системе периферийная карта ISA- интерфейса не установлена, данный параметр рекомендуется выключить (Disable).
    PCI Latency Timer
    Таймер задержки на шине PCI. Каждый слот расширения, компонент интерфейса PCI имеет четко определенное количество тактов для получения непрерывного доступа к системной шине. С момента его получения каждый доступ сопрягается с начальной задержкой (пенальти), а соотношение между количеством холостых циклов и активных улучшается с увеличением циклов задержки шины (PCI Latency). В общем случае, допустимый диапазон значений задержек лежит в пределах от 0 до 255 с шагом, кратным 8. В случае присутствия в системе интерфейса ISA, задержка PCI не может быть увеличена более чем до 64 тактов. Увеличение задержки с 64 до 128 циклов системной шины должно увеличивать системную производительность на 15% (производительность также увеличивается, если увеличить задержку с 32 до 64 циклов).
    AGP 2X Mode
    Спецификация ускоренного графического порта (Accelerated Graphics Port) в своей основе содержит общие команды управления PCI с разницей в использовании возможности проведения прямых операций в памяти (DiME или DME - Direct (in) Memory Execute), наличия порта адресации (SBA - SideBand Addressing) и использования режима сквозной записи в системное ОЗУ (Fast Write).
    Используя режим DiME, видеоадаптеры на основе шины AGP могут функционировать в двух режимах. В режиме DMA контролер ведет себя как обычное видеоустройство PCI, используя только собственную локальную память для хранения текстур и выполнения операций - режим функционирования DiME отключен. В случае использования режима Execute контроллер "унифицирует" часть системной памяти (именно этот объем указывается в параметре "AGP Aperture Memory Size") для хранения текстур, используя специфическую схему переадресации (GART - Graphic Address Remapping Table), динамически переназначая 4KB-страницы. Некоторые производители видеоконтроллеров не вводят поддержку режима DiME (AGP- текстурирование), используя интерфейс AGP только для совместимости, а реализуя лишь режим DMA. По сути дела, такой акселератор работает как обычный PCI- видеоадаптер лишь с "механической" разницей - частота функционирования увеличена в два раза: 66MHz у AGP против 33MHz у PCI.
    Специфический порт адресации SBA дает возможность, используя фронт и срез синхросигнала, увеличивать результирующую (ее еще называют "эффективной") частоту шины AGP, не увеличивая при этом задающей (опорной) - 66MHz. AGP транзакции (пакет, в пределах которого несколько операций выполняются, как единое целое) используются только в режиме управления шиной (Bus Mastering) - в то время как обычная PCI транзакция в лучшем случае может передавать четыре 32bit слова за 5 тактов (так как передается адрес по линиям адреса/данных для каждого пакета из четырех слов), транзакция AGP может использовать Sideband для передачи адреса небольшими частями одновременно с данными. Во время передачи пакета из четырех слов передаются четыре части адреса для следующего пакетного цикла. По завершении цикла адрес и информация запроса для следующего пакета уже переданы, поэтому следующий пакет из четырех слов может стартовать немедленно. Таким образом, по AGP можно передать четыре слова за 4 цикла шины, а не за пять, необходимых для PCI, что, с учетом 66MHz частоты синхронизации, в идеале дает пиковую пропускную способность 264MBps.
    Для более быстрой передачи информации процессор сначала записывает данные в системную память, а графический контроллер делает их выборку. Однако в случае передачи большого объема данных, пропускной способности системной памяти может не хватить, для чего внесен сквозной режим передачи - Fast Writes. Он позволяет процессору напрямую, не обращаясь к системной памяти, передавать данные графическому контроллеру, что, безусловно, достаточно ощутимо может поднять производительность графической подсистемы и снять часть нагрузки с основной подсистемы памяти ПК. Тем не менее, данный режим поддерживается не всеми системными логиками - состояния статусных регистров отдельных чипсетов запрещают на самом низком уровне его использование. Так, режим сквозной записи на данный момент реализован в некоторых чипсетах от Intel (серия i820, i840, i850 и i845x) и VIA (Apollo 133A, KX133, KT133 и все последующие). Системные логики i440хX, i810, i815, AMD-750, AMD-760 и AMD-760MPx данный режим не поддерживают.
    Режим AGP 2X позволяет включать/выключать (Enable/Disable) удвоенный протокол передачи данных по интерфейсу AGP. Как уже говорилось, передача данных в спецификации AGP 1X осуществляется по фронту синхросигнала, используя 66MHz тактовый сигнал, обеспечивая в пике пропускную способность в 264MBps. Включение режима AGP 2X Mode удваивает пропускную способность при помощи передачи данных по фронту и срезу синхросигнала до теоретического "потолка" в 528MBps. При этом, понятно, обязательна поддержка спецификации AGP2X как базовой логикой, так и графическим контроллером. Выключение данного режима рекомендуется, если наблюдается нестабильная работа системы или планируется разгон (не учитывается для базовых логик с асинхронным интерфейсом AGP - например, серии i850 и i845x).
    AGP Aperture Memory Size
    Гипотетическое преимущество интерфейса AGP относительно PCI, если не учитывать схему синхронизации, состоит в том, что он позволяет использовать системное ОЗУ как часть унифицированной архитектуры (UMA - Unified Memory Architecture) для хранения данных, применяя ранее упоминавшийся режим DiME. Графический адаптер может получать доступ к данным и работать с ними прямо в системной памяти, минуя собственную локальную память. Эта особенность требует отведения четко заданного объема системного ОЗУ для использования под операции с графическими данными. По мере увеличения объема локальной видеопамяти графического контроллера, данная особенность резервирования части системной памяти, понятно, теряет собственную релевантность, в результате чего существует несколько рекомендаций по использованию объема отводимого участка основной памяти.
    Вообще, апертура является частью диапазона адресного пространства системного ОЗУ, отведенного под графическую память. Ведущие циклы, подпадающие под этот диапазон апертуры, пересылаются к интерфейсу AGP без необходимости трансляции. Размер апертуры AGP определяется, как максимально используемая AGP память, умноженная на два (х2), плюс 12MB - это значит, что размер используемой памяти AGP составляет менее половины размера апертуры AGP. Данное обстоятельство объясняется тем, что система требует не кэшированную память AGP, плюс аналогичную по объему область памяти для комбинированной записи и дополнительные 12MB для виртуальной адресации. Физическая память освобождается по необходимости только когда API (программный слой) делает соответствующий запрос создания нелокальной поверхности (Create Non-local Surface). Операционные системы Windows 9х, например, используют эффект "водопада" (Waterfall Effect), когда поверхности сначала создаются в локальной памяти, а в случае ее заполнения, процесс создания поверхности передается в AGP память, а затем - в системную. Таким образом, использование ОЗУ автоматически оптимизируется для каждого приложения, где AGP- и системная память не используются без абсолютно крайней необходимости.
    Однозначно дать схему определения оптимального размера апертуры очень сложно. Тем не менее, оптимум резервирования истемного ОЗУ может определяться следующей формулой: общий объем системного ОЗУ/(объем видео ОЗУ/2). Например, для видеоадаптера с 16MB видеопамяти в ПК со 128MB системного ОЗУ апертура AGP составит 128/(16/2)=16MB, а для видеоадаптера с 64MB видеопамяти в ПК с 256MB системного ОЗУ - 256/(64/2)=8MB. Данное решение является своего рода аппроксимацией - реально в любом случае рекомендуется отводить под апертуру не менее 16MB. Необходимо также помнить, что размер апертуры (по схеме 2N, или выбор между 32/64 MB) прямо не соответствует получаемой в результате производительности, поэтому увеличивая его до огромных пропорций, производительность не улучшиться. В настоящее время, при среднем объеме системного ОЗУ 128-256MB, практическим правилом считается иметь размер апертуры AGP от 64MB до 128MB. Превышая 128MB "барьер", производительность не ухудшается, но все равно лучше придерживаться "стандартных" 64-128 MB, чтобы размер таблицы GART не был слишком большой.
    Другой "лобовой" рекомендацией, являющейся скорее результатом множественных практических экспериментов, может быть отведение под AGP Aperture Memory Size половины объема системного ОЗУ с учетом возможности BIOS: 8/16/32/64/128/256 MB (схема с шагом 2N) или выбор между 32/64 MB. Однако в системах с небольшим (до 64MB) и с большим (от 256 и более) объемом ОЗУ данное правило не всегда работает (сказывается эффективность), кроме чего, как говорилось ранее, надо еще и учитывать объем локального ОЗУ самой видеокарты. Поэтому рекомендации в данном контексте можно представить в виде следующей таблицы с учетом возможности BIOS:
    Зависимость размера апертуры от объема системного ОЗУ
    Объем системного ОЗУ AGP Aperture Size : Объем системного ОЗУ AGP Aperture Size
    16MB 8/16 MB : 128MB 64MB
    32MB 16/32 MB : 256MB 64/128 MB
    64MB 32MB : 512MB 128MB

    Spread Spectrum Modulated
    Генератор синхросигналов (Clock Synthesizer/Driver) является источником пульсаций, предельные величины которых образуют электромагнитную интерференцию (EMI - ElectroMagnetic Interference) - электромагнитное излучение (помехи), проникающее за пределы среды передачи, главным образом за счет использования высоких частот для несущей и модуляции. В основе эффекта EMI лежит сложение двух или более частот, в результате чего спектр сигнала приобретает сложный характер. Спектральная модуляция тактового импульса (SSM, по-другому SSC - Spread Spectrum Clock) позволяет равномерно распределить ничтожно малые значения общего фона электромагнитного излучения, исходящего от любого функционирующего компонента системы, по всему частотному спектру синхроимпульса. Иными словами, SSM позволяет "скрыть" высокочастотные помехи на фоне полезного сигнала путем внесения в его спектр еще одного дополнительного сигнала, функционирующего в частотном диапазоне нескольких десятков килогерц (такого рода процесс и называется модуляцией).
    Механизм SSM предназначается для уменьшения интерференции гармоник высших типов частоты функционирования шины. Теория сигналов говорит о том, что любая форма волны порождает высшие типы гармонических колебаний, которые аккумулируясь впоследствии могут стать помехой для основного сигнала. Одним из путей обхода данной проблемы является воздействие на основной сигнал определенной частоты модулирующих колебаний гораздо более низкой, что является результатом вариаций ±1% от номинального значения задающей. Обычно реализация SSM сводится к использованию двух разных значений, номинальная частота для которых является опорной, или установка основной частоты как максимума (низкопрофильная модуляция) - чаще к опорной. В действительности же существует масса причин и методов.
    В основе стоит факт, что с увеличением частоты функционирования электронные компоненты излучают электромагнитные помехи, которые, в свою очередь, могут стать причиной интерференции сигналов других устройств. Поскольку любое устройство, которое превышает предел допустимых значений влияний сторонних сигналов, не проходит сертификацию федеральной комиссии по связи (FCC - Federal Communication Committee), важно понять методы определения уровня EMI. Для начала тестируемое устройство вводят в режим радиоприемника и определяют диапазон частоты приема в широком спектре с измерением интерференция с видео и аудио сигналами. Чувствительность полосы пропускания тестируемого устройства определяется в порядке 1MHz. Если основная рабочая частота модулируется, расширяя полосу пропускания на более чем типичные 4-5 MHz, спектр электромагнитной интерференции изменяется: вместо острых резких пиков (обычная форма проявления EMI) появляются так называемые "гауссовы колокола" (форма сигнала, сверху ограниченная кривой, описываемой гауссовым распределением), в результате чего результирующая амплитуда сигнала становится значительно меньше (1/3-1/4 от размера оригинального пика EMI). Однако, несмотря на это, энергетика остается постоянной. Поскольку ширина импульса становится больше, а закон сохранения энергии должен выполняться, амплитуда этого сигнала будет меньше.
    Разрешение (Enable) модуляции спектра может уменьшить уровень ЭМИ, вызванный скоплением близкорасположенных компонентов, функционирующих на высоких частотах, и улучшить стабильность работы. В случаях использования внештатных условий ("разгон"), включение SSM может привести к нестабильной работе системы из-за того, что с большим значением коэффициента умножения, применяющегося в настоящее время, ±0.5% модуляции могут стать причиной разницы настолько, насколько, скажем, 10MHz для одного цикла модуляции. Иными словами, если процессор функционирует на предельной частоте, ее увеличение еще на 10MHz может стать фатальным, поэтому при работе системы во внештатных условиях функционирования (Overclocking) SSM настоятельно не рекомендуется использовать (Disable).
    Autodetect DIMM/PCI Clk
    В течение нормального функционирования системы синхросигналы от формирователя передаются через все слоты расширения интерфейсов памяти и PCI. Каждый отдельный слот и его выводы имеют собственные индуктивность, полное сопротивление и емкость, приводящие к ослаблению и затуханию синхросигнала. В добавление к этому сторонние сигналы являются источником EMF (Electric Motion Force, ЭДС) и EMI. Рассматриваемый параметр помогает автоматически определять и настраивать частоту функционирования модулей памяти и адаптеров интерфейса PCI. Его включение (Enable) позволяет уменьшить влияние электромагнитной интерференции на устанавливаемые в систему компоненты, что, в свою очередь, повышает общую стабильность работы всей системы в целом.
     +++++++++++++
    Резюме
    Итак, ясно одно: однозначно высокоскоростную и чрезвычайно надежную систему можно получить, используя только достаточно качественную память. Это значит, что на данный момент современная память, если она, например, SDRAM, должна жестко удовлетворять все техническим требованиям, выдвигаемым, как минимум, в рамках спецификации РС100. Приобретая память, отвечающую требованиям РС133, Вы получаете дополнительную гарантию, что те параметры, которые описывались ранее, можно смело установить в рекомендуемый минимум (максимум) и получить максимально быструю и одновременно надежную систему. Саму степень "способности к разгону" и отказоустойчивости каждый модуль памяти, равно как и системная (материнская) плата, определяет по-своему. Именно поэтому четкой рекомендации относительно устанавливаемых параметров дать практически нереально. Но, с другой стороны, есть уже готовая схема настройки, придерживаясь которой можно, затратив некоторое время, создать собственную систему, обеспечивающую максимальные показатели производительности и гарантированного функционирования. На вопрос, как поведет себя модуль памяти, да и система в целом, с установленными в BIOS настройками, однозначно может ответить только конкретная ОС и специализированные тестовые пакеты, которые в состоянии достаточно сильно нагрузить подсистему памяти, тщательно ее проверить и указать на возможные сбои или ошибки. Иными словами, только знание и понимание всех описанных ранее параметров, а также терпение и время позволят добиться желаемого результата в достижении заветной цели любого пользователя ПК: собрать максимально быструю и отказоустойчивую систему - идеал соотношения "качество/ производительность".


    Q.После установки модема (WinModem, PCI) при загрузке компьютера выдается сообщение "Checking NVRAM: Update Failed" (материнка Gigabyte 7ZXE)?
    A.Если BIOS находит новое Plug&Play-устройство, он обновляет область данных, в которой хранится конфигурационная информация (ESCD — Extended System Configuration Data). Эта область данных располагается на flash-микросхеме — там же, где и BIOS. Фирма AMI называет флеш- память "NVRAM" (Non-Volatile Memory). Запись в нее может быть запрещена в BIOS (Flash Protect, BIOS Write Protect), поставлена перемычка или, в худшем случае, микросхема может быть повреждена.


    Q. В Ami Bios опция PME Event Wake Up function. Какую функцию она выполняет?
    A.Это настройка "пробуждения" компьютера из одного из S-режимов (режимов "сна") по сигналу от различных прерываний. Можно настроить отслеживание активности мыши, клавиатуры, таймера, и т.д.


    Поддержка Tualatin Добавление поддержки Tualatin в Award BIOS.
    Подробности распаковки и запаковки прошивки уже были изложены в статье «Редактируем Award BIOS». Поэтому разговор будет вестись лишь о редактировании конкретно original.tmp.
     Главные отличия инициализации Tualatin от Coppermine/Mendocino:
    - другой CPUID: 6Bx
    - другая «таблица» коэффициентов (точнее – даже две)
     Итак, что предстоит сделать:
    - добавить определение CPUID 6Bx (и вывод соответствующего названия)
    - добавить определение «туалатиновского» коэффициента умножения
    - добавить «туалатиновские» микрокоды (6B0, 6B1)
    В идеальном случае это всё. Дополнительно может понадобиться (в основном на платах, изначально не поддерживающих Coppermine или «крайне» брэндовых, типа MSI, Asus сотоварищи):
    - исправить (исключить) неправильную инициализацию L2-кэша
    - исправить неправильное отображение названия/частоты процессора из-за старого алгоритма вывода на экран
    ++
     Как будем добавлять?
     Понятно, что изменять размер original.tmp нельзя. Как же (куда) добавить «свою» подпрограмму? А просто – в original.tmp есть достаточно много пустого места, куда и можно вставить свои подпрограммы. Например, в конце первого сегмента (адреса ~F800-FA00 - FFFF), как правило, всегда есть 1-2kB неиспользуемого, непрерывно пустого пространства. Этого нам вполне хватит.

     
    У меня есть «универсальная» подпрограммка (точнее, «сборка»), в ней реализованы:
    - детект коэффициента (с таблицами коэффициентов)
    - детект имени (с самими именами)
    - таблица степпингов (для брэндовских матерей)

     
    Копируем её (с помощью любого hex-редактора) по адресу FC00 (именно на этот «стартовый» адрес она рассчитана, хотя чуть подредактировав, можно вставить её и по другому адресу).
    Если вы уже скопировали её в original.tmp по FC00, то по адресу:
    FF00 – определение имени процессора (FC00 – начало таблицы названий процессоров)
    FDF0 – определение коэффициента (FD80-FDEF – таблица коэффициентов)
    скопирована именно
    FFB0 – таблица степпингов (нужна лишь для брэндовых/старых матерей)
    Примечание:
    В сборке реализована инициализация сразу всех процессоров (в том числе частично – VIA/Cyrix III), т.к. делать лишь «добавку» туалатина очень неудобно. Код подпрограмм в сборке не до конца оптимизирован, т.к. находится в постоянном процессе переработки. Однако, главное - он точно рабочий, а кто хочет что-то изменить-добавить, может использовать исходники.

     
    Вариант 1. Правка биоса для «новых» плат (в основном – «безродных», т.е. не «брэндов»). Рассмотрим на примере прошивки PCPartner i440BX модели p930 (маркировка 35(C)-8930-xx), биос ver. “BIOS-I-2M (2K001120)”, 11/20/ 2000.

     
     
    1. Добавление CPUID.

     
    Ищем строчку “GenuntelineI” (можно лишь по “Genu”).

     
    00003540: 32 80 E4 F7-0F 30 66 61-C3 75 35 47-65 6E 75 6E 2Афў00fa+u5Genun

     
    00003550: 74 65 6C 69-6E 65 49 C1-35 43 79 72-69 74 65 61 telineI+5Cyritea

     
    00003560: 64 78 49 6E-73 CE 35 43-65 6E 74 61-75 6C 73 61 dxIns+5Centaulsa

     
    00003570: 75 72 48 FF-FF 24 F0 3C-60 74 2D 66-B9 1E 01 00 urH $Ё<`t-f¦^O

     
     
    Два байта сразу перед ней – смещение начала подпрограммы определения процессора (для старых/брэндовских плат – это таблица степпингов, но этот случай рассмотрим позже). Переходим по этому адресу – 3575 («наоборот», т.к. это “word”):

     
    00003575: 24F0 and al,0F0 ;"Ё"

     
    ;это и есть подпрограмма определения CPU:

     
    00003577: 3C60 cmp al,060 ;"`"

     
    00003579: 742D je 0000035A8 -------- (4)

     
    0000357B: 66B91E010000 mov ecx,00000011E ;" O^"

     
    00003581: 0F32 rdmsr

     
    00003583: 662500008000 and eax,000800000 ;" А "

     
    00003589: 751D jne 0000035A8 -------- (5)

     
    0000358B: 66B801000000 mov eax,000000001 ;" O"

     
    00003591: 0FA2 cpuid

     
    00003593: 3C6A cmp al,06A ;"j"

     
    00003595: 7505 jne 00000359C -------- (6)

     
    00003597: BEBD8F mov si,08FBD ;"П-"

     
    0000359A: EB1D jmps 0000035B9 -------- (7)

     
    0000359C: 3C80 cmp al,080 ;"А"

     
    0000359E: 720D jb 0000035AD -------- (8)

     
    000035A0: 0ADB or bl,bl

     
    000035A2: 7409 je 0000035AD -------- (9)

     
    000035A4: FECB dec bl

     
    000035A6: 7509 jne 0000035B1 -------- (A)

     
    000035A8: BEAB8F mov si,08FAB ;"Пл"

     
    000035AB: EB0C jmps 0000035B9 -------- (B)

     
    000035AD: 3C70 cmp al,070 ;"p"

     
    000035AF: 7205 jb 0000035B6 -------- (C)

     
    000035B1: BE888F mov si,08F88 ;"ПИ"

     
    000035B4: EB03 jmps 0000035B9 -------- (D)

     
    000035B6: BE9A8F mov si,08F9A ;"ПЪ"

     
    ;На выходе подпрограммы определения процессора – смещение строчки его имени:

     
    000035B9: 89B62D02 mov [bp][0022D],si

     
    000035BD: E877FF call 000003537 -------- (E)

     
    000035C0: C3 retn

     
    Это и есть подпрограмма определения процессора. Меняем её на свою (по смещению FF00):

     
    00003575: E888C9 call 00000FF00

     
    00003578: E93E00 jmp 0000035B9

     
    ; этот код в результате просто пропускается:

     
    0000357B: 66B91E010000 mov ecx,00000011E ;" O^"

     
    00003581: 0F32 rdmsr

     

     
    000035B4: EB03 jmps 0000035B9

     
    000035B6: BE9A8F mov si,08F9A ;"ПЪ"

     
     
     
    ; делаем jmp сюда, чтобы полученное нашей подпрограммой смещение (si) имени процессора было занесено в память:

     
    000035B9: 89B62D02 mov [bp][0022D],si ; <--------

     
    000035BD: E877FF call 000003537

     
    000035C0: C3 retn

     
     
    2. Вычисляем коэффициент.

     
    Таблица коэффициентов всегда начинается «мендочинистыми», поэтому очень просто её найти по “0A 06 08 04” (hex):

     
    00003610: 04 C3 8B C0-0A 06 08 04-0B 07 09 05-07 0E 10 0C ¦+ЛL0¦•¦>•0¦•d>+

     
    00003620: 04 0F 03 0D-12 16 18 04-13 17 11 05-07 0E 10 14 ¦0¦d¦-^¦!¦<¦•d>¶

     
    00003630: 04 0F 03 15-00 06 08 0A-05 07 09 0B-0C 0E 0D 0F ¦0¦§ ¦•0¦•0>+dd0

     
    00003640: 0D 0F 00 00-0A 06 08 06-0B 07 09 06-0A 0E 10 0C d0 0¦•¦>•0¦0d>+

     
    00003650: 06 0F 06 0D-0A 06 08 14-0B 07 09 16-12 0E 10 0C ¦0¦d0¦•¶>•0-¦d>+

     
    00003660: 18 0F 1A 0D-E8 3E 5A 75-1A B1 C3 E8-89 07 0C 40 ^0>dш>Zu>-+шЙ•+@

     
     
    Опять же по клавише F6 в hiew находим, где загружается адрес 3614h (коэффициенты для Mendocino):

     
    00003699: B85436 mov ax,03654 ;"6T"

     
    0000369C: 80BE310270 cmp b,[bp][00231],070 ;"p"

     
    000036A1: 7403 je 0000036A6 -------- (9)

     
    000036A3: B84436 mov ax,03644 ;"6D"

     
    000036A6: 03F0 add si,ax

     
    000036A8: EB0F jmps 0000036B9 -------- (A)

     
    000036AA: E80D00 call 0000036BA -------- (B)

     
    000036AD: 7206 jb 0000036B5 -------- (C)

     
    000036AF: 81C62436 add si,03624 ;"6$"

     
    000036B3: EB04 jmps 0000036B9 -------- (D)

     
    000036B5: 81C61436 add si,03614 ;"6¶" <------------- koef Mendocino

     
    000036B9: C3 retn

     
     
    Находим начало этой подпрограммы:

     
    0000363B: 0B0C or cx,[si]

     
    0000363D: 0E push cs

     
    0000363E: 0D0F0D or ax,00D0F ;"d0"

     
    00003641: 0F0000 sldt [bx][si]

     
    00003644: 0A060806 or al,[00608]

     
    00003648: 0B07 or ax,[bx]

     
    0000364A: 09060A0E or [00E0A],ax

     
    0000364E: 100C adc [si],cl

     
    00003650: 06 push es

     
    00003651: 0F06 clts

     
    00003653: 0D0A06 or ax,0060A ;"¦0"

     
    00003656: 0814 or [si],dl

     
    00003658: 0B07 or ax,[bx]

     
    0000365A: 0916120E or [00E12],dx

     
    0000365E: 100C adc [si],cl

     
    00003660: 180F sbb [bx],cl

     
    00003662: 1A0D sbb cl,[di]

     
    ; всё выше – явный бред, в смысле – данные, а не код.

     
    ; А вот дальше и есть подпрограмма определения коэффициента

     
    ; убедиться в том, что это и есть точка входа можно, опять же, по F6 – подпрограмма должна где-нибудь вызываться

     
    00003664: E83E5A call 0000090A5 -------- (1) ; проверка на Cyrix-ность :)

     
    00003667: 751A jne 000003683 -------- (2)

     
    00003669: B1C3 mov cl,0C3 ;"+"

     
    0000366B: E88907 call 000003DF7 -------- (3)

     
    0000366E: 0C40 or al,040 ;"@"

     
    00003670: E87707 call 000003DEA -------- (4)

     
    00003673: B148 mov cl,048 ;"H"

     
    00003675: E87F07 call 000003DF7 -------- (5)

     
    00003678: 83E00F and ax,00F ;"0"

     
    0000367B: 8BF0 mov si,ax

     
    0000367D: 81C63436 add si,03634 ;"64"

     
    00003681: EB36 jmps 0000036B9 -------- (6)

     
    ; нет – «нормальный» процессор

     
    00003683: 66B92A000000 mov ecx,00000002A ;" *"

     
    00003689: 0F32 rdmsr

     
    ; считываем MSR_2Ah

     
    0000368B: 66C1E816 shr eax,016 ;"-"

     
    0000368F: 83E00F and ax,00F ;"0"

     
    ; MSR_2Ah[22-26] – 4 бита коэффициента

     
    00003692: 8BF0 mov si,ax

     
    00003694: E8F959 call 000009090 -------- (7)

     
    ; проверка на другую цыриксность ;)

     
    00003697: 7511 jne 0000036AA -------- (8)

     
    00003699: B85436 mov ax,03654 ;"6T"

     
    0000369C: 80BE310270 cmp b,[bp][00231],070 ;"p"

     
    000036A1: 7403 je 0000036A6 -------- (9)

     
    000036A3: B84436 mov ax,03644 ;"6D"

     
    000036A6: 03F0 add si,ax

     
    000036A8: EB0F jmps 0000036B9 -------- (A)

     
    ; опять – «нормальный» процессор :)

     
    000036AA: E80D00 call 0000036BA -------- (B)

     
    ; проверка копер-некоппер

     
    000036AD: 7206 jb 0000036B5 -------- (C)

     
    000036AF: 81C62436 add si,03624 ;"6$"

     
    000036B3: EB04 jmps 0000036B9 -------- (D)

     
    000036B5: 81C61436 add si,03614 ;"6¶"

     
    000036B9: C3 retn

     
     
    На выходе – лишь смещение строки коэффициентов процессора. Поэтому просто заменяем всю эту подпрограмму на нашу:

     
    00003660: 180F sbb [bx],cl

     
    00003662: 1A0D sbb cl,[di]

     
    00003664: E889C7 jmp 00000FDF0

     
    00003667: 751A jne 000003683

     
    00003669: B1C3 mov cl,0C3 ;"+"

     
    ………

     
     
     
    3. Добавление микрокодов.

     
    Ничего особенного – подробно расписано на iXBT. Могу лишь предупредить – обязательно проверяйте прошивку после добавления микрокодов с помощью открытия её в modbin-е. Ежели матернётся – что-то сделали не так.
    Примечание: некоторые версии cbrom некорректно перепаковывают прошивки – например, cbrom ver.2.15 неправильно работает с большинством старых биосов (хотя всё показывает без проблем), поэтому в таком случае пользуйтесь ver. 2.07).

     
    Вариант 2. Правим «брэнд» - i440BX/MSI-6163 ver.3.10 (10/11/2000).

     
    1. Добавление CPUID.

     
    Ищем строчку “GenuntelineI” (можно лишь по “Genu”).

     
    00003E40: 5D CF 52 3E-47 65 6E 75-6E 74 65 6C-69 6E 65 49 ]¦R>GenuntelineI

     
    00003E50: FF FF 10 06-D1 10 10 16-D1 10 30 16-D1 10 30 06 >¦T>>-T>0-T>0¦

     
    00003E60: D1 10 50 06-D1 10 60 06-D1 10 70 06-D1 10 80 06 T>P¦T>`¦T>p¦T>А¦

     
    00003E70: D1 10 FF FF-2E 8B C0 2E-8B C0 2E 8B-C0 2E 8B C0 T> .ЛL.ЛL.ЛL.ЛL

     
     
    По смещению 3E52h находится таблица поддерживаемых степпингов (такой способ инициализации остался в наследство от старых P1):

     
    00003E40: 5D CF 52 3E-47 65 6E 75-6E 74 65 6C-69 6E 65 49 ]¦R>GenuntelineI

     
    00003E50: FF FF 10 06-D1 10 10 16-D1 10 30 16-D1 10 30 06 >¦T>>-T>0-T>0¦

     
    00003E60: D1 10 50 06-D1 10 60 06-D1 10 70 06-D1 10 80 06 T>P¦T>`¦T>p¦T>А¦

     
    00003E70: D1 10 FF FF-2E 8B C0 2E-8B C0 2E 8B-C0 2E 8B C0 T> .ЛL.ЛL.ЛL.ЛL

     
     
    На каждый степпинг – четыре байта: два на «маску» и два на никому не нужные его характеристики, оставшиеся, вообще, ещё от 386-х (т.е. есть ли сопроцессор и прочая ерунды, не используемая в коде биоса), соответственно – это всегда будет D1 10.

     
    Переделываем ссылку на наши степпинги:

     
    00003E40: 5D CF FF B0-47 65 6E 75-6E 74 65 6C-69 6E 65 49 ]¦ -GenuntelineI

     
    00003E50: FF FF 10 06-D1 10 10 16-D1 10 30 16-D1 10 30 06 >¦T>>-T>0-T>0¦

     
    00003E60: D1 10 50 06-D1 10 60 06-D1 10 70 06-D1 10 80 06 T>P¦T>`¦T>p¦T>А¦

     
    00003E70: D1 10 FF FF-2E 8B C0 2E-8B C0 2E 8B-C0 2E 8B C0 T> .ЛL.ЛL.ЛL.ЛL

     
     
    Чтоб найти подпрограмму определения процессора, делаем поиск, например, по “Celeron”:

     
    00007BA0: 7B AE 7B AE-7B DD 7B AE-7B AF 7B AF-7B 00 00 43 {о{о{¦{о{п{п{ C

     
    00007BB0: 79 72 69 78-20 4D 65 64-69 61 47 58-20 57 69 74 yrix MediaGX Wit

     
    00007BC0: 68 20 4D 4D-58 00 49 20-58 45 4F 4E-28 74 6D 29 h MMX I XEON(tm)

     
    00007BD0: 00 50 45 4E-54 49 55 4D-20 49 49 49-00 50 45 4E PENTIUM III PEN

     
    00007BE0: 54 49 55 4D-20 49 49 00-49 4E 54 45-4C 28 52 29 TIUM II INTEL(R)

     
    00007BF0: 20 43 45 4C-45 52 4F 4E-28 54 4D 29-00 4D 6F 62 CELERON(TM) Mob

     
    00007C00: 69 6C 65 20-50 65 6E 74-69 75 6D 20-49 49 00 50 ile Pentium II P

     
    00007C10: 45 4E 54 49-55 4D 20 50-52 4F 00 00-00 55 6E 6B ENTIUM PRO Unk

     
    00007C20: 6E 6F 77 6E-00 66 60 50-E8 76 00 3C-30 58 73 1F nown f`Pшv <0XsЎ

     
     
    Мы нашли таблицу имён процессоров, выбираем какое-нибудь из них для поиска, где загружается смещение имени. Я обычно ищу по “Mobile”:

     
    ...

     
    00007B0D: BEFD7B mov si,07BFD ; <------ загрузка смещения “Mobile”

     
    00007B10: EB19 jmps 000007B2B -------- (5)

     
    00007B12: 24F0 and al,0F0 ;"Ё"

     
    00007B14: 3C60 cmp al,060 ;"`"

     
    00007B16: 7410 je 000007B28 -------- (6)

     

     
    Находим начало подпрограммы (будет после ret предыдущей)

     
    00007AE8: C22C3D retn 03D2C ;"=,"

     
    00007AEB: C3 retn

     
    ; начало подпрограммы определения процессора

     
    00007AEC: 8A463D mov al,[bp][0003D]

     
    00007AEF: 247E and al,07E ;"~"

     
    00007AF1: 3C58 cmp al,058 ;"X"

     
    00007AF3: BE1D7C mov si,07C1D ;"|-"

     
    00007AF6: 7708 ja 000007B00 -------- (1)

     
    00007AF8: 0FB6F0 movzx si,al

     
    00007AFB: 2E8BB4557B mov si,cs:[si][07B55]

     
    00007B00: 81FEDD7B cmp si,07BDD ;"{¦"

     
    00007B04: 754E jne 000007B54 -------- (2)

     
    00007B06: E89801 call 000007CA1 -------- (3)

     
    00007B09: 3C6A cmp al,06A ;"j"

     
    00007B0B: 7505 jne 000007B12 -------- (4)

     
    00007B0D: BEFD7B mov si,07BFD ; <------ загрузка смещения “Mobile”

     
    00007B10: EB19 jmps 000007B2B -------- (5)

     
    00007B12: 24F0 and al,0F0 ;"Ё"

     
    00007B14: 3C60 cmp al,060 ;"`"

     
    00007B16: 7410 je 000007B28 -------- (6)

     
    00007B18: 66B91E010000 mov ecx,00000011E ;" O^"

     
    00007B1E: 0F32 rdmsr

     
    00007B20: 662500008000 and eax,000800000 ;" А "

     
    00007B26: 7403 je 000007B2B -------- (7)

     
    00007B28: BEE87B mov si,07BE8 ;"{ш"

     
    00007B2B: 66B801000000 mov eax,000000001 ;" O"

     
    00007B31: 0FA2 cpuid

     
    00007B33: 3C80 cmp al,080 ;"А"

     
    00007B35: 720D jb 000007B44 -------- (8)

     
    00007B37: 0ADB or bl,bl

     
    00007B39: 7409 je 000007B44 -------- (9)

     
    00007B3B: BEE87B mov si,07BE8 ;"{ш"

     
    00007B3E: FECB dec bl

     
    00007B40: 7412 je 000007B54 -------- (A)

     
    00007B42: EB04 jmps 000007B48 -------- (B)

     
    00007B44: 3C70 cmp al,070 ;"p"

     
    00007B46: 7205 jb 000007B4D -------- (C)

     
    00007B48: BED17B mov si,07BD1 ;"{T"

     
    00007B4B: EB07 jmps 000007B54 -------- (D)

     
    00007B4D: 3C30 cmp al,030 ;"0"

     
    00007B4F: 7303 jae 000007B54 -------- (E)

     
    00007B51: BE0F7C mov si,07C0F ;"|0"

     
    00007B54: C3 retn

     
     
    В подпрограмме выходной параметр лишь “si” процессора, так что просто заменяем на нашу:

     
    00007AE8: C22C3D retn 03D2C ;"=,"

     
    00007AEB: C3 retn

     
    00007AEC: E91184 jmp 00000FF00

     
    00007AEF: 247E and al,07E ;"~"

     
    00007AF1: 3C58 cmp al,058 ;"X"

     

     
    2. Вычисляем коэффициент.

     
    Ищем начало коэффициентов по “0A 06 08 04” (hex):

     
    00003F90: 0A 06 08 04-0B 07 09 05-07 0E 10 0C-04 0F 03 0D 0¦•¦>•0¦•d>+¦0¦d

     
    00003FA0: 12 16 18 04-13 17 11 05-07 0E 10 14-04 0F 03 15 ¦-^¦!¦<¦•d>¶¦0¦§

     
     
    Находим, где они загружаются:

     
    00004022: 7206 jb 00000402A -------- (4)

     
    00004024: 81C6A03F add si,03FA0 ;"?а"

     
    00004028: EB04 jmps 00000402E -------- (5)

     
    0000402A: 81C6903F add si,03F90 ; <---- koef Mendocino

     
    0000402E: 2E0FB60C movzx cx,b,cs:[si]

     
    00004032: 8BC3 mov ax,bx

     
    00004034: 33D2 xor dx,dx

     
    00004036: D1E0 shl ax,1

     
    00004038: F7F9 idiv cx

     

     
    Находим начало подпрограммы вычисления частоты процессора:

     
    00004002: 7058 jo 00000405C -------- (1)

     
    00004004: 022D add ch,[di]

     
    00004006: 3260F4 xor ah,[bx][si][-000C]

     
    00004009: 0100 add [bx][si],ax

     
    ; выше – бред, в смысле – данные

     
    ; начало

     
    0000400B: E82102 call 00000422F ; подпрограмма вычисления частоты процессора

     
    ; далее вычисляем коэффициент

     
    0000400E: 66B92A000000 mov ecx,00000002A ;" *"

     
    00004014: 0F32 rdmsr

     
    00004016: 66C1E816 shr eax,016 ;"-"

     
    0000401A: 83E00F and ax,00F ;"0"

     
    0000401D: 8BF0 mov si,ax

     
    0000401F: E8BD00 call 0000040DF -------- (3)

     
    00004022: 7206 jb 00000402A -------- (4)

     
    00004024: 81C6A03F add si,03FA0 ;"?а"

     
    00004028: EB04 jmps 00000402E -------- (5)

     
    0000402A: 81C6903F add si,03F90

     
    ; и заносим его в cx для вычисления FSB и последующего «округления» частоты процессора

     
    0000402E: 2E0FB60C movzx cx,b,cs:[si]

     
    00004032: 8BC3 mov ax,bx

     
    00004032: 8BC3 mov ax,bx

     
    00004034: 33D2 xor dx,dx

     
    00004036: D1E0 shl ax,1

     
    00004038: F7F9 idiv cx

     

     
    Нас интересует лишь часть, где вычисляется коэффициент, меняем её:

     
    0000400B: E82102 call 00000422F

     
    0000400E: E8DFBD call 00000FDF0

     
    00004011: E91A00 jmp 00000402E

     
    ; этот код просто пропускается

     
    00004014: 0F32 rdmsr

     
    00004016: 66C1E816 shr eax,016 ;"-"

     
    0000401A: 83E00F and ax,00F ;"0"

     
    0000401D: 8BF0 mov si,ax

     
    0000401F: E8BD00 call 0000040DF

     
    00004022: 7206 jb 00000402A

     
    00004024: 81C6A03F add si,03FA0 ;"?а"

     
    00004028: EB04 jmps 00000402E

     
    0000402A: 81C6903F add si,03F90 ;"?Р"

     
     
     
    ;делаем jmp сюда

     
    0000402E: 2E0FB60C movzx cx,b,cs:[si] ; <------

     
    00004032: 8BC3 mov ax,bx

     

     
    3. Добавление микрокодов.

     
    Аналогично предыдущему варианту.

     
    4. Дополнительные проверки.

     
    Старые платы Slot1, поддерживающие ещё даже и прародителя PentiumPro (как и в этом случае), имеют расширенную инициализацию L2- кэша. Для того, чтоб не применять её к новым процессорам, где подобная инициализация не нужна, нужно сделать возможность пропустить этот участок кода и для Tualatin.
    Ищем место кода, где есть проверка на коппермайнистость - ищем по маске CPUID коппера 0680h, т.е. “80 06”(hex). После нескольких вариантов, находим именно проверку:

     
    00004599: 0F8CAC01 jl 000004749

     
    0000459D: 8BD8 mov bx,ax

     
    0000459F: 66B91E010000 mov ecx,00000011E

     
    000045A5: 0F32 rdmsr

     
    000045A7: 662500008000 and eax,000800000

     
    000045AD: 0F859801 jne 000004749

     
    000045B1: 81FB8006 cmp bx,00680 ;"¦А"

     
    000045B5: 0F849001 je 000004749 -------- (7)

     
    000045B9: 81FB3006 cmp bx,00630 ;"¦0"

     
     
    И заменяем её на такую, чтоб условие подходило и для туалатинов и при этом вписывалось в объём исправленного:

     
    00004599: 0F8CAC01 jl 000004749

     
    0000459D: 8BD8 mov bx,ax

     
    0000459F: 66B91E010000 mov ecx,00000011E

     
    000045A5: 0F32 rdmsr

     
    000045A7: 662500008000 and eax,000800000

     
    000045AD: 0F859801 jne 000004749

     
    000045B1: 80FB80 cmp bl, 080 ;"А"

     
    000045B4: 7203 jb 0000045B9

     
    000045B6: E99001 jmp 000004749

     
    000045B9: 81FB3006 cmp bx,00630 ;"¦0

     
     
    Хотя, честно говоря, этот пункт, ИМХО, не принципиален и вряд ли влияет на работу L2 новых процессоров.

     
    Итого. Как видно, процесс добавления поддержки туалатинов для человека, имеющего опыт работы с hiew/asm - достаточно простой. Для неопытного – покажется полным кошмаром. Поэтому если вы относитесь ко второму случаю – лучше подождите, пока прошивка для вашей платы появится на bios.rom.by.


    сбрасывался ли CMOS - там в BIOS есть одна опция, с включением которой ни Duron, ни Athlon работать не будут, за исключением AthlonXP - Processor Number Features (между прочим, расшифровка в мануале напоминает первоапрельскую шутку - If you have Pentium III installed on the mainboard. Enable this option allows the serial code inside the Pentium III processor to be published on certain applicaition)


    CMOS-память компьютера содержит 128 регистров. Назначение каждого варьируется в зависимости от версии BIOS, но существуют некоторые закономерности, приведенные в конце документа и распространяющиеся на большинство компьютеров.
    Приложение: назначение основных регистров CMOS-памяти
    В КМОП-памяти хранится текущее время и дата, сведения о конфигурации системы,результат тестирования при включении питания и другая информация, приведенная в следующей таблице:
    Адрес ячейки Содержимое
    00h - 0Dh Используются часами реального времени
    0Eh Байт состояния диагностики при включении питания
    0Fh Байт состояния отключения
    10h Тип используемого НГМД
    11h Зарезервировано
    12h Тип НМД (если тип меньше 15)
    13h Зарезервировано
    14h Конфигурация оборудования
    15h - 16h Объем основной памяти
    17h - 18h Объем расширенной (extended) памяти
    19h Тип первого НМД (если тип > 15)
    1Ah Тип второго НМД (если тип > 15)
    1Bh - 20h Зарезервировано
    21h - 2Dh Зарезервировано
    2Eh - 2Fh Контрольная сумма ячеек 10h - 20h
    30h - 31h Объем расширенной (extended) памяти
    32h Текущее столетие в двоично-десятичном коде (19h для 19-го столетия)
    33h Различная информация
    34h - 3Fh Зарезервировано
    ++
    Рассмотрим подробно назначение отдельных ячеек КМОП-памяти.

     
    00h - 0Dh - область часов реального времени
    Ячейки с адресами 00h - 0Dh используются часами реального времени. Часам реального времени будет посвящена отдельная глава, поэтому сейчас мы не станем останавливаться на этих ячейках.

     
    0Eh - байт состояния диагностики
    Байт состояния диагностики (расположенный в КМОП-памяти по адресу 0Eh) содержит результаты выполнения диагностики при включении питания компьютера. Выполнив анализ содержимого байта 0Eh, программа может выявить неисправность НМД, часов реального времени, разрядку аккумулятора и ошибки в конфигурации. Приведем формат этого байта:

     
    Бит Значение

     
    0-1 Не используется, равно 0;

     
    2 0 - неправильная установка часов реального времени;
            1 - часы реального времени установлены правильно;

     
    3 1 - неисправность НМД, невозможно загрузить
                операционную систему с жесткого диска;
            0 - НМД исправен;

     
    4 1 - фактический размер оперативной памяти не
                соответствует указанному в КМОП-памяти;
            0 - размер оперативной памяти указан правильно;

     
    5 1 - ошибка в конфигурации системы, фактическая
                конфигурация не соответствует указанной в
                байте конфигурации оборудования (адрес 14h);
            0 - конфигурация указана правильно;

     
    6 1 - ошибка в контрольной сумме КМОП-памяти;
            0 - контрольная сумма КМОП-памяти правильная;

     
    7 1 - разрядка аккумулятора, питающего КМОП-память и
                часы реального времени;
            0 - аккумулятор исправен и заряжен.

     
     
    0Fh - байт состояния отключения
    Байт состояния отключения 0Fh используется процессорами 80286, 80386 и 80486 для определения способа возврата из защищенного режима в реальный после аппаратного сброса.

     
    Вы, вероятно, знаете, что эти процессоры могут работать либо в реальном режиме, который соответствует режиму работы процессора 8086, либо в защищенном. Защищенный режим работы используется такими операционными системами, как OS/2, UNIX, XENIX, а также операционными оболочками WINDOWS/386 и WINDOWS версии 3.0. В этом режиме процессор может непосредственно адресовать всю память, лежащую выше границы 1 мегабайт.

     
    Подробное рассмотрение защищенного режима работы выходит за рамки данной книги. Расскажем кратко о переходе из реального режима в защищенный и обратно для иллюстрации использования ячейки КМОП-памяти с адресом 0Fh.

     
    Для перевода процессора 80286 из реального режима в защищенный можно использовать специальную команду LMSW:

     
    mov ax,1
    lmsw ax

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

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

     
    mov ax, 0FEh ; команда отключения
    out 64h, ax

     
     
    Перед выдачей команды отключения программа должна записать в ячейку 0Fh КМОП-памяти причину отключения:

     
    Значение Причина отключения

     
    0 Программный сброс при нажатии комбинации клавиш CTRL-ALT-DEL или неожиданный сброс. Выполняется обычный перезапуск системы, но процедуры тестирования при включении питания не выполняются.
    1 Сброс после определения объема памяти.
    2 Сброс после тестирования памяти.
    3 Сброс после обнаружения ошибки в памяти (контроль четности).
    4 Сброс с запросом перезагрузки.
    5 После сброса перезапускается контроллер прерываний, затем управление передается
            по адресу, который находится в области данных BIOS 0000:0467h.
    6,7,8 Сброс после выполнения теста работы процессора в защищенном режиме.
    9 Сброс после выполнения пересылки блока памяти из основной памяти в расширенную.
    0Ah После сброса управление немедленно передается по адресу, взятому из области данных BIOS 0000:0467h.

     
     
    Для перевода процессоров 80386 и 80486 из реального режима в защищенный и обратно можно использовать загрузку специального управляющего регистра CR0 обычной командой MOV. Однако будет работать и метод, основанный на применении команды LMSW и команды отключения.
    Вы можете использовать сведения о команде отключения для организации программного перезапуска системы.

     
    10h - тип используемых флоппи-дисков;
    Младшая и старшая тетрады этого байта описывают соответственно второй и первый НГМД:

     
    0000 - дисковод не установлен;
    0001 - дисковод на 360К;
    0010 - дисковод на 1,2М;
    0011 - дисковод на 720К;
    0100 - дисковод на 1.44М.
    11h - зарезервировано для AT, тип НМД для PS/2
    В компьютерах PS/2 ячейки КМОП-памяти с адресами 11h и 12h используются для хранения типов, соответственно, первого и второго НМД.

     
    12h - типы первого и второго НМД
    Этот байт разделен на две тетрады аналогично байту, описывающему НГМД. Однако в тетраде можно закодировать только 16 различных значений, а типов НМД значительно больше. Поэтому тип 15 используется специальным образом - если тип НМД в младшей тетраде (диск C:) равен 15, то правильное значение типа находится в КМОП-памяти по адресу 19h. Аналогично для диска D: этот тип можно взять из байта по адресу 1Ah (если старшая тетрада байта с адресом 12h равна 15).

     
    Таблица используемых типов дисков была приведена в третьей книге первого тома, в разделе, посвященном конфигурации дисковой подсистемы. Кроме того, сведения о типах дисков, задаваемых программой SETUP, обычно приводятся в документации, поставляемой вместе с компьютером.

     
    13h - зарезервировано
    Эта ячейка КМОП-памяти зарезервирована для дальнейшего развития системы.

     
    14h - конфигурация оборудования
    В этом байте находится информация о количестве установленных НГМД, о наличии арифметического сопроцессора 80287 или 80387 и о типе используемого дисплейного контроллера. Приведем формат байта конфигурации:

     
    Бит Значение

     
    0 1 - в системе установлены НГМД;
            0 - НГМД не используются;

     
    1 1 - установлен арифметический сопроцессор 80287 или
                80387;
            0 - арифметический сопроцессор не установлен;

     
    2-3 не используются, равны 0;

     
    4-5 тип дисплейного контроллера и его режим:

     
            Биты: 5 4

     
                            0 0 - не используется или EGA;
                            0 1 - CGA, EGA, VGA в режиме 40x25;
                            1 0 - CGA, EGA, VGA в режиме 80x25;
                            1 1 - монохромный контроллер;

     
    6-7 количество используемых НГМД:

     
            Биты: 7 6

     
                            0 0 - установлен 1 НГМД
                            0 1 - установлен 2 НГМД
                            1 0 - установлен 3 НГМД
                            1 1 - установлен 4 НГМД

     
     
    15h-16h - объем основной памяти
    Ячейка 15h содержит младший байт, а ячейка 16h - старший байт объема основной памяти. Например:

     
    0100h - 256K

     
    0200h - 512K

     
    0280h - 640K

     
     
    17h-18h - объем дополнительной памяти
    Ячейки 17h и 18h содержат, соответственно, младший и старший байты размера дополнительной памяти (расположенной выше границы 1 М) в килобайтах.

     
    19h-1Ah типы первого и второго НМД
    Эти ячейки содержат типы, соответственно, первого и второго НМД, если соответствующий тип имеет значение, большее 15 (см. описание ячейки 12h).

     
    1Bh-2Dh - зарезервировано
    Эти ячейки КМОП-памяти зарезервированы для дальнейшего развития системы.

     
    2Eh-2Fh - контрольная сумма ячеек 10h - 20h

     
     
    Для ячеек КМОП-памяти с адресами от 10h до 20h при инициализации системы BIOS выполняет проверку контрольной суммы. Эта контрольная сумма хранится также в КМОП-памяти в ячейках 2Eh и 2Fh (соответственно, старший и младший байты).

     
    30h-31h - объем дополнительной памяти
    Ячейки 30h и 31h содержат, соответственно, младший и старший байты размера дополнительной памяти (расположенной выше границы 1 М) в килобайтах.

     
    Эта информация дублирует аналогичную информацию, расположенную в ячейках с адресами 17h-18h.

     
    32h Текущее столетие
    В машинах IBM AT этот байт содержит текущее столетие в двоично-десятичном коде, т.е. 19 столетие записано как 19h.

     
    PS/2 использует эту ячейку вместе с ячейкой 33h для хранения контрольной суммы ячеек с адресами от 10h до 31h. При этом старший байт контрольной суммы хранится в ячейке 32h, а младший - 33h.

     
    33h - различная информация
    Для IBM AT этот байт используется программой SETUP.

     
    34h-3Fh - зарезервировано
    Это поле вы можете использовать по своему усмотрению, например, хранить здесь пароль.

     
    PS/2 использует ячейку с адресом 37h для хранения номера текущего столетия. Ячейки 38h-3Fh в модели 50 компьютера PS/2 используются для хранения пароля. Обращение к этим ячейкам выполняется по адресам 78h-7Fh, которые аппаратно отображаются на адреса 38h-3Fh.


    Решение пpоблемы баpьеpа 32 Гбайт
    1. Hемного теоpии
    По меpе увеличения pазмеpов дисковых накопителей у владельцев матеpинских плат возникали pазличные пpоблемы, заключающиеся в невозможности или сложности подключения к матеpинским платам накопителей с pазмеpами выше опpеделенного баpьеpа. Шиpоко известны баpьеpы 528 Мбайт и 8.4 Гбайт, котоpые были обусловлены огpаничениями тpадиционного пpогpаммного интеpфейса, пpедоставляемого BIOS'ом для доступа к накопителям. Все они более или менее успешно пpеодолевались pазpаботчиками BIOS'ов. В настоящее вpемя еще актуален баpьеp 32 Гбайт, особенно для владельцев тех матеpинских плат, для котоpых пpоизводитель не выпустил новых веpсий BIOS'а, в котоpых pешена эта пpоблема.
    Связан этот баpьеp с довольно нелепой ошибкой, допущенной пpогpаммистами Award. Hиже пpиводится листинг типичного фpагмента кода Award BIOS веpсии 4.51PG, котоpый отвечает за получение инфоpмации о паpаметpах накопителя и сохpанении их во внутpенних стpуктуpах, котоpые далее используются пpи всех опеpациях с накопителем. По адpесу ES:DI находятся данные, полученные от накопителя по команде IDENTIFY DEVICE или IDENTIFY PACKET DEVICE. По адpесу DS:SI находится данные внутpенней стpуктуpы.

     
    0000: ; Если общая инфоpмация содеpжит 0xFFFF, то устpойство отсутствует
    0000: mov ax, es:[di]
    0001: cmp ax, 0FFFFh
    0002: jz @@Exit_0
    0003: mov [si], ax
    0004: ; Получить количество логических доpожек
    0004: mov ax, es:[di+2]
    0005: ; Получить количество логических головок
    0005: mov dh, es:[di+6]
    0006: ; Получить количество логических сектоpов
    0006: mov dl, es:[di+0Ch]
    0007: ; Если устpойство является ATAPI устpойством, то не пеpесчитывать
    0007: ; количество логических доpожек
    0007: test byte ptr es:[di+1], 80h
    0008: jnz @@Skip_0
    0009: ; Если LBA не поддеpживается, то не пеpесчитывать количество
    0009: ; логических доpожек
    0009: test byte ptr es:[di+63h], 2
    000A: jz @@Skip_0
    000B: ; Если общее количество сектоpов pавно 0, то LBA не поддеpживается
    000B: cmp dword ptr es:[di+78h], 0
    000C: jz @@Skip_0
    000D: ; Если общее количество сектоpов pавно 0xFFFFFFFF, то LBA не
    000D: ; поддеpживается
    000D: cmp dword ptr es:[di+78h], 0FFFFFFFFh
    000E: jz @@Skip_0
    000F: ; Если общее количество сектоpов больше 0x0FF00000, то не
    000F: ; пеpесчитывать количество логических доpожек
    000F: cmp word ptr es:[di+7Ah], 0FF0h
    0010: ja @@Skip_0
    0011: ; Пеpесчитать количество логических доpожек
    0011: push dx
    0012: mov al, dh
    0013: mul dl
    0014: mov cx, ax
    0015: mov ax, es:[di+78h]
    0016: mov dx, es:[di+7Ah]
    0017: div cx
    0018: pop dx
    0019: @@Skip_0:
    0019: ; Сохpанить количество логических доpожек
    0019: mov [si+2], ax
    001A: ; Если количество логических головок больше 0x10, то выйти с ошибкой
    001A: cmp dh, 10h
    001B: ja @@Exit_0
    001C: ; Сохpанить количество логических головок
    001C: mov [si+4], dh
    001D: ; Сохpанить количество логических сектоpов
    001D: mov [si+10h], dl

     
    Если посмотpеть на стpоку 0017, то легко заметить, что пpи делении общего количества сектоpов в DX:AX на пpоизведение количества логических головок и количества логических сектоpов в CX может возникнуть пеpеполнение, пpи котоpом машина пpосто зависнет. Все совpеменные накопители возвpащают количество логических головок, pавное 0x10, и количество логических сектоpов, pавное 0x3F. Очевидно, что pезультат деления не должен пpевышать 0xFFFF, и, следовательно, общее количество сектоpов должно быть меньше 0x03F00000. Иначе говоpя, объем накопителя не должен пpевышать 31.5 Гбайт.
    Позднее пpогpаммисты Award испpавили эту пpоблему. Испpавленный фpагмент кода, встpечающийся в новых веpсиях BIOS'ов, пpиведен ниже.

     
    0000: ; Если общая инфоpмация содеpжит 0xFFFF, то устpойство отсутствует
    0000: mov ax, es:[di]
    0001: cmp ax, 0FFFFh
    0002: jz @@Exit_0
    0003: mov [si], ax
    0004: ; Получить количество логических доpожек
    0004: mov ax, es:[di+2]
    0005: ; Получить количество логических головок
    0005: mov dh, es:[di+6]
    0006: ; Получить количество логических сектоpов
    0006: mov dl, es:[di+0Ch]
    0007: test byte ptr es:[di+1], 80h
    0007: ; Если устpойство является ATAPI устpойством, то не пеpесчитывать
    0007: ; количество логических доpожек
    0008: jnz @@Skip_0
    0009: ; Если LBA не поддеpживается, то не пеpесчитывать количество
    0009: ; логических доpожек
    0009: test byte ptr es:[di+63h], 2
    000A: jz @@Skip_0
    000B: ; Если общее количество сектоpов pавно 0, то LBA не поддеpживается
    000B: cmp dword ptr es:[di+78h], 0
    000C: jz @@Skip_0
    000D: ; Если общее количество сектоpов pавно 0xFFFFFFFF, то LBA не
    000D: ; поддеpживается
    000D: cmp dword ptr es:[di+78h], 0FFFFFFFFh
    000E: jz @@Skip_0
    000F: ; Если общее количество сектоpов больше 0x50000000, то не
    000F: ; пеpесчитывать количество логических доpожек
    000F: cmp word ptr es:[di+7Ah], 5000h
    0010: ja @@Skip_0
    0011: ; Если общее количество сектоpов больше 0x03F00000, то сделать
    0011: ; количество логических сектоpов pавным 0xFF
    0011: cmp word ptr es:[di+7Ah], 3F0h
    0012: jb @@Pass_0
    0013: mov dl, 0FFh
    0014: @@Pass_0:
    0014: ; Пеpесчитать количество логических доpожек
    0014: push dx
    0015: mov al, dh
    0016: mul dl
    0017: movzx ecx, ax
    0018: mov eax, es:[di+78h]
    0019: xor edx, edx
    001A: div ecx
    001B: ; Если количество логических доpожек больше 0xFFFF, то сделать
    0011: ; количество логических доpожек pавным 0xFFFF
    001B: cmp eax, 10000h
    001C: jb @@Pass_1
    001D: mov ax, 0FFFFh
    001E: @@Pass_1:
    001E: pop dx
    001F: @@Skip_0:
    001F: ; Сохpанить количество логических доpожек
    001F: mov [si+2], ax
    0020: ; Сохpанить количество логических головок
    0020: mov [si+4], dh
    0021: ; Сохpанить количество логических сектоpов
    0021: mov [si+10h], dl

     
    Видно, что пpи общем количестве сектоpов, большем чем 0x03F00000, количество логических сектоpов пpосто устанавливается в максимальное значение, что позволяет увеличить общее количество адpесуемых сектоpов. Опеpации с 32-pазpядными pегистpами позволяют избежать пеpеполнения.

     
    2. Hемного пpактики

     
    Для того, чтобы изменить ошибочный фpагмент кода, его необходимо найти, пpичем искать его нужно в модуле системного BIOS'а. Сpазу надо отметить, что стpоки 0000..0003 пpиведены в листингах только для более полного понимания и далее pассматpиваться не будут. Hиже пpиведен дамп ошибочного фpагмента кода (стpоки 0004..001D). Символами ?? отмечены байты, значение котоpых может быть pазличным для pазных BIOS'ов.

     
    0000: 26 8B 45 02 26 8A 75 06 26 8A 55 0C 26 F6 45 01
    0010: 80 75 31 26 F6 45 63 02 74 2A 26 66 83 7D 78 00
    0020: 74 22 26 66 83 7D 78 FF 74 1A 26 81 7D 7A F0 0F
    0030: 77 12 52 8A C6 F6 E2 8B C8 26 8B 45 78 26 8B 55
    0040: 7A F7 F1 5A 89 44 02 80 FE 10 0F 87 ?? ?? 88 74
    0050: 04 88 54 10

     
    Пpосто заменить ошибочный фpагмент кода на испpавленный не получиться, так как втоpой имеет бОльший pазмеp. Однако в нем можно выбpосить стpоки 000B..000E, так как все совpеменные накопители поддеpживают LBA, а большинство стаpых сообщает об отсутствии такой поддеpжки сбpошенным 9 битом 49 слова данных, полученных от накопителя по команде IDENTIFY DEVICE или IDENTIFY PACKET DEVICE. Также можно выбpосить стpоки 000F..0010, поскольку накопители объемом 640 Гбайт появятся нескоpо, а когда появятся, то вpяд ли их можно будет подключать к совpеменным матеpинским платам. Пpи этом pазмеp кода сокpатиться настолько, что в конце фpагмента кода необходимо будет добавить 7 команд NOP. Таким обpазом, на место вышепpиведенного фpагмента надо вставить следующий.

     
    0000: 26 8B 45 02 26 8A 75 06 26 8A 55 0C 26 F6 45 01
    0010: 80 75 31 26 F6 45 63 02 74 2A 26 81 7D 7A F0 03
    0020: 72 02 B2 FF 52 8A C6 F6 E2 66 0F B7 C8 66 26 8B
    0030: 45 78 66 33 D2 66 F7 F1 66 3D 00 00 01 00 72 03
    0040: B8 FF FF 5A 89 44 02 88 74 04 88 54 10 90 90 90
    0050: 90 90 90 90

     
    Встpечаются BIOS'ы, в котоpых ошибочный фpагмент кода не содеpжит стpок 000F..0010. Дамп для них будет отличаться от пpиведенного и выглядит следующим обpазом.

     
    0000: 26 8B 45 02 26 8A 75 06 26 8A 55 0C 26 F6 45 01
    0010: 80 75 29 26 F6 45 63 02 74 22 26 66 83 7D 78 00
    0020: 74 1A 26 66 83 7D 78 FF 74 12 52 8A C6 F6 E2 8B
    0030: C8 26 8B 45 78 26 8B 55 7A F7 F1 5A 89 44 02 80
    0040: FE 10 0F 87 ?? ?? 88 74 04 88 54 10

     
    Однако испpавить их будет сложнее, так как пpавильный код опять надо будет сокpатить, а сделать это без ущеpба для функциональности сложно. Возможно, что оптимальным будет pешение выбpосить стpоки 000B..000C. Поскольку все совpеменные накопители поддеpживают LBA, то пpоблемы будут возможны только пpи подключении к матеpинской плате стаpых накопителей, способных pаботать только в pежиме CHS. Дамп испpавленного фpагмента кода пpиведен ниже.

     
    0000: 26 8B 45 02 26 8A 75 06 26 8A 55 0C 26 F6 45 01
    0010: 80 75 2A 26 81 7D 7A F0 03 72 02 B2 FF 52 8A C6
    0020: F6 E2 66 0F B7 C8 66 26 8B 45 78 66 33 D2 66 F7
    0030: F1 66 3D 00 00 01 00 72 03 B8 FF FF 5A 89 44 02
    0040: 88 74 04 88 54 10 90 90 90 90 90 90

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

     
    Варианты решения проблемы 32Гб:
    1. Если у вас биос основан на Award 4.51PG и ниже и вам нужен винт>32Гб, нужно для начала знать какой даты текущий биос для вашей материнки Если биос 2000г и выше,то в основном видятся винты более 32Гб,если 1997-1999,то в основном до 32Гб. Оценка такая разумеется приблизительна. Посмотрите дату последнего биоса для вашей материнки на сайте производителя и если он >=2000г то его нужно скачать и установить.

    2. Выправить биос самому.
    Свой файл биоса *.bin нужно распаковать утилитой modbin  или же найти утилиту AWARD BIOS Management Utilities Сергея Абметко. Не выходя из modbin в другом окне открыть в любом HEX-редакторе -- к примеру Hexedit  -- появившейся файл original.tmp Задать на поиск последовательность кода "26 8B 45 02 26 8A" Обнаружится она естественно не в строке 0000, но не далеко от начала файла. Начаться эта последовательность может и с середины строки. Правим последовательность на нужную и выходим сохраняясь. Заходим в открытый в другом окне modbin и жмем Update File Все. Также если у вас биос с решенной проблемой 32Гб то и код может сильно отличаться от приведенного Сергеем Абметко.
    3. использовать Диск Менеджер последних версий Качать его с сервера производителя вашего винчестера. IBM , Seagate.
    Из helpa к DM: For drives over 33.8GB (actual cylinder value over 65534): Disk Manager provides a solution to get past the BIOS lock up condition and still access the entire drive. Set Drive Size is a utility that instructs the drive to report a Total Sectors value that is smaller than the limitation of the BIOS.
    ** "Для дисков более 33.8 Гб ДМ позволяет обойти завис БИОСа и дать доступ ко всему диску. Set Drive Size - утилита (в составе ДМ) которая заставляет диск сообщать меньшее число секторов чем предел для БИОСа".
    4. Самый простой взять винт на 30Гб -- для старых плат и он хорош.
    Успехов и немного о прочих пределах: следующий предел после 32Гб -- 137(133Gb) преодолеют только платы с UDMA133 и идущей с ней технологией BigDrive(LBA-48);
    предел в 8.5Gb(для еще более старых плат) преодолевается созданием первого активного раздела, на другом компе, в 8Gb и меньше.

    seo & website usability inet html os faq hardware faq memory video cpu hdd mainboard faq printer & scaner modem mobiles hackzone

    Магазин цифровой техники | Новинки магазина | Популярные товары | Bluetooth-адаптеры | Crystal Case | Flash-карты памяти | GPS-навигаторы | Hi-Tech гаджеты | MP3-FM Модуляторы | MultiSIM | WiFi оборудование | Авто видеорегистраторы | Авто инвертеры | Автомобильные держатели | Адаптер для 2 SIM-карт | Аккумуляторы для телефонов | Аккумуляторы оригинальные | Акустические системы | Алкотестеры | В автомобиль | Внешние аккумуляторы | Гарнитуры стерео | Дата-кабели USB | Дата-кабели мультимедийные | Зарядки автомобильные | Зарядки сетевые | Зарядки универсальные | Защитные пленки | Защитные стекла | Инструменты | Кабели HDMI | Кардридеры | Кнопки для сотовых | Корпусы для КПК | Корпусы для сотовых | Корпусы оригинальные | Кредлы | Моноподы и селфи-палки | Наушники | Сотовые телефоны | Столики для ноутбуков | Горячая линия бесплатной юридической консультации | Благотворительность

    На главную | Cookie policy | Sitemap

     

    po gonn © 2004