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

Полигон-2

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

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

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

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

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

<<Назад  Вперед>> Страницы: 1 * 2 3 4
Печать
 
BreakPoint
Гость

Ссылка

Важна интерпретация результатов, а не сами результаты.

Может кэш данных более критичен потому что его долбят 2 очереди префетчера? А у данных префетчера нет.Так что для чистоты эесперимента еще и префетчер отключать надо.

Эти результаты говорят о том, что отключение кэша это далеко не то же самое что отсутсвие кэша.
Сейчас на форуме
BreakPoint
Гость

Ссылка

pahan написал:
[q]
что со временём 386го мало что изменилось.
[/q]
Ну частота ядра и шины уж точно изменилась :tongue:

По такой логике получатся что если разогнать 386 25МГц до 66МГц то произовдительность все равно будет как у 25МГц
Сейчас на форуме
doctord
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 596
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 сен. 2014
Я так понимаю, дело тут в том, что x86-процессоры начиная с 486 (и Pentium, в том числе), очень сильно зависят от кэша L1, из-за своей конвеерной архитектуры.

Вот нашел список всех MSR, если вдруг кому надо:
https://github.com/cirosantill...1c/MSR.LST

Действительно раздельное выключение L1 кода и данных есть только у P-MMX:
[q]
MSR 0000000Eh - Pentium, K6, C6 - (TR12) NEW FEATURE CONTROL
...
Bit(s)\tDescription\t(Table R0014)
...
20\t(PentiumMMX only) Data Cache Inhibit (disable internal data cache)
19 (PentiumMMX only) Code Cache Inhibit (disable internal code cache)
...
[/q]
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. С таймером это я тупанул
Сейчас на форуме
<<Назад  Вперед>> Страницы: 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