Siis onko tämä nyt oikea fakta tyyliin PIV vs. PIII vai mitä se on? Eikös Apple kuitenkin mainosta, että esim. tietyt pelit pyörivät iMac G5:ssä paholainen paljon nopeammin kuin iMac G4:ssä?
Fakta. Syynä G4:n paljon G5:ttä lyhyempi pipeline. G4:ssä pipelinen pituus seitsemän ja G5:ssä 23 vaihetta. Kansantajuisesti sanottuna G5:ssä tarvitaan saman asian tekemiseen enemmän kierroksia (siis hertsejä).
Muistattekos muuten miten Apple hehkutti lyhyen pipelinen autuutta G4-aikaan, mutta G5:n jälkeen ei asiasta ole paljon mainittu. G5:n 23 vaihetta taitaa muuten jopa enemmän kuin tälläkin foorumilla paljon parjatun P4:n jossa vaiheita on "vain" 20...
Tuon pipeline vaiheitten määrän lisäksi eroa aiheuttaa mm se, että memory access on G5:ssä suhteellisesti ottaen hitaampaa kuin G4:ssä ja että G5:ssä int<->float konversioita joudutaan tekemään G4:ää enemmän....
Muistan tuosta "pipelinestä" joskus nähneeni sellaisen "särkylääkevoidemainostyyliin" tehdyn animaation. Siinä oli myös se että jos pipelinessä menee virhe, niin ennenkuin se virhe saadaan pois, kestää huomattavasti kauemmin kuin lyhytpiippuisessa G4:ssa.
Mutta eikös oikeastaan vain ne alkuperäiset 350-400 Mhz:n G4 ole todella lyhytpiippuisia? Jostain tulee mieleen justiin tuo seittemän, ja näissä uudemmissa G4 prossuissa pipelinen pituus on pidempi.
Ihan ensimmäisten G4:sten piipun pituus taisi olla vain neljä vaihetta. Sittemmin kun kellotaajuuttaa kasvatettiin, jouduttiin pituus kasvattamaan seitsemään. Ihan mahdollista että ihan uusissa se olisi vielä tuotakin pidempi... Enkä kyllä osaa sanoa sitäkään onko noilla neljä-vaiheisilla piipuilla koskaan toimitettu yhtään Applen tietokonetta. G4-dokumentaatiot näyttävät puhuvan varhaisen vaiheen prossujen nelivaiheiseisista piipuista, mutta Maccien dokumentaation yhteydessä puhutaan seitsemänvaiheisista...
The 970FX is deeply pipelined, quite a bit deeper than the Athlon 64 or Opteron. While the Opteron has a 12 stage pipeline for integer calculations, the 970FX goes deeper and ends up with 16 stages. Floating point is handled through 21 stages, and the Opteron only needs 17. 21 stages might make you think that the 970FX is close to a Pentium 4 Northwood, but you should remember that the Pentium 4 also had 8 stages in front of the trace cache. The 20 stages were counted from the trace cache. So, the Pentium 4 has to do less work in those 20 stages than what the 970FX performs in those 16 or 21 stages. When it comes to branch prediction penalties, the 970FX penalty will be closer to the Pentium 4 (Northwood). But when it comes to frequency headroom, the 970FX should do - in theory - better than the Opteron, but does not come close to the "old" Pentium 4.
spiidi78 kirjoitti:Ja jos mielestäsi 20% nopeusero ei ole yleisellä tasolla mitattuna paljoa, olet täysin pihalla koko tietokonemaailmasta.
Musta hän ei ole pihalla ollenkaan. 20 prosenttia on suorastaan säälittävä lisä. Toihan saadaan g4:sta kellottamalla ja ei tartte kellottaa ees paljoo kerroin 1.3-1.4 riittää varmasti.
[o]Jos nyt joku miettii tätä pipeline, eli suomeksi voisi sanoa liukuhihna, pituutta ja miten se vaikuttaa nopeuteen, niin käsittääkseni pipelinellä yksi käsky(?käsky?) menee eteenpäin aina yhden pykälän per kellosykli.
Jos siis pipeline on 7 pykälää pitkä, niin 1 GHz koneella sekunnissa menee pipelinen läpi 1000 000 000 / 7 = noin 14,3 miljoonaa käskyä sekunnissa. Jos taas pipelinen pituus on 21 pykälää ja kone on 2 GHz niin se on sitten 2000 000 000 / 21 = noin 9,5 miljoonaa käskyä sekunnissa. Eli tässä tapauksessa 1 GHz:n kone olisi nopeampi.
Tästä syystä juuri muistan lukeneeni että G5 vaatii ison kellotaajuuden ollakseen nopea.[/o]
Meniköhän ^^ tuo nyt ihan päin prinkkalaa, kun en ole mikään asiantuntija... Sanokaa ihmeessä jos tuo on kovasti väärin luultua...
Sitten lyhyesti, Pipeline tosiaan on kuin liukuhihna kansantajuisesti. Mitä pidempi liukuhihna niin sitä enemmän voidaan ottaa kellonpyörähdyksellä tavaraa sisään käsiteltäväksi.
NOx kirjoitti:Sitten lyhyesti, Pipeline tosiaan on kuin liukuhihna kansantajuisesti. Mitä pidempi liukuhihna niin sitä enemmän voidaan ottaa kellonpyörähdyksellä tavaraa sisään käsiteltäväksi.
Eli toi on ongelma vasta, jos jokin menne pieleen ja pitää aloittaa pipelinen alusta?
Simppa kirjoitti:Eli toi on ongelma vasta, jos jokin menne pieleen ja pitää aloittaa pipelinen alusta?
No noinkin. Vastaavasti kun kaikki toimii niin toiminta on jouhevampaa. Esimerkiksi käsky voidaan pitää jonossa odottelemassa hitaammasta RAM-muistista lukemista ja käsitellä sillä aikaa jotakin muuta.