Errae Skrevet 9. august 2003 Del Skrevet 9. august 2003 jeg lurte på om det finnes en thread som forklarer samtlige architectures i detalj ( ikke bare i386 ) ? Lenke til kommentar
Velmont Skrevet 9. august 2003 Del Skrevet 9. august 2003 PPC er ganske kult :> Jobber mere effektivt enn x86 (som du heller bør kalle det).. Eller kanskje du tenker på i386 i586 i686 osv? Vel, har ikke store peilingen. Men såklart så er høyere nummer kompilert for nyere prosessore som kan bruke ting den prosessoren er god på. Men det er ganske grunnleggende og det visste du. (håper bare alt er rett nå da ) Lenke til kommentar
Manuel Skrevet 9. august 2003 Del Skrevet 9. august 2003 PPC er ganske kult :> Jobber mere effektivt enn x86 (som du heller bør kalle det).. Eller kanskje du tenker på i386 i586 i686 osv? Vel, har ikke store peilingen. Men såklart så er høyere nummer kompilert for nyere prosessore som kan bruke ting den prosessoren er god på. Men det er ganske grunnleggende og det visste du. (håper bare alt er rett nå da ) Hva får deg til å tro at Motorola MPC7450 (G4) jobber mer effektivt enn en tilsvarende x86-cpu? Det er et faktum at p4 er vel så avansert som G4 + mer (kompleksitet er ikke alltid en fordel, men...). Nå er riktignok G4 og Pentium 4 to vidt forskjellige CPUer, mens Athlon k7 er designmessig veldig lik G4. Angående topicet: Når trådstarter skriver arkitektur er det nærliggende å tro at den personen vil lese om andre maskinarkitekturer enn x86 - kanskje noe i stil med MIPS, Alpha, SPARC, IA-64 osv. Jeg foreslår at du sjekker noen HOW-TOs - du burde finne en how-to som handler om "microprocessors" på www.tldp.org, hvis jeg husker riktig. Jeg har ikke lest den, men kanskje den gir et lite overblikk over hva som finnes der ute av andre maskinarkitekturer? Ellers så er Google din beste venn ;-) Men hvorfor vil du lære om andre arkitekturer? Det er da plenty å lese om innen x86! EDIT: http://www.sparc.com/standards/V8.pdf ---- SPARC manual. http://www.users.qwest.net/~eballen1/sparc...tech.links.html http://segfault.net/~scut/cpu/mips/ --- MIPS. Ser ut til å inneholde mye kvalitetsdokumentasjon. Nå ble jeg jammen meg litt nysgjerrig selv ;-) https://www.sun.com/processors/whitepapers/.../majcintro.html --- Sun MAJC - Ser ut til å være i samme klasse som Intel IA-64-ISAen Lenke til kommentar
Velmont Skrevet 10. august 2003 Del Skrevet 10. august 2003 PPC er ganske kult :> Jobber mere effektivt enn x86 (som du heller bør kalle det).. Hva får deg til å tro at Motorola MPC7450 (G4) jobber mer effektivt enn en tilsvarende x86-cpu? Fordi den tar videoredigering og rendering mye mer effektivt. Har du en x86 og PPC på samme klokkefrekvens så ville jeg tro PPC'en jobba bedre. Derfor, er ikke noe jeg vet, bare noe jeg alltid har trodd / antatt. Er det feil? Jeg er selv på utkikk etter en Apple Laptop, som bruker PPC. Men har vel ikke råd. Lenke til kommentar
iDude Skrevet 10. august 2003 Del Skrevet 10. august 2003 PPC er ganske kult :> Jobber mere effektivt enn x86 (som du heller bør kalle det).. Eller kanskje du tenker på i386 i586 i686 osv? Vel, har ikke store peilingen. Men såklart så er høyere nummer kompilert for nyere prosessore som kan bruke ting den prosessoren er god på. Men det er ganske grunnleggende og det visste du. (håper bare alt er rett nå da ) Hva får deg til å tro at Motorola MPC7450 (G4) jobber mer effektivt enn en tilsvarende x86-cpu? Det er et faktum at p4 er vel så avansert som G4 + mer (kompleksitet er ikke alltid en fordel, men...). Nå er riktignok G4 og Pentium 4 to vidt forskjellige CPUer, mens Athlon k7 er designmessig veldig lik G4. Det er vel en av designfilosofiene bak RISC-lignende prosessorer(feks PPC) at de er mer effektive på lavere frekvenser (designfilosofi; bla antall køer, dybden på køene i prosessoren, registere). CISC-lignende prosessorer ble introdusert i 70-tallet, på en tid da minnekapasiteten på maskiner var liten og minne generellt var svært dyrt. x86 er basert på CISC, og har på mange måter slitt med det siden, da CISC instruksjoner nå blir gjort om til RISC instruksjoner i prosessoren. Om man ser på high-end prosessorene til SGI, IBM, HP så er disse basert på RISC, og selv om de ligger flere generasjoner bak x86 er de fremdeles best i tunge server-applikasjoner. x86-arkitekturen har derimot markeds-momentum, som gjør at de kan produsere flere prosessorer til en billigere penge enn PPC/RISC-aktørene. Når det gjelder hvor "avansert" prosessorene er spørs det hvordan man måler... jeg vil si at x86 er mer avansert/kompleks enn ppc fordi man gjør CISC om til RISC, og i tillegg har mange forbedringer som er lagt i tillegg til den opprinnelige arkitekturen (men x86 sliter fortsatt med få registere i forhold til ppc). Designfilosofien bak ppc er at den skal være relativt enkel, selv om skillet mellom RISC/CISC ikke er så klart som det var tidligere... Uansett; i forholdet x86/ppc er ikke nødvendigvis "avansert/kompleks" direkte omsettelig til "bedre". Lenke til kommentar
Manuel Skrevet 11. august 2003 Del Skrevet 11. august 2003 PPC er ganske kult :> Jobber mere effektivt enn x86 (som du heller bør kalle det).. Eller kanskje du tenker på i386 i586 i686 osv? Vel, har ikke store peilingen. Men såklart så er høyere nummer kompilert for nyere prosessore som kan bruke ting den prosessoren er god på. Men det er ganske grunnleggende og det visste du. (håper bare alt er rett nå da ) Hva får deg til å tro at Motorola MPC7450 (G4) jobber mer effektivt enn en tilsvarende x86-cpu? Det er et faktum at p4 er vel så avansert som G4 + mer (kompleksitet er ikke alltid en fordel, men...). Nå er riktignok G4 og Pentium 4 to vidt forskjellige CPUer, mens Athlon k7 er designmessig veldig lik G4. Jeg skal være enig med deg i at x86-cpuene trenger mange fler registre, da g4 nesten har plass til hele programmer/kodesegmenter bare i registrene. Men husk at cahcen på p4 er *litt* raskere (hvilket er nødvendig i forhold til å fòre pipelinene med instruksjoner) enn g4 sitt cache. Det er vel en av designfilosofiene bak RISC-lignende prosessorer(feks PPC) at de er mer effektive på lavere frekvenser (designfilosofi; bla antall køer, dybden på køene i prosessoren, registere). CISC-lignende prosessorer ble introdusert i 70-tallet, på en tid da minnekapasiteten på maskiner var liten og minne generellt var svært dyrt. x86 er basert på CISC, og har på mange måter slitt med det siden, da CISC instruksjoner nå blir gjort om til RISC instruksjoner i prosessoren. Om man ser på high-end prosessorene til SGI, IBM, HP så er disse basert på RISC, og selv om de ligger flere generasjoner bak x86 er de fremdeles best i tunge server-applikasjoner. x86-arkitekturen har derimot markeds-momentum, som gjør at de kan produsere flere prosessorer til en billigere penge enn PPC/RISC-aktørene. Når det gjelder hvor "avansert" prosessorene er spørs det hvordan man måler... jeg vil si at x86 er mer avansert/kompleks enn ppc fordi man gjør CISC om til RISC, og i tillegg har mange forbedringer som er lagt i tillegg til den opprinnelige arkitekturen (men x86 sliter fortsatt med få registere i forhold til ppc). Designfilosofien bak ppc er at den skal være relativt enkel, selv om skillet mellom RISC/CISC ikke er så klart som det var tidligere... Uansett; i forholdet x86/ppc er ikke nødvendigvis "avansert/kompleks" direkte omsettelig til "bedre". Teknisk sett er k7 nesten en rendyrket RISC-prosessor (*la det synke inn*). Det å dele "CPU-typer" inn i RISC og CISC tilhører fortiden. Hvis g4 hadde vært en rendyrket RISC-prosessor, så ville k7 og p4 mørbanket den i alle situasjoner. Hvorfor? Branch Prediction (det er liksom litt kjedelig med masse "hull" i pipelinen), SIMD, cache, Out of Order-execution.... Alt dette er typisk "CISC", men de de har blitt implementert i "RISC-designen" fordi det øker hastigheten (men strider helt mot RISC-filosofien). Typiske CISC-CPUer har fått "RISC-egenskaper" ved at man forenkler komplekse x86-intruksjonene til enkle RISC-instruksjoner under "runtime". Så, for å sette det litt på spissen", er ikke x86-instruksjonssettet annet enn et absrakt lag, synlig for programmereren, men misvisende i forhold til hvordan CPUen utfører oppgaven. Pipelining er også typisk RISC, men har blitt implementert i CISC-design fordi det øker hastigheten. For å oppsummere: g4 er ikke mer RISC enn p4 er CISC (merk dog at p4 sin komplekse pipeline ikke er typisk RISC-design), og jeg er rimelig sikker på at k7 er like rask som g4 på samme klokkefrekvens, hvis vi ikke tar hensyn til SIMD-instruksjoner (i så fall må begge "testprogrammene" kompileres i "riktige" kompilatorer for CPU(ene)). Altså: Ikke noe Photoshop for x86! Selv om kompilatoren automatisk optimaliserer koden (btw hvor mye av photshop er skrevet i assembly, om noe i det hele tatt?) så er det ikke til å stikke under en stol at minneallokering, aritmetiske operasjoner etc. opprinnelig ble skrevet ved g3/g4 i tankene, så får det være opp til andre å avgjøre hvorvidt kompilatoren klarer å optimalisere koden godt nok for x86. Lenke til kommentar
iDude Skrevet 11. august 2003 Del Skrevet 11. august 2003 Teknisk sett er k7 nesten en rendyrket RISC-prosessor (*la det synke inn*). Det å dele "CPU-typer" inn i RISC og CISC tilhører fortiden. Det er en ting av fortiden, siden ppc/x86 bruker både komplekse og enkle instruksjoner. Men man kan fortsatt spore den opprinnelige tanken bak prosessorene. x86 bruker mye mere komplekse instruksjoner enn det ppc gjør. Å kalle k7 en rendyrket RISC prosessor er feil. I prosessorkjernen stemmer det nok at man har RISC operasjoner, men x86-prosessorer må fortsatt gjøre komplekse instruksjoner om til enklere operasjoner utenfor kjernen. Komplekst... Hvis g4 hadde vært en rendyrket RISC-prosessor, så ville k7 og p4 mørbanket den i alle situasjoner. Hvorfor? Branch Prediction (det er liksom litt kjedelig med masse "hull" i pipelinen), SIMD, cache, Out of Order-execution.... Alt dette er typisk "CISC", men de de har blitt implementert i "RISC-designen" fordi det øker hastigheten (men strider helt mot RISC-filosofien). G4/G5 er mindre utsatt for pipeline-hull enn x86 er. Generelt er pipelinen kortere i ppc enn i x86. Påstanden om at den hadde blitt mørbanket er å gå litt langt da ppc ikke straffes så hardt av slike feil som x86 blir. Typiske CISC-CPUer har fått "RISC-egenskaper" ved at man forenkler komplekse x86-intruksjonene til enkle RISC-instruksjoner under "runtime". Så, for å sette det litt på spissen", er ikke x86-instruksjonssettet annet enn et absrakt lag, synlig for programmereren, men misvisende i forhold til hvordan CPUen utfører oppgaven. Å si at x86-instruksjonssettet bare er et abstrakt lag er å forenkle problemstillingen noe enormt. Det er ingen triviell operasjon å gjøre x86 instruksjoner av varierende lengde om til risc operasjoner, for så å få disse til å fylle pipelinen på en effektiv måte. For å oppsummere: g4 er ikke mer RISC enn p4 er CISC CISC må gjøres om til RISC oftere i x86 enn i ppc. Dette er en kompleks operasjon som kan være en flaskehals i datasystemer. Der er mere historiske/økonomiske grunner til at man bruker x86 i dag enn logiske grunner. x86 med sine få registre og gamle instruksjonssett er på mange måter utdatert. x86 er forbedret, men etter min mening er det som å style opp en gammel Opel Ascona. Det blir bedre, men der er grenser for hva man kan gjøre... (merk dog at p4 sin komplekse pipeline ikke er typisk RISC-design), og jeg er rimelig sikker på at k7 er like rask som g4 på samme klokkefrekvens Siden du er rimelig sikker kan du sikkert slå opp en web-adresse. Jeg tror at AMD sine prosessorer er omtrent like raske på samme frekvens, men intel sine prosessorer henger etter. Det blir hummer og kanari dog, da intel og amd sine filosofier nok er noe annerledes. Lenke til kommentar
Velmont Skrevet 11. august 2003 Del Skrevet 11. august 2003 Meget interessant folkens Men så har du da disse SGI RISC prosessorene som de kaller dem, de har støtte for mye minne og har mye bedre I/O enn x86 har jeg hørt. Du kan ta en 7år gammel SGI som banker den nyeste P4 maskina når det kommer til å håndtere spesielt mye data(en diger hau, tenk HDTV) raskest mulig. Dessuten er det fakta at Mac maskinene kjørte videoredigering som en bombe lenge før PC, på en lavere klokkefrekvens. - Neste pcen jeg kjøper blir ikke på klokkefrekvens, men på ytelse (ja - jeg ser faktisk etter en iBook med OSX (fordi det er er heeerlig, og er bygger på FreeBSD ) til videoredigeringen min.). Lenke til kommentar
Manuel Skrevet 11. august 2003 Del Skrevet 11. august 2003 Teknisk sett er k7 nesten en rendyrket RISC-prosessor (*la det synke inn*). Det å dele "CPU-typer" inn i RISC og CISC tilhører fortiden. Det er en ting av fortiden, siden ppc/x86 bruker både komplekse og enkle instruksjoner. Men man kan fortsatt spore den opprinnelige tanken bak prosessorene. x86 bruker mye mere komplekse instruksjoner enn det ppc gjør. Å kalle k7 en rendyrket RISC prosessor er feil. I prosessorkjernen stemmer det nok at man har RISC operasjoner, men x86-prosessorer må fortsatt gjøre komplekse instruksjoner om til enklere operasjoner utenfor kjernen. Komplekst... Men er her fører kompleksiteten til at hastigheten øker. AMD har brukt en dugelig mengde transistorer på "dekoderen" (som "kutter" opp CISC til RISC-instruksjoner) for at det ikke skal bli en alt for stor forsinkelse på dette punktet. Den eneste ulempen er at CPUen er nødt til å "dekode" CISC-instruksjonene hver gang de skal "knuses". Men det kan vøre en fordel med komplekse instruksjoner også. F.eks (den opprinnelige tanken bak CISC) kraftig redusert programkode (mener å ha lest 20-30% ett eller annet sted ) og enklere å skrve programmer. Ulempen er seff at man ikke kan "klemme inn" andre oppgaver, f.eks når CPuen venter på data fra RAM. Med enkle instruksjoner kan CPUen gjøre noe annet i mellomtiden, istedenfor å sitte å "vente". Jeg tror (les: jeg mener å ha lest det et sted på internett ;-) ) at både k7 og p4 har metoder for å hindre dette. Likevel så er g4 sterkt avhengig av SIMD-instruksjoner (som grovt sett ikke er annet enn en utvidelse av instruksjonssettet=mer komplekst). Det samme gjelder den über RISCy Emotion Engine i PS2 (som såvidt meg er kjent nesten er helt ubrukelig uten heavy optimalisering, pokker til mange pipelines har den òg). Og jeg glemte visst å nevne at k7 (og p4) har et eget "cache" for disse enkle RISC-instruksjonene, hvilket reduserer tiden det tar å oversette CISC-instruksjoner til RISC. Hvis g4 hadde vært en rendyrket RISC-prosessor, så ville k7 og p4 mørbanket den i alle situasjoner. Hvorfor? Branch Prediction (det er liksom litt kjedelig med masse "hull" i pipelinen), SIMD, cache, Out of Order-execution.... Alt dette er typisk "CISC", men de de har blitt implementert i "RISC-designen" fordi det øker hastigheten (men strider helt mot RISC-filosofien). G4/G5 er mindre utsatt for pipeline-hull enn x86 er. Generelt er pipelinen kortere i ppc enn i x86. Påstanden om at den hadde blitt mørbanket er å gå litt langt da ppc ikke straffes så hardt av slike feil som x86 blir. k7 har en "hovedpipeline" på 10 steg (Athlon 64 har 11), g4 har 7 mens dakkar p4 har hele 20 steg... Det er vel unødvendig å si at k7 har *litt* flere transistorer hva det angår BPUen (altså BPUen er mer avansert, sjekk noen arkitekturoversikter og du vil se...). Dessuten er det ikke en ulempe at k7 har flere "tallknusere" enn g4 (ALU, FPU, og i g4 sitt tilfelle, Altivec). Så jeg tror nok ikke at k7 er mer utsatt for pipelinehull enn g4. Hva det angår Pentium 4, er L1-cachen lokalisert "i" selve kjernen. Her lagres "branch-instruksjoner" og RISC-instruksjoner (jeg tror det het Intel kaller det Trace-cache?). Det betyr at en slipper forsinkelsen som oppstår når man må hente data fra L2-cachen eller RAM, eller enda verre, HDen (*grøss*). Dessuten slipper CPUen å vente på at BPUen skal evaluere hvilken "retning" koden vil ta. Rosinen i pølsa (det smaker vondt), er at p4 sin pipeline blir oppmot 30 steg lang hvis de etterspurte dataene ikke finnes i L1-cachen. Igjen så er det brukt flere transistorer på branch prediction og CISC til RISC oversettelse enn på g4. Typiske CISC-CPUer har fått "RISC-egenskaper" ved at man forenkler komplekse x86-intruksjonene til enkle RISC-instruksjoner under "runtime". Så, for å sette det litt på spissen", er ikke x86-instruksjonssettet annet enn et absrakt lag, synlig for programmereren, men misvisende i forhold til hvordan CPUen utfører oppgaven. Å si at x86-instruksjonssettet bare er et abstrakt lag er å forenkle problemstillingen noe enormt. Det er ingen triviell operasjon å gjøre x86 instruksjoner av varierende lengde om til risc operasjoner, for så å få disse til å fylle pipelinen på en effektiv måte. Kommentert tidligere; som sagt så er det lagt ned veldig mange transistorer på out of order-execution ("optimalisering i sanntid") på branch prediction og caching. Den største feilen jeg ser med dagens x86-CPUer er mangelen på registre. Hvorfor kan dem ikke fordoble eller tredoble mengden med registre!? Men dette er uansett ikke en begrensning ved x86-instruksjonssettet. For å oppsummere: g4 er ikke mer RISC enn p4 er CISC CISC må gjøres om til RISC oftere i x86 enn i ppc. Dette er en kompleks operasjon som kan være en flaskehals i datasystemer. Der er mere historiske/økonomiske grunner til at man bruker x86 i dag enn logiske grunner. x86 med sine få registre og gamle instruksjonssett er på mange måter utdatert. x86 er forbedret, men etter min mening er det som å style opp en gammel Opel Ascona. Det blir bedre, men der er grenser for hva man kan gjøre... Ok. La oss legge alle kortene på bordet; komplekse instruksjoner suger (sett fra dagens standpunkt)! RISC-designen baserer seg på at det er lettere å stokke om på enklere instruksjoner (og som skrevet tidligere: man får mindre forsinkelser). Her er det lagt spesielt vekt på de mest brukte instruksjonene (ADD, SUB, MOV, LOAD, STORE... Noen asm-programmerere her?). Men en ren RISC design er ikke bedre enn en ren CISC-design. Disse "design...tankene" har lånt fra hverandre, i hytt og pine slik at man designer prosessorer etter hva som øker ytelsen, ikke etter hva som passer inn i definisjonen CISC eller RISC (men fortsatt er mac-folket overbevist om at g4 er en ren RISC-prosessor fordi RISC=bra ). (merk dog at p4 sin komplekse pipeline ikke er typisk RISC-design), og jeg er rimelig sikker på at k7 er like rask som g4 på samme klokkefrekvens Siden du er rimelig sikker kan du sikkert slå opp en web-adresse. Jeg tror at AMD sine prosessorer er omtrent like raske på samme frekvens, men intel sine prosessorer henger etter. Det blir hummer og kanari dog, da intel og amd sine filosofier nok er noe annerledes. Jeg har alltid trodd (muligens uten grunnlag?) at Photoshop er ppc sitt domene, hvilket ikke akkurat er en overraskelse. Jeg har lest desverre ikke lest noen sammenlikninger av x86 og ppc, men jeg antar at k7 er like rask som g4 (relativt til klokkefrekvens) hvis forholdene er rettferdige. At k7 og p4 er to helt, arkitekturmessig, forskjellige CPUer er jeg enig med deg i.[/i] edit: Jeg mener at x86-instruksjonssettet har mange år igjen å leve, og "feilene" kan utbedres etter behov. Hjulet funker da fortsatt? Lenke til kommentar
iDude Skrevet 11. august 2003 Del Skrevet 11. august 2003 Teknisk sett er k7 nesten en rendyrket RISC-prosessor (*la det synke inn*). Det å dele "CPU-typer" inn i RISC og CISC tilhører fortiden. Det er en ting av fortiden, siden ppc/x86 bruker både komplekse og enkle instruksjoner. Men man kan fortsatt spore den opprinnelige tanken bak prosessorene. x86 bruker mye mere komplekse instruksjoner enn det ppc gjør. Å kalle k7 en rendyrket RISC prosessor er feil. I prosessorkjernen stemmer det nok at man har RISC operasjoner, men x86-prosessorer må fortsatt gjøre komplekse instruksjoner om til enklere operasjoner utenfor kjernen. Komplekst... Men er her fører kompleksiteten til at hastigheten øker. AMD har brukt en dugelig mengde transistorer på "dekoderen" (som "kutter" opp CISC til RISC-instruksjoner) for at det ikke skal bli en alt for stor forsinkelse på dette punktet. Den eneste ulempen er at CPUen er nødt til å "dekode" CISC-instruksjonene hver gang de skal "knuses". Men det kan vøre en fordel med komplekse instruksjoner også. F.eks (den opprinnelige tanken bak CISC) kraftig redusert programkode (mener å ha lest 20-30% ett eller annet sted ) og enklere å skrve programmer. Jojo, der er fordeler og ulemper med CISC, og amd og intel sine prosessorer har utvilsomt gode måter for å løse CISC->RISC problemet. Men fordelene med CISC var større før når minnet var mer sparsomt. CISC->RISC er en potensiell flaskehals, men hvorvidt dette slår ut på koden i praksis er en annen sak. Likevel så er g4 sterkt avhengig av SIMD-instruksjoner (som grovt sett ikke er annet enn en utvidelse av instruksjonssettet=mer komplekst). Mulig jeg tar feil her, men er ikke SSE og MMX instruksjonene noe tilsvarende Altivec i ppc? Uansett, SIMD-instruksjoner er litt oppskrytt etter min mening. Det er ikke så veldig mange program som kan bruke de effektivt, men når de gjør det så går det unna. Hvis g4 hadde vært en rendyrket RISC-prosessor, så ville k7 og p4 mørbanket den i alle situasjoner. Hvorfor? Branch Prediction (det er liksom litt kjedelig med masse "hull" i pipelinen), SIMD, cache, Out of Order-execution.... Alt dette er typisk "CISC", men de de har blitt implementert i "RISC-designen" fordi det øker hastigheten (men strider helt mot RISC-filosofien). G4/G5 er mindre utsatt for pipeline-hull enn x86 er. Generelt er pipelinen kortere i ppc enn i x86. Påstanden om at den hadde blitt mørbanket er å gå litt langt da ppc ikke straffes så hardt av slike feil som x86 blir. k7 har en "hovedpipeline" på 10 steg (Athlon 64 har 11), g4 har 7 mens dakkar p4 har hele 20 steg... Det er vel unødvendig å si at k7 har *litt* flere transistorer hva det angår BPUen (altså BPUen er mer avansert, sjekk noen arkitekturoversikter og du vil se...). Dessuten er det ikke en ulempe at k7 har flere "tallknusere" enn g4 (ALU, FPU, og i g4 sitt tilfelle, Altivec). Så jeg tror nok ikke at k7 er mer utsatt for pipelinehull enn g4. G4 har en marginal (7 vs10 pipeline steg) fordel når det oppstår "branch misses" (beklager språket). Da må hele pipelinen tømmes. Det er totalt sett mer kostbart i et system med lange pipelines i forhold til en kort pipeline. Når det er sagt tror jeg G5 har 16 pipeline steg... Den største feilen jeg ser med dagens x86-CPUer er mangelen på registre. Hvorfor kan dem ikke fordoble eller tredoble mengden med registre!? Men dette er uansett ikke en begrensning ved x86-instruksjonssettet. Vet ikke hvorfor det er slik, en eller annen finurlig grunn er det vel... Men jeg tror 64 bits teknologier fra AMD og Intel vil ordne dette. For å oppsummere: g4 er ikke mer RISC enn p4 er CISC CISC må gjøres om til RISC oftere i x86 enn i ppc. Dette er en kompleks operasjon som kan være en flaskehals i datasystemer. Der er mere historiske/økonomiske grunner til at man bruker x86 i dag enn logiske grunner. x86 med sine få registre og gamle instruksjonssett er på mange måter utdatert. x86 er forbedret, men etter min mening er det som å style opp en gammel Opel Ascona. Det blir bedre, men der er grenser for hva man kan gjøre... Ok. La oss legge alle kortene på bordet; komplekse instruksjoner suger (sett fra dagens standpunkt)! RISC-designen baserer seg på at det er lettere å stokke om på enklere instruksjoner (og som skrevet tidligere: man får mindre forsinkelser). Her er det lagt spesielt vekt på de mest brukte instruksjonene (ADD, SUB, MOV, LOAD, STORE... Noen asm-programmerere her?). Men en ren RISC design er ikke bedre enn en ren CISC-design. Disse "design...tankene" har lånt fra hverandre, i hytt og pine slik at man designer prosessorer etter hva som øker ytelsen, ikke etter hva som passer inn i definisjonen CISC eller RISC (men fortsatt er mac-folket overbevist om at g4 er en ren RISC-prosessor fordi RISC=bra ). Der er ikke noe svart og hvitt lenger(g4 og g5 bruker komplekse instruksjoner også), men man kan fortsatt argumentere for at ppc er "mer" RISC enn x86. (merk dog at p4 sin komplekse pipeline ikke er typisk RISC-design), og jeg er rimelig sikker på at k7 er like rask som g4 på samme klokkefrekvens Siden du er rimelig sikker kan du sikkert slå opp en web-adresse. Jeg tror at AMD sine prosessorer er omtrent like raske på samme frekvens, men intel sine prosessorer henger etter. Det blir hummer og kanari dog, da intel og amd sine filosofier nok er noe annerledes. Jeg har alltid trodd (muligens uten grunnlag?) at Photoshop er ppc sitt domene, hvilket ikke akkurat er en overraskelse. Jeg har lest desverre ikke lest noen sammenlikninger av x86 og ppc, men jeg antar at k7 er like rask som g4 (relativt til klokkefrekvens) hvis forholdene er rettferdige. At k7 og p4 er to helt, arkitekturmessig, forskjellige CPUer er jeg enig med deg i.[/i] Jeg trodde (har hørt) at photoshop er x86 sitt domene, men det er mulig at både PCog mac gærninger har forskjellige (begrunnede/ubegrunnede) meninger om dette. Man må uansett gå gjennom en tåkeheim på internett, om man skal prøve å få noe reell informasjon om dette... edit: Jeg mener at x86-instruksjonssettet har mange år igjen å leve, og "feilene" kan utbedres etter behov. Hjulet funker da fortsatt? Når 64 bits prosessorene fra AMD og Intel kommer vil gode gamle x86 dø. DØ sier jeg... Lenke til kommentar
MailMan13 Skrevet 11. august 2003 Del Skrevet 11. august 2003 Når 64 bits prosessorene fra AMD og Intel kommer vil gode gamle x86 dø. DØ sier jeg... Det er nå mer eller mindre en definisjonsak, x86-64 er ikke mer enn en utvidelse x86, alle registrene er utvidet til 64bits og instruksjonene opererer deretter. Nå har den riktignok fått 8 nye generelle og 8 nye SIMD registre, men det er fortsatt en x86. Athlon 64 i legal-mode er ikke annet enn en enda en ny 686-variant. Med mindre AMD regner Operton/Athlon64 som en døgnflue kan vi nok stole på at x86 er kommet for å bli lenge enda. Lenke til kommentar
iDude Skrevet 11. august 2003 Del Skrevet 11. august 2003 Når 64 bits prosessorene fra AMD og Intel kommer vil gode gamle x86 dø. DØ sier jeg... Det er nå mer eller mindre en definisjonsak, x86-64 er ikke mer enn en utvidelse x86, alle registrene er utvidet til 64bits og instruksjonene opererer deretter. Nå har den riktignok fått 8 nye generelle og 8 nye SIMD registre, men det er fortsatt en x86. Athlon 64 i legal-mode er ikke annet enn en enda en ny 686-variant. Med mindre AMD regner Operton/Athlon64 som en døgnflue kan vi nok stole på at x86 er kommet for å bli lenge enda. Det var skrevet med en viss humoristisk undertone.. Men det blir spennende å se hva som vinner, IA64 eller AMD sin løsning. Eller for den sak, om der blir en vinner... Lenke til kommentar
Velmont Skrevet 11. august 2003 Del Skrevet 11. august 2003 Wow, mye av dette er seriøst over meg. Men interessant til en viss rad. (men er grenser på hvor mye en kan forstå når en aldri har lest noe særlig om arkitekturer). Noe jeg tror alle har fått ut av dette imidlertid er at dette med aritekturer er ikke svart-hvitt.. Men hva med å lage en ny prosessor-arkitektur(med tanke på ny teknologi vi har nå o.l.)? Helt fra bunnen av, eller er det bare teit? Lenke til kommentar
Manuel Skrevet 11. august 2003 Del Skrevet 11. august 2003 Likevel så er g4 sterkt avhengig av SIMD-instruksjoner (som grovt sett ikke er annet enn en utvidelse av instruksjonssettet=mer komplekst). Mulig jeg tar feil her, men er ikke SSE og MMX instruksjonene noe tilsvarende Altivec i ppc? Uansett, SIMD-instruksjoner er litt oppskrytt etter min mening. Det er ikke så veldig mange program som kan bruke de effektivt, men når de gjør det så går det unna. AMD har et forsprang i forhold til p4 hvis vi kjører "rå" kode. Som kjent er FPUen til p4 underlegen k7 sin. For å "løse" dette problemet forutsetter p4 sin suksess at programmene støtter SSE2 (evt. SSE, mens MMX er "udugelig". Støtter vel bare integere?). Nå beveger jeg meg på tynn is, men k7 har flere FPUer (enheter ala. FMUL, FDIV, FSTORE osv.) enn Pentium 4. Hvis g4 hadde vært en rendyrket RISC-prosessor, så ville k7 og p4 mørbanket den i alle situasjoner. Hvorfor? Branch Prediction (det er liksom litt kjedelig med masse "hull" i pipelinen), SIMD, cache, Out of Order-execution.... Alt dette er typisk "CISC", men de de har blitt implementert i "RISC-designen" fordi det øker hastigheten (men strider helt mot RISC-filosofien). G4/G5 er mindre utsatt for pipeline-hull enn x86 er. Generelt er pipelinen kortere i ppc enn i x86. Påstanden om at den hadde blitt mørbanket er å gå litt langt da ppc ikke straffes så hardt av slike feil som x86 blir. k7 har en "hovedpipeline" på 10 steg (Athlon 64 har 11), g4 har 7 mens dakkar p4 har hele 20 steg... Det er vel unødvendig å si at k7 har *litt* flere transistorer hva det angår BPUen (altså BPUen er mer avansert, sjekk noen arkitekturoversikter og du vil se...). Dessuten er det ikke en ulempe at k7 har flere "tallknusere" enn g4 (ALU, FPU, og i g4 sitt tilfelle, Altivec). Så jeg tror nok ikke at k7 er mer utsatt for pipelinehull enn g4. G4 har en marginal (7 vs10 pipeline steg) fordel når det oppstår "branch misses" (beklager språket). Da må hele pipelinen tømmes. Det er totalt sett mer kostbart i et system med lange pipelines i forhold til en kort pipeline. Når det er sagt tror jeg G5 har 16 pipeline steg... Det jeg ville frem til var at k7, til tross for en noe lengre pipeline får færre "branch miss", og totalt sett vinner i forhold til pipeline-bober, grunnet dens mer kompliserte "grenforutsigelsesenhet" (høres bare dumt ut når man oversetter slike uttrykk, hva?). Den største feilen jeg ser med dagens x86-CPUer er mangelen på registre. Hvorfor kan dem ikke fordoble eller tredoble mengden med registre!? Men dette er uansett ikke en begrensning ved x86-instruksjonssettet. Vet ikke hvorfor det er slik, en eller annen finurlig grunn er det vel... Men jeg tror 64 bits teknologier fra AMD og Intel vil ordne dette. Men det er fortsatt altfor få registre.... Her burde en følge RISC-filosofien, ved å slenge på enda flere registre enn de som finnes på Opteron/Athlon-64 :-( Det var skrevet med en viss humoristisk undertone.. Men det blir spennende å se hva som vinner, IA64 eller AMD sin løsning. Eller for den sak, om der blir en vinner... IA-64 vil aldri bli et mainstreamprodukt. Den har en revolusjonerende design i forhold til Athlon-64, på både godt og vondt. Men det som er et kraftig hinder for IA-64 sin utbredelse er: a. Den har et annet instruksjonssett, hvilket innebærer at den må oversette x86-assembly til IA-64-assembly. Selv om dette gjøres i maskinvare, vil selv en pentium 120 være raskere... (jeg vet ikke helt om dette gjelder Itanium 2). b. IA-64 flytter mye av kompleksiteten fra maskinvaren over til kompilatoren (eller programmereren). Intel kaller det EPIC, Explicitly Parallell Instruction Computing. Hva dette innbærere i forhold til x86, er at det nå er kompilatorens jobb å stokke om på koden slik at den kjøres mer effektivt, mens x86 gjør det på brikken (kalles vel "Scheduling", noe ala Out-of-Order-Execution?). Fordelen til Itanium er at kompilatoren kan se hele koden, mens i x86 sitt tilfelle har man bare et lite utsnitt (det tar lang tid å fixe til messy kode, dessuten så må man spare på transistorene ;-) ). Menmen jeg tror at man trenger noe litt dyrere enn GCC for å kompilere brukbar kode til Itanium, og slike kompilatorer koster nok flesk! Btw så har jeg lest at EPIC gjerne blir kalt Expect Explicitly Intuitive Compilers IA-64 har mer til felles med Sun sin MAJC, og ps2 sin Emotion Engine (hvorav begge, eller iallfall den siste er vanskelig å skrive programmer til, hvis en skal tro på ryktene), som benytter seg av VLIW (Very Long Instruction Word), men tydeligvis bestemte Intel seg for at EPIC var bedre ;-) Angående Velmont sitt spørsmål om å lage en helt ny arkitektur: Som nevnt vil ikke denne hypermoderne CPUen være bakoverkompatibel med x86-instruksjoner, og man sitter igjen med samme problem som Itanium... (som forsåvidt er en ny arkitektur). Man kan selvfølgelig slenge inn støtte for x86-instruksjoner, men dette vil ta opp enormt med transistorplass (og senke ytelsen) hvis en i tillegg skal ha et nytt semi-CISC/semi-RISC-instruksjonssett (som vel var hele vitsen?). Det er ikke uten grunn at x86-ISAen har blitt så populær, og jeg tror at man vil kunne fixe på feilene etter hvert som behove(t(ene)) gjør seg gjeldende. For eks: Hvor mye har dagens x86-CPU-design til felles med den opprinnelige 8086? Litt, men prosentvis er det minimalt (man har selvfølgelig de samme gamle instruksjonene for bakoverkompatibalitet (<- noen som vet hvordan det skrives?)). Lenke til kommentar
Velmont Skrevet 12. august 2003 Del Skrevet 12. august 2003 Sååå. Det er bakoverkompatibilliteten det står på ja. Selvfølgelig, er jo rett dét. Er vanskelig å få noe til å bli en suksess på forbrukermarkedet uten bakoverkompatibillitet! Meeeen, hadde vært kjempekult å fått en billig hyper-prosessor som bare var laget med tanke på fart, I/O og alt det der. Ingen flaskehalser og høy skalerings-potensiale. Kunne vel kanskje iallefall laget en Linux/*BSD versjon som kunne kjørt på noe slikt? - Vel, tingen er at ingen vil bruke pengene du må ha for å starte på et slikt "ny-arkitektur"-prosjekt :-? Plassen vi ser mest nye prosessor-arkitekturer er vel på Embedded markedet (PDA'er, Mobil-telefoner, Satelitt-mottakere )? Lenke til kommentar
iDude Skrevet 12. august 2003 Del Skrevet 12. august 2003 ... Som nevnt vil ikke denne hypermoderne CPUen være bakoverkompatibel med x86-instruksjoner, og man sitter igjen med samme problem som Itanium... (som forsåvidt er en ny arkitektur). Man kan selvfølgelig slenge inn støtte for x86-instruksjoner, men dette vil ta opp enormt med transistorplass (og senke ytelsen) hvis en i tillegg skal ha et nytt semi-CISC/semi-RISC-instruksjonssett (som vel var hele vitsen?). ... Jeg tror Intel sine IA-64 vil ha en x86-tolker "ved siden av" prosessoren, som du indikerer over. Dessuten er der rykter om at Intel jobber med en x86-64 variant a la AMD (Yamhill). Litt artig at Intel i så fall må lisensiere denne teknologien fra AMD. Tidene forandrer seg... Det er ikke uten grunn at x86-ISAen har blitt så populær, og jeg tror at man vil kunne fixe på feilene etter hvert som behove(t(ene)) gjør seg gjeldende. For eks: Hvor mye har dagens x86-CPU-design til felles med den opprinnelige 8086? Litt, men prosentvis er det minimalt (man har selvfølgelig de samme gamle instruksjonene for bakoverkompatibalitet (<- noen som vet hvordan det skrives?)). Jo, men den er etter min mening populær fordi den er bakoverkompatibel, ikke fordi det finnes bedre måter å løse problemet på. Men selvsagt, det er viktig for brukere/utviklere at denne bakoverkompatibiliteten finnes.. At x86 vil dø har vært sagt siden 80-tallet men vi sitter med den fortsatt. Instruksjonssettet til x86 har nok fått mange nye tillegg, men samtidig er der er mange ting som ikke blir brukt lenger også da.. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå