Šta je novo?

Intel versus ARM for the mobile computer

  • Začetnik teme Začetnik teme kovacm
  • Datum pokretanja Datum pokretanja

kovacm

Čuven
Učlanjen(a)
28.01.2005
Poruke
8,608
Poena
870
http://www.news.com/8301-13579_3-9781663-37.html

"A major topic I want to cover over the next several months is the looming showdown as the smart phone industry tries to develop more powerful computers, and the PC industry tries to build smaller and smaller computers."

"We're looking at a major architectural battle over the next three years or so: the ARM instruction set, which dominates mobile phones, versus the x86 instruction set (Intel, please stop calling it Our Architecture). "

...
 
ARM je zakon za bilo sta prenosivo. Radio sam sa ARM7 serijom procesora i ima mozda 30-tak insturkcija ali su odradjene extra. Cist RISC. Ja glasam za ARM 🙂
 
"We're looking at a major architectural battle over the next three years or so: the ARM instruction set, which dominates mobile phones, versus the x86 instruction set (Intel, please stop calling it Our Architecture)."

"Both companies and their partners will be aggressively courting computer users and software developers over the next several years."

ma ovo ***** od x86 treba sto pre da ide u penziju a ne da ga intel sad josh gura i na handle trziste! eno pitam koliko se trosi tranzistora na rasturanje x86 instrukcija u microintruskcije u (druguom thredu) - sto vise citam sve vise vidim kolika je katastrofa x86! zato x86 ne moze: http://www.gametomorrow.com/minor/barry/iRT_shaders_560p.mov 😉 (dok intel ne iskopira koncept Cell-a 😀)
 
Za dekodiranje x86 u mikrooperacije se koristi relativno malo tranzistora za danasnje vreme, mnogo vise uzima kesh memorija. Pitanje je koliko struje trosi vise x86 procesor koji mora da dodatno dekodira instrukcije u mikrooperacije. To svakako ne pogoduje handheld uredjajima. Povrh toga, RISC masine imaju obicno kraci pipeline, sto naravno uzima manje tranzistora.
Za mobilne uredjaje bi bio pogodan neki in-order RISC CPU, poput Power6. Mislim da ARM mnogo vise lici na to. S' te strane guranje x86 procesora u prenosne uredjaje nema mnogo smisla.
 
Za dekodiranje x86 u mikrooperacije se koristi relativno malo tranzistora za danasnje vreme, mnogo vise uzima kesh memorija. Pitanje je koliko struje trosi vise x86 procesor koji mora da dodatno dekodira instrukcije u mikrooperacije. To svakako ne pogoduje handheld uredjajima. Povrh toga, RISC masine imaju obicno kraci pipeline, sto naravno uzima manje tranzistora.
Za mobilne uredjaje bi bio pogodan neki in-order RISC CPU, poput Power6. Mislim da ARM mnogo vise lici na to. S' te strane guranje x86 procesora u prenosne uredjaje nema mnogo smisla.

ARM i jeste in-order RISC 😀

mada su za buduce verzije ARM-a najavili da ce biti OutOfOrder...
dok intel najavljuje da ce njegov Silverthorne biti CISC 🙂 like "pre PentiumPro" CPU ... (nazalost ne mogu da pronadjem linkove sad ... 🙁 )

btw jel imas neki link na temu "dekodiranje x86 u mikrooperacije se koristi relativno malo tranzistora" ??

pored toga citao sam (ne mogu da nadjem link) da tranzistori za logiku trose 30 puta vise struje od tranzistora cache-a ?!?
 
Da bi napravio 1 MB L2 SRAM kesha treba ti 6 tranzistora po bit-u za flip-flop kola. Ako 1MB L2 ima 8mbit-a onda ti treba 48 miliona tranzistora. Da ne pricamo jos o kesh tagovima koji dodatno zauzimaju prostora na floorplanu. Poredjenja radi, celokupan CPU core uzima recimo 40-tak miliona tranzistora u slucaju AMD K8 procesora. Dakle, L2 kesh uzima vise nego celo jezgro. Deo procesora koji dekodira instrukcije uzima mozda 1/6 jezgra bez L2 kesha. Medjutim, sto se potrosnje tice apsolutno je tacno da mnogo vise trose od kesha, narocito ako gledas po tranzistoru. Procesor dok radi, non-stop dekodira instrukcije. To je jedan od najaktivnijih delova procesora. Koriscenje L2 SRAM-a je relativno retko u odnosu na L1, kao sto je i koriscenje L1 manje u odnosu na koriscenje registara. FPU je pored ovoga mozda najvreliji deo procesora, a uzima i vecu povrsinu od dekoderskog dela.
 
Poslednja izmena:
izvini ali nisam te ispratio o cemu pises??

jel to bio odgovor na ovo? :

"citao sam (ne mogu da nadjem link) da tranzistori za logiku trose 30 puta vise struje od tranzistora cache-a ?!?"

ako je bio - onda si me pogresno razumeo 🙂 kaze da procesori koji se ne koriste za cache trose 30 puta vise struje nego tranzistori koji se koriste za kesh.
 
Poslednja izmena:
pa logicno je da tranzistori kesa trose manje struje 🙂
 
jel moze neko objasnjenje ili link? 🙂 (ili je taj odnos potrosnje struje samo zbog toga sto je cache manje aktivan od logickog dela instrukcija...?)

@drfedja: nisam video da si izmenio svoju poruku... mogao si makar da napises EDIT ... 😉
 
Pa kes je mnogo manje aktivan od logickog dela to je sigurno.. A drugo je da sam upis u staticke celije kesa ne zahteva toliku "brzinu" kao aritmeticka i ostala kola koja su sa niskom latencijom. A drugo upis je jedina promena stanja staticke celije koja su nista nego dva ukrstena invertora. Jedino njihovo trosenje je promena stanja sto se dinamicke potrosnje tice. Staticka potrosnja je ista kao i za ostale stim sto napon pri neaktivnosti celija moze da se redukuje pa tim i staticka potrosnja. Aritmeticka kola su vrlo nestabilna sto se tice dovodjenja novog vektora na ulaz i rezultata na izlazu. Prvo zahteva se mala latencija pa su karakteristike tranzistora da vuku jacu struju a drugo sama promena izlaza dok se kolo stabiliziju recimo prilikom stabiranja ili mnozenja tj. izlazni vektor moze da izmeni vrednost mnogo puta pre nego sto prikaze normalan rezultat operacije pa je dinamicka potrosnja veca

Sto znaci da kes moze da radi na nizem naponu i razlicitom cak i taktu... Jedan genijalan rad je pokazao efikasnost racunara sa 2 cpu -a i zajednickim kesom koji radi na duplo vecoj frekvenciji i dinamickim naponom koji se razlikuje od procesora na oko 400MHz je i do 70% efikasini. Rad je Roland Dreslinskog.
 
Poslednja izmena:
da, sasvim logicno... 🙂 lepo si napisao! samo bih vas molio da ostavljate linkove na datu temu ako ih imate pri ruci 😉
 
Sta ce ti full scale x86 CPU na mobilnom?

Single core je vec cut sa 107mm2 na 53.5mm2 ako racunas 45nm proces i Penryn jezgro.

EDIT: nisam bas proverio brojeve pa ispravljam racunicu

Prema slici 6MB L2 zauzima otprilike pola die-a od 107mm2. Odbiti jedno jezgro, izbaciti VT, TXT, EM64T i ostaviti 512KB L2 bi napravilo u svakom pogledu superioran CPU u odnosu na ARM, pogotovo imajuci u vidu Intelov development kit (kompajler, biblioteke).

Sto se buducnosti tice, onog momenta kada se pojavi Nehalem koji je skalabilan po defaultu i moze da sadrzi i grafiku, Intel ce moci da ponudi kompletnu platformu u nekoj ULV varijanti i ARM ce moci samo da se cese po glavi.
 
Poslednja izmena:
koliko sam ja citao ove x86 varijante koje treba da pariraju ARMu nemaju nikakve veze sa dekstop varijatom procesora - tj. imaju jer kazu da silverthorn po arhitekturi izgleda ko Pentium I (nema prevodjenja x86 u mikroinstrukcije)...
 
izvini ali nisam te ispratio o cemu pises??

jel to bio odgovor na ovo? :

"citao sam (ne mogu da nadjem link) da tranzistori za logiku trose 30 puta vise struje od tranzistora cache-a ?!?"

ako je bio - onda si me pogresno razumeo 🙂 kaze da procesori koji se ne koriste za cache trose 30 puta vise struje nego tranzistori koji se koriste za kesh.
Mislis, TRANZISTORI koji se koriste za kesh trose manje nego za logiku.
Tranzistori trose koliko trose, ne koristi se drugacija tehnologija za tranzistor u flip-flop kolima od onog u dekoderu. Moze samo dekoder logika da trosi vise od kesa, zbog specificne namene za koju se koristi. Kao sto rece Genuine, unutar samog jezgra latencije moraju biti svedene na najnizu mogucu granicu, samim tim brzina promena stanja takvih elektronskih kola je mnogo veca, pa je i potrosnja veca. Uzrok svega toga je drugacija primena u odnosu na onu u keshu.
koliko sam ja citao ove x86 varijante koje treba da pariraju ARMu nemaju nikakve veze sa dekstop varijatom procesora - tj. imaju jer kazu da silverthorn po arhitekturi izgleda ko Pentium I (nema prevodjenja x86 u mikroinstrukcije)...

Koliko znam Pentium I prevodi X86 u mikroinstrukcije, samo je razlika sto je in-order za razliku od Pentiuma Pro. Zapravo, zadnji full-CISC procesor iz Intela je 486.
 
Poslednja izmena:
prilicno sam siguran da Pwntium nema mikroinstrukcije... koliko se secam rasprava MC68060 vs Pentium.

inace tvoj prvi post je bio nejasan - pomislio sam da za cache i logicki deo CPU nisu isti tranzisotri 😀

EDIT:
na arstehnici se kaze "Decode1: Instructions are decoded into the Pentium's internal instruction format. Branch prediction also takes place at this stage."
link

a na wikipediji za PentiumPro kaze: "The Pentium Pro (P6) core featured an array of advanced RISC technologies, although it wasn't the first x86 CPU with such approach -- before it, the NexGen Nx586 processor already utilized internal x86 translation to its own proprietary RISC86TM instruction set. Perhaps the most obvious sign that things had changed was that the CPU's "front end" decoded the old IA32 instructions into micro-instructions which the Pro's RISC core then processed."
link

da li to onda znaci da se i jedan i drugi imaju svoje mikroinstrukcije? da li su te mikroinstrukcije uopste dokumentovane u intelovoj dokumentaciji? da li se iste instrukcije koriste u svim intelovim procesorima od PentiumPro do danas? ili ih intel menja (PentiumPro>PentiumII>PentiumM>Pentium4??>Core...)?
 
Poslednja izmena:
Pa tranzistori koji se koriste u logickim kolima imaju svoje karakteristike uglavnom odnos sirine i visine kanala.. berem je tako bilo nekad. njima diktiras struju kroz tranzistor pa izborom tih odnosa W/L mozes da biras i koliko ti je brz taj tranzistor ali opet ne u beskonacnost. Gde ti treba brzi ubacis brzi , gde ti ne treba ubacis drugi.. Primer ti je tranzistor koji je bus driver.. On mora da ima veliki izlazni strujni kapacitet da bi ubio parazite na magistrali i on se razlikuje od memorijske celije za sram ili cega vec...

Audiofreak mnogo voli Intel ko sto ja mnogo volim NVIDIJU.. tako da ga razumem kad hvali intelov procesor u odnosu na ARM , kao sto bi ja hvalio nvidijin kad bi ga imala za prenosive uredjaje 🙂
Ali ipak ARM rules. ARM je u stvari VHDL dizajn koji se prodaje proizvodjacima. ARM-a ima u milion verzija i ARM je globalno malecki potrosac struje. Nije komplikovan ic a nudi fine performanse.. Barem govorim o ARM7TDMI-S jezgru koje je Philips ubacio u LPC2148 mikrokontroler, koji radi na 60 MHz i sa kojim mozes da radis sta hoces pa i mp3 dekodiranje .. Ja ga koristim za holter monitor.... to sam vam vec pokazao

galeb.etf.bg.ac.yu/~gileee/armecg.htm

Glasam za arm jos jedanput...🙂
 
Uuuuuuuuuuuuu, ala cu ovo da hvalim kad izadje 🙂 To je ono sto sam pricao.. ARM je VHDL kod koji bilo ko moze da plati i da ubaci u svoj chip
 
Poslednja izmena:
Pa to je rabota.. Uzmes ARM i ubacis mu perfierije kakve oces.. Sav software se izvrsava bez problema jedino sto treba da pises su drajveri za te periferije...
 
ARM je koliko sam ja cuo od neki stranih profesionalaca po Internetu dobar ako imas dobar kompajler/asembler za njega, a to kosta. Ako nemas, onda je prosecan. U svakom slucaju nema SIMD, a meni je tesko da poverujem da ce Intel napraviti procesor za tu namenu bez SIMD-a kad je vec imao SIMD u XScale.

Ja mislim da se polako dolazi do tacke gde tehnoloski proces proizvodnje general purpose CPU-ova i njihovo programiranje / odrzavanje / upgrade, postaje jeftiniji od VHDL custom resenja.

Ne kazem ja da ARM ne moze da dekodira mp3 ali kod njega koliko znam vazi koliko MHz toliko MIPS-a. Svi ovi jeftinoza ruteri sa BusyBox i ARM procesorima na 200MHz jedva izvlace 200 konekcija (najcesce ni toliko) istovremeno.

Druga stvar, mobilni telefoni i fotoaparati -- sto vise MPix to veca snaga za obradu treba. ARM tu nema sta da trazi. Sa 4MPix+ slikom bi se verovatno zadavio samo da treba da uradi gamma korekciju, a kamoli da recimo primeni ICC profil na sliku ili uradi neku konvoluciju. Tu se lag ne oprasta.

Zaista me cudi sto smatrate da konkurencija tu gde je ARM dosad suvereno vladao nije dobrodosla.
 
Dobra je konkurencija ali Intel je koliko mi se cini zatvoren sto se dizajna tice.. ARM nije.. svako moze da kupi ARM i da ga embeduje u svoj procesor sa periferijama ko nvidija... tako da taj nvidijin procesor kida bilo koji intelov jer je namenski+gp a intelov je gp..

p.s.
arm 11 bi trebalo da ima nesto od simd-a ako se ne varam
 
Poslednja izmena:
Ja samo kazem da razvoj softverske podrske za takav custom chip nije jeftin dok s druge strane razvoj x86 softvera jeste.

Takodje za taj custom chip mogucnosti ponovne upotrebe istog softvera (ne samo sistemskog koji chip izvrsava, vec i kompajlera kojim se generise) na nekom buducem custom chipu su minimalne.
 
Poslednja izmena:
Mene samo interesuje kako intel misli da bude konkurentan po pitanju potrosnje: ako pravi x86 cpu uvek ce morati da trosi extra trnazistore ne prevodjenje ILI da to prepusti kompajleru ILI da napravi CISC x86 bez mikroinstrukcija (sto su i najavili) ILI da ima toliko bolji proizvodni proces da anulira ovu prednost ARMa.
 
koliko je taj intelov x86 u odnosu na nase desktop procesore? sta koje setove instrukcija ima?
 
3d Labs odavno ima veoma zgodno resenje:
http://www.3dlabs.com/content/productOverview.asp

Dual ARM9 + 3d gpu + razvojno okruzenje (Linux) + SDK (sa svim i svacim).
Mislim da devkit kosta oko $25.000 i u njega je ukljucen (nisam 100% siguran u ovo) 2 primerka hardwarea u "debug" izdanju i SDK sa dokumentacijom. Nije preterano skupo za firmu koja bi razvijala uredjaje bazirane na ovoj tehnologiji.

Verujem da je NVidijino resenje dosta brze i mocnije.. Neznam cenu ali se nadam da nije skuplje od 3d Labs-a.
 
Pa to je samo jos jedan + za ARM 🙂
 
al to nije jedan mali chip nego brdo cipova i ko zna kakve jos elektronike plus cena za pcb
 
prilicno sam siguran da Pwntium nema mikroinstrukcije... koliko se secam rasprava MC68060 vs Pentium.
Svaki CPU ima mikroinstrukcije, samo sto neki mogu da ih pre-dekodiraju u interni ortogonalni RISC mikrokod, gde su svi MOP-ovi iste duzine.
Npr, kod AMD-a se to zovu makrooperacije, kod intela mikrooperacije. Nakon dekodiranja fuzionisu se aritmeticke i memorijske operacije u jedan MOP, takozvana PACK faza, pa se nakon toga salju u scheduler (dispatch faza), da bi se iz scheduler-a (schedule faza), slale u AGU/ALU. Ako je aritmeticka, ide u ALU, ako je adresna ide u AGU itd... Npr, aritmeticka x86 instrukcija koja koristi reg, [mem] operande, moze da se rasturi na jednu aritmeticku i jednu adresnu operaciju, ili operacije uslovnog skoka mogu se pakovati u adresne, a zatim se adresa prosledjuje load-store jedinici.
Cilj ovoga je bolje iskoriscenje i postizanje internog paralelizma na nivou instrukcija.
Kod pentiuma postoje tzv U i V pipe. S' obzirom da x86 instrukcije nisu jednake, dekodiranje u mikrooperacije se koristilo radi postizanja boljeg IPC-a. Npr, jednu duzu x86 operaciju od na primer 8-bajtova moguce je rasturiti u dve 4-bajtne mikrooperacije.
EDIT:
na arstehnici se kaze "Decode1: Instructions are decoded into the Pentium's internal instruction format. Branch prediction also takes place at this stage."
link
Da, to znaci da Pentium dekodira svoj legacy x86 format u neki drugi povoljniji za brze izvrsavanje.

a na wikipediji za PentiumPro kaze: "The Pentium Pro (P6) core featured an array of advanced RISC technologies, although it wasn't the first x86 CPU with such approach -- before it, the NexGen Nx586 processor already utilized internal x86 translation to its own proprietary RISC86TM instruction set. Perhaps the most obvious sign that things had changed was that the CPU's "front end" decoded the old IA32 instructions into micro-instructions which the Pro's RISC core then processed."
link

da li to onda znaci da se i jedan i drugi imaju svoje mikroinstrukcije? da li su te mikroinstrukcije uopste dokumentovane u intelovoj dokumentaciji? da li se iste instrukcije koriste u svim intelovim procesorima od PentiumPro do danas? ili ih intel menja (PentiumPro>PentiumII>PentiumM>Pentium4??>Core...)?
Mikrooperacije nisu ni dokumentovane, niti su dostupne programeru. Sto se tice toga da li se iste mikroinstrukcije koriste od PPro do danas, pa prilicno sam siguran da je to tacno. Ne verujem da su tu nesto bitno menjali. Sa danasnje tacke gledista, moderni procesori su procesor u procesoru. Cinjenica je da je na taj nacin pocetkom 90-tih produzen zivot x86 CISC arhitekturi. Motorola je moglo bi se reci odustala od CISC-a, nakon 68060.

Inace, svaki procesor poseduje mikroprogram za svaku instrukciju, s' tom razlikom sto moderni procesori predekodiraju x86 u nesto drugo, a to "nesto drugo" se opet izvrsava po nekom mikroprogramu koji je odredjen od strane proizvodjaca.
Sto se tice tog preslikavanja x86 koda u RISC, AMD je bio medju prvima, sa svojim K5 procesorom. K5 je interno gledano AMD29000 RISC CPU, na ciji front-end su dodati x86->RISC dekoderi. To je radilo kako je radilo. U nekim situacijama brze, a u nekima manje efikasno.
 
Nazad
Vrh Dno