|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Processori e classificazione flynn
Studiavo le classificazioni di flynn riguardo alle architetture degli elaboratori
Quindi esse le possiamo descrivere in tre macrocategorie: Sisd: Con un unico flusso di istruzioni ed un unico flusso dati: SIMD: Flusso di istruzioni unico e flusso di dati multiplo, quindi possiamo dire che abbiamo un unica unità di controllo, che memorizza le istruzioni e più alu che ovviamente generano piu dati. Da cui flusso dati multiplo. MIMD: doppio flusso di istruzioni e flusso dati multiplo, tant'è che possiam odire che sono composte da più cpu che lavorano in concomitanza; Ora, se introduciamo il concetto di pipeline, che detto in maniera stringata e la risoluzione di più processi in contemporanea in modo da diminuire il numero di cicli necessari per svolgere un determinato compito non elementare, questa organizzzione è attribuibile a tutte le architetture sopra indicate? solo ad alcune? Tra l'altro, i moderni pc quadricore, in che categoria rientrerebbero? cosa è inteso per core? e a questo punto gli i7 che sono multi core multithreading? Grazie mille a tutti per la delucidazione ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2003
Città: Sperduto nella Franciacorta.
Messaggi: 16373
|
Scusa magari la franchezza, ma secondo me la fai troppo difficile, meglio vedere le cpu come si comportano realmente nel loro ambito d'utilizzo, lasciando un pò perdere tutte queste cose tecnico teoriche utili senz'altro, ma che potrebbero creare una grossa confusione.
Resto dell'idea che è meglio vedere le cpu x quanto rendono nel campo reale con i software con cui si intende usare quella cpu: http://www.hwupgrade.it/articoli/cpu...nto_index.html Si vede come vanno nell'ambito interessato, si vede quanto si può spendere e si sceglie, poi si chiede sul forum e si vede d'ascoltare gente altrettanto esperte cosa dici e fare le valutazioni del caso.
__________________
Firma da completare ADSL 7M in Italia: http://www.speedtest.net/result/2747466326.png ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 14734
|
Secondo me la sua curiosità è puramente accademica, intendeva intavolare un discorso sulle architetture e non gli importa nulla dei bench dei processori attuali (che sono presumibilmente tutti dello stesso tipo).
Non sono espertissimo sulla questione, comunque posso accennare che MIMD indica istruzioni multiple (non "doppie") su dati multipli, difatti MIMD sta per Multiple Instruction Multiple Data. Le architetture superscalari sono quelle a pipeline multiple se non sbaglio e quindi di tipo MIMD. All'opposto quelle vliw, di tipo SIMD con un vettore di dati aggregati su cui è eseguita una singola istruzione. Non dubito che le cose siano decisamente più complesse di come le ho illustrate. Anzi, sicuramente sono stato molto impreciso e troppo legato ai discorsi fatti finora riguardo alle gpu. Qui sul forum trovi sicuramente utenti molto più istruiti di me riguardo l'architettura degli elaboratori, non sarebbe male vedere il loro intervento in questo topic. |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Quote:
Il discorso comunque è un discorso accademico, e non potrebbe essere altrimenti proprio per quello che è stato già detto: Presumibilmente tutti gli attuali computer sono basati sulla stessa architettura. Però stavo studiando di mio la cosa da un lato accademico e mi chiedevo, per curiosità nonchè completezza in quali di queste architetture si possono collocare gli attuali multicore, per di più i multicore con il multithreading. Ad esempio un MIMD sottointende la presenza di più CPU mentre qui parliamo di più CORE non di più cpu. ALtrimenti si chiamerebbero 2 processori non 2 core. Magari i core potrebbero essere intesi come più ALU? |
|
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Oct 2002
Messaggi: 29245
|
I multicore sono MIMD multi cpu. Il fatto che condividano il package ed un livello di memoria in più (la cache) non li distingue dal punto della Tassonomia di Flynn da dei multiprocessore in quanto ogni core funziona per conto suo.
La pipeline penso rientri in tutti i tipi di sistemi tranne il SiSd che in pratica è la macchina di Von Neumann. |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Bannato
Iscritto dal: Oct 2002
Messaggi: 29245
|
Il package è il contenitore, il supporto che accoppia il core alla scheda madre, quello coi pin o le piazzole di contatto.
E' solo una questione di integrazione. Una volta la cache era esterna al processore, ora abbiamo più core con la cache, il memory controller e prossimamente anche la sezione video integrata. Ciò che fa un sistema multiprocessore tale è lo spazio di indirizzamento della memoria unico per tutti i processori. Che sia UMA, NUMA, COMA, NUMA-Q lo spazio di indirizzamento è unico e condiviso mentre nei multicomputer ognuno ha la sua memoria e dialoga con gli altri tramite scambio di messaggi. Un sistema multicore odierno perciò può essere visto nella Tassonomia di Flynn come multiprocessore UMA. |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Quote:
Quindi il multicore, ogni core è una CPU e sono tutte collegate tra loro e con una memoria in comune, detto in poche parole? Leggevo che successivamente, per migliorare ancora di più la loro velocità avevano integrato, oltre ad una memoria comune, della memoria aggiuntiva propria per ogni cpu. Quindi tutto questo discorso si può tradurre in cache condivisa e non condivisa tra le varie CPU che li distingue, grossomodo, tra avere un multicore ed avere, nella terminologia quotidiana, un pc a più processori? Ma nello studio di queste architetture si diceva che questa cache comune era un bel rallentamento per le cpu, allora perchè gli attuali pc la hanno in comune ? è ancora "elevata la spesa" per poter fornire cache dedicata? E quando si parla, nell'overclocking, dei vari processori "scoperchiati" per raffreddarli di più non fanno altro che rompere la parte superiore del package? Infine, se si parla di multithreading degli I7 si potrebbe parlare di 4 processori, con una cache in comune, ma con ogni processore contenente "più ALU" in modo tale appunto di svolgere più processi per volta? Oppure questa implicazione è sbagliata? |
|
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Oct 2002
Messaggi: 29245
|
Meglio se dai un'occhiata su wikipedia alla voce cache.
I processori hanno cache di livello 1, livello 2 e a volte anche livello 3. Nei processori a più core ogni core ha una sua L1 e la L2 condivisa con gli altri core, o anche L1 e L2 personali e L3 condivisa. Più sotto della cache si esce dal package del processore e si va alla ram. Un sistema multiprocessore ha più processori che possono benissimo essere multicore ma ancora non esistevano quando Flynn ha esplicato la sua tassonomia. I processori scoperchiati sono defraudati del coperchio metallico posto a protezione del die della cpu. Se guardi una foto di un PIII o un Athlon XP capisci che montando maldestramente dissipatori da mezzo kilo o più c'è la possibilità di scheggiare il rettangolino di silicio centrale segando così qualche milione di transistor e ammazzando la cpu. Ultima modifica di Dumah Brazorf : 08-10-2009 alle 15:23. |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Quote:
Vorrei fare chiarezza. Ho un due core a 2ghz con x cache L1 e y cache L2 totali; Poi ho due processori, 2ghz l'1, con x/2 cache L1 e Y/2 cache L2 per ognuno, pari alla fine al valore totale di cache del procesosre due core; La differenza, ora, quale diventa? che il primo ha entrambi i processori in un solo package mentre l'altro no? E poi avranno un bus di connessione tra loro che sarà più lungo nel primo caso (in quanto è esterno) e probabilmente non potranno avere cache in comune essendo due entità separate? (su quest'ultima affermazione probabilmente sbaglio) (comunque sulla cache effettivamente mi ero confuso, infatti rivedendo le specifiche del mio processore q9550 quando dicono che ha 12 mb di cache L2 si riferiscono al valore totale, e cioè 3 mb di dache L2 per ogni core). |
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Mar 2005
Città: Castiglione Olona
Messaggi: 22585
|
In un processore ci sono più core (multi core) e fin qui ci siamo. Pensa ad un sistema che oltre ad avere un processore con più core ha anche più processori che lavorano in parallelo.
__________________
![]() |
![]() |
![]() |
![]() |
#12 |
Bannato
Iscritto dal: Oct 2002
Messaggi: 29245
|
Avere un biprocessore, o 4,8... nello spazio di uno solo non è più conveniente?
![]() Pensa che i primi dual core di intel non erano altro che due die single core installati nello stesso package. ![]() La cache può anche non essere condivisa eh, dipende dalle scelte dei progettisti (anzi mi sa che commercialmente sia la soluzione più usata). E' più complessa perchè deve saper switchare da un core all'altro, poi ci sono tutti i vari problemi di coerenza, mutua esclusione... Ultima modifica di Dumah Brazorf : 08-10-2009 alle 16:34. |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Quote:
No? Ora, perchè si tendeva all'epoca a dire "Noo multi core non è un multi processore, il processore è unico.." ? In realtà per "processore" si intendeva "l'unità" cioè "il package" e nel multicore conteneva più CPU mentre nel biprocessore abbiamo due package, due processori, contenenti ognuno una cpu? (Lo so quest'ultima non è una definizione vera e propria, è per rendere l'idea). |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Mar 2005
Città: Castiglione Olona
Messaggi: 22585
|
Si ma manca (nel tuo esempio) un sistema composto da più processori multicore.
__________________
![]() |
![]() |
![]() |
![]() |
#15 |
Bannato
Iscritto dal: Oct 2002
Messaggi: 29245
|
Dire processore e cpu è la stessa cosa.
Un processore/Una cpu può essere single core o multi-core. Un sistema biprocessore quad-core ha 8 core totali. |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Si si so che "processore" e "cpu" sono la stessa cosa. Era per far quadrare l'esempio che ho assunto che uno si riferisse ad "Un processore" come al "Package" che poi può contenere un solo processore-cpu o più di uno.
|
![]() |
![]() |
![]() |
#17 |
Bannato
Iscritto dal: Oct 2002
Messaggi: 29245
|
E' che non usi la terminologia corretta!
![]() Vabbè mo' te studi la differenza tra UMA NUMA (e COMA). |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:35.