PDA

View Full Version : x Esperti di Architettura di CPU


dupa
25-07-2005, 10:38
Mi serve un'informazione per la mia tesi.

Esistono processori nei quali ci sono più unità di calcolo ognuna specializzata in una determinata operazione e dove i "processi" attraversano le varie unità di calcolo per essere completati?

Insomma.. ci sono unità di calcolo A, B, C ognuna delle quali effettua una specifica funzione.

Ci sono tre tipologie di processi X, Y, Z ognuno dei quali per essere completato deve fare un percorso specifico tra le varie unità di calcolo..

ad esempio:
X passa in A,B
Y passa in B,C,A
Z passa in A,B,C

ogni unità di calcolo ha un suo buffer dove sono in attesa i processi che attendono di essere lavorati da quella unità di calcolo.

Sapete se esiste qualcosa di simile nel mondo informatico??

(in pratica devo trovare un'applicazione nell'informatica per un metodo matematico sviluppato per valutare le performance dei sistemi produttivi)

^TiGeRShArK^
25-07-2005, 10:59
???
boh... in generale il funzionamento è sempre così in praticamente tutti i processori...
ovvero...
abbiamo l'unita ALU per le operazioni sugli interi (con la sua pipeline)
l'unità Floating Point x i calcoli in virgola mobile, l'unità SSE x le operazioni su vettori.....
se x esempio c'è un processo che necessità di calcoli in alu e in SSE viene spedito lì...
se ce n'è un altro ke ha bisogno di ale e fpu usa queste due...
se non spieghi meglio le tue esigenze nn so se ti posso aiutare cmq....
credo ke x quello ke ti serve ti necessitano arkitetture fortemente parallelizzate (tipo i grid processor se nn sbaglio ke però sono solo allo stadio "prototipale").

dupa
25-07-2005, 11:19
???
boh... in generale il funzionamento è sempre così in praticamente tutti i processori...
ovvero...
abbiamo l'unita ALU per le operazioni sugli interi (con la sua pipeline)
l'unità Floating Point x i calcoli in virgola mobile, l'unità SSE x le operazioni su vettori.....
se x esempio c'è un processo che necessità di calcoli in alu e in SSE viene spedito lì...
se ce n'è un altro ke ha bisogno di ale e fpu usa queste due...
se non spieghi meglio le tue esigenze nn so se ti posso aiutare cmq....
credo ke x quello ke ti serve ti necessitano arkitetture fortemente parallelizzate (tipo i grid processor se nn sbaglio ke però sono solo allo stadio "prototipale").

Ti spiego quello che studia il mio metodo matematico:

In pratica c'è una linea produttiva automatizzata.
La linea è composta da macchine e da buffer che ospitano i prodotti in attesa di essere lavorati dalla macchina successiva.
Ogni macchina svolge una determinata operazione.
Nella linea produttiva circolano più tipologie di prodotto, ognuna caratterizzata da un certo percorso di lavorazioni sulle varie macchine..

In pratica il metodo consente di valutare in modo approssimatoo le prestazioni del sistema in base a determinati parametri (ad esempio guasti delle macchine. % di tempo macchina assegnato a ogni codice prodotto, ecc. ecc.)

Ora mi servirebbe trovare anche un'applicazione nell'informatica di questo metodo matematico..
Per quello che so di informatica gli unici due campi che mi sembrano in qualche modo assimilabili a quello che cerco, sono le "unità di calcolo" o altrimeti le "reti".

Spero di essermi spiegato in modo un poco più chiaro.

JL_Picard
25-07-2005, 11:37
L'esempio più prossimo alla "catena di montaggio" è il funzionamento delle pipeline dei processori di ultima generazione.

Dovresti trovare molti articoli che ne spiegano il funzionamento, compresi i problemi di dipendenza (nel caso tuo... l'ordine in cui possono essere effettuate le lavorazioni su un dato prodotto, o la necessità di lavorare alcuni pezzi, prima di procedere con la lavorazione di altri...)

^TiGeRShArK^
25-07-2005, 13:44
no... avevo pensato alla pipeline, ma quella è prettamente sequenziale...
non puoi entrare ed uscire a piacimento dalla pipeline.
L'unica cosa in comune della pipeline col suo discorso è il fatto ke ogni pipeline è fatto da uno stadio con una funzione ben precisa.
alla fine un normalissimo processore x86 fa piu' o meno quello ke dovresti fare tu...
all'inizio TUTTE le istruzioni passano da degli stadi preliminari (di solito fetch e decode se nn ricordo male) poi vengono "instradate" verso l'unità di calcolo corretta.
quindi praticamente ogni istruzione farà un percorso diverso (vedendola proprio a livello bassissimo ogni istruzione viene tradotta in segnali elettrici ke compiono percorsi diversi nei transistor..... una volta avevo letto di porte logiche create sfruttando..... un trenino elettrico con degli scambi particolari.... ovviamente nn era molto veloce come processore! :asd: )