Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Pentium P54C тестовые регистры TR12
RSS

Pentium P54C тестовые регистры TR12

<<Назад  Вперед>> Страницы: 1 2 * 3 4
Печать
 
pahan
Advanced Member


Откуда: Химки, М.О.
Всего сообщений: 1070
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мар. 2015
Если источник данных (память) будет работать на частоте 25 МГц, не столь важно, на сколь огромных частотах будет обрабатывать их ядро процессора. Что все давно видели на примере коппермайнов и нортвудов (особенно целеронов), когда рост только частоты ядра давал уменьшающийся почти до нуля рост производительности.
[q]
Глядите-ка без L1-кэша кода он медленнее, чем без L1-кэша данных )) Код важнее )
[/q]
Вот именно что важнее интерпретация результатов. Имхо, всё зависит от конкретной задачи (теста). В 3D тестах вычислений много - важнее кэш кода. В speedsys - важнее кэш данных (скорее всего, там какие-то СУБДподобные задачи - типа выбрать определённые строки из большого однотипного массива).
BreakPoint
Гость

Ссылка

pahan написал:
[q]
Если источник данных (память) будет работать на частоте 25 МГц...
[/q]
Теоретически правильно. Но в данном конкретному случае
во первых, и память у пенька пошустрее
во вторых, шина поширее
в третьих, очередь префетчера подлинее

так что деградация до уровня 386-25МГц, как по мне, может быть вызвана только какими-то дополнительными расходами, вызванными отключением кэша. Мне кажется, даже при отключенном кэше, любой доступ к памяти начинается с cache lookup который естесвенно ничего не дает. И только после этого проц начинает операцию ввода вывода к памяти.
Сейчас на форуме
Fasterpast
Advanced Member


Всего сообщений: 582
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
20 окт. 2013
Грубо говоря, скорость кэша в 10 раз выше скорости памяти (особенно по задержкам), вот и производительность падает в 10 раз )
pahan
Advanced Member


Откуда: Химки, М.О.
Всего сообщений: 1070
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мар. 2015
[q]
Мне кажется, даже при отключенном кэше, любой доступ к памяти начинается с cache lookup который естесвенно ничего не дает.
[/q]
Скорее всего, вы правы. Изначально (при старте процессора) кэш отключен. Но дальше он включается, кэширует какие-то данные, и к тому моменту, когда мы отключаем кэш из тестовой проги, в нём уже что-то есть. А вот дальше самое интересное - даже при отключенном кэше, в случае если нужные данные находятся в нём, они будут взяты из кэша, но в случае промаха кэш обновлён не будет. В случае записи - они могут быть обновлены только в кэше, но не в памяти.
см. Pentium® Processor Family Developer’s Manual 24142805.pdf таблица 2.1
[q]
во первых, и память у пенька пошустрее
[/q]
Не так уж и сильно - в 2-2,5 раза.
[q]
во вторых, шина поширее
[/q]
А это вообще мало влияет. Ну протаскивает он за такт в 2 раза больше данных. Только программе (особенно досовской) из 32/64 бит при этом скорее всего надо было только 8 или 16. Остальные будут проигнорированы. Широкая шина как раз актуальна в основном чтобы загонять данные в кэш.
BreakPoint
Гость

Ссылка

pahan написал:
[q]
Не так уж и сильно - в 2-2,5 раза.
[/q]
Вот именно, то есть при прочих равных у нас получатеся какой то условный 386ДХ-66. А получился 25.


pahan написал:
[q]
в случае если нужные данные находятся в нём, они будут взяты из кэша, но в случае промаха кэш обновлён не будет
[/q]
Это по сути потдверждает мою теорию. Т.е. не смотя на "отключенный кэш" проц все равно не имеет обходных путей для общения в внешним миром в обход кэша.
Т.е. при любой ИО операции к памяти проц сначала проверяет есть ли эти данные/код в кэше, и (кто бы мог подумать) их там не находит. Естественно на лукап уходит как минимум 4 цикла (а то и больше).
Т.е. кэш становится тормозом системы, а не ускорителем.

Поэтому я и говорю, что проц без кэша и проц с отключенным кэшом это не одно и тоже.


pahan написал:
[q]
А это вообще мало влияет. Ну протаскивает он за такт в 2 раза больше данных.
[/q]
Тут тоже не все так просто, во первых от широкой шины выиграет префетчер (по крайней мере в теории). Во вторых FPU.
Сейчас на форуме
pahan
Advanced Member


Откуда: Химки, М.О.
Всего сообщений: 1070
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мар. 2015
[q]
Естественно на лукап уходит как минимум 4 цикла (а то и больше).
[/q]
Откуда цифра 4? Минимум 4 цикла - это как раз обращение к памяти уже после кэша.
[q]
во первых от широкой шины выиграет префетчер (по крайней мере в теории)
[/q]
Да, в теории в 2 раза. В лучшем случае. Префетчер у классического пня - 2 буфера по 256 бит (т.е. в р-р строки опять же кэша). Одновременно работает только один, но он хотя бы будет качать вдвое быстрее. У MMX - 4 по 128 бит, что этот теоретический выигрыш убирает (качать 256 бит по 64 битной шине - тоже самое, что и 128 бит по 32битной).
[q]
Во вторых FPU.
[/q]
Тоже теория. FPU 1) не так уж часто и используется, а только там где он действительно нужен и 2) работает с 32, 64 или 80битными данными. Выигрыш дадут только два последних варианта.
BreakPoint
Гость

Ссылка

дошли руки немного поиграться с отключением кэша. получилась полная ерунда.

под руками оказался Пень2 266 на 440LX.
для начала написал на паскале простенький код, который заполняет память определенными значениями, а затем их читает.
доступ к памяти осуществлялся двумя способами
- последовательно. т.е. идеальный для кэша режим
- и с чередованием в 128 байт. т.е. каждый последующий доступ должен с высокой долей вероятности вызвать промах кэша.

естественно в первом случае программа работала в 4 раза быстрее, чем во втором.

Затем отлючил оба кэша. И тут началось самое интересное.
Во первых программа стала тупить не по детски. работать стало медленне раз в 50.
Но самое смешное, что таймер стал тупить. Т.е. программа рапортует что выполнялась 5 сек, когда в реальности это было больше минуты. Один раз время даже отрицательное получилось :eek:
Такое впечаление, что прерывание таймера не всегда отрабатывается. Хотя может у паскаля какие то свои тараканы по поводу таймера, но с другой стороны с кэшем же все нормально работает.


UPD. С таймером это я тупанул
Сейчас на форуме
BreakPoint
Гость

Ссылка

Поставил конвингтон, чтоб Л2 кэш под ногами не путался.

Получилось
Включенный кэш:
Последовательная запись: 0.17с
Последовательное чтение: 0.16с
Запись с форисрованным промахом кэша: 0.77с
Чтение с форисрованным промахом кэша: 0.39с

Выключенный кэш:
Последовательная запись: 14.6с
Последовательное чтение: 18.0с
Запись с форисрованным промахом кэша: 15.2с
Чтение с форисрованным промахом кэша: 17.9с

Короче говоря, процу проще сделать кэш лукап+лайн филл чем с отключенным кэшем к памяти обращатся. Вот собственно и вопрос, откуда такой оверхед на отключенный кэш.
Сейчас на форуме
pahan
Advanced Member


Откуда: Химки, М.О.
Всего сообщений: 1070
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мар. 2015
[q]
Вот собственно и вопрос, откуда такой оверхед на отключенный кэш.
[/q]
Думаю, с этим всё просто - к моменту разработки этих процессоров никто и не предполагал возможность их эксплуатации без кэша. Собственно, ковингтон - короткоживущий маркетинговый ублюдок, выросший из стремления максимально удешевить процессор и быстро провалившийся. Да и вообще, почти все нововведения в P6 (как и в P54) просто бессмысленны без кэша.

Но изначальный-то спор у нас был вообще-то про P54(С). Вот на нём бы посмотреть замеры. Интересней как раз было провести этот тест на 286-586х - посмотреть, насколько отстутствие кэша будет влиять на производительность в разных поколениях.
BreakPoint
Гость

Ссылка

"ублюдочность" конвингтона тут ни при чем. П2 тоже самое показывает. а вот для чистоты эксперимента самый лучший экземпляр благодаря отсутсвию л2 кэша.

тут ключевой вопрос деградация производительности при отключении л1 кэша. возможно тут проблема с тем, как отключаение кэша реализовано.
есть у меня идея что проц после каждой ИО инвилидейтит и флашит кэш. попробую вручную такое сделать.

думаю, для любого проца отключение кэша является нештатным режимом.
кстати, у меня где то мамка сокет3 есть, так в ней в биосе отключение л1 кэша отнесено к режиму "детурбо".
Сейчас на форуме
<<Назад  Вперед>> Страницы: 1 2 * 3 4
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Pentium P54C тестовые регистры TR12
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS