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

Оптимизация работы основной и видеопамяти

CPU Burst Write

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

Опция может называться "Burst Write Combining" или "Write Combining".

CPU-to-DRAM 8 QW FIFO

- в опции речь идет об использовании буфера объемом в 32 байта. Остальное по аналогии см. выше.

CPU-to-DRAM Buffer Timing

- выше в опции "PCI-to-DRAM Buffer Timing" мы вкратце затронули временные характеристики обмена с памятью. Естественно, что такой обмен с памятью у центрального процессора происходит быстрее, пусть даже и с предварительной буферизацией. Поэтому и время, затрачиваемое на запись одного слова, на несколько системных тактов меньше: "x-2-2-2", "x-1-1-1". Последнее значение предпочтительнее. Подробнее временные характеристики обмена будут рассмотрены ниже.

CPU-to-DRAM Byte Merging

- см. выше.

CPU-to-DRAM FIFO Cleaning

- см. аналогичное выше.

CPU-to-DRAM Posting

- опция включения/отключения предварительного буфера с отложенной записью. Когда буферизация включена, центральный процессор может инициировать новый цикл записи в память еще до окончания предыдущего цикла. Не все чипсеты содержали в себе такой специализированный буфер, "похвастаться" наличием такого буфера мог разве что чипсет 440LX. Отсюда и ограниченность применения этой опции.

Опция может называться "DRAM Posted Write" или "DRAM Posted Write Buffer".

Gate A20 Option

- (выбор способа включения вентиля линии A20). Параметр позволяет управлять способом включения адресной линии A20, которая отвечает за доступ к памяти, физические адреса которой превышают 1 Мбайт. Стоит напомнить, что 20-разрядная адресная шина (A0 - A19) позволяла адресоваться в пределах первого мегабайта памяти. Если быть более точным, то эта линия отвечает за доступ к первым 64 килобайтам верхней памяти, известным как область HMA (High Memory Area). Доступ к HMA требует управления специальным аппаратным узлом, работа которого может быть блокирована или активизирована. При установке опции "Gate A20 Option" в состояние "Fast" работа линии будет контролироваться специальным набором микросхем на системной плате. Если линия А20 деблокирована, то HMA-область доступна для любой программы, функционирующей в реальном режиме работы процессора. Обычно эта область памяти отдается под MS-DOS, а для деблокирования линии используется драйвер HIMEM.SYS.

Может принимать значения:

"Fast" - управление осуществляется чипсетом, что повышает скорость работы,

"Normal" - управление осуществляется через контроллер клавиатуры.

В некоторых версиях BIOS опция может называться "Fast Gate A20 Option", а параметрами будут стандартные "Enabled"/ "Disabled". Иногда в старых версиях BIOS можно встретить опцию с почти романтическим названием "LOWA20# Select". А речь идет о том, какое устройство управляет низким уровнем сигнала на линии A20: чипсет или контроллер клавиатуры.

Достаточно редко, но все же можно встретить в литературе в отношении управления линии A20 такой термин, как "эмуляция". В данном случае имеется ввиду, что стандартный способ управления "вентилем" осуществляется через контроллер клавиатуры. А чипсет заменяет, подменяет это управление, "эмулирует" его (дополнительно см. ниже). И следующая опция очень хорошо показывает это. "Keyboard Emulation" имеет два значения. "Enabled" соответствует "Fast", а "Disabled" - "Normal". Следующая опция "Gate A20 Emulation" (или "Fast Gate A20 Emulation") уже не должна вызывать вопросов. Правда, опций с такими названиями, пожалуй, уже не встретишь.

Пользователям, умеющим работать с командной строкой, можно порекомендовать внешнюю команду DOS MEM /A, показывающую стандартную информацию о памяти и дополнительную информацию о сегменте HMA. Команда работает и в среде "Windows 9x".

Логически память разбивается на сегменты размером по 64 КБ, что соответствует 2^16. В совсем "стареньких" машинах с 16-разрядными процессорами физически адрес не мог перейти ограничение в 64 КБ. 20-разрядная адресация, т.е. использование 20-разрядной адресной шины, достигалась благодаря тому, что при формировании 20-разрядного физического адреса использовалось суммирование со смещением в 4 разряда двух адресов: адреса сегмента и исполнительного адреса.

При вычислении физических адресов в системах с 8086/88-ми процессорами могла иметь место вполне стандартная ситуация, а именно адресное переполнение, которое при наличии 20-разрядной шины адреса приводило к сворачиванию адресного пространства в т.н. кольцо. А это и происходило как раз в процессе упомянутого суммирования.

В процессорах следующего поколения (в 286-х был преодолен предел в 1 МБ адресного пространства) на его выходе A20 устанавливалось значение "1", что соответствовало адресу из второго мегабайта памяти. При разработке процессоров и чипсетов машин класса IBM PC/AT) в схему чипсета был введен специальный вентиль Gate A20. В то время его появление в наборе логики было прежде всего связано с обеспечением полной программной совместимости с предыдущим классом машин. Вентиль принудительно устанавливал нулевое значение на линии A20 адресной шины.

На первых машинах, где был реализован контроль и управление линией A20, управление последней осуществлялось через программно управляемый бит контроллера клавиатуры 8042 (или 8742) (см. дополнительно раздел "Keyboard"). Позднее эта функция была возложена и на чипсет, что значительно ускорило скоростные характеристики ("Gate A20 Fast Control") системы.

В итоге это означало, что появление 32-разрядных процессоров не вызвало заметных изменений по данной теме, поскольку специальный вход процессоров (A20M - A20 Mask) остался. Упомянутый вход современного процессора есть не что иное, как маскирование бита A20 физического адреса для эмуляции адресного пространства 8086 в реальном режиме работы процессора. А это связано и с тем, адресная линия A20 используется также для переключения из реального режима в защищенный. Иногда можно встретить в описаниях и такие пояснения. Что существует категория пользователей, использующих старое программное обеспечение. Для таких и предназначена эта опция. Это означает, что наличие такой опции связано с совместимостью со старым ПО. Правда, фразы о категориях пользователей встречаются все реже и реже, но опция по прежнему входит в "стандартный" набор "BIOS Setup". Необходимо также отметить, что некоторые старые драйверы MS-DOS, например VDISK.SYS, могут блокировать линию А20, входя в конфликт с драйвером HIMEM.SYS (это опять таки из далекого прошлого).

Уточним вопрос об "эмуляции". Обычным образом программы для A20-операций используют обращения через BIOS или порты 60/64h, предназначенные для контроллера клавиатуры. Чипсет перехватывает эти обращения, тем самым эмулируя контроллер клавиатуры. Далее в порт 64h записывается D1h, а в порт 60h - 02h. Контроль линии A20 осуществляется далее через порт 92h. Возможна ситуация, когда контроль одновременно осуществляется и контроллером клавиатуры, и чипсетом. В этом случае линия A20 контроллируется через порты 60/64h.

Graphic Posted Write Buff

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

Snoop Ahead

- (предвидение). Эта опция применима, если в системе включено кэширование. Когда опция установлена в "Enabled", "master"- устройства на PCI-шине могут контролировать регистры VGA-палитры для непосредственных циклов записи и преобразования их в потоковый протокол PCI-формата с целью повышения скоростных характеристик обмена данными между PCI-шиной и памятью. В итоге значительно увеличивается производительность системы в процессе передачи видеоданных.

Turn-Around Insertion

- (вставка между циклами). Если этот параметр разрешен ("Enabled"), то между двумя последовательными (back-to-back) циклами обращения к памяти чипсет вставляет один дополнительный такт на MD-линиях (Memory Data). Это происходит после установки сигнала MWE# ("Memory Write Enable") и перед включением буферирования на линиях данных. Если параметр запрещен ("Disabled"), чипсет контролирует DRAM-циклы обычным методом, т.е. аналогично как в чипсетах 82430FX, первых наборах с поддержкой EDO-памяти. Вставка дополнительного такта конечно уменьшает быстродействие, но увеличивает достоверность при операциях чтения/записи.

Опция "SDRAM Write-to-Read Turnaround" явным образом предлагает установить продолжительность такой вставки (в системных тактах): 1T, 2T. Опция "Read/Write Turn-Around" практически носит то же название, но предлагает привычные "Disabled" и "Enabled".

Аналогичная опция появилась несколько ранее и для той же EDO-памяти. Она называлась "EDO MD Timing", а значения параметра уже тогда были "1T" и "2T".

Несколько слов о Back-to-Back . За включение режима "Back-to-Back" ("спина к спине") отвечают, как правило, конфигурационные регистры PCI Command и Host-контроллера. Режим "Back-to-Back" позволяет быстро выполнять последовательности циклов на PCI-шине с минимальной межцикловой паузой. Интерфейс используется для работы процессора в качестве управляющего шиной устройства. При включенном режиме последовательные шинные операции чтения/записи будут специальным образом преобразовываться (иногда говорят - "интерпретироваться") как во время высокопроизводительного пакетного режима процессора. Проще говоря, шина PCI будет "интерпретировать" циклы чтения процессора в скоростные PCI-циклы пакетной (burst) памяти. Поскольку в качестве задатчика шины ("master"-устройства) могут работать и другие системные устройства, то применение интерфейса "back-to-back" носит более широкий характер.

VGA 128k Range Attribute

во включенном состоянии ("Enabled") к адресам VGA-памяти (A0000H-BFFFFH) чипсетом могут быть применены свойства, подобные функциям "CPU-TO-PCI Byte Merge" или "CPU-TO-PCI Prefetch", т.е. стандартным режимам буферизации записи от CPU в PCI-интерфейс. Это повышает быстродействие системы, в противном случае используется стандартный VGA-интерфейс.

Этот же смысл характерен для множества функций с непохожими наименованиями: "VGA Performance Mode", "Turbo VGA (0 WS at A/B)", "VGA Frame Buffer", хотя в некоторых случаях "оперативный" диапазон сужается до первых 64 кБ (A0000-B0000).

Опция "ISA VGA Write Combining" в общем-то аналогична вышеприведенным, но она выделена отдельно. С одной стороны, речь идет о диапазоне B0000h - BFFFFh, верхних 64 КБ привычного "VGA frame buffer", а с другой, в наименование опции вынесен режим работы с кэш-памятью - WC (write combine - объединенная запись), позволяющий значительно ускорить доступ к буферу видеопамяти и вывод данных на видеокарту. Подробнее об этом в следующих разделах.

Из "карты" памяти первого мегабайта системного ОЗУ, что жестко "привязано" к архитектуре ibm pc-совместимых компьютеров, хорошо известно, что адресная область a0000-c7fff традиционно принадлежит видеопамяти графического адаптера и видео bios системы. Собственно под видео bios (или, как иногда говорят, ПЗУ видеоадаптера) выделяется 32 кБ памяти в области c0000- c7fff. Это 768-й - 799-й килобайты памяти. Эта адресная область, в зависимости от установок "bios setup", может и не использоваться.

Область в 128 кБ (A0000-BFFFF, или 640-й - 767-й килобайты) отведена под видеопамять графической карты расширения. В "древние" времена этого объема хватило бы на размещение в памяти одного графического кадра, пусть и с разрешением 320х200. По аналогии с 64-мя килобайтами верхней памяти область видеопамяти в 128 кБ стала тем "окошком" (или фрэйм-буфером), через которое стал возможным доступ ко всей адресуемой памяти. В свое время использование фрэйм-буферизации активно использовалось такими играми, как "DOOM".

Для справки! Frame Buffer (буфер кадра) - область памяти видеосистемы, в которой временно хранятся данные, необходимые для отображения одного кадра (в простейшем случае).

 


 



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