386DX-40 МЕДЛЕННЫЙ и ненужен

Место для бесед на свободные темы.
BreakPoint
Full Member
Сообщения: 291
Зарегистрирован: 02.03.2021,18:50
Откуда: Киев

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение BreakPoint » 12.09.2021,09:11

CodeMaster писал(а): 12.09.2021,06:57 и равноценна с P55 на 16-битном, коего была основная масса в момент выпуска PPro
Откуда инфа? Doom это 93 год, уже 32 битный. 32 битные компиляторы появились еще раньше. Ассемблеры с поддержкой 386 инструкций еще раньше.

По поводу 16-битного кода в вакууме. Поднял документацию с тех времен, когда еще на ассемблере писал. Единственная инструкция процессора, которая имеет разное время выполнения для 16 и 32 битных версий это DIV, для всех остальных инструкций время выполнения одинаково. Это для всех процессоров от пентиума до пентиум 3. Во вторых, для процессоров пень про, пень 2 и пень 3 количество микро-опсов для всех инструкций одинково. Так что 16 bit performance это мифы и легенды.

Про сброс конвейера после смешанных операций инфы пока не нашел. Если кто найдет детальное объяснение, скинте. Попробую промоделировать в раельной системе.
Последний раз редактировалось BreakPoint 12.09.2021,09:38, всего редактировалось 1 раз.

BreakPoint
Full Member
Сообщения: 291
Зарегистрирован: 02.03.2021,18:50
Откуда: Киев

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение BreakPoint » 12.09.2021,09:24

Не совсем я прав оказался. Нашел в чем проблема с 16 битным кодом на прошке
16-bit Code Optimization
The Pentium Pro processor design is optimized for 32-bit code execution. One
of the characteristics of 32-bit code is that the data segment registers are almost
never loaded with new values. 16-bit code, however, writes new values into the data segment registers (DS, ES, FS, and GS) quite frequently.

Pentium Pro Not Optimized
Unlike the processor’s general-purpose registers, the Pentium Pro processor’s
data segment registers are not aliased. A write to a data segment register immediately changes the value in the real, IA data segment register. Micro-ops that
reside downstream from the micro-op that changes the register may perform
accesses (loads or stores) within the affected data segment. If the processor were
permitted to speculatively execute instructions beyond the one that changes the
data segment register before that micro-op had completed execution, they
would be using the old, stale contents of the segment register and would
address the wrong location.
For this reason, the processor will not execute any instructions beyond the segment register load instruction until the load has completed execution. The processor’s performance degrades because it is restrained from out-of-order
execution. Since 16-bit code changes the contents of the data segment registers a lot,
the processor suffers poor performance when executing 16-bit code. Since Windows 95
implements quite a bit of 16-bit code, its performance suffers when executed on
a Pentium Pro based system.

Pentium II Shadows the Data Segment Registers
Intel has fixed this problem in the Pentium II processor by aliasing (or shadowing) the data segment registers to micro-op entries in the ROB (as is already
done for the general-purpose registers). This is accomplished in the RAT stage
of the instruction pipeline. Intel estimates that the Pentium II processor’s shadowing of the segment registers can increase performance when executing 16-bit
code by as much as 8 to 10%.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31228
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 45 раз
Поблагодарили: 120 раз

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение Rio444 » 12.09.2021,09:31

BreakPoint, вот и разобрались :thumbup:
Электронка: Изображение копия Изображение

i8088
Advanced Member
Сообщения: 4864
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан
Поблагодарили: 48 раз

Конкурсы

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение i8088 » 12.09.2021,10:36

Rio444 писал(а): 12.09.2021,08:25 P.S. Вообще, не понимаю, кому может быть интересен специфичный, серверный Pentium Pro, кроме любителей всего золотого и блестящего?
Он мне лично интересен тем, что отличается от других P6 - нет MSR регистра управления
L2 0x11E, хотя L2 можно отключить другим регистром; в MCA отличия есть. Может со
временем еще что нибудь найдется.

Вообще меня обычно всегда интересуют ранние процессоры в семействах, например P4
на сокет S423, Xeon Foster, K7 Argon итп.

mxrk
Advanced Member
Сообщения: 534
Зарегистрирован: 10.06.2020,16:24
Откуда: Ростов-на-Дону

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение mxrk » 12.09.2021,10:37

Rio444 писал(а): 12.09.2021,09:31 BreakPoint, вот и разобрались :thumbup:
не разобрались
но хотелось бы все-таки практического доказательства ПРОВАЛА Pentium PRo в 16 битных приложениях по сравнению с P54.
Я пока провала не увидел нигде - пара статей теоретического х-ра, тестик по NT4, где через Windows WoW16 запускался СИНТЕТИЧЕСКИЙ тест. Ну график с думом, где провала нет как нет.

А пока я слышу только какие-то реплики, про "выглядишь смешно", "дал заднюю". Призванные вероятно, деморализовать оппонента, чтобы заочно победить в споре.

ps не нашел, кстати, дум 16 битный или 32х. Наличие dos extender-а не дает 100% гарантии, что в нем нет львиной доли 16 битного кода

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31228
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 45 раз
Поблагодарили: 120 раз

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение Rio444 » 12.09.2021,10:41

mxrk писал(а): 12.09.2021,10:37 но хотелось бы все-таки практического доказательства ПРОВАЛА Pentium PRo в 16 битных приложениях по сравнению с P54.
Так сделай сам тесты, если хочется! ;)
mxrk писал(а): 12.09.2021,10:37 Призванные вероятно, деморализовать оппонента, чтобы заочно победить в споре.
Призванные подвигнуть оппонента вести себя более культурно и не отказываться от собственных слов. :)
mxrk писал(а): 12.09.2021,10:37 ps не нашел, кстати, дум 16 битный или 32х. Наличие dos extender-а не дает 100% гарантии, что в нем нет львиной доли 16 битного кода
Он и на тройке еле шевелится. Зачем ему 16-битный код?
Работать будет медленнее, а на двойке всё равно не заработает.
Последний раз редактировалось Rio444 12.09.2021,10:43, всего редактировалось 1 раз.
Электронка: Изображение копия Изображение

La Forge
Advanced Member
Сообщения: 5855
Зарегистрирован: 16.11.2012,17:29
Откуда: Рязань
Поблагодарили: 13 раз

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение La Forge » 12.09.2021,10:42

Rio444, квейк - как эталон тяжёлого приложения для этих (Х5, овер) процов. Можно взять, допустим, Фотошоп и получить аналогичную квейку картину. Так же и здесь. Поставить NT, тот же фотошоп и вот там Ppro порвет обычный первопень ;)

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31228
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 45 раз
Поблагодарили: 120 раз

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение Rio444 » 12.09.2021,10:48

La Forge писал(а): 12.09.2021,10:42 квейк - как эталон тяжёлого приложения для этих (Х5, овер) процов.
Квейк - эталон оптимизации под Pentium и его FPU.
Что не мешает последнему сливать в не оптимизированных или слабо использующих FPU программах.
Но это не значит, что эти программы хуже, реже используются и т.д. и т.п.
Ситуация до боли напоминает тесты кодирования видео на Pentium IV и SuperPi на С2D.
Если Pentium обходит конкурентов в Quake, то вот он - эталон тестирования. :biggrin:
Тогда для меня эталон тестирования - Doom, где твой $раный пентиум сливает 5x86-133.
Электронка: Изображение копия Изображение

i8088
Advanced Member
Сообщения: 4864
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан
Поблагодарили: 48 раз

Конкурсы

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение i8088 » 12.09.2021,10:50

mxrk писал(а): 12.09.2021,10:37 Наличие dos extender-а не дает 100% гарантии, что в нем нет львиной доли 16 битного кода
extender просто переключает в unreal mode, но это касается сегментов данных FS/GS,
а CS в DOS приложениях может переключаться достаточно часто.

Те результат зависит от того, насколько часто приложение меняет сегментные регистры,
и с разными приложениями будут разные результаты.

А абстрактно говорить "16/32-bit code" - смысла не имеет, выжно лишь на сколько часто
перезагружаются сегментные регистры (или селекторы в защищенном режиме).

La Forge
Advanced Member
Сообщения: 5855
Зарегистрирован: 16.11.2012,17:29
Откуда: Рязань
Поблагодарили: 13 раз

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение La Forge » 12.09.2021,10:57

Rio444, толсто тролишь :biggrin: Любая серьёзная нагрузка - алес для Х5, К5,К6 ,всех Cyrix, winchip и всех прочих. А почему, ответь?

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31228
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 45 раз
Поблагодарили: 120 раз

Вклад в сообщество

386DX-40 МЕДЛЕННЫЙ и ненужен

Сообщение Rio444 » 12.09.2021,11:06

La Forge писал(а): 12.09.2021,10:57 Rio444, толсто тролишь :biggrin: Любая серьёзная нагрузка - алес для Х5, К5,К6 ,всех Cyrix, winchip и всех прочих. А почему, ответь?
Ничего подобного.
У меня был в 1998-2000 АМД К6-200.
Он сливал Pentium-MMX в Квейке.
Зато во всём остальном был быстрее.
В Win98 пентиум еле шевелился. У меня К6 очень бодро работал.
То же касается офиса и подавляющего большинства игрушек.
То, что процессоры уровня pentium надо тестировать только в квейке - маркетинг чистой воды.
Поиграл я несколько часов в этот ваш квейк и забросил его.
В подавляющем числе программ и игр, в которых работал и играл, К6 был быстрее. Зачастую заметно быстрее.

Пытаюсь подвести тебя к мысли, что тесты надо подбирать не под процессор, а под реальные задачи, выполняемые на компьютере.
Но ты упорно сопротивляешься))))
Электронка: Изображение копия Изображение

Ответить