View Full Version : Cisc VS Risc..
LuPellox85
02-07-2006, 20:54
in 2 parole e senza litigare :D
mi sapete dire le differenze, e qual'è l'architettura migliore? :D
scorpionkkk
02-07-2006, 22:01
in 2 parole e senza litigare :D
mi sapete dire le differenze, e qual'è l'architettura migliore? :D
L'architettura CISC non esiste più dai tempi del primo Pentium dove cominciarono ad essere integrate soluzioni RISC architetturali sulla base CISC del tempo.Già dal Pentium 2 le soluzioni architetturali erano in gran parte RISC. Dal Pentium 3 in poi le architetture si sono mescolate spostando l'orizzonte dell'innovazione verso soluzioni migliorative dei presidi RISC e verso tecnologie architetturali ancora più innovative.
Non si può quindi analizzare la situazione nel presente, ma solo nel passato dove, ovviamente, la migliore tecnologia non poteva che essere la RISC vista la portata innovativa che introduceva nella microelettronica di quegli anni.
Per comodità alcune riviste sia cartacee che online continuano a proporre, sbagliando, questa distinzione più che altro per scopo divulgativo e per sottolineare diversificizaioni di architettura che altrimenti non potrebbero essere capite da tutti.
Per chi volesse approfondire l'argomento consiglio qualsiasi libro di, appunto, Microelettronica.
L'architettura CISC non esiste più dai tempi del primo Pentium dove cominciarono ad essere integrate soluzioni RISC architetturali sulla base CISC del tempo.Già dal Pentium 2 le soluzioni architetturali erano in gran parte RISC. Dal Pentium 3 in poi le architetture si sono mescolate spostando l'orizzonte dell'innovazione verso soluzioni migliorative dei presidi RISC e verso tecnologie architetturali ancora più innovative.
Non si può quindi analizzare la situazione nel presente, ma solo nel passato dove, ovviamente, la migliore tecnologia non poteva che essere la RISC vista la portata innovativa che introduceva nella microelettronica di quegli anni.
Per comodità alcune riviste sia cartacee che online continuano a proporre, sbagliando, questa distinzione più che altro per scopo divulgativo e per sottolineare diversificizaioni di architettura che altrimenti non potrebbero essere capite da tutti.
Per chi volesse approfondire l'argomento consiglio qualsiasi libro di, appunto, Microelettronica.
esattamente!!! i cisc non esistono piu dal pentium, che è un risc con interfacciamento x86 (x la compatiblitià binaria), ma gia da tempo si utilizzavano soluzioni tipicamente risc cm la pipeline. un cisc puro non può arrivare alle frequenze a cui siamo abituati oggi e comunque ha una bassa efficenza a causa dell'accesso alla memoria dele istruzioni (nei risc concesso solo a quelle di load-store)
LuPellox85
02-07-2006, 22:15
ok che oggi non esiste più.. ma anche sta cosa dell'indirizzamento in memoria.. mi sapete dire la differenze?
scorpionkkk
03-07-2006, 19:52
ok che oggi non esiste più.. ma anche sta cosa dell'indirizzamento in memoria.. mi sapete dire la differenze?
guarda, torniamo indietro nel tempo e supponiamo di essere nei primi anni '80. In questo momento viene proposto l'approccio RISC che può essere distinto in vari punti che lo contraddistinguono innovativamente:
1)Architettura HARVARD: La memoria delle istruzioni è separata dalla memoria dati. La CPU può quindi accedere ad entrambi contemporaneamente. Prima era presente una sola memoria condivisia quindi prima si accedeva all'istruzione e poi ai dati.
2)Architettura LOAD/STORE, operatività registro/registro: Soltanto le istruzioni di load (caricamento) e di store (scrittura) accedono alla memoria, non esiste un'istruzione (ad es. aritmetica) che possa prendere un operando in memoria. Le istruzioni aritmetiche e logiche lavorano quindi sui registri, l'architettura RISC è quindi caratterizzata da molti registri per evitare accessi in memoria.
3)Il formato delle istruzioni è fisso: Viene minimizzato e atomizzato il set d'istruzioni sulla base dell'utilizzo della macchina. Non solo le macroistruzioni tipiche dei CISC vengono scomposte in microistruzioni ma il set viene a sua volta ridotto per un motivo molto importante: semplificare l'hardware il più possibile. Vengono quindi simulati dei tipici set d'istruzioni con tipiche applicazioni togliendo man mano le istruzioni (e quindi la logica di controllo relativa) non utilizzate con quel range di applicazioni. A suo tempo si ebbero semplificazioni di circa l'80% dei set utilizzati abitualmente (!!!!).
4)Durata fissa d'istruzione: Il RISC ha introdotto questo concetto in concomitanza con le microistruzioni: ogni microistruzione deve durare un tempo fisso di clock, tipicamente 1 ciclo di clock.
5)Set d'istruzioni modellato sulle applicazioni: Se ne è parlato al punto 3). A secoda del tipo di applicazione da far girare sulla CPU viene ridefinito il set d'istruzioni (con i CISC ciò non sucedeva) in modo da ottimizzarlo per quell'utilizzo. Un pò come ricompilarsi il kernel togliendo un pò di moduli inutili e ritagliandolo sualla propria macchina, per capirsi.
6)Istruzioni semplici ed hardware esposto al compilatore: Come già detto le istruzioni vengono atomizzate. Non c'è più il "fai la somma di questi due numeri" ma c'è la successione de: "prendi l'indirizzo di a","memorizzalo nel registro", "prendi il contenuto dell'indirizzo di a"... etc etc..fino a fare la somma. Questo procedimento è più veloce del precedente anche perchè è possibile, utilizzando i registri, ottimizzare le operazioni e farne alcune contemporaneamente.Inoltre il compilatore ha la possibilità di gestire e specificare le istruzioni riorganizzandole e quindi ottimizzando l'esecuzione delle stesse (attraverso alcuni processi di scheduling) e quindi ottimizzando direttamente l'utilizzo dell'hardware.
7)Pipeline a più di 3 stadi: Dulcis in fundo, la pipeline permette di gestire le microoperazioni e i punti descritti precedentemente in maniera trasparente e separata. Oltre ad avere più stadi, l'approccio RISC introduce tra uno stadio e l'altro dei registri che servono, nel caso di operazioni aritmetiche lunghe, a liberare comunque lo stadio precedente senza perdere i dati (o le istruzioni) ancora in elaborazione.
Questi i punti basilari che oramai sono i punti fermi dei processori attuali. Da qui in poi si tratta di storia: la pipeline si evolve, si cominciano a gestire pipeline mutiple, nascono i processori superscalari e VLIW etc etc fino ad arrivare ai giorni nostri dove tutte queste innovazioni successive vengono date per scontate.
2)[B] Le istruzioni aritmetiche e logiche lavorano quindi sui registri, l'architettura RISC è quindi caratterizzata da molti registri per evitare accessi in memoria.
Daccordo su tutto,ma la caratteristica principale del Risc è propriamente avere un set di istruzioni ridotto(32 registri da 32 bit).Finiti i registri utilizzati,dato che per il passaggio dei parametri alle funzioni ci sono solo 4 registri disponibili($a0,$a1,$a2,$a3) si accede in memoria stack decrementando lo stack pointer per fare spazio a nuove word(parole)necessarie per il programma.Questo avviene se si devono preservare dei parametri quando si ritorna alla procedura chiamante.(Nelle procedure non foglia,che hanno nel corpo altre procedure nidificate).
Ciao
scorpionkkk
04-07-2006, 00:11
Daccordo su tutto,ma la caratteristica principale del Risc è propriamente avere un set di istruzioni ridotto(32 registri da 32 bit).Finiti i registri utilizzati,dato che per il passaggio dei parametri alle funzioni ci sono solo 4 registri disponibili($a0,$a1,$a2,$a3) si accede in memoria stack decrementando lo stack pointer per fare spazio a nuove word(parole)necessarie per il programma.Questo avviene se si devono preservare dei parametri quando si ritorna alla procedura chiamante.(Nelle procedure non foglia,che hanno nel corpo altre procedure nidificate).
Ciao
ok..ma io ho scritto "per evitare" accessi in memoria non "per renderli impossibili".
Non discutiamo delle ombreggiature di Michelangelo, per favore, quando ancora stiamo parlando di come si disegna una circonferenza.Mi pare sufficiente cosi l'esplicazione della questione: già è tanto se non siamo sommersi dai soliti noti che ci riempiono con gli articoli di pcworld su "cisc vs risc".
ok..ma io ho scritto "per evitare" accessi in memoria non "per renderli impossibili".
Non discutiamo delle ombreggiature di Michelangelo, per favore, quando ancora stiamo parlando di come si disegna una circonferenza.Mi pare sufficiente cosi l'esplicazione della questione: già è tanto se non siamo sommersi dai soliti noti che ci riempiono con gli articoli di pcworld su "cisc vs risc".
Nessuno pesa oltremodo le tue parole(dato che chiarivi molto correttamente l'architettura),ma era una spiegazione sul fatto che c'è una evidente limitazione di registri(e non una moltitudine) per poter programmare tramite procedure che sono alla base delle implementazioni di programmi. Ma se si vogliono fare solo delle semplici operazioni aritmetico logiche che richiedono al più qualche registro temporaneo e qualche registro per salvare variabili,allora possono bastare i pochi 32 registri.
Tuttavia("minori sono le dimensioni,maggiore è la velocità") non è un male avere un numero di registri non elevato,infatti se fosse stato elevato avrebbe potuto aumentare la durata del ciclo di clock a scapito delle prestazioni.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.