18. 10. 2006 - 00:13https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseApp kdy se toho máme dočkat?https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296223
+
takze vlastne rok po Conroe.. Intel rozjel asi dobry hype, kdyz za 60dni prodal 5mil Conroe.. a vcera "beatnul" predpovedni analytiku o 5centu...
uvidime rekl slepy...
+1
0
-1
Je komentář přínosný?
neo029 (neověřeno) https://diit.cz
18. 10. 2006 - 07:51https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusetakze vlastne rok po Conroe.. Intel rozjel asi dobry hype, kdyz za 60dni prodal 5mil Conroe.. a vcera "beatnul" predpovedni analytiku o 5centu...
uvidime rekl slepy...https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296228
+
Lenze ak to urobia dobre, tak 128 bit SSE instrukcie FMUL a FDIV bude vyrazne zrychlene
Ak porovnavame Athlon XP a Athlon 64, prvy menovany bude 4x rychlejsi. Preco 4x a nie len 2x? Lebo nasobenie celych 64 bit cisel v 64 bitovej v skutocnosti 4x rychlejsie ako v 32 bit jednotke http://www.swox.com/gmp/32vs64.html
Pri praci v pohyblivej radov ej ciarke (Flaoating point) je dokonca 6x zrychelenie pri pouziti 2x viacbitovej jednotky.
a SSE data su 128 bit.
a ono K8.50/K8L ma vsetky instrukcie x86 prekladat do SSE 128 bit mikrokodu.
+1
0
-1
Je komentář přínosný?
Peter Fodreknickfotob https://diit.cz/profil/fotoba
18. 10. 2006 - 08:08https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseLenze ak to urobia dobre, tak 128 bit SSE instrukcie FMUL a FDIV bude vyrazne zrychlene
Ak porovnavame Athlon XP a Athlon 64, prvy menovany bude 4x rychlejsi. Preco 4x a nie len 2x? Lebo nasobenie celych 64 bit cisel v 64 bitovej v skutocnosti 4x rychlejsie ako v 32 bit jednotke
http://www.swox.com/gmp/32vs64.html
Pri praci v pohyblivej radov ej ciarke (Flaoating point) je dokonca 6x zrychelenie pri pouziti 2x viacbitovej jednotky.
a SSE data su 128 bit.
a ono K8.50/K8L ma vsetky instrukcie x86 prekladat do SSE 128 bit mikrokodu.
https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296229
+
fotoba - nema to nahodou byt "DRUHY" v tom porovnani AthlonXP a Athlon64 (v puvodnim clanku je slovo "latter" - "pozdejsi, druhy" a je to i celkem logicke ;) )
+1
0
-1
Je komentář přínosný?
jimmy_ (neověřeno) https://diit.cz
18. 10. 2006 - 08:22https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusefotoba - nema to nahodou byt "DRUHY" v tom porovnani AthlonXP a Athlon64 (v puvodnim clanku je slovo "latter" - "pozdejsi, druhy" a je to i celkem logicke ;) )https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296230
+
2Neo029
to je sice fajn, ale na dva prodane conroe pripadlo priblizne sedm procesoru amd...po slevach.
+1
+2
-1
Je komentář přínosný?
Harvester https://diit.cz/profil/harvester
18. 10. 2006 - 09:38https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2Neo029
to je sice fajn, ale na dva prodane conroe pripadlo priblizne sedm procesoru amd...po slevach. https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296250
+
Fotoba: Bohuzel nemas pravdu. 128-bitove skalarni MUL ani DIV neexistuji. Tady se jedna o SIMD vektory 4x 32-bit nebo 2x64 bit. Takze zrychleni bude "pouze" dvojnasobne. V soucasnosti se totiz musi 128-bitove vektory pocitat nadvakrat.
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
18. 10. 2006 - 10:23https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseFotoba: Bohuzel nemas pravdu. 128-bitove skalarni MUL ani DIV neexistuji. Tady se jedna o SIMD vektory 4x 32-bit nebo 2x64 bit. Takze zrychleni bude "pouze" dvojnasobne. V soucasnosti se totiz musi 128-bitove vektory pocitat nadvakrat.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296251
+
Fotoba: A navíc u skalárních operací se 64 bitová čísla používala dost vzácně.
+1
0
-1
Je komentář přínosný?
Milan Bačík https://diit.cz/profil/mildaiv
18. 10. 2006 - 10:44https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseFotoba: A navíc u skalárních operací se 64 bitová čísla používala dost vzácně.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296257
+
64-bit Integer Math
Performing a single 64- bit integer multiply using 32-bit arithmetic requires several multiplies and additions to compute the final result. Doing the same 64-bit integer multiply using AMD64 takes a single instruction. http://www.devx.com/amd/Article/16018/2907?pf=true
o tomto tu bola rec a SSE ma 128 bit data
The Streaming SIMD Extensions enhance the Intel x86 architecture in four ways:
8 new 128-bit SIMD floating-point registers that can be directly addressed; http://www.tommesani.com/SSE.html
takze najviac sa ziska pri SSE, ide skoro nic za predpokladu, ze mikrokod K8L nebude 128 bitovy tak ako to TMTA
co je celkom mozne, kedz TMTA robili spolu s AMD K9
+1
0
-1
Je komentář přínosný?
Peter Fodreknickfotob https://diit.cz/profil/fotoba
18. 10. 2006 - 10:57https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse64-bit Integer Math
Performing a single 64- bit integer multiply using 32-bit arithmetic requires several multiplies and additions to compute the final result. Doing the same 64-bit integer multiply using AMD64 takes a single instruction.
http://www.devx.com/amd/Article/16018/2907?pf=true
o tomto tu bola rec a SSE ma 128 bit data
The Streaming SIMD Extensions enhance the Intel x86 architecture in four ways:
8 new 128-bit SIMD floating-point registers that can be directly addressed;
http://www.tommesani.com/SSE.html
takze najviac sa ziska pri SSE, ide skoro nic za predpokladu, ze mikrokod K8L nebude 128 bitovy tak ako to TMTA
ako VLIW engine
http://www.transmeta.com/efficeon/vliw.html
http://www.transmeta.com/crusoe/vliw.html
co je celkom mozne, kedz TMTA robili spolu s AMD K9
https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296260
+
kedze AMD v roku 2005 vyrobila 39 mil.ks x86 CPU, co je cca. 20% x84 trhu, v roku 2006 to ma byt 50 mil. ks
tak 100 mil navysenie x86 produkcie v Geode-och jej v podiele na trhu velmi pomoze ale zahlti linky a tak cisla o predaji X2 a C2D tebou uvedene su nezmysel
+1
0
-1
Je komentář přínosný?
Peter Fodreknickfotob https://diit.cz/profil/fotoba
18. 10. 2006 - 11:21https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseto harvvester>
ono je to paradoxne, ale nie je to tak ako pises, AMD urcite nepredava
viac X2 ako Intel C2D
Nastava nedostatok AMD CPU
Wednesday 11 October 2006, 12:57
Dell berie 10 mil ks/rok
http://theinquirer.net/default.aspx?article=35004
ak pojdu plany tak ako maju Nicholas Negroponteho One Laptop Per Child doda 100 milionov laptopov v prvom roku dodavok (2007)
http://www.eweek.com/article2/0,1895,2028789,00.asp
hlavne elektronika OLPC:
CPU: AMD Geode GX2-500@1.0W
http://wiki.laptop.org/go/Hardware_specification
kedze AMD v roku 2005 vyrobila 39 mil.ks x86 CPU, co je cca. 20% x84 trhu, v roku 2006 to ma byt 50 mil. ks
tak 100 mil navysenie x86 produkcie v Geode-och jej v podiele na trhu velmi pomoze ale zahlti linky a tak cisla o predaji X2 a C2D tebou uvedene su nezmyselhttps://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296265
+
fotoba: Ty jsi pouze teoretik, ja praktik. SSE/SSE2/SSE3 pouzivam kazdy den a muzu ti garantovat, ze krome 128-bitovych posuvu NEMAJI zadne dalsi 128-bit operace. Registry samozrejme jsou siroke 128-bit, ale obsahuji 2 nebo ctyri nezavisle cisla. Treba instrukce MULPS vynasobi 4 32-bitove floaty jinymi 4 32-bitovymi floaty. Podobne MULPD vynasobi 2 64-bitove floaty jinymi 2 64-bitovymi floaty. Zadna domnela instrukce MULPQ, ktera by vynasobila 1 128-bitovy float jinym 128-bitovym floatem (zatim) NEEXISTUJE !!!!
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
18. 10. 2006 - 11:27https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusefotoba: Ty jsi pouze teoretik, ja praktik. SSE/SSE2/SSE3 pouzivam kazdy den a muzu ti garantovat, ze krome 128-bitovych posuvu NEMAJI zadne dalsi 128-bit operace. Registry samozrejme jsou siroke 128-bit, ale obsahuji 2 nebo ctyri nezavisle cisla. Treba instrukce MULPS vynasobi 4 32-bitove floaty jinymi 4 32-bitovymi floaty. Podobne MULPD vynasobi 2 64-bitove floaty jinymi 2 64-bitovymi floaty. Zadna domnela instrukce MULPQ, ktera by vynasobila 1 128-bitovy float jinym 128-bitovym floatem (zatim) NEEXISTUJE !!!!https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296266
+
priklad z praxe
The future of computing may be 64-bit, and on the other hand 64-bit may only be a quick waypoint on the journey to even more potent processing. In either case, the Athlon 64 is the best choice for high-performance desktop or workstation computing. The performance advantage of running in 64-bit mode is anywhere between 10 and 300 percent faster than the same computer in 32-bit mode, depending on what you're doing.
http://.....
Milda IV>
no nebol by som si isty 128 bit float-om a nepodporou
eatures for future AMD microarchitectures
These may be present in the original K8L processors or a more future AMD64 chip, by various reports in the time frame of Q1 07, Q2 07, Q3 07,
ISA additions and extensions:
Extension to the AMD64 instruction set during 2007; it is unclear whether AMD plans this for Revision G or Revision H chips.
New SIMD instruction set and new, wide SIMD units; in a yet unspecified time frame.
Implementation and possibly adding extensions of SSSE3 (which was called "SSE4" prior to its official name announced) and/or SSE4 , which AMD codenamed SSE4a.
ten zahadny novy SIMD moze byt nakoniec MIMD a tam by si to vyuzil
+1
0
-1
Je komentář přínosný?
Peter Fodreknickfotob https://diit.cz/profil/fotoba
18. 10. 2006 - 13:04https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseXR>
To je pravda je to teoreticky narast
priklad z praxe
The future of computing may be 64-bit, and on the other hand 64-bit may only be a quick waypoint on the journey to even more potent processing. In either case, the Athlon 64 is the best choice for high-performance desktop or workstation computing. The performance advantage of running in 64-bit mode is anywhere between 10 and 300 percent faster than the same computer in 32-bit mode, depending on what you're doing.
http://.....
Milda IV>
no nebol by som si isty 128 bit float-om a nepodporou
eatures for future AMD microarchitectures
These may be present in the original K8L processors or a more future AMD64 chip, by various reports in the time frame of Q1 07, Q2 07, Q3 07,
ISA additions and extensions:
Extension to the AMD64 instruction set during 2007; it is unclear whether AMD plans this for Revision G or Revision H chips.
New SIMD instruction set and new, wide SIMD units; in a yet unspecified time frame.
Implementation and possibly adding extensions of SSSE3 (which was called "SSE4" prior to its official name announced) and/or SSE4 , which AMD codenamed SSE4a.
http://en.wikipedia.org/wiki/AMD_K8L
ten zahadny novy SIMD moze byt nakoniec MIMD a tam by si to vyuzil
https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296298
+
fotoba:
No, takže tu máme dual chanel pro paměti, 64 x 32 bit, dualcore a další. Mají jedno společné: teoreticky jsou všechny až "až" 2x rychlejší, prakticky je ten přínos obvykle kolem několik %, často i žádný.
+1
0
-1
Je komentář přínosný?
fotr_ (neověřeno) https://diit.cz
18. 10. 2006 - 13:15https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusefotoba:
No, takže tu máme dual chanel pro paměti, 64 x 32 bit, dualcore a další. Mají jedno společné: teoreticky jsou všechny až "až" 2x rychlejší, prakticky je ten přínos obvykle kolem několik %, často i žádný. https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296303
+
Mozna proto ma AMD SSE4a, protoze tam chteji pridat neco jineho a SSE4 je to Intelske rozsireni? Nikdo nevylucuje, ze v budoucnosti budou CPU (asi jen od AMD), ktery budou podporovat SSE4 i SSE4a. Skoro bych rek, ze se bude opakovat situace s 3Dnow.
+1
0
-1
Je komentář přínosný?
kuba https://diit.cz/profil/kuba
18. 10. 2006 - 13:33https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseOpatrne s tim SSE4, Intel uz ma dost jasno, jak SSE4 bude vypadat, mrknete zdehle na clanek "Extending the World?s Most Popular Processor Architecture" http://cache-www.intel.com/cd/00/00/32/26/322663_322663.pdf.
Mozna proto ma AMD SSE4a, protoze tam chteji pridat neco jineho a SSE4 je to Intelske rozsireni? Nikdo nevylucuje, ze v budoucnosti budou CPU (asi jen od AMD), ktery budou podporovat SSE4 i SSE4a. Skoro bych rek, ze se bude opakovat situace s 3Dnow.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296308
+
fotoba> Jeste jsem se chtel zeptat, cos myslel tim "a ono K8.50/K8L ma vsetky instrukcie x86 prekladat do SSE 128 bit mikrokodu"? To snad bude asi nejake nepochopeni, nijak si nepamatuju, ze by SSE melo treba instrukce skoku:))
+1
0
-1
Je komentář přínosný?
kuba https://diit.cz/profil/kuba
18. 10. 2006 - 13:37https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusefotoba> Jeste jsem se chtel zeptat, cos myslel tim "a ono K8.50/K8L ma vsetky instrukcie x86 prekladat do SSE 128 bit mikrokodu"? To snad bude asi nejake nepochopeni, nijak si nepamatuju, ze by SSE melo treba instrukce skoku:))https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296310
+
ono to bolo myslene, ze pojde o SIMD mikrokod s retazenim/stream-om t.j., ze vyastup predchadzajucej mikroinstrukcie je jeden z argumentov nasledujucej
holt sream a SIMD sa mi okamzite spojili do SSE, co je chyba samozrejme..
+1
0
-1
Je komentář přínosný?
Peter Fodreknickfotob https://diit.cz/profil/fotoba
18. 10. 2006 - 14:41https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseono to bolo myslene, ze pojde o SIMD mikrokod s retazenim/stream-om t.j., ze vyastup predchadzajucej mikroinstrukcie je jeden z argumentov nasledujucej
holt sream a SIMD sa mi okamzite spojili do SSE, co je chyba samozrejme..
https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296328
+
kuba: Intel uz ma jasno v SSE4 davno ... ono totiz uz v Intel procesorech je ;-) .
+1
0
-1
Je komentář přínosný?
Bespi- (neověřeno) https://diit.cz
18. 10. 2006 - 16:49https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusekuba: Intel uz ma jasno v SSE4 davno ... ono totiz uz v Intel procesorech je ;-) .https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296402
+
"Beginning with the 45 nm Intel microarchitecture based processors (codenamed Penryn) slated for production in 2007, these new instructions will start to appear in most of the volume market segments, including desktop, mobile, and server."
Ze by uz byl rok 2007? Rovneztak v oficialnich manualech IA-32 zadna instrukce CRC32 neni (ani ty ostatni jmenovane).
Takze upresneni, SSE4 v Intelech neni!
+1
0
-1
Je komentář přínosný?
kuba https://diit.cz/profil/kuba
18. 10. 2006 - 17:34https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseBespi> No to asi ne. Cituji z toho clanecku:
"Beginning with the 45 nm Intel microarchitecture based processors (codenamed Penryn) slated for production in 2007, these new instructions will start to appear in most of the volume market segments, including desktop, mobile, and server."
Ze by uz byl rok 2007? Rovneztak v oficialnich manualech IA-32 zadna instrukce CRC32 neni (ani ty ostatni jmenovane).
Takze upresneni, SSE4 v Intelech neni!https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296416
+
Bespi: Ne tak docela, Intel totiz ve vsem dela pekny bordel. Conroe nemaji SSE4, ale SSSE3 :).
fotoba: Mas v tom poradny zmatek. Ty clanky jsou v poradku, ale vyvozovane zavery ne. Spojene FP a SSE jednotky maji jiz soucasne K8. Jediny rozdil je ten, ze K8L je maji dvojnasobne tak siroke a tim padem je mozne spocitat 2x tolik FP cisel, nez ted. Bez zmeny instrukcni sady. Soucasne instrukce totiz vetsinou potrebuji na vykonani dva takty. Tot vse. :)
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
18. 10. 2006 - 17:38https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseBespi: Ne tak docela, Intel totiz ve vsem dela pekny bordel. Conroe nemaji SSE4, ale SSSE3 :).
fotoba: Mas v tom poradny zmatek. Ty clanky jsou v poradku, ale vyvozovane zavery ne. Spojene FP a SSE jednotky maji jiz soucasne K8. Jediny rozdil je ten, ze K8L je maji dvojnasobne tak siroke a tim padem je mozne spocitat 2x tolik FP cisel, nez ted. Bez zmeny instrukcni sady. Soucasne instrukce totiz vetsinou potrebuji na vykonani dva takty. Tot vse. :)https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296417
+
2fotoba: "The performance advantage of running in 64-bit mode is anywhere between 10 and 300 percent faster than the same computer in 32-bit mode, depending on what you're doing." - na to můžeš leda tak zapomenout, přínos 64bit je ve většině případů mezi cca. -2 až +10 %. 300 % možná tak v čisté syntetice.
+1
+2
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
18. 10. 2006 - 18:25https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2fotoba: "The performance advantage of running in 64-bit mode is anywhere between 10 and 300 percent faster than the same computer in 32-bit mode, depending on what you're doing." - na to můžeš leda tak zapomenout, přínos 64bit je ve většině případů mezi cca. -2 až +10 %. 300 % možná tak v čisté syntetice.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296425
+
Jestli to spravne chapu??? AMD nezmenilo mnozstvi instrukci zpracovanejch za takt za 3 na 4 jako Intel u C2D. Misto toho zvetsili FPU/SSE jednotku do sirky, takze vlastne nafoukli instrukci misto aby zpracovavali 2 vedle sebe.
A druha vec, pokud to opet spravne chapu, tak AMD by v pripade spravne predpovezenyho obsahu L2 melo pocitat rychlejc, protoze kazdy jadro bude mit v L2 nafedrovany svoje data. Navic by asi mela mit agresivnejsi casovani nez ohromna 4MB L2 u Conroe.
PS:Je mozny ze naprosto matu pojmy a dojmy.
+1
+4
-1
Je komentář přínosný?
JoHnY3 (neověřeno) https://diit.cz
18. 10. 2006 - 18:39https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseJestli to spravne chapu??? AMD nezmenilo mnozstvi instrukci zpracovanejch za takt za 3 na 4 jako Intel u C2D. Misto toho zvetsili FPU/SSE jednotku do sirky, takze vlastne nafoukli instrukci misto aby zpracovavali 2 vedle sebe.
A druha vec, pokud to opet spravne chapu, tak AMD by v pripade spravne predpovezenyho obsahu L2 melo pocitat rychlejc, protoze kazdy jadro bude mit v L2 nafedrovany svoje data. Navic by asi mela mit agresivnejsi casovani nez ohromna 4MB L2 u Conroe.
PS:Je mozny ze naprosto matu pojmy a dojmy.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296426
+
2Ritchie: Zkoušel jsem jich několik a všechny běžely plus mínus stejně rychle. Ostatně on není žádný důvod, proč by měly běžet rychleji... tedy až na 64bit integery, které se ale beztak běžně nepoužívají. Nebo snad víte o nějakém důvodu?
+1
0
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
18. 10. 2006 - 23:25https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2Ritchie: Zkoušel jsem jich několik a všechny běžely plus mínus stejně rychle. Ostatně on není žádný důvod, proč by měly běžet rychleji... tedy až na 64bit integery, které se ale beztak běžně nepoužívají. Nebo snad víte o nějakém důvodu?https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296449
+
64bitovou architekturu jsem testoval už před třemi lety a zrychlení proti 32bitové architektuře je v Linuxu průměrně 20%. Jsou ale i výjimky. Např. lame mp3 do wavu v 32bitech 3 minuty a 64bitech 1 minutu. Komprese a dekomprese přes gzip a bzip nezaznamenala větší rozdíl.
+1
0
-1
Je komentář přínosný?
progmaster (neověřeno) https://diit.cz
19. 10. 2006 - 09:49https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse64bitovou architekturu jsem testoval už před třemi lety a zrychlení proti 32bitové architektuře je v Linuxu průměrně 20%. Jsou ale i výjimky. Např. lame mp3 do wavu v 32bitech 3 minuty a 64bitech 1 minutu. Komprese a dekomprese přes gzip a bzip nezaznamenala větší rozdíl.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296483
+
2progmaster: LAME 32bit vs. 64bit zkompilovaný dobrým kompilátorem = rozdíl nula. Jestli jsi měl tak velký rozdíl, byla příčina jinde - zřejmě ve špatné 32bit kompilaci nebo v použití různé verze.
+1
0
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
19. 10. 2006 - 11:02https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2progmaster: LAME 32bit vs. 64bit zkompilovaný dobrým kompilátorem = rozdíl nula. Jestli jsi měl tak velký rozdíl, byla příčina jinde - zřejmě ve špatné 32bit kompilaci nebo v použití různé verze.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296495
+
Eagle_not_registered: Nejde len o 64-bitove registre, ale celkovo ich je o 8 viac (vseobecnych) a pri volani funkcii sa prve styri argumenty posielaju priamo cez registre namiesto cez zasobnik. Takisto aplikacie vyuzivaju instrukcie, o ktorych vedia, ze su sucastou AMD64 a EM64T, kedze bezia v 64-bit mode. 64-bitove registre su len spicka ladovca.
+1
0
-1
Je komentář přínosný?
brano (neověřeno) https://diit.cz
19. 10. 2006 - 11:28https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseEagle_not_registered: Nejde len o 64-bitove registre, ale celkovo ich je o 8 viac (vseobecnych) a pri volani funkcii sa prve styri argumenty posielaju priamo cez registre namiesto cez zasobnik. Takisto aplikacie vyuzivaju instrukcie, o ktorych vedia, ze su sucastou AMD64 a EM64T, kedze bezia v 64-bit mode. 64-bitove registre su len spicka ladovca.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296514
+
2brano: Registrů není víc, neboť v moderním out-of-order procesoru se beztak přemapovávají do registrového pole. Víc viditelných registrů pro programátora může jen zlepšit paralelizovatelnost výpočtů, moderní procesor je ale dost úspěšný i bez této pomůcky. Funkční volání může zaznamenat přínos, to je pravda. Otázkou je o kolik. Zase nevýhodou je větší pointer, což naopak zpomaluje. AMD64 instrukce jsou ekvivalentem k x86, takže jakápak výhoda?
+1
-2
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
19. 10. 2006 - 12:58https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2brano: Registrů není víc, neboť v moderním out-of-order procesoru se beztak přemapovávají do registrového pole. Víc viditelných registrů pro programátora může jen zlepšit paralelizovatelnost výpočtů, moderní procesor je ale dost úspěšný i bez této pomůcky. Funkční volání může zaznamenat přínos, to je pravda. Otázkou je o kolik. Zase nevýhodou je větší pointer, což naopak zpomaluje. AMD64 instrukce jsou ekvivalentem k x86, takže jakápak výhoda?https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296539
+
Eagle: Nechapu, o co Vam jde. Oni maji pravdu. Vyhody 64-bit jsou neoddiskutovatelne. Mnohem vic mista v registrech (nejen GP, ale i SSE) se pri dobre napsanem kodu projevi. Optimalizace na urovni procesoru jsou velmi limitovane. Dobry kompilator (nebo lepe dobry programator) dokaze optimalizovat mnohem lepe.
Navic, jak zde bylo spravne uvedeno, posouva se "lowest common denominator" nahoru. Veskere floating-point vypocty nyni mohou (resp. musi) vyuzivat SSE2 a existuji i dalsi drive "volitelne" instrukce - treba CMOV. Existuji algoritmy, ktere jdou zrychlit i o vice, nez tech 300%...
Tohle samozrejme neplati vzdy. Ne vsechno jde (nebo se chce) pro 64-bit optimalizovat. Pripady, kdy dojde k poklesu vykonu, jsou casto spojeny s nemoznosti pouzit existujicich rucne psanych FPU, MMX a 3DNow! rutin v 64-bit modu.
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
19. 10. 2006 - 18:24https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseEagle: Nechapu, o co Vam jde. Oni maji pravdu. Vyhody 64-bit jsou neoddiskutovatelne. Mnohem vic mista v registrech (nejen GP, ale i SSE) se pri dobre napsanem kodu projevi. Optimalizace na urovni procesoru jsou velmi limitovane. Dobry kompilator (nebo lepe dobry programator) dokaze optimalizovat mnohem lepe.
Navic, jak zde bylo spravne uvedeno, posouva se "lowest common denominator" nahoru. Veskere floating-point vypocty nyni mohou (resp. musi) vyuzivat SSE2 a existuji i dalsi drive "volitelne" instrukce - treba CMOV. Existuji algoritmy, ktere jdou zrychlit i o vice, nez tech 300%...
Tohle samozrejme neplati vzdy. Ne vsechno jde (nebo se chce) pro 64-bit optimalizovat. Pripady, kdy dojde k poklesu vykonu, jsou casto spojeny s nemoznosti pouzit existujicich rucne psanych FPU, MMX a 3DNow! rutin v 64-bit modu.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296633
+
2xR: To přece není pravda. Zkoušel jsem zkompilovaný kód jednou 32bit a podruhé 64bit a výsledky byly stejné. Jaká hardwarová výhoda tam je? Až na 64bit aritmetiku žádná. Víc místa v registrech je k ničemu, procesor tyhle registry stejnak nezná, má svoje hardwarové pole (maximálně se ušetří pár POP a PUSH instrukcí v dekodéru, procesor je ale hardwarově stejnak nejspíš nevykonává). Naopak další registry znamenají delší instrukci, tj. větší zátěž na rychlost cache a dekodéry - např. Conroe kvůli tomu nemusí zvládnout dekódování 4 instrukcí za takt, protože jeho propustnost do dekodéru je 16byte/cyklus. Čili co ušetřím na PUSH/POP, to zase ztratím na prefixu. Nějaká ztráta taky plyne z většího pointeru.
A co se SIMD a dalších vylepšení jako CMOV a FCMOV týče, tak to je výhoda jen pro jednodušší konstrukci programu, tyto instrukce je možné využít i u 32bit. A pokud porovnám výkon programů s identickou optimalizací, jednou 32bit a podruhé 64bit, tak prostě s největší pravděpodobností budou mít stejný výkon (pokud nebudou používat 64bit aritmetiku, což je poměrně neobvyklé). BTW, x87 je dle dokumentace AMD stále přítomno a je možné ho použít.
Takže celkově vzato je 64bit velmi důležité kvůli podpoře víc jak 4 GB RAM, ale výkon navíc až na výjimky nepřinese.
+1
0
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
20. 10. 2006 - 00:29https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2xR: To přece není pravda. Zkoušel jsem zkompilovaný kód jednou 32bit a podruhé 64bit a výsledky byly stejné. Jaká hardwarová výhoda tam je? Až na 64bit aritmetiku žádná. Víc místa v registrech je k ničemu, procesor tyhle registry stejnak nezná, má svoje hardwarové pole (maximálně se ušetří pár POP a PUSH instrukcí v dekodéru, procesor je ale hardwarově stejnak nejspíš nevykonává). Naopak další registry znamenají delší instrukci, tj. větší zátěž na rychlost cache a dekodéry - např. Conroe kvůli tomu nemusí zvládnout dekódování 4 instrukcí za takt, protože jeho propustnost do dekodéru je 16byte/cyklus. Čili co ušetřím na PUSH/POP, to zase ztratím na prefixu. Nějaká ztráta taky plyne z většího pointeru.
A co se SIMD a dalších vylepšení jako CMOV a FCMOV týče, tak to je výhoda jen pro jednodušší konstrukci programu, tyto instrukce je možné využít i u 32bit. A pokud porovnám výkon programů s identickou optimalizací, jednou 32bit a podruhé 64bit, tak prostě s největší pravděpodobností budou mít stejný výkon (pokud nebudou používat 64bit aritmetiku, což je poměrně neobvyklé). BTW, x87 je dle dokumentace AMD stále přítomno a je možné ho použít.
Takže celkově vzato je 64bit velmi důležité kvůli podpoře víc jak 4 GB RAM, ale výkon navíc až na výjimky nepřinese.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296684
+
"Víc místa v registrech je k ničemu" - OMG
Tohle uz je trochu moc. Pisu tuny kodu v assembleru a jsem naprosto zoufaly z maleho poctu registru. Nektere algoritmy kvuli tomu vubec nejdou napsat ! A ty co jdou, jsou strasne pracne. Clovek porad musi premyslet, co z ktereho registru vyhodit a kde co vlastne ma. A v SSE nejsou zadne push/pop. Tam kdyz chybi registry, je to v pytli. Kdyby bylo 128 SSE registru (tak jako u nekterych jinych architektur), zrychlilo by to muj kod 3x.
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
20. 10. 2006 - 10:05https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse"Víc místa v registrech je k ničemu" - OMG
Tohle uz je trochu moc. Pisu tuny kodu v assembleru a jsem naprosto zoufaly z maleho poctu registru. Nektere algoritmy kvuli tomu vubec nejdou napsat ! A ty co jdou, jsou strasne pracne. Clovek porad musi premyslet, co z ktereho registru vyhodit a kde co vlastne ma. A v SSE nejsou zadne push/pop. Tam kdyz chybi registry, je to v pytli. Kdyby bylo 128 SSE registru (tak jako u nekterych jinych architektur), zrychlilo by to muj kod 3x.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296709
+
2xR: Jak už jsem řekl, CPU ty registry stejnak nepoužívá, má svoje hardwarové registrové pole, které je u 64bit stejně velké jako u 32bit. Takže to možná zjednoduší programování, ale na výkon to žádný převratný dopad mít nebude. A pokud děláte náročné algoritmy, doporučuju použít C++ a dobrý kompilátor - výsledky optimalizovaného kódu (ideálně profilovaného) jsou překvapivě dobré a zároveň si ušetříte spoustu práce.
+1
0
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
20. 10. 2006 - 10:51https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2xR: Jak už jsem řekl, CPU ty registry stejnak nepoužívá, má svoje hardwarové registrové pole, které je u 64bit stejně velké jako u 32bit. Takže to možná zjednoduší programování, ale na výkon to žádný převratný dopad mít nebude. A pokud děláte náročné algoritmy, doporučuju použít C++ a dobrý kompilátor - výsledky optimalizovaného kódu (ideálně profilovaného) jsou překvapivě dobré a zároveň si ušetříte spoustu práce.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296717
+
2Eagle: Co na to rict... Nemate paru, co je to optimalizace. Ja pisu specialni verze kodu pro kazdou architekturu (3 verze P6, 2 verze K7, 2 verze K8, 2 verze P4, ...), aby dosazeny vypocetni vykon byl blizky peak flops (tedy napr. 8 GFlops pro K8). Realne cislo v praxi je casto bohuzel jen 1/3 teto hodnoty, jelikoz neni misto v registrech a musi se proto pouzivat RAM (cache). A kdyz instrukce cte/zapisuje z/do RAM (cache), CPU -MUSI- tuto operaci uskutecnit. Bez ohledu na to, kolik ma uvnitr virtualnich registru. Pokud je mozne drzet data v registrech, stoupne vykon 3x. Stejne je to s prokladanim instrukci. Kazde CPU potrebuje jinak prokladane instrukce. Conroe jeste neznam, ale treba K8 si samo nedokaze preusporadat SSE instrukce uplne optimalne. BTW: Optimalizovany C++ kod je v mem pripade zhruba 6x pomalejsi, nez rucne optimalizovany ASM (SSE) kod...
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
20. 10. 2006 - 12:44https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2Eagle: Co na to rict... Nemate paru, co je to optimalizace. Ja pisu specialni verze kodu pro kazdou architekturu (3 verze P6, 2 verze K7, 2 verze K8, 2 verze P4, ...), aby dosazeny vypocetni vykon byl blizky peak flops (tedy napr. 8 GFlops pro K8). Realne cislo v praxi je casto bohuzel jen 1/3 teto hodnoty, jelikoz neni misto v registrech a musi se proto pouzivat RAM (cache). A kdyz instrukce cte/zapisuje z/do RAM (cache), CPU -MUSI- tuto operaci uskutecnit. Bez ohledu na to, kolik ma uvnitr virtualnich registru. Pokud je mozne drzet data v registrech, stoupne vykon 3x. Stejne je to s prokladanim instrukci. Kazde CPU potrebuje jinak prokladane instrukce. Conroe jeste neznam, ale treba K8 si samo nedokaze preusporadat SSE instrukce uplne optimalne. BTW: Optimalizovany C++ kod je v mem pripade zhruba 6x pomalejsi, nez rucne optimalizovany ASM (SSE) kod...https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296742
+
2xR: Zápisy do RAM se dnes dělají zpožděně. To si fakt myslíte, že CPU bude čekat stovky cyklů, než se tam ta data zapíší? Co se zápisů do cache týče, tam asi je možné něco ztratit. Ani to ale nemusí být nutně v daném pořadí. Zřejmě vám vzniká store-load závislost.
Jaký kompilátor byl použit a s jakým nastavením?
+1
0
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
20. 10. 2006 - 15:14https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2xR: Zápisy do RAM se dnes dělají zpožděně. To si fakt myslíte, že CPU bude čekat stovky cyklů, než se tam ta data zapíší? Co se zápisů do cache týče, tam asi je možné něco ztratit. Ani to ale nemusí být nutně v daném pořadí. Zřejmě vám vzniká store-load závislost.
Jaký kompilátor byl použit a s jakým nastavením?https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296774
+
Musim se zastat xR, protoze ten kdo umi programovat v assembleru a zejmena vi pro ktere rutiny je to vhodne a v takovych situacich je i pouziva. Tak ten dosahne vykonnosti, ktery sebedokonalejsi kompilator nevyrobi. A to ani kdyz je to komplilator C++ od Intelu, ktery ma zkompilovat kod pro svuj procesor. A rozdil trojnasobku rychlosti je uz docela dost velky duvod optimalizovat. A sam vim ze to neni smyslene cislo. Takze sebelepsi argumentace ve prospech C++ holt skutecnost nezmeni.
+1
0
-1
Je komentář přínosný?
Michal Javora https://diit.cz/profil/2mike
20. 10. 2006 - 17:35https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuseMusim se zastat xR, protoze ten kdo umi programovat v assembleru a zejmena vi pro ktere rutiny je to vhodne a v takovych situacich je i pouziva. Tak ten dosahne vykonnosti, ktery sebedokonalejsi kompilator nevyrobi. A to ani kdyz je to komplilator C++ od Intelu, ktery ma zkompilovat kod pro svuj procesor. A rozdil trojnasobku rychlosti je uz docela dost velky duvod optimalizovat. A sam vim ze to neni smyslene cislo. Takze sebelepsi argumentace ve prospech C++ holt skutecnost nezmeni.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296806
+
2Eagle: Nikdo nemluvi o stovkach cyklu. Tady jde o 6 cyklu za load/store instrukci. Pokud mam napr. sekvenci load-compute-save, dela to minimalne 6-4-6 taktu. Kdyby data bylo mozne mit stale v registrech, byly by to pouze 4 takty. Teoreticke zrychleni 4x...
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
20. 10. 2006 - 20:26https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2Eagle: Nikdo nemluvi o stovkach cyklu. Tady jde o 6 cyklu za load/store instrukci. Pokud mam napr. sekvenci load-compute-save, dela to minimalne 6-4-6 taktu. Kdyby data bylo mozne mit stale v registrech, byly by to pouze 4 takty. Teoreticke zrychleni 4x...https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296836
+
Pokud jeste zapocitam pipelining, efektivni doba trvani se zmeni z 6-4-6 na 1-1-1. Zrychleni po odstraneni load/store operaci je porad 3x.
+1
0
-1
Je komentář přínosný?
xR (neověřeno) https://diit.cz
20. 10. 2006 - 20:35https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusePokud jeste zapocitam pipelining, efektivni doba trvani se zmeni z 6-4-6 na 1-1-1. Zrychleni po odstraneni load/store operaci je porad 3x.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296837
+
2xR: Dobře, tohle se dá uznat (pokud CPU nebude schopné dělat zápisy a čtení zpožděně a zajistit si integritu dat). Nicméně je to přeci jenom dost specifický příklad, u standardních high-level kompilovaných kódů se toho asi moc nezmění. A u této většiny programů asi bohužel žádné zrychlení nenastane. Leda že by se kompilátory přizpůsobily natolik, že budou více registrů využívat naplno.
+1
0
-1
Je komentář přínosný?
Eagle_not_registered (neověřeno) https://diit.cz
22. 10. 2006 - 19:48https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse2xR: Dobře, tohle se dá uznat (pokud CPU nebude schopné dělat zápisy a čtení zpožděně a zajistit si integritu dat). Nicméně je to přeci jenom dost specifický příklad, u standardních high-level kompilovaných kódů se toho asi moc nezmění. A u této většiny programů asi bohužel žádné zrychlení nenastane. Leda že by se kompilátory přizpůsobily natolik, že budou více registrů využívat naplno.https://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskuse#comment-296960
+
Diskuse k Pohled do nitra mikroarchitektury K8Lhttps://diit.cz/clanek/pohled-do-nitra-mikroarchitektury-k8l/diskusehttps://diit.cz/sites/default/files/diit-logo.png
To vypadá opravdu slibně :)
App kdy se toho máme dočkat?
ma to prijst v Q3 2007
takze vlastne rok po Conroe.. Intel rozjel asi dobry hype, kdyz za 60dni prodal 5mil Conroe.. a vcera "beatnul" predpovedni analytiku o 5centu...
uvidime rekl slepy...
Lenze ak to urobia dobre, tak 128 bit SSE instrukcie FMUL a FDIV bude vyrazne zrychlene
Ak porovnavame Athlon XP a Athlon 64, prvy menovany bude 4x rychlejsi. Preco 4x a nie len 2x? Lebo nasobenie celych 64 bit cisel v 64 bitovej v skutocnosti 4x rychlejsie ako v 32 bit jednotke
http://www.swox.com/gmp/32vs64.html
Pri praci v pohyblivej radov ej ciarke (Flaoating point) je dokonca 6x zrychelenie pri pouziti 2x viacbitovej jednotky.
a SSE data su 128 bit.
a ono K8.50/K8L ma vsetky instrukcie x86 prekladat do SSE 128 bit mikrokodu.
fotoba - nema to nahodou byt "DRUHY" v tom porovnani AthlonXP a Athlon64 (v puvodnim clanku je slovo "latter" - "pozdejsi, druhy" a je to i celkem logicke ;) )
preklep samozrejme
2Neo029
to je sice fajn, ale na dva prodane conroe pripadlo priblizne sedm procesoru amd...po slevach.
Fotoba: Bohuzel nemas pravdu. 128-bitove skalarni MUL ani DIV neexistuji. Tady se jedna o SIMD vektory 4x 32-bit nebo 2x64 bit. Takze zrychleni bude "pouze" dvojnasobne. V soucasnosti se totiz musi 128-bitove vektory pocitat nadvakrat.
Fotoba: A navíc u skalárních operací se 64 bitová čísla používala dost vzácně.
64-bit Integer Math
Performing a single 64- bit integer multiply using 32-bit arithmetic requires several multiplies and additions to compute the final result. Doing the same 64-bit integer multiply using AMD64 takes a single instruction.
http://www.devx.com/amd/Article/16018/2907?pf=true
o tomto tu bola rec a SSE ma 128 bit data
The Streaming SIMD Extensions enhance the Intel x86 architecture in four ways:
8 new 128-bit SIMD floating-point registers that can be directly addressed;
http://www.tommesani.com/SSE.html
takze najviac sa ziska pri SSE, ide skoro nic za predpokladu, ze mikrokod K8L nebude 128 bitovy tak ako to TMTA
ako VLIW engine
http://www.transmeta.com/efficeon/vliw.html
http://www.transmeta.com/crusoe/vliw.html
co je celkom mozne, kedz TMTA robili spolu s AMD K9
to harvvester>
ono je to paradoxne, ale nie je to tak ako pises, AMD urcite nepredava
viac X2 ako Intel C2D
Nastava nedostatok AMD CPU
Wednesday 11 October 2006, 12:57
Dell berie 10 mil ks/rok
http://theinquirer.net/default.aspx?article=35004
ak pojdu plany tak ako maju Nicholas Negroponteho One Laptop Per Child doda 100 milionov laptopov v prvom roku dodavok (2007)
http://www.eweek.com/article2/0,1895,2028789,00.asp
hlavne elektronika OLPC:
CPU: AMD Geode GX2-500@1.0W
http://wiki.laptop.org/go/Hardware_specification
kedze AMD v roku 2005 vyrobila 39 mil.ks x86 CPU, co je cca. 20% x84 trhu, v roku 2006 to ma byt 50 mil. ks
tak 100 mil navysenie x86 produkcie v Geode-och jej v podiele na trhu velmi pomoze ale zahlti linky a tak cisla o predaji X2 a C2D tebou uvedene su nezmysel
fotoba: Ty jsi pouze teoretik, ja praktik. SSE/SSE2/SSE3 pouzivam kazdy den a muzu ti garantovat, ze krome 128-bitovych posuvu NEMAJI zadne dalsi 128-bit operace. Registry samozrejme jsou siroke 128-bit, ale obsahuji 2 nebo ctyri nezavisle cisla. Treba instrukce MULPS vynasobi 4 32-bitove floaty jinymi 4 32-bitovymi floaty. Podobne MULPD vynasobi 2 64-bitove floaty jinymi 2 64-bitovymi floaty. Zadna domnela instrukce MULPQ, ktera by vynasobila 1 128-bitovy float jinym 128-bitovym floatem (zatim) NEEXISTUJE !!!!
xR: On hlavně neexistuje HW podporovanej 128bitovej float :)))
XR>
To je pravda je to teoreticky narast
priklad z praxe
The future of computing may be 64-bit, and on the other hand 64-bit may only be a quick waypoint on the journey to even more potent processing. In either case, the Athlon 64 is the best choice for high-performance desktop or workstation computing. The performance advantage of running in 64-bit mode is anywhere between 10 and 300 percent faster than the same computer in 32-bit mode, depending on what you're doing.
http://.....
Milda IV>
no nebol by som si isty 128 bit float-om a nepodporou
eatures for future AMD microarchitectures
These may be present in the original K8L processors or a more future AMD64 chip, by various reports in the time frame of Q1 07, Q2 07, Q3 07,
ISA additions and extensions:
Extension to the AMD64 instruction set during 2007; it is unclear whether AMD plans this for Revision G or Revision H chips.
New SIMD instruction set and new, wide SIMD units; in a yet unspecified time frame.
Implementation and possibly adding extensions of SSSE3 (which was called "SSE4" prior to its official name announced) and/or SSE4 , which AMD codenamed SSE4a.
http://en.wikipedia.org/wiki/AMD_K8L
ten zahadny novy SIMD moze byt nakoniec MIMD a tam by si to vyuzil
fotoba:
No, takže tu máme dual chanel pro paměti, 64 x 32 bit, dualcore a další. Mají jedno společné: teoreticky jsou všechny až "až" 2x rychlejší, prakticky je ten přínos obvykle kolem několik %, často i žádný.
Opatrne s tim SSE4, Intel uz ma dost jasno, jak SSE4 bude vypadat, mrknete zdehle na clanek "Extending the World?s Most Popular Processor Architecture" http://cache-www.intel.com/cd/00/00/32/26/322663_322663.pdf.
Mozna proto ma AMD SSE4a, protoze tam chteji pridat neco jineho a SSE4 je to Intelske rozsireni? Nikdo nevylucuje, ze v budoucnosti budou CPU (asi jen od AMD), ktery budou podporovat SSE4 i SSE4a. Skoro bych rek, ze se bude opakovat situace s 3Dnow.
fotoba> Jeste jsem se chtel zeptat, cos myslel tim "a ono K8.50/K8L ma vsetky instrukcie x86 prekladat do SSE 128 bit mikrokodu"? To snad bude asi nejake nepochopeni, nijak si nepamatuju, ze by SSE melo treba instrukce skoku:))
ono to bolo myslene, ze pojde o SIMD mikrokod s retazenim/stream-om t.j., ze vyastup predchadzajucej mikroinstrukcie je jeden z argumentov nasledujucej
holt sream a SIMD sa mi okamzite spojili do SSE, co je chyba samozrejme..
kuba: Intel uz ma jasno v SSE4 davno ... ono totiz uz v Intel procesorech je ;-) .
Bespi> No to asi ne. Cituji z toho clanecku:
"Beginning with the 45 nm Intel microarchitecture based processors (codenamed Penryn) slated for production in 2007, these new instructions will start to appear in most of the volume market segments, including desktop, mobile, and server."
Ze by uz byl rok 2007? Rovneztak v oficialnich manualech IA-32 zadna instrukce CRC32 neni (ani ty ostatni jmenovane).
Takze upresneni, SSE4 v Intelech neni!
Bespi: Ne tak docela, Intel totiz ve vsem dela pekny bordel. Conroe nemaji SSE4, ale SSSE3 :).
fotoba: Mas v tom poradny zmatek. Ty clanky jsou v poradku, ale vyvozovane zavery ne. Spojene FP a SSE jednotky maji jiz soucasne K8. Jediny rozdil je ten, ze K8L je maji dvojnasobne tak siroke a tim padem je mozne spocitat 2x tolik FP cisel, nez ted. Bez zmeny instrukcni sady. Soucasne instrukce totiz vetsinou potrebuji na vykonani dva takty. Tot vse. :)
2fotoba: "The performance advantage of running in 64-bit mode is anywhere between 10 and 300 percent faster than the same computer in 32-bit mode, depending on what you're doing." - na to můžeš leda tak zapomenout, přínos 64bit je ve většině případů mezi cca. -2 až +10 %. 300 % možná tak v čisté syntetice.
Jestli to spravne chapu??? AMD nezmenilo mnozstvi instrukci zpracovanejch za takt za 3 na 4 jako Intel u C2D. Misto toho zvetsili FPU/SSE jednotku do sirky, takze vlastne nafoukli instrukci misto aby zpracovavali 2 vedle sebe.
A druha vec, pokud to opet spravne chapu, tak AMD by v pripade spravne predpovezenyho obsahu L2 melo pocitat rychlejc, protoze kazdy jadro bude mit v L2 nafedrovany svoje data. Navic by asi mela mit agresivnejsi casovani nez ohromna 4MB L2 u Conroe.
PS:Je mozny ze naprosto matu pojmy a dojmy.
Eagle_not_registered: Nemáte pravdu, aneb kolik aplikací jste v 64b modu skutečně provozoval?
2Ritchie: Zkoušel jsem jich několik a všechny běžely plus mínus stejně rychle. Ostatně on není žádný důvod, proč by měly běžet rychleji... tedy až na 64bit integery, které se ale beztak běžně nepoužívají. Nebo snad víte o nějakém důvodu?
64bitovou architekturu jsem testoval už před třemi lety a zrychlení proti 32bitové architektuře je v Linuxu průměrně 20%. Jsou ale i výjimky. Např. lame mp3 do wavu v 32bitech 3 minuty a 64bitech 1 minutu. Komprese a dekomprese přes gzip a bzip nezaznamenala větší rozdíl.
2progmaster: LAME 32bit vs. 64bit zkompilovaný dobrým kompilátorem = rozdíl nula. Jestli jsi měl tak velký rozdíl, byla příčina jinde - zřejmě ve špatné 32bit kompilaci nebo v použití různé verze.
Eagle_not_registered: Nejde len o 64-bitove registre, ale celkovo ich je o 8 viac (vseobecnych) a pri volani funkcii sa prve styri argumenty posielaju priamo cez registre namiesto cez zasobnik. Takisto aplikacie vyuzivaju instrukcie, o ktorych vedia, ze su sucastou AMD64 a EM64T, kedze bezia v 64-bit mode. 64-bitove registre su len spicka ladovca.
2brano: Registrů není víc, neboť v moderním out-of-order procesoru se beztak přemapovávají do registrového pole. Víc viditelných registrů pro programátora může jen zlepšit paralelizovatelnost výpočtů, moderní procesor je ale dost úspěšný i bez této pomůcky. Funkční volání může zaznamenat přínos, to je pravda. Otázkou je o kolik. Zase nevýhodou je větší pointer, což naopak zpomaluje. AMD64 instrukce jsou ekvivalentem k x86, takže jakápak výhoda?
Eagle: Nechapu, o co Vam jde. Oni maji pravdu. Vyhody 64-bit jsou neoddiskutovatelne. Mnohem vic mista v registrech (nejen GP, ale i SSE) se pri dobre napsanem kodu projevi. Optimalizace na urovni procesoru jsou velmi limitovane. Dobry kompilator (nebo lepe dobry programator) dokaze optimalizovat mnohem lepe.
Navic, jak zde bylo spravne uvedeno, posouva se "lowest common denominator" nahoru. Veskere floating-point vypocty nyni mohou (resp. musi) vyuzivat SSE2 a existuji i dalsi drive "volitelne" instrukce - treba CMOV. Existuji algoritmy, ktere jdou zrychlit i o vice, nez tech 300%...
Tohle samozrejme neplati vzdy. Ne vsechno jde (nebo se chce) pro 64-bit optimalizovat. Pripady, kdy dojde k poklesu vykonu, jsou casto spojeny s nemoznosti pouzit existujicich rucne psanych FPU, MMX a 3DNow! rutin v 64-bit modu.
2xR: To přece není pravda. Zkoušel jsem zkompilovaný kód jednou 32bit a podruhé 64bit a výsledky byly stejné. Jaká hardwarová výhoda tam je? Až na 64bit aritmetiku žádná. Víc místa v registrech je k ničemu, procesor tyhle registry stejnak nezná, má svoje hardwarové pole (maximálně se ušetří pár POP a PUSH instrukcí v dekodéru, procesor je ale hardwarově stejnak nejspíš nevykonává). Naopak další registry znamenají delší instrukci, tj. větší zátěž na rychlost cache a dekodéry - např. Conroe kvůli tomu nemusí zvládnout dekódování 4 instrukcí za takt, protože jeho propustnost do dekodéru je 16byte/cyklus. Čili co ušetřím na PUSH/POP, to zase ztratím na prefixu. Nějaká ztráta taky plyne z většího pointeru.
A co se SIMD a dalších vylepšení jako CMOV a FCMOV týče, tak to je výhoda jen pro jednodušší konstrukci programu, tyto instrukce je možné využít i u 32bit. A pokud porovnám výkon programů s identickou optimalizací, jednou 32bit a podruhé 64bit, tak prostě s největší pravděpodobností budou mít stejný výkon (pokud nebudou používat 64bit aritmetiku, což je poměrně neobvyklé). BTW, x87 je dle dokumentace AMD stále přítomno a je možné ho použít.
Takže celkově vzato je 64bit velmi důležité kvůli podpoře víc jak 4 GB RAM, ale výkon navíc až na výjimky nepřinese.
"Víc místa v registrech je k ničemu" - OMG
Tohle uz je trochu moc. Pisu tuny kodu v assembleru a jsem naprosto zoufaly z maleho poctu registru. Nektere algoritmy kvuli tomu vubec nejdou napsat ! A ty co jdou, jsou strasne pracne. Clovek porad musi premyslet, co z ktereho registru vyhodit a kde co vlastne ma. A v SSE nejsou zadne push/pop. Tam kdyz chybi registry, je to v pytli. Kdyby bylo 128 SSE registru (tak jako u nekterych jinych architektur), zrychlilo by to muj kod 3x.
2xR: Jak už jsem řekl, CPU ty registry stejnak nepoužívá, má svoje hardwarové registrové pole, které je u 64bit stejně velké jako u 32bit. Takže to možná zjednoduší programování, ale na výkon to žádný převratný dopad mít nebude. A pokud děláte náročné algoritmy, doporučuju použít C++ a dobrý kompilátor - výsledky optimalizovaného kódu (ideálně profilovaného) jsou překvapivě dobré a zároveň si ušetříte spoustu práce.
2Eagle: Co na to rict... Nemate paru, co je to optimalizace. Ja pisu specialni verze kodu pro kazdou architekturu (3 verze P6, 2 verze K7, 2 verze K8, 2 verze P4, ...), aby dosazeny vypocetni vykon byl blizky peak flops (tedy napr. 8 GFlops pro K8). Realne cislo v praxi je casto bohuzel jen 1/3 teto hodnoty, jelikoz neni misto v registrech a musi se proto pouzivat RAM (cache). A kdyz instrukce cte/zapisuje z/do RAM (cache), CPU -MUSI- tuto operaci uskutecnit. Bez ohledu na to, kolik ma uvnitr virtualnich registru. Pokud je mozne drzet data v registrech, stoupne vykon 3x. Stejne je to s prokladanim instrukci. Kazde CPU potrebuje jinak prokladane instrukce. Conroe jeste neznam, ale treba K8 si samo nedokaze preusporadat SSE instrukce uplne optimalne. BTW: Optimalizovany C++ kod je v mem pripade zhruba 6x pomalejsi, nez rucne optimalizovany ASM (SSE) kod...
2xR: Zápisy do RAM se dnes dělají zpožděně. To si fakt myslíte, že CPU bude čekat stovky cyklů, než se tam ta data zapíší? Co se zápisů do cache týče, tam asi je možné něco ztratit. Ani to ale nemusí být nutně v daném pořadí. Zřejmě vám vzniká store-load závislost.
Jaký kompilátor byl použit a s jakým nastavením?
Musim se zastat xR, protoze ten kdo umi programovat v assembleru a zejmena vi pro ktere rutiny je to vhodne a v takovych situacich je i pouziva. Tak ten dosahne vykonnosti, ktery sebedokonalejsi kompilator nevyrobi. A to ani kdyz je to komplilator C++ od Intelu, ktery ma zkompilovat kod pro svuj procesor. A rozdil trojnasobku rychlosti je uz docela dost velky duvod optimalizovat. A sam vim ze to neni smyslene cislo. Takze sebelepsi argumentace ve prospech C++ holt skutecnost nezmeni.
2Eagle: Nikdo nemluvi o stovkach cyklu. Tady jde o 6 cyklu za load/store instrukci. Pokud mam napr. sekvenci load-compute-save, dela to minimalne 6-4-6 taktu. Kdyby data bylo mozne mit stale v registrech, byly by to pouze 4 takty. Teoreticke zrychleni 4x...
Pokud jeste zapocitam pipelining, efektivni doba trvani se zmeni z 6-4-6 na 1-1-1. Zrychleni po odstraneni load/store operaci je porad 3x.
2xR: Dobře, tohle se dá uznat (pokud CPU nebude schopné dělat zápisy a čtení zpožděně a zajistit si integritu dat). Nicméně je to přeci jenom dost specifický příklad, u standardních high-level kompilovaných kódů se toho asi moc nezmění. A u této většiny programů asi bohužel žádné zrychlení nenastane. Leda že by se kompilátory přizpůsobily natolik, že budou více registrů využívat naplno.
Pro psaní komentářů se, prosím, přihlaste nebo registrujte.