ГлавнаяКонтактыКарта сайта
ЕПОС
О компанииКомпьютерная криминалистикаВосстановление информацииЗащита информацииПроизводство и ITСервисНаши разработки

Расследование инцидентов, компьютерная криминалистика, информационная безопасность

Книжная серия Взгляд на жесткий диск изнутри




Архив статей


21.05.2000
Мосты и ухабы компьютера

Вячеслав ОВСЯННИКОВ
ведущий специалист фирмы «ЕПОС»

Образное сравнение компьютера с автомобилем поможет лучше понять: что ограничивает производительность компьютера в целом, как поведет себя система в многозадачном режиме, какой остается «запас прочности» при воспроизведении видео и звуковых файлов, обработке изображений.

Хотите, чтобы ваш «Запорожец» ездил быстрее? Поставьте двигатель от «Мерседеса».

Не получилось? Тогда поставьте на него шины от «Феррари».

Опять не получилось? Наверное, нелады с тем железом, которое расположено между мотором и шинами.

А ведь точно такая же ситуация складывается и с компьютерами.

«Мотор» компьютера

«Мотор» компьютера – это, конечно же, процессор. Хорошо, что хотя бы с ним пока что все относительно ясно. На сегодняшний день всеми признано и многочисленными тестами подтверждено, что самый быстрый процессор – это Athlon. Возможно, ситуация изменится с выходом 64-разрядных процессоров. Возможно, перемены наступят даже несколько раньше. Но это, как говорится, поживем – увидим.

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

Шины компьютера

С шинами компьютера сложилась довольно запутанная ситуация. Идет активное вытеснение «устаревшей», но тем не менее привычной шины ISA. Это связано в первую очередь с недостаточной производительностью этой шины. Когда «моторы» достигли определенных мощностей, стало понятно, что пора менять и шины. Поэтому сейчас развернулась прямо-таки гонка скоростей передачи данных по шинам. Рекордсменом скорости долгое время была шина видеоакселератора AGP. По этой 32-разрядной шине с тактовой частотой 66 МГц данные могут передаваться со скоростью до 1,06 Гб/с. Но позвольте! Это ведь не согласуется с арифметикой: если умножить 32 разряда на 66 МГц, результат должен равняться 264 Мб/с. С шинами памяти тоже не все понятно. Если шина памяти РС100 имела 64 разряда и тактовую частоту 100 МГц, то и данные по ней передавались с объяснимой нашими вычислениями скоростью 800 Мб/с. Но шина памяти DDR SDRAM (Double Data Rate SDRAM)? При тех же 64 разрядах и 100 МГц она обладает пропускной способностью 1600 Мб/с. По шине памяти типа RDRAM данные также могут передаваться со скоростью до 1600 Мб/с. И при этом шина имеет только 16 разрядов. Такая вот странная арифметика. И вообще Intel утверждает, что частота шины пока не может быть больше 100...133 МГц, однако шина EV6 процессора Athlon работает, как утверждается, с частотой 200 МГц. Где же справедливость?

Давайте разбираться. Путаницу в этом вопросе, как всегда, вносят маркетинговые подразделения фирм. Сознательно или несознательно они путают мегагерцы с мегабайтами в секунду. Когда мы говорим о частоте шины, то всегда подразумеваем тактовую частоту этой шины. Сейчас это 33, 66, 100 или 133 МГц. Скорость же передачи данных измеряется в мегабайтах в секунду. Скорость передачи данных равна произведению частоты шины на количество одновременно передаваемых разрядов. А вот количество одновременно передаваемых разрядов не всегда совпадает с количеством проводов, реально выделенных на печатной плате для передачи данных. Так что считается тактовой частотой шины?

Рис. 1. Искажение импульса передачи данных

Всем понятно, что скорость передачи данных по шине ограничивается искажениями, возникающими в линии при передаче (рис. 1). Передающее устройство выставляет на шину данные в виде перепада напряжения. Однако в приемное устройство этот перепад передается со значительными искажениями. Фронт перепада затянут, на вершине импульса всегда наблюдаются колебания, в течение которых нельзя определить, что выставлено на шину: 1 или 0. По мере развития технологии производства печатных плат удалось значительно уменьшить искажения фронтов импульсов. Более того, съем информации осуществляется после определенной задержки по синхронизирующему импульсу (рис. 1). Заметим, что импульс синхронизации тоже может быть не таким красивым, как нарисовано. Главное, чтобы его фронт не «дрожал». Таким образом, современный уровень развития технологии позволяет осуществить передачу данных с частотой, превышающей 100 МГц. Элементарно, например, удалось передавать в два раза больше информации при той же тактовой частоте шины. Просто данные передаются с удвоенной частотой, а вот съем информации осуществляется как по переднему, так и по заднему фронту импульсов синхронизации (рис. 2).

Рис. 2. Передача данных с удвоенной частотой

Данные передаются с удвоенной скоростью. Но ведь тактовая частота осталась прежней! Что же подразумевается тогда под «передачей данных с удвоенной скоростью»? Это, оказывается, просто метод увеличения количества разрядов, передаваемых за один такт. Таким способом, например, осуществляется передача данных по шине памяти DDR SDRAM (Double Data Rate SDRAM – синхронная память с удвоенной скоростью передачи данных). Частота этой шины в действительности – 100 МГц. Точно так же обстоят дела и с шиной FSB (Front Side Bus) процессора Athlon. Шина процессора все же работает на частоте 100 МГц. Однако данные передаются с удвоенной скоростью, что и позволяет рекламным деятелям шуметь, что это 200-мегагерцовая шина.

А можно быстрее? Ну, если и нельзя, но очень хочется, то почему нет.

Например, в шине AGP в режиме «4x» данные передаются с учетверенной скоростью. Поскольку фронтов у импульсов синхронизации только два, то пришлось удвоить и частоту следования импульсов синхронизации. Можно ли это рассматривать как удвоение тактовой частоты шины? Нет, нельзя. Импульсы синхронизации сигналов, выставленных на шине данных, можно передать и с удвоенной частотой. Однако синхронизировать необходимо также и сам приемник информации. А здесь существенную роль играет еще и величина задержки импульсов синхронизации (время распространения сигналов в проводниках печатной платы). Устранить влияние этой задержки трудно даже при тактовой частоте 100 МГц. Как же тогда работает шина AGP 4x?

128 разрядов данных преобразуются в источнике в 4 блока по 32 разряда. Эти блоки передаются по шине с учетверенной скоростью (рис. 3). Это действительно так. На шине данных информация изменяется с частотой 264 МГц. Однако в приемнике (AGP-видеокарта) эти блоки преобразуются опять в один 128-разрядный блок. И источник, и приемник тактируются с частотой 66 МГц. Таким образом, тактовая частота шины действительно составляет прежние 66 МГц. Поток данных в 1,06 гигабайта в секунду обеспечивается увеличением числа одновременно передаваемых разрядов данных при неизменной тактовой частоте шины.

Рис. 3. Передача данных от источника к приемнику

Только шина памяти РС133 не использует никаких ухищрений. В ней частота честно повышена до 133 МГц.

Несколько в стороне стоит шина памяти DRDRAM (Direct Rambus DRAM). Этот тип памяти отличается наличием собственной внутренней шины (Rambus Channel) с высокой пропускной способностью. Частота шины 400 МГц. Кроме того, данные передаются по ней с удвоенной скоростью. Эта шина действительно способна (по крайней мере, потенциально) обеспечить уникальную скорость обмена данными с памятью. Заметьте к тому же, что значение пропускной способности в 1600 Мб/сек относится к реально внедряемым сейчас 16 разрядам. Но в перспективе ожидается увеличение разрядности до 64 за счет параллельного включения нескольких шин. Это позволит довести пропускную способность памяти до 6400 Мб/сек. В шине памяти DRDRAM применяется несколько иной, более сложный механизм синхронизации, рассмотрение которого, к сожалению, выходит за рамки данной статьи. Однако высокая тактовая частота шины создает очень серьезные технические трудности при реализации. Это мы видим и по стоимости чипов памяти DRDRAM, и по многочисленным неурядицам с выходом в свет чипсетов i810... i840.

Что между «мотором» и шинами: «мосты» или «хабы»?

А теперь самое главное. Что же в компьютере расположено между «мотором» и шинами?

Для начала позвольте напомнить несколько известных вещей.

Основные элементы компьютера: процессор, память, видеокарта и периферия, – связаны между собой набором системной логики – «чипсетом». Вначале это действительно был целый набор чипов, но постепенно количество микросхем сократилось до двух-трех. Традиционно основные микросхемы набора называются «северный мост» и «южный мост». Почему «мосты»? Да потому, что они связывают различные устройства между собой, так же как мосты связывают два берега реки. А почему «северный» и «южный»? Просто на структурной схеме компьютера процессор всегда рисуется сверху, на топографической карте это и есть север. Соответственно, и «мост», который непосредственно связан с процессором, тоже нарисован где-то «на севере». Вся периферия рисуется где-то внизу – «на юге». Поэтому и «мост», отвечающий за работу периферии, – это «южный мост». Покажем это на примере самого распространенного набора Intel® 440BX (рис. 4).

Рис. 4. Структурная схема связей набора Intel® 440BX
(рис. 4, 6 в формате PDF, 28 кб)

«Мосты» кроме цепей, связывающих отдельные элементы, могут содержать также и многочисленные контроллеры: контроллер памяти, контроллер дисков и т.п. Поэтому они имеют и другие названия. Для «северного моста» более правильное название – «системный контроллер» (Host Bridge / Controller). «Южный мост» чаще обозначается как PIIX – аббревиатура от «PCI-ISA-IDE-Xelerator».

Местоположение «моста» определяет степень его влияния на производительность компьютера в целом. «Северный мост» обеспечивает обмен данными между процессором, памятью, видеоадаптером и периферией. Качество разработки именно этого «моста» и определяет разницу в производительности компьютеров с одинаковыми процессорами.

«Южный мост» только обеспечивает работу периферии. От него зависит, будет ли ваш компьютер поддерживать работу жестких дисков в режиме UDMA66, есть ли в компьютере шина USB и т.п.

В новых чипсетах от Intel: 810, 820, 840, – применена несколько другая архитектура – «хабовая». В рекламных обзорах это часто подается как новое революционное новшество от Intel. Но есть ли реальное преимущество у «хабовой» структуры перед традиционной, с «мостами»? Ответ легко отыщется в англо-русском словаре. Английское слово «hub» переводится как центр чего-либо (предмета или деятельности). Таким образом, традиционные «мосты» с полным правом могут называться и «хабами». Зачем же Intel ввела новый термин? Да просто в новых чипсетах несколько расширилась номенклатура микросхем, входящих в основной набор. Появились такие элементы, как, например, «Firmware Hub», который содержит в себе BIOS и генератор случайных чисел. Его уж точно нельзя назвать «мостом». Он ничего ни с чем не соединяет. Поэтому для всех элементов чипсета и принято нейтральное название – «HUB».

Главные события на севере

В основном свойства чипсетов известны из практики. Всем известно, что чипсет 440BX самый быстрый, потому что он «синхронный», в отличие, например, от «тормознутого» «несинхронного» VIA Apollo Pro133. Но понятие «синхронный» сейчас уже весьма неоднозначно. Можно легко обеспечить синхронный обмен данными между устройствами, работающими с одинаковой тактовой частотой. Синхронность обеспечивалась и тогда, когда процессор, память и видеоподсистема работали с одной частотой – 66 МГц, а шина PCI ровно в 2 раза медленнее – с частотой 33 МГц. Но как представить себе синхронный обмен данными в системе, в которой процессор работает с частотой 133 МГц, память с частотой 100 МГц, видеоподсистема с частотой 66 МГц, а периферия с частотой 33 МГц?

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

Рис. 5. Независимый одновременный обмен данными:
а) обмен данными процессора с шиной PCI и шины AGP с памятью;
б), в) одновременный доступ двух устройств к шине памяти;
г) одновременный доступ двух устройств к шине PCI

Как же обеспечивается возможность такого обмена? Рассмотрим это на примере блок-схемы чипсета AMD-751 (рис. 6).

Интересен он прежде всего тем, что это новый чипсет, обеспечивающий удвоенную скорость обмена данными с процессором а, кроме того, он представляет из себя практически полную копию всеми любимого чипсета Intel 440BX. Различие только в шине процессора. В чипсете AMD-751 применяется шина EV6, а в чипсете Intel 440BX – шина GTL.

Рис. 6. Структура чипсета AMD-751

На рисунке видно, что «северный мост» имеет в своем составе многочисленные буфера. В этих буферах организованы очереди запросов к различным элементам. Причем для каждой шины реализовано несколько буферов, по числу других шин, с которыми возможен обмен. Естественно, ни о каком синхронном обмене не может идти и речи. В реальной системе наибольшее количество запросов данных приходится на систему памяти. Кроме того, именно система памяти сейчас является одним из самых «узких» мест компьютера. Поэтому обмен с памятью практически все шины осуществляют не напрямую, а через специальный элемент – организатор запросов к памяти Memory Request Organizer. Логика работы этого организатора в основном и определяет отличия в производительности близких по структуре чипсетов.

Справедливости ради следует сказать, что чипсет 440BX в целом не синхронный, как и все другие, однако обмен данными процессора с памятью все же осуществляется синхронно. Это дает ему значительное преимущество в операциях, связанных с интенсивным обменом данными процессора с памятью, хотя и создает определенные неудобства при конфигурировании системы.

Таким образом, производительность компьютера определяется отнюдь не одним только процессором, а еще и шинами и, в очень большой степени, чипсетом. А в чипсете самым главным потенциальным «тормозом» является «северный мост».

Кто более матери-истории ценен

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

Поскольку выше мы уже решили, что самое больное место сейчас именно память, то основной наш тест – это тест производительности памяти. Мы измерили быстродействие памяти на операциях обмена данными с процессором с помощью программы Wstream.exe. Неважно, в каких попугаях программа выдает результат, главное, что попугаи одинаковы для всех плат. Оказывается, что производительность компьютера на чипсете 440ВХ в операциях с памятью более чем в 2 раза превышает производительность компьютера с чипсетом VIA Apollo Pro133 и примерно в 1,5 раза выше, чем для чипсета i820 с памятью SDRAM (рис. 7).

Рис. 7. Производительность подсистемы памяти

Именно медленная работа с памятью и является причиной общей «тормознутости» чипсета VIA. Тем не менее в отдельных приложениях и компьютеры с чипсетом VIA могут показывать вполне приличную производительность. В частности, в игре Quake III: Arena чипсет VIA не опережает, конечно, 440ВХ, однако и отстает не так уж катастрофически. Более того, с чипсетом VIA Apollo Pro133 игра получается даже быстрее, чем с новейшим чипсетом от Intel – i820 (рис. 8).

Рис. 8. Скорость игры в Quake3

Таким образом, мост мосту рознь. Но зависит производительность компьютера и от шин. Причем наибольшее влияние на производительность оказывает шина памяти. В частности, тест производительности памяти при отключенном кэш процессора показывает, что если в системе установлена память РС100, то увеличение частоты шины процессора со 100 до 133 МГц приводит к улучшению производительности всего на 5...7%. В то же время, если установлен процессор с частотой шины 100 МГц, то увеличение частоты шины памяти со 100 до 133 МГц приводит к улучшению производительности на 11...18%. Если же частота шины процессора равна 133 МГц, то увеличение частоты шины памяти со 100 до 133 МГц приводит к улучшению производительности более чем на 20%. Таким образом, для комфортной работы нам важнее производительность шины памяти, чем производительность шины процессора.

Выходит, зря AMD хвастается высокопроизводительной шиной процессора Athlon? Да нет, не зря. Все зависит от конкретных задач. Наиболее сложной задачей из распространенных является обработка изображений. Поэтому для следующего теста был выбран редактор Photoshop. Проводилась обработка реального файла большого объема (свыше 50 Мб) с замером времени выполнения различных операций. Интересен, например, результат по времени выполнения операции «Rotate canvas». При выполнения данной операции осуществляется интенсивный обмен данными между процессором и памятью, интенсивные вычисления и обмен данными с жестким диском.

При изучении возможностей чипсетов нас интересует даже не столько то, как быстро выполняется данная операция, сколько то, какой при этом остается «запас прочности». Как поведет себя система в многозадачном режиме? Поэтому мы сделали два замера: время выполнения данной операции в монопольном режиме и время выполнения операции при одновременном выполнении другой задачи. «Другой задачей» мы выбрали воспроизведение звуковых файлов в формате МР3 с CD-диска. При воспроизведении также задействуются все элементы компьютера: данные считываются с компакт-диска, передаются по шине PCI в память, считываются из памяти процессором, обрабатываются им и передаются в звуковую карту по той же шине PCI. Таким образом, обе задачи задействовали практически все элементы компьютера. На рис. 9 представлены результаты в виде относительного замедления выполнения основной задачи при одновременном выполнении другой (иначе говоря, в то время как звучит приятная музыка). Процессор Athlon имеет более высокую скорость обмена с чипсетом (впрочем, и вычисления осуществляются несколько быстрее). Благодаря этому в компьютере с процессором Athlon время выполнения операции увеличивается только на 11%. Любители музыки согласятся, наверное, что с таким ухудшением можно мириться. В компьютере с чипсетом 440ВХ скорость обработки изображений замедляется на все 18%. А вот с чипсетом VIA лучше вообще не заниматься сколько-нибудь серьезной графикой.

Рис. 9. Сравнение производительности в многозадачном режиме

Немного философии

К сожалению, «за кадром» осталось много интересных вопросов. В частности, «южный мост» тоже может серьезно «подпортить репутацию» компьютера, в том числе и в вопросах производительности. Например, для чипсета i810 декларируется поддержка режима UDMA66 для жестких дисков. В комплекте с платой на этом чипсете поставляется и специальный кабель для подключения дисков в этом режиме. Проку вот только мало. Не работает чипсет с дисками в этом режиме. Можете проверить. А BIOS и драйвера? Ведь плата ASUS P3B-F отстает на дисковых операциях от своей же более ранней модели P2B-F. Интегрированные чипсеты вообще не отличаются производительностью. А если необходимо установить в компьютер с новым чипсетом нечто не очень распространенное? На отличную материнскую плату с процессором Athlon не удалось, например, установить отличный RAID-контроллер от AMI.

И с перспективами не совсем понятно. Да, у AMD не только имеется прекрасный процессор, но и внедрена замечательная шина. Но интересно, кто все же доведет частоту этой шины до заветных 200 МГц, да еще и подключит к одному «мосту» или «хабу» десяток-полтора процессоров? Ведь шина EV6 предполагает подключение каждого процессора непосредственно к чипсету. А это 140 ножек для каждого процессора. Не спасет и корпус BGA. Даже если ножек и хватит, то такую массу высокочастотных проводников на плате все равно не развести.

Видимо, единственное, что можно уверенно утверждать, так это то, что нет у нас приличных чипсетов и вряд ли когда-нибудь будут. Конечно, Intel в конце концов доработает свою линию 800-х чипсетов. Мы это уже проходили. Вспомните, например, сколько просуществовали чипсеты 430VX, -HX, -TX? Да просто мгновения, хотя их и было выпущено достаточно много. Сразу видно, что Intel за наши с вами деньги просто отлаживала новую технологию. И ведь отладила! 440ВХ просто прелесть. Только вот староват уже.

Единственное, что радует в этой погоне за производительностью, – что Intel не смогла так же быстро, как это произошло в случае с AGP, внедрить память RAMBUS. Благодаря этому значительно укрепились позиции других производителей чипсетов. И пусть пока платы от VIA не обгоняют платы от Intel. Со временем доработают. Но зато на рынке много плат от разных производителей. Соответственно – и цены не очень кусаются. Как-нибудь проживем.


Поделиться информацией