Sab, 19 Febbraio 2005 - 02:43
Inviato da: Matteo Graci
... O meglio, i PC sono uguali ai mac?
Ovviamente no, ma volevo spiegare un poco più tecnicamente quali sono le differenze tecniche di fondo che ci sono tra le due famiglie. Ormai da molte parti si continua a dire che sono sostanzialmente indentici, cambia solo il software, ma non è affatto così.
Premetto che l'articolo è tecnico, ma cercherò di stare nei canoni della comprensibilità anche per i meno addetti ai lavori...
Cominciamo!
Iniziamo col dire che i processori G3, G4 e G5 sono processori RISC, e che i processori Pentium e AMD sono processori CISC. queste due belle sigle sono acronimi che indicano rispettivamente:
RISC = Restricted Instruction Set Computer
CISC = Complex Instruction Set Computer
e indicano, a grandi linee, due diversi modi di intendere le CPU.
Aggiungo che le Silicon Graphics, le Alpha, le SparcStation di SUN e gli IBM Power4 e Power5 (quindi la linea RS6000 e simili) sono tutte macchine RISC. Che mi riesce difficile vedere come "Personal Computer"... :-)
Cosa rende diverse le due famiglie? Il modo di eseguire i calcoli e di usare i dati.
Le macchine CISC (P4 e AMD) sono decisamente facili da programmare, poichè il loro "linguaggio macchina" detto assembler, ha molte istruzioni anche per eseguire le operazioni più complesse. Queste istruzioni complesse vengono successivamente tradotte in istruzioni più semplici per poter essere eseguite, il tutto per rendere più facile la vita dei programmatori...
Le macchine RISC (le nostre) Non hanno questo passaggio di traduzione: hanno poche istruzioni semplici, e il programmatore deve essere in grado di decomporre quelle complesse a monte, prima di scrivere del codice.
Quindi, facendo un esempio, se dovessimo chiedere ad un Pentium di eseguire un' elevazione a potenza, tipo 2 alla 3, succederebbe questo:
passo 1: inserisco l'istruzione "elevazione a potenza" con paramentri i numeri 2 e 3.
passo 2: la CPU traduce l'istruzione in 2 x 2 x 2
passo 3: esegue 2 x 2 x 2 = 8 e restituisce il risultato.
chiedendo la stessa cosa ad un G4/G5:
passo 1: inserisco l'operazione "2 x 2 x 2"
passo 2: esegue 2 x 2 x 2 = 8 e restituisce il risultato.
Ossia, un processore RISC fa prima a concludere rispetto ad un CISC, perchè non deve tradurre. E' come parlare con uno straniero con un interprete di mezzo, oppure parlare direttamente conoscendo la lingua.
Estendete adesso questo concetto a tutta la vita della CPU... Si capisce che la vita del programmatore RISC è un po' più difficile, ma ripagata ampliamente dalle prestazioni, mentre quella del programmatore CISC è più facile, ma per andare forte, la CPU deve essere in grado di lavorare a frequenze più elevate, e nello stesso intervallo di tempo, eseguire più istruzioni. E' per questo motivo che un G4 da 1,2 GHz non sfigura contro Pentium 4 molto, molto più pompati. Se poi aggiungiamo caratteristiche come il preemptive multitasking, la gestione blindata della memoria, Quartz, QuartzExtreme, OpenGL ed Aqua otteniamo OS X, ed avete sotto gli occhi quello che usate tuttii giorni.
Ovviamente al giorno d'oggi le cose dentro le CPU accadono in modo diverso, ma la sostanza è questa.
Quindi, siccome la parte più interna del kernel di un sistema operativo è scritta direttamente in codice macchina, ecco che non vedo molto probabile un porting di OS X su macchine CISC, quindi, cari utenti Windows, se volete un sistema operativo serio, dovete comprare un mac... :-)
Aggiungo ancora una cosa: L'architettura CISC a 32 bit, quella del Pentium 4 per intenderci, è sostanzialmente la stessa dai tempi del 386 (il primo processore intel a 32 bit) con aggiornamenti, estensioni, aggiunte, ma nessuna rivoluzione. Stessa cosa dicasi abbastanza per il G4, che sempre a 32 Bit è, mentre la svota epocale si ha con il G5 che passa dai 32 ai 64 bit, cambiando radicalmente l'architettura, ed uscendo dalle possibilità di paragone.
L'AMD Athlon 64 non è ancora una CPU Interamente a 64 Bit, quindi anch'essa è per ora solo un nome su una scatola.
Concludendo, le differenze tra mac e PC non sono solo di software ma pesantemente anche di Hardware, che poi si usi la stessa scheda video e lo stesso tipo di RAM poco conta. Allo stato attuale delle cose, è un po' come dire che una Punto è uguale ad una Audi A3 perchè entrambe hanno i finestrini elettrici... :-)
Spero di non avervi tediato troppo e mi auguro di esser stato utile per fare un poco di chiarezza! Ciao a tutti!
I seguenti commenti sono proprietà di chi li ha inviati. Questo sito non è responsabile dei contenuti degli stessi.
i Mac sono uguali ai PC?
Inviato da: Stefano Beretta su
Sab, 19 Febbraio 2005 - 11:00
Grazie Matteo!
...sei stato chiarissimo!
finalmente mi è chiara la differemza tra CISC e RISC anche se
cenrtamente in termini basilari.
Ma, per curiosità, questi due sono gli unici 'sistemi' su cui si basa il
funzionamento di una CPU?
Come ti permetti di paragonare una Punto ad un PC???? Grrrrrr Non Toccare
la Punto!!! Eheheh scherzo!! Complimenti per la spiegazione, chiarissima ed
esauriente! (W la PUNTO!!) :-)
---
Si dice che windows sia migliore di Apple perché vende di più... Anche gli scarafaggi sono più degli uomini, ma non significa che siano superiori a noi...
Inviato da: Giorgio Modoni su
Sab, 19 Febbraio 2005 - 12:06
bell'articolo molto dettagliato
ma starei attento a paragonare un g4 1.2 ad un p4 magari a 3ghz .
Di fatto il p4 è veramente molto più potente sia in applicativi come photoshop sia nella gestione della grafica 3d sia nei calcoli matematici puri.
il fatto cheun g4 1.2 processore assolutamente off-line possa ancora oggi confrontarsi con un p4 a 3ghz è sicuramente una cosa quasi magica, e ci fa capire quanto le cpu IBM siano versatili e capaci di mantenere nel tempo una buona "usabiliotà" ma di fatto G5 compresi sono processori assolutamente non competitivi con gli ultimi prodotti sia amd che intel
Inviato da: max_perini su
Sab, 19 Febbraio 2005 - 14:19
>Ossia, un processore RISC fa prima a concludere rispetto ad un CISC, perchè non deve tradurre.
Con i CISC però si hanno meno problemi di interdipendenza delle istruzioni, il codice occupa meno spazio e quindi le cache funzionano meglio (detto in parole povere).
>Quindi, siccome la parte più interna del kernel di un sistema operativo è scritta direttamente in codice macchina, ecco che non vedo molto probabile un porting di OS X su macchine CISC, quindi, cari utenti Windows, se volete un sistema >operativo serio, dovete comprare un mac... :-)
No, il kernel di OSX è scritto in C tant'è che esiste anche in versione x86... basta ricompilarlo.
>L'AMD Athlon 64 non è ancora una CPU Interamente a 64 Bit, quindi anch'essa è per ora solo un nome su una scatola.
L'Athlon64 e l'opteron sono a 64 bit con supporto legacy per applicazioni a 32, esattamente come il G5... cosa intendi per non interamente a 64 bit?
>Spero di non avervi tediato troppo e mi auguro di esser stato utile per fare un poco di chiarezza! Ciao a tutti!
Scusa ma la tua mi pare un'analisi superficiale e mi sembra che non te ne intenda molto di architettura dei microprocessori. Per curiosità vai a fare un salto su http://arstechnica.com , ci sono articoli interessanti anche sul G5 e comparazioni CISC/RISC fatte molto bene.
Le macchine CISC (P4 e AMD) sono decisamente facili da programmare,
poichè il loro "linguaggio macchina" detto assembler, ha molte istruzioni a
[..]
hanno poche istruzioni semplici, e il programmatore deve essere in grado di
decomporre quelle complesse a monte, prima di scrivere del codice.
[...]
Si capisce che la vita del programmatore RISC è un po' più difficile, ma
queste cose forse valevano 10 o 15 anni fa. oramai fanno tutto i compilatori.
e scrivere in c un programma per pentium o per powerpc non fa nessuna
differenza. inoltre la complessita' dei processori si e' alzata talmente tanto
che nessuno sta piu' a scrivere direttamente in assembly, men che meno
programmi di una certa complessita'.
più istruzioni. E' per questo motivo che un G4 da 1,2 GHz non sfigura contro
Pentium 4 molto, molto più pompati. Se poi aggiungiamo caratteristiche
il g4 non sfigura contro un p4 di frequenza piu' elevata perche' il p4 desktop
e' una mezza ciofeca :) il pentium m (quello dei portatili centrino, per
intenderci) viaggia pure lui su frequenze simili a quelle dei g4 (1.4 - 1.7 ghz)
e ha prestazioni analoghe a quelle dei g4 e quelle dei p4 desktop a frequenze
piu' elevate. insomma oramai anche intel fa fatica a far credere che
frequenze piu' elevate siano sinonimo di prestazioni elevate. se il g4 viaggia
e' perche' e' dotato di una buona architettura, come il p4
centrino.
se vi ricordate la prima serie di p4 era pure piu' lenta dei "vecchi" p3 proprio
perche' l'architettura era stata fatta per raggiungere frequenze elevate, non
per essere efficiente dal punto di vista dei calcoli.
Ovviamente al giorno d'oggi le cose dentro le CPU accadono in modo
diverso, ma la sostanza è questa.
vero. oramai la distinzione tra cisc e risc e' estremamente
sfumata.
Quindi, siccome la parte più interna del kernel di un sistema operativo è
scritta direttamente in codice macchina,
sicuro di quel che dici? visto che il kernel di osx (darwin) e' open source sai
darci qualche link o il nome del file che dimostra quel che dici?
ecco che non vedo molto probabile un porting di OS X su macchine
CISC,
mi pare che il motivo fosse un altro, e cioe' che apple fondamentalmente fa
soldi vendendo hw, non software. se desse in licenza osx ad altri produttori
finirebbe col tirarsi la zappa sui piedi
Aggiungo ancora una cosa: L'architettura CISC a 32 bit, quella del
Pentium 4 per intenderci, è sostanzialmente la stessa dai tempi del 386
a livello di istruzioni si, architetturalmente parlando sono due cose del tutto
diverse.
Stessa cosa dicasi abbastanza per il G4, che sempre a 32 Bit è, mentre la
svota epocale si ha con il G5 che passa dai 32 ai 64 bit, cambiando
radicalmente l'architettura, ed uscendo dalle possibilità di paragone.
neanche troppo epocale. l'architettura powerpc e' stata progettata fin
dall'inizio per essere a 64 bit. diciamo che fino al g4 le cpu erano delle
versioni "ridotte" di quello che avrebbe potuto essere una cpu powerpc.
insomma il passaggio ai 64 bit era gia' stato progettato fin
dall'inizio.
L'AMD Athlon 64 non è ancora una CPU Interamente a 64 Bit, quindi
Questa è una segnalazione che ci voleva. Bisogna rendere gli utenti mac
orgogliosi di avere SO e processori di prossima generazione. Ogni utente mac
a casa ha pututo sfatare quello che viene chiamato "Megahertz myth".
Ho visto però qualche imperfezione e mi permetto di aggiungere:
La prima cosa di cui parlare è l'evoluzione dei compilatori che sono
davvero
importanti per poter spiegare bene l'argomento in quanto ormai hanno
permesso di implementare e utilizzare efficentemente i RISC (senza
compilatori programmare un G5
competerebbe a pochissime persone nel mondo!). Le
macchine sono ora troppo complicate per programmare in assembly e il
compilatore si propone di generare codice macchina dai vostri sorgenti C(o
chi per lui) Il compilatore è quindi quell'entità in grado di creare codice
eseguibile ottimizzato in base alle macchine ecco perchè sfrutterà il più
possibile e anche nei P4 quelle successioni di istruzioni che sono più corte da
eseguire. Un compilatore ottimizzato è quindi in grado di fare
dimenticare(non del tutto) i limiti del P4 dovuti alla sua storia.
I RISC guadagnano invece molto in termini di architettura e
pipelines. Per architettura intendo soprattutto il formato delle istruzioni.
Un P4 ha un numero veramente alto di istruzioni di diverso formato e di ogni
grandezza senza contare gli innumerevoli metodi di indirizzamento. Mentre è
buona norma su i processori RISC avere una grandezza unica (sui
G4 32bit) e pochi formati di istruzione(solitamente tre) per garantire un
architettura semplice,rigida e quindi molto più veloce. Perchè tanto poi a
gestire le eccezioni di una divisione ci pensa il compilatore(mentre non è
improbabile che in un pentium4 la divisione per zero sia gestita dl
processore, ma questo è solo un esempio...conosco molto meglio le
architetture RISC).
Questo discorso si ripercuote anche se in minima parte anche sulle pipelines.
le pipelines possono essere viste come "catene di montaggio" a più stadi. Un
G4 ha 7 stadi (fetch, decode .....store results). Un pentium3-4 ne ha 20 o
comunque una ventina. Ovviamente avere istruzioni di forma anomala che
gestiscono i dati in forma anomala allunga i tempi di escuzione e incide
anche sulla pipeline. Ma il vero problema di avere una pipeline lunga
sono i salti. un salto è un'istruzione che svuota la pipeline perchè vi deve
entrare l'istruzione puntata dal salto. Ecco qui il vero "gap" pagato dai CISC:
riempire una pipeline dopo un branch(salto) costa molto meno in termini di
tempo con una pipeline ridotta e vi assicuro che i branch sono una cosa
abbastanza frequente! Poi G4 permette di ammorbidire la presenza dei salti
con il motore di branch prediction integrato!
Ecco quindi che si può dire che il formato semplice delle istruzioni, la velocità
di esecuzione e il numero ridotto di queste, un architettura semplice, una
pipeline corta e il branch prediction dei processori che stanno nei nostri mac
permettono di avere la metà dei cicli di clock per ottenere lo stesso risultato.
A un minore prezzo perchè alla intel sono consapevoli che costa anche di
meno costruire un RISC!
Io tedioso lo sono stato di certo (non ho parlato della cache):
D
P.S. ho trovato questo filmato in
una
segnalazione qui in tevac...Che gran sito! Per il resto mi ispiro liberamente a
quanto appreso dal libro di Henessy e Patterson "Computer Organisation &
Design"della Morgan Kaufmann publishers inc.
Un altro appunto. I sistemi operativi vengono ormai scritti in C è il caso di
linux e altri sistemi *NIX e anche se magari ammettono righe "asm"(codice
assembly) passano sempre per Gcc il che da valore al richiamino ai
compilatori di cui sopra. Ciau!
--- Windows Is Really Gross, Windows I Hate the Most!
Non so, mi sembra una forzatura questo articolo, da puro entusista del mac. Oggi i mac hanno componentistiche del tutto identiche a quelle di un pc (anche la scheda madre che è della Via): credo che se alla Apple riuscissero ad avere la potenza di un Intel/AMD (singolo processore paragonabile a due processori g5 che hanno dissipatori grandi quanto il case) senza far girare OSX su tutti i pc sarebbero più contenti. Oggi come oggi mi sembra tutta una scelta legata molto a politiche commerciali (apple guadagna tanto dalla vendita di hardware pompato nei prezzi) che a scelte di effettiva qualità: ci sono voluti anni (secoli nel mondo informatico) prima di avere un processore G5 in grado di farne un uso professionale in campo 3d, video etc... Il G5 è un grande processore, il migliore dal punto di vista teorico, ma nella realtà lo sviluppo dei processori Intel è molto più veloce. Non per niente, visto che IBM non ci stava dietro, si è alleata con Sony, Toshiba ed altri per ritornare ad essere competitiva anche nei tempi di sviluppo.
...sei stato chiarissimo!
finalmente mi è chiara la differemza tra CISC e RISC anche se
cenrtamente in termini basilari.
Ma, per curiosità, questi due sono gli unici 'sistemi' su cui si basa il
funzionamento di una CPU?
Ciao, Stefano.
---
Passioni? La mela e la patata