Curiosità

Anche Verona "osa" Linux

nelle università, seguendo l'esempio di molti altri istituti. L'"osa project" infatti mira a migrare a Ubuntu Linux tutte le macchine entro 3 anni con la motivazione principale di abbattere le spese. Altre info sul progetto e sui software disponibili al sito dell'università. 

Il Manifesto

manifest

Una chiave e tante sfumature, il nostro manifesto. Le persone quando credono vivamente in qualcosa scrivono un Manifesto, un libero pensiero convincente e forte. Il Manifesto è l'essenza viva del nostro modo di agire...

Evoluzione dei sistemi di calcolo: Perchè parallel computing?

Indice
Evoluzione dei sistemi di calcolo: Perchè parallel computing?
Parallelismo a livello di Istruzione
Parallelismo a livello di Processore

calcolatoriI sistemi di calcolo, sono in continua corsa, l'innalzamento della frequenza oramai è solo un dettaglio di un grande sistema che concentra i punti di forza in altre caratteristiche. La differenza che rende un processore decisamente migliore di un'altro è l'architettura. In questo articolo parleremo un pò dell'evoluzione delle architetture dei calcolatori e qualè il motivo che ha spinto ad esempio le schede video ad abbandonare l'architettura a pipeline in favore dell'uso di processori paralleli, un grande salto che è avvenuto in concomitanza della disponibilità delle DirectX 10.

 

I due pilastri

Le architetture pilastro dell'informatica sono principalmente 2 ed ogniuna di queste identifica un metodo di lavoro: lavorare istruzioni semplici ma molto frequenti oppure lavorare istruzioni complesse meno frequenti.

Le due architetture pilastro si chiamano CISC e RISC rispettivamente Complex instruction set computer e Reduced Instruction Set Computer.

CISC

Questa architettura fà punto di forza sull'hardware, include istruzioni complesse che possono richiedere anche più di un ciclo di clock per essere eseguite.Istruzioni che prendono con sorgente e destinazione la memoria, sono possibili ed implementate nel relativo set di istruzioni, realizzato su di un chip di memoria in sola lettura all'interno della CPU.

Questi processori normalmente sono dotati di pochi registri ma specifici registri, alcuni di questi legati ad un tipo specifico di operazione: Ad esempio la lettura di un dato in memoria utilizzerà sempre lo stesso registro, oppure la somma tra due numeri avrà sempre come destinazione lo stesso registro.

In linguaggio assembler per questa Cpu le istruzioni base sono monoliti non scomponibili.

ADD AX,CX

pezzo di codice per intel 8088 che esegue la somma dei valori nei due registri chiamati AX e CX. Il valore di destinazione è salvato obbligatoriamente in AX.

Es: Pentium 4

RISC

Punto di forza sul software che deve e ha la possiblità di essere altamente ottimizzato per compiere azioni nel miglior modo possibile, scomponendo un'azione in micro-azioni completamente personalizzabili. Le istruzioni occupano solo un ciclo di clock.

Questi processori hanno a disposizione molti registri generici, in cui possiamo appoggiare i nostri dati manualmente come meglio crediamo.

add r2, r3, r4

Pezzo di codice assembly ARM che somma i valori nei registri r2,r3,r4 e li deposita in r2. In questo caso cambiando l'ordine r2,r3,r4 in r3,r2,r4 possiamo cambiare la destinazione del risultato.

Es: MIPS, ARM

Queste architetture fanno parte di mercati diversi, per colpa del software e della storia. Windows infatti è stato pensato per architetture CISC e alle versioni attuali non è compatibile con architetture RISC. Non riuscirete quindi a fare girare Windows, in una piccola Fonera o in un router. Ma per queste architetture CISC è ben distribuito e disponibile Linux, che gira infatti sulla maggior parte di queste macchine.

Potenza di Calcolo

Importante è sottolineare qualè l'unità di misura della potenza di calcolo di uno o più processori, qualunque essi siano. La  potenza di calcolo si misura in MIPS e questa è la formula che permette di calcolare il suo valore:

performanceeq

Si tratta quindi di quantità di istruzioni al secondo. Più è alto il numero di istruzioni che la nostra macchina può "mangiare al secondo" più la sua potenza sarà elevata.

Da quello che si può capire, per aumentare le prestazioni di un calcolatore si possono seguire due strade:

  • Aumentare il numero di istruzioni eseguibili al secondo (Es: aumentare la velocità di clock, pipeline a numerosi stadi)
  • Parallelizzare l'esecuzione di istruzioni

La prima strada trova fin da subito ostacoli tecnologici e di costo.

Per quanto riguarda la parellelizzazione invece cè un mondo di soluzioni che possono aumentare le prestazioni di un calcolatore. Vediamone alcune.

Principalmente esistono parallelismi a livello di istruzione e a livello di processore.



Aggiungi commento


Codice di sicurezza
Aggiorna

News from Twitter

Loading...

Last 4 tweets from deuxexmachinait:

Ultime dal Forum

in Gaming by m3dstt, 06-09-11 08:11
in Networking by Fullenwider, 05-08-11 04:15
in Mac by Maryanne, 22-06-11 04:08
in Guide Windows by peppo1616, 09-10-09 15:27
in Guide Linux by CAbusivo, 07-08-09 16:10