Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Pentium P54C тестовые регистры TR12 |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 | Печать |
doctord
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 596 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 сен. 2014 |
pahan, |
BreakPoint |
NEW! Сообщение отправлено: 13 сентября 2016 16:47
Важна интерпретация результатов, а не сами результаты. Может кэш данных более критичен потому что его долбят 2 очереди префетчера? А у данных префетчера нет.Так что для чистоты эесперимента еще и префетчер отключать надо. Эти результаты говорят о том, что отключение кэша это далеко не то же самое что отсутсвие кэша. |
Сейчас на форуме |
BreakPoint |
NEW! Сообщение отправлено: 13 сентября 2016 16:49 Сообщение отредактировано: 13 сентября 2016 16:52
pahan написал: Ну частота ядра и шины уж точно изменилась что со временём 386го мало что изменилось. По такой логике получатся что если разогнать 386 25МГц до 66МГц то произовдительность все равно будет как у 25МГц |
Сейчас на форуме |
doctord
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 596 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 13 сентября 2016 17:10 Сообщение отредактировано: 13 сентября 2016 17:21
Я так понимаю, дело тут в том, что x86-процессоры начиная с 486 (и Pentium, в том числе), очень сильно зависят от кэша L1, из-за своей конвеерной архитектуры. Вот нашел список всех MSR, если вдруг кому надо: https://github.com/cirosantill...1c/MSR.LST Действительно раздельное выключение L1 кода и данных есть только у P-MMX: MSR 0000000Eh - Pentium, K6, C6 - (TR12) NEW FEATURE CONTROL |
pahan
Advanced Member
Откуда: Химки, М.О. Всего сообщений: 1070 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мар. 2015 |
Если источник данных (память) будет работать на частоте 25 МГц, не столь важно, на сколь огромных частотах будет обрабатывать их ядро процессора. Что все давно видели на примере коппермайнов и нортвудов (особенно целеронов), когда рост только частоты ядра давал уменьшающийся почти до нуля рост производительности. Вот именно что важнее интерпретация результатов. Имхо, всё зависит от конкретной задачи (теста). В 3D тестах вычислений много - важнее кэш кода. В speedsys - важнее кэш данных (скорее всего, там какие-то СУБДподобные задачи - типа выбрать определённые строки из большого однотипного массива). Глядите-ка без L1-кэша кода он медленнее, чем без L1-кэша данных )) Код важнее ) |
BreakPoint |
NEW! Сообщение отправлено: 13 сентября 2016 20:16
pahan написал: Теоретически правильно. Но в данном конкретному случае Если источник данных (память) будет работать на частоте 25 МГц... во первых, и память у пенька пошустрее во вторых, шина поширее в третьих, очередь префетчера подлинее так что деградация до уровня 386-25МГц, как по мне, может быть вызвана только какими-то дополнительными расходами, вызванными отключением кэша. Мне кажется, даже при отключенном кэше, любой доступ к памяти начинается с cache lookup который естесвенно ничего не дает. И только после этого проц начинает операцию ввода вывода к памяти. |
Сейчас на форуме |
Fasterpast
Advanced Member
Всего сообщений: 582 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 20 окт. 2013 |
Грубо говоря, скорость кэша в 10 раз выше скорости памяти (особенно по задержкам), вот и производительность падает в 10 раз ) |
pahan
Advanced Member
Откуда: Химки, М.О. Всего сообщений: 1070 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мар. 2015 |
Скорее всего, вы правы. Изначально (при старте процессора) кэш отключен. Но дальше он включается, кэширует какие-то данные, и к тому моменту, когда мы отключаем кэш из тестовой проги, в нём уже что-то есть. А вот дальше самое интересное - даже при отключенном кэше, в случае если нужные данные находятся в нём, они будут взяты из кэша, но в случае промаха кэш обновлён не будет. В случае записи - они могут быть обновлены только в кэше, но не в памяти. Мне кажется, даже при отключенном кэше, любой доступ к памяти начинается с cache lookup который естесвенно ничего не дает. см. Pentium® Processor Family Developer’s Manual 24142805.pdf таблица 2.1 Не так уж и сильно - в 2-2,5 раза. во первых, и память у пенька пошустрее А это вообще мало влияет. Ну протаскивает он за такт в 2 раза больше данных. Только программе (особенно досовской) из 32/64 бит при этом скорее всего надо было только 8 или 16. Остальные будут проигнорированы. Широкая шина как раз актуальна в основном чтобы загонять данные в кэш. во вторых, шина поширее |
BreakPoint |
NEW! Сообщение отправлено: 14 сентября 2016 16:32
pahan написал: Вот именно, то есть при прочих равных у нас получатеся какой то условный 386ДХ-66. А получился 25. Не так уж и сильно - в 2-2,5 раза. pahan написал: Это по сути потдверждает мою теорию. Т.е. не смотя на "отключенный кэш" проц все равно не имеет обходных путей для общения в внешним миром в обход кэша. в случае если нужные данные находятся в нём, они будут взяты из кэша, но в случае промаха кэш обновлён не будет Т.е. при любой ИО операции к памяти проц сначала проверяет есть ли эти данные/код в кэше, и (кто бы мог подумать) их там не находит. Естественно на лукап уходит как минимум 4 цикла (а то и больше). Т.е. кэш становится тормозом системы, а не ускорителем. Поэтому я и говорю, что проц без кэша и проц с отключенным кэшом это не одно и тоже. pahan написал: Тут тоже не все так просто, во первых от широкой шины выиграет префетчер (по крайней мере в теории). Во вторых FPU. А это вообще мало влияет. Ну протаскивает он за такт в 2 раза больше данных. |
Сейчас на форуме |
pahan
Advanced Member
Откуда: Химки, М.О. Всего сообщений: 1070 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мар. 2015 |
Откуда цифра 4? Минимум 4 цикла - это как раз обращение к памяти уже после кэша. Естественно на лукап уходит как минимум 4 цикла (а то и больше). Да, в теории в 2 раза. В лучшем случае. Префетчер у классического пня - 2 буфера по 256 бит (т.е. в р-р строки опять же кэша). Одновременно работает только один, но он хотя бы будет качать вдвое быстрее. У MMX - 4 по 128 бит, что этот теоретический выигрыш убирает (качать 256 бит по 64 битной шине - тоже самое, что и 128 бит по 32битной). во первых от широкой шины выиграет префетчер (по крайней мере в теории) Тоже теория. FPU 1) не так уж часто и используется, а только там где он действительно нужен и 2) работает с 32, 64 или 80битными данными. Выигрыш дадут только два последних варианта. Во вторых FPU. |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Pentium P54C тестовые регистры TR12 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |