Процессор VIA C3

Архитектура и производительность

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

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


Архитектура процессора VIA C3 на ядре Samuel-2

Ядро Samuel-2 (кодовый номер C5B) является дальнейшей модификацией того, на котором базировался первый процессор C3. Изменения, в основном, затронули только кэш (появился кэш второго уровня) и блок предсказания ветвлений (увеличен объем его буферов). Структурная схема ядра процессора Samuel-2 представлена на диаграмме.

 

Общая длина конвейера процессора составляет 12 стадий - от выборки инструкции до записи результатов. Тем не менее, само исполнительное устройство не конвейерное. Кроме того, насколько мне позволяют судить мои познания в области микропроцессоров, у VIA имеется множество других недостатков. Его ядро не суперскалярное - процессор не может параллельно обрабатывать несколько инструкций, и потому пропускная способность ограничена одной инструкцией за такт. Даже первый Pentium имел второй конвейер. Допускаю, что не все программы оптимизированы с учетом распараллеливания потока команд, но современные процессоры применяют механизм переупорядоченного выполнения (out-of-order execution), который позволяет "скармливать" команды процессору в оптимальной последовательности. Samuel-2 этот прием не использует, так как все равно не способен исполнять команды параллельно.

Еще один примечательный момент - блок FPU (но не MMX/3DNow!) процессора VIA работает на половинной частоте. Нечто подобное имеет место в архитектуре Pentium-4: у этого процессора блок ALU работает вдвое быстрее FPU.

У Samuel-2 нет также механизма преобразования x86-инструкций в RISC-подобный набор команд. Впрочем, кое-какие действия в этом направлении все же предпринимаются: процессор аппаратно выполняет только ограниченный набор инструкций, а редко используемые команды x86 заменяются микропрограммами, загружаемыми из ПЗУ.

Как объясняют разработчики, они намеренно пошли на сокращение конвейеров и упрощение архитектуры, чтобы обеспечить малый размер ядра и низкое потребление энергии. Этому же способствует динамическое управление потреблением энергии - многие блоки процессора при простое способны отключаться. Тем не менее, процессор имеет большие внутренние кэши, которые, как известно, требуют особенно много места на кристалле. Почему разработчики потратили столько места на 192 Кб памяти, если они так заботятся о размере кристалла? Загадка…


Другие особенности процессора

Впрочем, ядро Samuel-2 все-таки получилось небольшим. При использовании техпроцесса 0.15 мкм его размер всего 52 кв. мм. Процессор работает на напряжении 1.6 В. Потребление энергии - тоже большой плюс процессора: для моделей 700-800 МГц оно составляет 5.8-6.6 Вт, что на 30% меньше, чем у Celeron с такой же тактовой частотой. Тем не менее, эксплуатировать процессор с кулером без вентилятора VIA не советует.

Частота процессорной шины для Samuel-2 может варьироваться. На сегодня существуют модели с шиной 100 МГц (700, 750, 800) и 133 МГц (733A, 800A). VIA нет смысла искусственно понижать шину, так как у нее нет процессоров старшей линейки - в отличие от Intel.

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

Процессор упакован в устаревший керамический корпус и потому похож на Cyrix 6x86/MII. Причем производитель "догадался" наносить маркировку краской прямо на контактную площадку - видимо, не заботится о хорошем контакте с кулером. Механически и электрически C3 совместим с процессорами Intel семейства P6. Он может устанавливаться практически на все материнские платы с разъемом Socket-370, и даже на те, которые не поддерживают Tualatin. Кроме того, он способен работать и на самых последних платах, в отличие от старых моделей Celeron на ядре Mendocino (333-533 МГц).


Позиционирование

Проанализировав результаты работы инженеров Centaur, VIA пришла к выводу, что ее процессор должен использоваться только в самых дешевых ПК, а также специализированных компьютерах - ТВ-приставках, "интеллектуальных" бытовых приборах, планшетных и мобильных компьютерах. Вряд ли он сможет составить конкуренцию аналогам от Intel и AMD - слишком примитивная архитектура не позволит эффективно обрабатывать интенсивные потоки команд, а блок FPU с пониженной частотой не подходит для задач со сложной математикой. Зато низкое потребление и рассеивание энергии - очень ценное свойство для компьютеров без мощной системы охлаждения. Да и себестоимость такого компактного процессора получается небольшой, что актуально для дешевых компьютеров.

Но все-таки, какова производительность VIA C3? Стоит ли обращать на него внимание нам, владельцам настольных компьютеров? Постараемся это выяснить.


Тестирование

С трудом достав младшую модель процессора, C3-733A, я решил провести сравнительное тестирование. В качестве конкурента выступил, конечно, Celeron. Причем я решил не использовать Coppermine - процессоры на базе этого ядра постепенно исчезают из прайсов, и в скором времени их полностью заменят Tualatin. Однако найти Tualatin c частотой 733 МГц нереально, поэтому я взял Celeron 1.0 и понизил его частоту до 750 МГц (75х10). Замечу, что C3 использует более высокую частоту процессорной шины, что должно, по идее, повысить эффективность работы с памятью. Правда, у Celeron больше суммарный объем кэша - 256 Кб (L2) против 192 Кб (L1+L2) у C3. Но для несложных офисных задач это не критично.

Для тестирования я выбрал плату Canyon 6SP2AS-T. Это недорогая, но достаточно качественная и надежная материнка на чипсете i815EP step 'B'. Она имеет форм-фактор ATX, полный набор слотов (3DIMM, 6PCI, CNR, AGP), качественный двухканальный модуль питания, поддерживает процессоры Coppermine, Tualatin и VIA Samuel/Samuel-2/Ezra. Встроенный звук основан на кодеке ALC201, разведен качественно. Особенность платы - поддержка питания PCI-устройств в режиме Soft-off. А вот возможностей по разгону у нее практически нет, поскольку она ориентирована на корпоративный сектор.

Поскольку C3-733A работает на шине 133 МГц, мне удалось и память поставить на 133 МГц. В случае с Celeron этого сделать нельзя - так уж устроен чипсет i815EP.

  VIA C3-733A Intel Celeron-750 Разница
CPUMark99 41.9 66.4 58%
Sandra2002 Dhrystones (ALU) 886 2063 133%
Sandra2002 Whetstones (FPU) 242 1005 315%
PCMark2002 JPEG decompression 2.3 7.4 222%
PCMark2002 Zlib compression 1.2 3.5 192%
PCMark2002 Zlib decompression 14.2 31.5 122%
PCMark2002 Text search 24.1 50.6 110%
PCMark2002 Audio compression 11.2 28.1 151%
PCMark2002 3D Vector calculations 8.9 24.1 171%
Sandra2002 Memory ALU 187 284 52%
Sandra2002 Memory FPU 248 285 15%
Cachemem Memory Read 244.7 567.7 132%
Cachemem Memory Write 169.2 181.5 7%
Winstone2001 Business 21.9 35.3 61%
3DMark2001 640x480 2811 4534 61%
Unreal Tournament 640x480 23.8 36.8 55%
Quake3 640x480 54.8 91.6 67%
Serious Sam 640x480 17.4 40.3 132%

Начнем с процессорных тестов. Очевидно, что C3 в силу своих архитектурных особенностей не сможет тягаться даже с не очень-то быстрым Celeron. В тесте CPUMark'99 процессор VIA медленнее в полтора раза, в Sandra - более чем вдвое медленнее в целочисленной и вчетверо - в плавающей арифметике. В тестах PCMark2002 он тоже медленнее в два-три раза. Фактически C3 может поспорить только с таким "древним" процессором, так AMD K6-II.

А как насчет работы с памятью? Согласно Sandra, при выполнении целочисленных операций скорость работы с памятью составляет всего 187 Мб/с - Celeron показывает на 50% лучший результат. С плавающей запятой, впрочем, разница небольшая. Другой тест, Cachemem, утверждает, что запись C3 делает достаточно быстро (если сравнивать с Celeron), а вот читает вдвое медленнее.

Может быть, в реальных задачах C3 реабилитирует себя? Да нет, Celeron опять быстрее в полтора раза (согласно тесту Winstone2001 Business). В трехмерных играх даже при наличии такой дорогостоящей видеокарты, как GeForce3, система на базе C3 остается далеко позади (все те же 60-130% отставания в разрешении 640х480).

К тому же с совместимостью не все в порядке - по неизвестной причине не прошел тест SYSmark2002. И еще одну вещь я обнаружил. Если внимательно проанализировать график, полученный с помощью Cachemem, становится очевидным, что у C3 не работает кэш второго уровня! Блоки данных объемом более 64 Кб не могут быть прочитаны без обращения к памяти, в то время как кэш Celeron справляется и с 256 Кб блоками. А если посмотреть на ситуацию с записью, то выясняется, что у C3 данные отправляются сразу в память, минуя кэш. Это связано либо с ошибками в процессоре, либо, что более вероятно, с некорректной инициализацией процессора.


Итог

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

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

Плюсы:

  • низкое потребление энергии;
  • совместимость со старыми и новыми платами;
  • можно не беспокоиться о перегреве;
  • поставка в составе целых платформ;
  • низкая цена.

Минусы:

  • очень низкая производительность;
  • неполная совместимость с BIOS и ПО;
  • малая распространенность.

Макс КУРМАЗ,
max@hw.by,
"Белорусский 'железный' сайт" (
www.hw.by)

Процессор VIA C3 733A предоставлен фирмой Jet

Материнская плата Canyon 6SP2AS-T и процессор Intel Celeron 1.0A предоставлены фирмой ASBIS

Версия для печатиВерсия для печати

Номер: 

23 за 2002 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя apple_rom
>Если внимательно проанализировать график, полученный с помощью Cachemem, становится очевидным, что у C3 не работает кэш второго уровня!

"VIA C3 Processor Datasheet": The VIA C3 Samuel 2 processor does contain an L2 cache. For compatibility, this read-only MSR indicates to the BIOS or system software that the L2 is disabled even if the L2 is enabled.

В смысле, думаю, что это лишь из-за "незнания" (или "некорректности")процессора тестовой программой.

>при выполнении целочисленных операций скорость работы с памятью составляет всего 187 Мб/с - Celeron показывает на 50% лучший результат.

В отличие от Intel у VIA MSR_2Ah, точнее бит "In Order Queue Depth" не R/O, а R/W. А он может быть 8 или 1. Что по дефаулту - я не в курсе, но проверял - в данной плате (6SP2AST) этот регистр (MSR_2Ah[0Ch]) точно не инитится. А этот параметр влияет не на 50, а на 100-200% на скорость памяти сотоварищи. Поэтому, какая реальная раскладка сил по скорости памяти, а соответственно, и других основных параметров - большой вопрос. Зная криворукость Awardовских биосописателей не стану утвеждать, так ли "ущербен" C3. В своё время только из-за похожих траблов унижали и виашку с её VPX-ом и К6-2-ых. Однако время показало - это были совсем не плохие продукты, во многом просто загубленные биосописателями, не включившими поддержки действительно "полезных", но "не-интеловских" фич.

>неполная совместимость с BIOS...

Вообще-то, биос должен поддерживать процессор, а не наоборот;)

Аватар пользователя Макс Курмаз
Не знаю, где ты нашел, что у C3 нет кэша L2... Кроме того, программа в любом случае не знает о кэшах ничего - она просто меряет задержки при записи и чтениии памяти.

То, что не инициализируются некоторые (если не все) регистры, я и так догадался. Об этом и пытался сказать - не поддерживается этот процессор корректно. Да, не спорю, наверняка есть платы, на которых он будет работать намного быстрее. Но много ли их? И будут ли они дешевыми? Скорее всего, в общем случае C3 будет работать так, как на этой плате.

(Могу этот факт проверить - проц пока что у меня)

Аватар пользователя apple_rom
>Не знаю, где ты нашел, что у C3 нет кэша L2...

Не понял. Я ж, наоборот, писал, что - есть, только для не совсем понятной мне "совместимости", в MSR_11Eh(cache L2 init) бит 23 = 1 - т.е. L2-disabled. Если тесты пользуются этим регистром в своих подпрограммах, то как они отреагируют на такой "обман" сказать сложно.

>Скорее всего, в общем случае C3 будет работать так, как на этой плате.

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

Только не нужно думать, что я пытаюсь доказать, что VIA C3 - rulez. Нет, просто сам его юзал и так до конца не разобрался в причинах низкой скорости памяти. Изначально я тоже решил - отстой, однако, когда на одной из старых виашек (вроде VIA691) он обошёл Celeron на одинаковой частоте (по скорости памяти) я засомневался. Но так и не проверил свои подозрения по "неинициализации" из-за того, что проц был жестоко продан.

Кстати, модели VIA C3 Samuel 2 (и все Erza), сделанные по 0.13 технологии, действительно прекрасно работают не только без кулера, но и без радиатора вообще. 0.15-е греются, заразы, но минут пять запросто могут и без радиатора тоже. А из-за того, что они работают на всех платах (PPGA, FC-PGA, FC-PGA2), на всех частотах (66, 100, 133) и могут жить без кулера (хоть временно), то можно сказать, что это - ИДЕАЛЬНЫЙ процессор для людей, работающих с железом, которым постоянно приходится перетыкивать процессоры.

п.с. если у тебя есть возможность - могу подправить в прошивке инициализацию C3, прошьёшь, проверим хуизху.

Аватар пользователя Макс Курмаз
> 0.15-е греются, заразы, но минут пять запросто могут и без радиатора тоже.

Я погонял полчасика, отключив вентилятор. Все работало, но радиатор начал недетски разогреваться.

Аватар пользователя apple_rom
>Все работало, но радиатор начал недетски разогреваться.

Верно, я ж про то же. Но, вообще-то и 0.15-ые можно без радиатора юзать. Просто надо поставить напружку 1.3 вместо 1.6. Я пробовал, на родной частоте - не вопрос и действительно можно даже без радиатора, в любом случае, без кулера - сто процентов.

Аватар пользователя Антон
В статье написано, что C3-733A даёт по Sandra2002 187 Мб/с ALU и 248 Мб/с FPU; Celeron-750 - соответственно 284 Мб/с и 285 Мб/с. На моей системе (Duron-700, VIA KT133A, память PC133 noname) та же самая Sandra2002 показывает 1007 и 998 Мб/с. Понятно, что эти цифры нереальные. Но что именно я делаю не так?
Аватар пользователя apple_rom
>Но что именно я делаю не так?

Видимо, включаешь MMX, 3DNow! сотоварищи, а Макс тестил без оных, ИМХО.

Аватар пользователя Макс Курмаз
Да, правильно. В Сандре есть два разных теста памяти. Чтобы включить первый, нужно в свойствах модуля отключить все, что связано с MMX и SSE.
Аватар пользователя Антон
Спасибо