в начало · e-mail

история
график выхода
размещение рекламы

 

процессоры
системные платы
видеокарты
память, hdd, cd, dvd
звуковые карты и    акустические системы
источники UPS
модемы
сети
программы
игры
руководство и чаво
мониторы
принтеры
сканеры и камеры
законченые решения
ноутбуки и hpc
разное
  компьютеры
комплектующие и    периферия
программы
оргтехника
средства связи
аудио-видео
бытовая техника
охранные системы
  вышедшие в этом    месяце
полная коллекция
  вышедшие в этом    месяце
архив
  последний выпуск
архив
  форум
чат
 


Апорт Top 1000


СИСТЕМНАЯ ПАМЯТЬ

Руководство для начинающих. Часть 5.

Синхронизации Системы.

Окончание, начало в №№14-15 1999г, №№1,3 2000г.

Характеристика Системы

Пока мы рассматривали синхронизации, прежде всего, с точки зрения памяти, однако есть много других составляющих, от которых зависит перспективность системы. Проблема их влияния на характеристики системы состоит в "остановке" ЦП или ожидания им данных. Чтобы система находилась в пиковой эффективности (max КПД), процессор всегда должен быть занят. Как будет скоро замечено, это не так просто, как звучит.
Максимальная производительность против Эффективной ширины полосы пропускания Максимальная производительность памяти в системе определена умножением скорости шины на ее ширину. Это означает, что система с 64-разрядной шиной при 100MHz, теоретически имела бы максимальную производительность 800MB/sec (64 бита, разделенные 8 битами в байт - 8 байтов, 8 байтов, умноженные на 100 000 000 периодов в секунду - 800MB/sec). Однако фактически достичь такой производительности невозможно.
Одна из причин невозможности реально достичь теоретического максимума - начальная латентность памяти. Как пример этого, рассмотрите SDRAM модуль, который имеет 5-1-1-1 синхронизации на 100MHz шине шириной 64 бита. Принимая, что никакие другие факторы не замедляют передачу данных, это означает, что за 80ns будут перенесены ровно 32 байта данных. Фактическая производительность в этом случае - только 400MB/sec (1 миллиард/80ns времени на 32 байта). Другими словами, ограничения SDRAM непосредственно позволяют использовать только половину ширины полосы частот.
Конечно, длительность импульса может быть больше чем 4 цикла, которые позволили бы лучшее использование ширины полосы частот, но в примере также не принимаются во внимание некоторые задержки при распространении сигнала. Кроме того, сам чипсет должен выполнить несколько действий, которые также отнимают циклы. В результате, для системы более вероятны типичные SDRAM синхронизации 7-1-1-1 или даже 8-1-1-1, и, таким образом, эффективное использование ширины полосы пропускания снизится до 290 MB/sec.
Первым реальным мировым примером стали SDRAM синхронизации, которые могли быть достигнуты при использовании i430TX чипсета вместо i430VX. TX чипсет снижал синхронизацию на один цикл, улучшая характеристики на 10 %. Так как размеры КЭШ в то время были относительно малы (16КБ L1 и 256КБ L2), это привело к заметным улучшениям характеристик системы.
Есть и другой тип латентности, известный как "поворот латентности", происходящий при переходе памяти от чтения к записи и наоборот. И хотя это не столь значительный фактор, как начальная латентность, эффективная ширина полосы пропускания снижается. Фактически, о любом цикле, который не потрачен на передачу данных, можно сказать как о потраченном впустую.

Использование Процессора

Все, что происходит внутри ПК, включая все действия процессора, передачу данных по шине и работу памяти, связано с синхросигналом. Синхросигналы памяти - не те же самые, что у процессора. Например, для процессора 500MHz в системе с шиной памяти 100MHz это означает, что на каждый синхросигнал шины памяти приходится 5 тактов системных часов процессора.
Для стандарта SDRAM латентностью будет сумма значений времен Trcd (RAS к задержке САС, или количество времени на обращение к строке и подготовке к приему адреса столбца), Латентности САС Tcac (оно также названо Tcac, или временем доступа столбца - количество времени от получения адреса столбца до появления данных в регистре вывода) и Tac (Время доступа - количество времени на передачу данных от регистра вывода на шину). Поэтому 2-2-2 PC100 SDRAM будет иметь латентность 20ns + 20ns + 6ns, или 46ns. Округлив к следующему тактовому циклу, мы имеем латентность 50ns или 5 тактовых циклов. Как уже говорилось, эта латентность увеличится на несколько циклов за счет операций в чипсете.
С точки зрения использования процессора, если латентность памяти - 8 циклов, процессор будет ждать 40 циклов, прежде чем может получить первую часть данных и не получит следующую часть данных еще 5 циклов. Из-за этого, значительное время процессор не будет работать, снижая характеристики системы. Эту проблему предназначен решить или, по крайней мере, минимизировать КЭШ.

Загрузка процессора за счет КЭШ

Первый созданный КЭШ был интегрирован в процессор и сравнительно мал. Так как дополнение электрической схемы и увеличение размера кристалла с этим КЭШ были невелики, стоимость процессора осталась довольно низкой. Работа этого КЭШ шла на полной скорости процессора и увеличивала ширину шины процессора до 128 битов. Приблизительно от 80 до 90 % запросов ЦП могли быть удовлетворены КЭШ процессора с очень низкой латентностью (один или два цикла процессора). КЭШ процессора (названный Уровнем 1, или L1) стали делать размером в 64КБ для x86 процессоров и большинства старших типов (и больше в более совершенных процессорах).
Чтобы увеличить размер КЭШ, проектировщики систем решили использовать большее количество дополнительного КЭШ SRAM, который назвали Уровень 2 или L2. Поскольку проектировщики использовали стандартные кристаллы SRAM, стоимость КЭШ L2 была относительно низкая по сравнению с КЭШ L1 но, по крайней мере, в 4 раза дороже DRAM. Сегодня КЭШ второго уровня в персональных компьютерах могут быть от 512КБ до 2МБ.
Типичный кристалл КЭШ SRAM имеет латентность 3 цикла, потому что время на обращение к столбцу устранено. Если ЦП находит данные в КЭШе второго уровня, четыре взрывных цикла займут скорее только 6 циклов шины, а не 10 или 11, увеличивая производительность от 40 до 45 %. Соответственно, это понизит число циклов процессора с 50 и более до, приблизительно, 30.
Практика показала, что 98 % всех запросов от ЦП будет удовлетворено от КЭШ L1 или КЭШ L2. Хотя КЭШ второго уровня применен для значительного улучшения характеристик подсистемы памяти, скорости процессоров продолжали опережать скорость работы памяти, вынуждая проектировщиков искать новые методы быстрого получения данных процессором.


Со временем КЭШ второго уровня стал подключаться через Socket 7, то есть фактически к шине памяти. К сожалению, хотя КЭШ SRAM мог работать на более высоких скоростях, чем DRAM но, располагаясь на той же самой шине, принудительно приводился проектировщиками к той же самой скорости.
С появлением процессора Pentium Pro, Intel поместила КЭШ на его собственную шину, которую назвали Back Side Bus (BSB). Тогда как шину памяти назвали Front Side Bus (FSB). При этом выполнение команд КЭШ стало намного быстрее, чем основной памятью, и сильно снизило латентность (с точки зрения работы процессора). Intel назвала это архитектурой Двойной Независимой Шины (DIB).
Начиная с Pentium Pro, КЭШ SRAM был интегрирован в состав процессора (но не в кристалл). Такое размещение позволяло выполнить кэширование на полной скорости процессора, используя короткие линии передачи, однако такая технология была еще очень дорогой. Чтобы снизить затраты, разработали Single Edge Cartridge (Единственный Граничный Картридж), который позволял контроллеру КЭШ и дополнительному КЭШ SRAM, помещенных в тот же самый пакет что и процессор, работать или на половинной или полной скорости процессора, в зависимости от характеристик и цены. С КЭШ скорости Ѕ, латентность снижается до 8 или даже меньше циклов процессора и является существенным усовершенствованием шины.
Сравнительно недавно КЭШ второго уровня был интегрирован в кристалл, подобно КЭШ L1. Этот КЭШ работает на полной скорости, а ширина его шины такая же, как и у шины памяти (64 бита для Pentium). В результате продолжения миниатюризации микроэлектроники размеры КЭШ могут быть 256 КБ и скоро станут даже больше. Типичная латентность для интегрированного КЭШ второго уровня - 3-4 цикла процессора. Следует отметить, что замыкание КЭШ на процессор может дать и более низкую латентность, но значительно увеличит стоимость.

Увеличение Ширины полосы частот

В новых разработках памяти пытаются решить проблему ширины полосы частот. Intel делает ставку на модули D-RDRAM. Одна из проблем, связанных с увеличением скорости шины - появление шумовых помех в схеме. Rambus адресуется через 16-разрядный интерфейс с двухточечным протоколом. В то же время максимальная ширина полосы частот увеличена до 1.6 GB/sec. Начальная латентность фактически станет немного ниже, чем у SDRAM, однако, оборотная латентность лучше, чем текущие значения. Проектная стоимостью увеличивается соответственно на 50 %, что не очень интересно для пользователей.
В PC133 ширина полосы частот увеличилась с 800 до 1.06GB/sec, но никак не изменилась начальная и оборотная латентности. В DDR SDRAM максимальная ширина полосы частот увеличится даже до 2.1 GB/sec, но таже проблема латентности ограничивает эффективную ширину полосы пропускания.

Сокращение Латентности

В настоящее время любимый метод разработчиков решения проблемы латентности - кэшируемая DRAM. Добавляя малое количество КЭШ SRAM, латентность снижают в среднем до 3-4 тактовых циклов шины и улучшают использование ширины полосы частот. В течение нескольких лет Ramtron предлагал ESDRAM, однако она была дорога и использовалась очень ограниченно.
Совсем недавно, NEC ввела Virtual Channel Memory (Виртуальную Память Канала), которая является другой формой КЭШ руемой DRAM. Она хорошо интегрируется в любой существующий проект DRAM, типа PC133 или DDR SDRAM, но нарушает права владельца патента - Ramtron.

Параметры настройки BIOS (БАЗОВОЙ СИСТЕМЫ ВВОДА-ВЫВОДА) и его характеристика

К сожалению, имеется мало конкретной информации, относительно того, что делают параметры настройки BIOS. Параметры настройки BIOS, во-первых, дают установки для чипсета различной памяти и действий Ввода - вывода. Некоторые из них также отменяют внутренние синхронизации SDRAM, типа Латентности АС, изменяя значения, сохраненные в модуле SPD кристалла. Это означает, что параметры настройки BIOS будут зависеть от установленного чипсета и того, что изготовитель разрешил пользователю изменять.
Большинство изготовителей предлагают два различных набора команд "по умолчанию" - один для медленной, но устойчивой работы, а другой для предельного, но потенциально неустойчивого выполнения операций. Большинство изготовителей имеет для BIOS опцию значений "по умолчанию", которая является консервативной установкой. Более быстрая установка может быть названа "Значения по умолчанию Турбо". Если Вы не знаете точно, на что воздействует каждая установка BIOS, лучше использовать значения "по умолчанию", иначе Вы можете только ухудшить характеристики системы.
Общепринято, что нормальный изготовитель системной платы установит заданные по умолчанию параметры настройки BIOS так, что они дадут лучшие характеристики и стабильность для их собственной разработки. Конечно, в действительности не имеется одной "лучшей" установки на все случаи жизни или нет доступа к параметрам настройки, которые нужно изменить. Кроме того, каждый изготовитель может предлагать различные установки BIOS даже при использовании одного и того же чипсета. Например, рассмотрите параметры настройки BIOS для VIA VP3 и MVP3 чипсетов от одного изготовителя.
Некоторые изготовители вводят в BIOS опцию, которая воздействует на те же самые регистры и биты. Другие предоставляют больший выбор или наоборот, не предлагают некоторые из перечисленных. Возможно, что изготовитель дает ту же самую опцию BIOS, но она воздействует на измененный набор битов в том же самом регистре, в зависимости от особенностей и используемых значений по умолчанию, которые, как решил изготовитель, не должны изменяться пользователем.

BIOS Setting

Chipset Register & Bits

Bank 0/1 DRAM Timing

Dev 0, Reg 64, Bits 7-6-2

Bank 2/3 DRAM Timing

Dev 0, Reg 65, Bits7-6-2

Bank 4/5 DRAM Timing

Dev 0, Reg 66, Bits7-6-2

SDRAM CAS Latency

Dev 0, Reg 67, Bits5-4

DRAM Read Pipeline

Dev 0, Reg 53, Bit 4

SRAM Bank Interleave

Dev 0, Reg 65-64, Bit1-0

Cache Rd+CPU Wt Pipeline

Dev 0, Reg 53, Bit 6-5

Важно понять, что параметры настройки BIOS не воздействуют на действительную скорость памяти и не кэшируют кристаллы непосредственно. Также как и процессоры, SRAM и кристаллы DRAM могут работать быстрее, чем их расчетные спецификации, но имеют предельную скорость, которая не может изменяться в чипсете или любым другим способом. Что действительно регулируется - синхронизации чипсета, которые определяют, сколько циклов процессор будет ожидать предоставления данных. Если DRAM или SRAM не смогут поставлять данные достаточно быстро, система станет неустойчивой или просто не будет работать.
Примером этого может быть опция "Латентность КЭШ второго уровня", даваемая одним изготовителем BIOS. Значения для этой опции могут быть от 0 до 15, и показывают число циклов начальной латентности до получения данных от КЭШ второго уровня процессором. В справочнике показано, что при более высоком значении, КЭШ "будет работать быстрее", однако, технически это невозможно.
Наиболее вероятно, что установки BIOS показывают, должны ли быть вставлены в КЭШ дополнительные состояния ожидания для синхронизации с ЦП. Чем быстрее процессор выполняет операции, тем быстрее работает шина BSB. Если процессор - строго overclocked (скажем, целых 50 %), шина BSB будет работать намного быстрее, чем кристалл КЭШ, что при использовании 0 состояний ожидания даст неустойчивость системы. Если кристалл КЭШ близок к идеальному, пользователь может работать с 0 состоянием ожидания, иначе значение должно быть увеличено.

Заключение

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

© 1996 - 2000 MEGA plus Co. All rights reserved (095) 231-2054, 231-2056
Сайт управляется системой uCoz