IMHO nebyl důvod šetření (Pentium nabobtnalo tak, že by se tam dalších pár registrů asi ztratilo), ale kompatibilita s existujícími "operačními systémy". V době, kdy to na x86 vypadalo jak na divokém západě, by byl nadlidský úkol zajistit vzájemné nepřepisování registrů mezi různými aplikacemi. SSE už Intel vyřešil líp - zapnutí musel provádět OS, v té době už ale byly na trhu prakticky jen OS s použitelnou implementaci multitaskingu...
Názory k článku
SIMD instrukce využívané v moderních mikroprocesorech řady x86
Re: Překryv FPU a MMX registrů
celé vláknokdyz se bavime o roku 1996, ktere OS s pouzitelnou implementaci multitaskingu byly na trhu? :-)
Re: Překryv FPU a MMX registrů
celé vláknovtedy som sa uz hral s linuxom (potom ma to preslo), boli windows NT aj OS2
Re: Překryv FPU a MMX registrů
celé vláknono ale pro SSE musely byt operacni systemy upraveny ne? Jak jinak by bylo zajisteno, ze se pri prepnuti kontextu spravne ulozi a obnovi SSE registry?
Re: Překryv FPU a MMX registrů
celé vláknomyslim tim neco na zpusob - prepnuti kontextu=
* PUSHALL (bezne registry)
* FPSAVE (FPU registru=MMX registry)
* ???SSESAVE???
Re: Překryv FPU a MMX registrů
celé vláknoTo samozřejmě, mimo FPU bylo nutné zajistit i uložení SSE registrů (tedy, bylo-li to nutné, by default se předpokládalo, že aplikace používá jenom celočíselné registry a i FPU kontext se ukládal až v exception handleru při prvním přístupu k FPU, dnes už tohle asi není pravda).
Pokud si vzpomínám dobře, tak procesor se tvářil, že SSE sada není podporována, dokud ji neaktivoval právě OS. Takže na starších OS aplikační detekce SSE selhala a používala staré MMX nebo FPU...
Links
celé vláknoTych linxov je nejako vela, neda sa ta zredukovat na tie podstatne a pridat tagy do textu a la wikipedia?
Re: Links
celé vláknov 96 i linux stal za prd.
Re: Links
celé vláknoAle os/2 warp 4 byl good a NT 4.0 byly tez pouzitelne ... + se naslo i par nixu ro x86
Re: SIMD instrukce využívané v moderních mikroprocesorech řady x86
celé vláknoJaká byla výhoda PAND, POR, PXOR oproti analogickým operacím se standardními registry? Pochopil jsem správně, že pouze šířka operandu (64 vs. 32 bitů)?
Re: SIMD instrukce využívané v moderních mikroprocesorech řady x86
celé vláknoAsi hlavne ta ze se nemusi data prenaset do dvou normalnich 32 registru, delat dve 32bit instrukce a potom to prenaset zpatky, takze ve vysledku je to jedna instrukce misto sesti
Re: SIMD instrukce využívané v moderních mikroprocesorech řady x86
celé vláknoPlus navic je diky MMX k dispozici novych osm registru a diky konverznim instrukcim lze usetrit jeste vic strojovych cyklu (ale tady zalezi na konkretnim tvaru dat). V kazdem pripade zrovna tyto instrukce vlastne v podstate nic nestaly - mereno poctem tranzistoru - takze proc je v CPU nemit (to AMD s 3DNow! je o hodne slozitejsi, nejenom ze ma dve MMX jednotky, navic ma duplikovany i cely FPU a to je o dost slozitejsi modul).

