Эта статья прислана на конкурс.
pahan (автор играет на конкурсе под псевдонимом)
Такие названия, как SIMM, DIMM и даже RIMM, знакомы всем – это типы модулей оперативной памяти. Название героя этой статьи на них очень похоже – вы правильно угадали, речь пойдёт о модуле памяти – AGP In-Line Memory Module. Вот только в данном случае это модуль видеопамяти, предназначенный для встроенной в чипсет Intel 815 видеокарты. Собственно, на этом доступные в Интернете сведения об этих маленьких платах обычно и заканчиваются. Попробую хоть как-то исправить этот пробел, проверив это устройство на практике.
К 1997 году 3D-ускорители становились всё более популярны и распространены, а пропускной способности шины PCI в ближайшее время для них оказалось бы недостаточно. Была создана шина AGP, предназначенная только для подключения видеокарты, и одним из её преимуществ была возможность использовать не только установленную на самой плате память, но и возможность для графического процессора использовать текстуры напрямую из общего ОЗУ, не перекачивая в набортную видеопамять. На практике это преимущество оказалось сомнительным, поскольку к ОЗУ одновременно обращаются не только видеокарта, но и другие компоненты. Да и производители видеокарт и их процессоров предпочли устанавливать на них всё большие объёмы всё более быстрой памяти. Разработчики же предмета этой статьи решили поступить наоборот – для встроенной в чипсет материнской платы видеокарты, использующей под себя часть общего ОЗУ, сделали планку с дополнительной памятью, к которой можно обращаться по выделенному каналу. Получилось плохо. А насколько плохо – сейчас увидим.
Обсуждаемое «чудо техники» представляет собой маленькую плату с единственной микросхемой 133-мегагерцовой SDRAM-памяти, объёмом 4 МБ, а также кучкой конденсаторов обвязки и несколькими местами под нераспаянные конденсаторы.
Ещё на этой плате есть картинка, показывающая, как эту штуку правильно вставлять. Это важно – чтобы вставить модуль в разъём, его действительно надо сначала зацепить передним крючком за рамку вокруг AGP-слота, держа модуль под углом примерно в 30°, а затем вдавить в разъём его заднюю часть. Поняли теперь, зачем этот выступ впереди на рамке AGP-слота?
Главное – правильно подобрать угол, а то или перед, или зад платы в разъём не войдёт. А можно просто отодрать рамку, она штатно съёмная и реально никому не нужна.
Как видно на фото, на плате задействованы далеко не все контакты шины AGP, а именно:
- конечно, земля и питание (+3,3 В – режим AGP 2x, как раз работающий с эффективной частотой 133 МГц)
- тактовый сигнал
- сигнал выбора микросхемы chip select
- типичные для оперативной памяти сигналы выбора адреса строк и столбцов RAS, CAS и разрешения записи WE
- 32битная шина данных
- 12битная шина адреса
- 4 бита маски, позволяющих обратиться только к конкретным байтам внутри 32битного слова
При этом нужно отметить, что назначение сигнальных контактов модуля совсем не соответствует общему для шины AGP – шины адреса, данных и управления в AIMM разбросаны по контактам, которые относятся и к шине адреса/данных AD, и к шине адреса SBA и к различным служебным сигналам шин PCI и AGP. Так что материнская плата всё-таки должна уметь правильно распознавать такие модули. В моих запасах из официально поддерживающего AIMM (на момент написания текста статьи) нашлась ровно одна плата – Gigabyte GA-6OMM7. Впрочем, выразилась эта официальная поддержка в упоминании его в спецификации и картинках в мануале, показывающих, как его правильно вставлять. Опять информации негусто.
Для теста в плату было воткнуто то, что под руку попалось, а именно: процессор Pentium 3-733 МГц и 384 МБ 133-мегагерцовой памяти. Заведовала всем этим Windows 98 SE с DirectX 8 и свежайшими драйверами с сайта производителя платы. Встроенному видеоадаптеру было отрезано 32 МБ памяти (меньше нельзя).
(В принципе, некоторые могут возразить, что зачем тестировать заведомо несбалансированную систему с заведомо слабой видеокартой и достаточно неплохими процессором и памятью. На это могу сказать, что что-то подобное вполне можно было встретить в реальности. Особенно если богатый и не разбирающийся в теме клиент (типа бизнесмена, знающего только слово «процессор покруче») встречался с не вполне добросовестными сборщиками. Ну да всякие «супермаркеты электроники» сравнимых уродцев до сих пор массово народу предлагают).
Итак, стартовали. Начнём с того, что реально от оперативной памяти все 32 МБ разом отъедаться не будут – потребление памяти динамическое. Настолько динамическое, что разные программы сообщают разный свободный объём:
Ну ладно, соберём некоторые исходные данные для теста. Тестовым пакетом у нас будет игра Unreal Tournament v.4.36. Для тестов игрался один матч с 7 ботами на стандартной карте DM-Pressure. Тут нужно отметить, что штатно UT умеет показывать только два значения fps – среднее и за последнюю секунду. Поэтому минимальные и максимальные значения в таблице – это просто то, что визуально наблюдалось за время матча. Итак, вот наш базовый уровень:
Режим
|
Минимум
|
Среднее
|
Максимум
|
800x600@32, Direct3D
|
13
|
18
|
22
|
640x480@32, Direct3D
|
19
|
24
|
28
|
Здесь нужно отметить две вещи:
- В полноэкранном режиме игра запуститься так и не смогла. Так что все тесты отсюда и далее выполнялись в оконном режиме.
- Некоторые при виде столь низких значений могут потребовать перейти на 16битный цвет. Я попробовал, сходу никакой разницы не получил и отдельных результатов в таком режиме фиксировать не стал. Всё равно всё тестирование в рамках данной статьи больше напоминало садо-мазо.
Теперь попробуем повысить производительность, установив модуль AIMM. Что от этого изменилось? Почти ничего. В BIOS появились новые пункты:
В таблице устройств тоже появилась отметка, что у нас есть аж 4 МБ display cache (кстати, других объёмов вроде как и не выпускалось вообще):
И на этом пока всё. Для Windows модуль оказался абсолютно прозрачен, новых устройств не появилось, про свободную память путаница в показаниях оказалась точно такой же. А вот как повлияло это на игру:
Режим
|
Минимум
|
Среднее
|
Максимум
|
800x600@32, Direct3D
|
15 (хотя 1 раз просело до 11,5)
|
18
|
23
|
640x480@32,
Direct3D
|
20 (хотя 1 раз просело до 17)
|
25
|
30
|
Прирост
|
800x600@32, Direct3D
|
15%
|
0
|
4,5%
|
640x480@32,
Direct3D
|
5%
|
4%
|
7%
|
Цифры конечно, смешные. Однако с применением AIMM-модуля играть всё-таки стало приятнее: хоть значения fps и почти не изменились, они в целом стали стабильнее – отклонения от среднего значения стали встречаться гораздо реже.
А теперь попробуем обновлённую версию 815го чипсета, а именно stepping B, поддерживающий новое ядро Tualatin. В тестах его представит плата Gigabyte GA-6IEML. Официально (т.е. явным образом в мануале) для этой модели поддержка AIMM уже не упомянута. В реальности же он, конечно, работает, скорее всего, к моменту выхода этой платы надобность в рекламе сих непопулярных модулей отпала сама собой. Остальные компоненты пока те же, на картинках тоже ничего нового не будет, поэтому перейдём сразу к результатам тестов. Да, есть ещё одна разница – памяти встроенной видеокарте досталось уже 64 МБ, других вариантов просто не было.
Режим
|
Минимум
|
Среднее
|
Максимум
|
800x600@32, Direct3D
|
7
|
13
|
16
|
640x480@32,
Direct3D
|
9
|
17
|
25
|
Прирост
|
800x600@32, Direct3D
|
-46%
|
-28%
|
-27%
|
640x480@32,
Direct3D
|
-53%
|
-29%
|
-11%
|
Провал… Попробовать объяснить это я могу лишь одним способом – разницей в применяемых звуковых кодеках. Видимо, кодек от Realtek на этой плате гораздо сильнее нагружает процессор, чем Sigmatel на предыдущей. Собственно, пока его настроечная утилита висела в автозагрузке, результаты были ещё хуже – UT становился полностью и окончательно неиграбельным.
Воткнём AIMM и посмотрим, что будет:
Режим
|
Минимум
|
Среднее
|
Максимум
|
800x600@32, Direct3D
|
4
|
13
|
18
|
640x480@32,
Direct3D
|
7
|
17
|
22
|
Изменения незаметны.
К сожалению, других плат под Pentium-3, имеющих одновременно и AGP-слот, и встроенное видео, у меня нет, так что попытки подсунуть модуль чему-нибудь, что про него официально не знает, на этом закончились, и мы переходим к выводам. В общем, что можно сказать про эти модули. Хоть как-то играть на встроенной графике в современные на тот момент игры даже в те времена всё-таки было возможно. И подобная «приблуда» действительно немного улучшала такой явно необычный режим работы. Впрочем, эффект от такого улучшения по порядку величины сравним с заменой средненького Celeron’а на топовый Celeron же, то есть мизерный. Так что эту технологию можно по праву отнести к мертворождённым. Вот если бы были модули на больший, значительно больший объём… А по цифрам – что ж, уровень производительности и качества картинки в целом примерно тот же, что показывают на такой системе многие продукты второй половины 90х – Matrox Millenium G200, S3 Virge DX/GX, Intel 740, Ati Rage II, Voodoo 3 (в режиме Direct3D), всякие обрезанные Vantы и Rivы M64.
P.S. Есть у меня для вас и козырь в рукаве – Pentium-3S 1400 МГц. А ну-ка, спарим топовый процессор с дешёвейшим ускорителем:
Режим
|
Минимум
|
Среднее
|
Максимум
|
800x600@32, Direct3D
|
17
|
23
|
27
|
640x480@32,
Direct3D
|
16
|
29
|
39
|
Прирост
|
800x600@32, Direct3D
|
31%
|
28%
|
23%
|
640x480@32,
Direct3D
|
-16%
|
21%
|
39%
|
Вдвое большие кэш и частота сделали своё дело – наконец-то можно почти комфортно поиграть. От модуля AIMM же в такой конфигурации эффект примерно нулевой:
Режим
|
Минимум
|
Среднее
|
Максимум
|
800x600@32, Direct3D
|
17
|
23
|
28
|
640x480@32,
Direct3D
|
18
|
30
|
38
|
Кто-то опять скажет про нереалистичную конфигурацию? Что ж, группой в институте или отделом на работе и не на таком играли ;).
За участвовавшее в тестах железо автор благодарен:
Алексею qlex за собственно AIMM-модуль
Олегу, Владу, магазину pc-1, Стасу kelevra за процы и платы с памятью
А остальное использовалось из валявшегося на работе ;)
Обсудить статью в специально созданной ветке форума. Эта статья прислана на конкурс.
© Текст, фотографии - pahan (автор играет на конкурсе под псевдонимом)
© Железные призраки прошлого - 2017 г.
Опубликовано 29.04.2017 г.
Дополнения или поправки на phantom@sannata.ru
|