386DX-40 МЕДЛЕННЫЙ и ненужен
-
BreakPoint
- Full Member
- Сообщения: 291
- Зарегистрирован: 02.03.2021,18:50
- Откуда: Киев
-
Babasha
386DX-40 МЕДЛЕННЫЙ и ненужен
Вот выдержка из Wiki по Pentium Pro - можете мое выражение "гибридный" считать синонимом "mixed code" в данном случае.
"Performance[edit]
Despite being advanced for the time, the Pentium Pro's out-of-order register renaming architecture had trouble running 16-bit code and mixed code (8-bit with 16-bit (8/16), or 16-bit with 32-bit (16/32), as using partial registers cause frequent pipeline flushing.[9] Specific use of partial registers was then a common performance optimization, as it incurred no performance penalty on pre-P6 Intel processors; also, the dominant operating systems at the time of the Pentium Pro's release were 16-bit DOS, and mixed 16/32-bit Windows 3.1x and Windows 95 (although the latter requires a 32-bit 80386 CPU, much of its code is still 16-bit for performance reasons, such as USER.exe). This, with the high cost of Pentium Pro systems, led to tepid sales among PC buyers at the time. To fully use the Pentium Pro's P6 microarchitecture, a fully 32-bit operating system is needed, such as Windows NT, Linux, Unix, or OS/2. The performance issues on legacy code were later partly mitigated by Intel with the Pentium II.
Compared to RISC microprocessors, the Pentium Pro, when introduced, slightly outperformed the fastest RISC microprocessors on integer performance when running the SPECint95 benchmark,[10] but floating-point performance was significantly lower, half that of some RISC microprocessors.[10] The Pentium Pro's integer performance lead disappeared rapidly, first overtaken by the MIPS Technologies R10000 in January 1996, and then by Digital Equipment Corporation's EV56 variant of the Alpha 21164.[11]
Reviewers quickly noted the very slow writes to video memory as the weak spot of the P6 platform, with performance here being as low as 10% of an identically clocked Pentium system in benchmarks such as VIDSPEED. Methods to circumvent this included setting VESA drawing to system memory instead of video memory in games such as Quake,[12] and later on utilities such as FASTVID emerged, which could double performance in certain games by enabling the write combining features of the CPU.[13][14] memory type range registers (MTRRs) are set automatically by Windows video drivers starting from ~1997, and there the improved cache/memory subsystem and FPU performance caused it to outclass the Pentium clock-for-clock in the emerging 3D games of the mid–to–late 1990s, particularly when using NT4. However, its lack of MMX implementation reduces performance in multimedia applications that made use of those instructions."
-
BreakPoint
- Full Member
- Сообщения: 291
- Зарегистрирован: 02.03.2021,18:50
- Откуда: Киев
386DX-40 МЕДЛЕННЫЙ и ненужен
В вашей цитате из вики имеется в виду оптимизация путем частичного доступа к регистрам (почему они это назвали кодом, непонятно). По такой логике абсолютно любая 64 битная программа является гибриднным 64 бит / 8 бит кодом. Что, естественно, смысла не имеет. Вот вам пример, скомпилировано 64 битным компилятором VC 2019. Тут есть операции с 64, 32 и 8 битными регистрами.
По хорошему битность кода (именно кода, а не инструкции или нескольких инструкций) определяется вполне конкретными параметрами, напимер: размером сегмента, размером операнда, размером указателя (или смещения). Так что если в программе есть хоть одно обращение к EAX, то 16 битной она уже по определению быть не может. Если вы видите при старте приветствие DOS4GW, то эта программа тоже не может быть 16 битной, по той простой причите, что DOS4GW это расширение для 32 битного компиялтора ватком.
В Intel Developer Guide есть раздел о смешивании 16 битного и 32 битного кода, но там все намного сложнее, чем обращение к AX после EAX.
С этими битами вооще беда, все считают, если программи запускается под дос, то она 16 битная.
Код: Выделить всё
00007FF738A82346 movzx eax,byte ptr [a]
00007FF738A8234A inc al
00007FF738A8234C mov byte ptr [a],al
00007FF738A8234F mov rax,qword ptr [b]
00007FF738A82353 inc rax
00007FF738A82356 mov qword ptr [b],rax В Intel Developer Guide есть раздел о смешивании 16 битного и 32 битного кода, но там все намного сложнее, чем обращение к AX после EAX.
С этими битами вооще беда, все считают, если программи запускается под дос, то она 16 битная.
-
Babasha
386DX-40 МЕДЛЕННЫЙ и ненужен
Я не спорю о терминологии. И не оспариваю вопрос возможности/невозможности написания любого кода в любой последовательности.BreakPoint писал(а): 06.09.2021,13:05 В вашей цитате из вики имеется в виду оптимизация путем частичного доступа к регистрам (почему они это назвали кодом, непонятно). По такой логике абсолютно любая 64 битная программа является гибриднным 64 бит / 8 бит кодом. Что, естественно, смысла не имеет. Вот вам пример, скомпилировано 64 битным компилятором VC 2019. Тут есть операции с 64, 32 и 8 битными регистрами.
По хорошему битность кода (именно кода, а не инструкции или нескольких инструкций) определяется вполне конкретными параметрами, напимер: размером сегмента, размером операнда, размером указателя (или смещения). Так что если в программе есть хоть одно обращение к EAX, то 16 битной она уже по определению быть не может. Если вы видите при старте приветствие DOS4GW, то эта программа тоже не может быть 16 битной, по той простой причите, что DOS4GW это расширение для 32 битного компиялтора ватком.Код: Выделить всё
00007FF738A82346 movzx eax,byte ptr [a] 00007FF738A8234A inc al 00007FF738A8234C mov byte ptr [a],al 00007FF738A8234F mov rax,qword ptr [b] 00007FF738A82353 inc rax 00007FF738A82356 mov qword ptr [b],rax
В Intel Developer Guide есть раздел о смешивании 16 битного и 32 битного кода, но там все намного сложнее, чем обращение к AX после EAX.
С этими битами вооще беда, все считают, если программи запускается под дос, то она 16 битная.
Все-то навсего вспомнил одну из причин "просадок" скорости ППро в свое время и почему он потерпел неудачу на десктопной рынке.
ЗЫ. Что не мешало мне его эксплуатировать в качестве шустрого RIP'а с фотовыводом AGFA под WinNT 4 (PPro 200MHz, 128GB, 4.3GB SCSI, Matrox Millenium 4Mb)
ЗЫЫ. Я не все, и прекрасно помню (знаю) для чего был предназначен DOS4GW (как и многие другие экстендеры) и почему он требовал 386-ой процессор
-
BreakPoint
- Full Member
- Сообщения: 291
- Зарегистрирован: 02.03.2021,18:50
- Откуда: Киев
386DX-40 МЕДЛЕННЫЙ и ненужен
Вот кстати на вики нарыл определение 16-битного приложения. Как на мой взгляд, определение вполне здарвое, предлагаю его и использвать на форуме.
https://en.wikipedia.org/wiki/16-bit_co ... pplication
https://en.wikipedia.org/wiki/16-bit_co ... pplication
16-bit application
In the context of IBM PC compatible and Wintel platforms, a 16-bit application is any software written for MS-DOS, OS/2 1.x or early versions of Microsoft Windows which originally ran on the 16-bit Intel 8088 and Intel 80286 microprocessors. Such applications used a 20-bit or 24-bit segment or selector-offset address representation to extend the range of addressable memory locations beyond what was possible using only 16-bit addresses.
-
La Forge
- Advanced Member
- Сообщения: 5855
- Зарегистрирован: 16.11.2012,17:29
- Откуда: Рязань
- Поблагодарили: 13 раз
-
Вклад в сообщество
386DX-40 МЕДЛЕННЫЙ и ненужен
Терминология терминологией, но почему тогда дос игры - ну тот же Дюк - на нём идут хуже чем на простом первопне той же частоты? Dos4gw Дюк использует кстати
-
Babasha
386DX-40 МЕДЛЕННЫЙ и ненужен
Послушаю...La Forge писал(а): 06.09.2021,13:49 Терминология терминологией, но почему тогда дос игры - ну тот же Дюк - на нём идут хуже чем на простом первопне той же частоты? Dos4gw Дюк использует кстати
-
BreakPoint
- Full Member
- Сообщения: 291
- Зарегистрирован: 02.03.2021,18:50
- Откуда: Киев
386DX-40 МЕДЛЕННЫЙ и ненужен
Ну вот чувак бенч дума гоняет на пеньке и прошке. У него прошка быстрее.
-
Babasha
386DX-40 МЕДЛЕННЫЙ и ненужен
Ну вопрос философский кто кого, как уделал))) Вот тут всякое пишут - https://www.ixbt.com/cpu/ppro_games.htmlBreakPoint писал(а): 06.09.2021,14:21 Ну вот чувак бенч дума гоняет на пеньке и прошке. У него прошка быстрее.
Судя по попугаям - лучшая связка PPro + PCI Riva 128... Уделывает всех
- Tronix
- Advanced Member
- Сообщения: 3634
- Зарегистрирован: 15.01.2008,11:00
- Откуда: Москва
- Поблагодарили: 1 раз
-
Вклад в сообщество
-
Babasha
386DX-40 МЕДЛЕННЫЙ и ненужен
Чем в ДВА раза улучшили попугаи в QII по сравнению с Вуду-1?