minilogo.gif (2094 bytes)

Introduzione all'architettura dei calcolatori

left.gif (1019 bytes) up.gif (1014 bytes) right.gif (1020 bytes)

L'architettura dei calcolatori

Fin dalle prime applicazioni del concetto di programma memorizzato è stato necessario riconoscere che l'efficienza di un calcolatore non può essere semplicemente ricondotta ad un problema di velocità dell'hardware. Un moderno sistema di elaborazione è in realtà un aggregato molto complesso di vari elementi, sia hardware che software (processori, memorie, dispositivi periferici, canali di comunicazione, reti di interconnessione, compilatori, sistemi operativi, basi di dati, e così via [4]); lo sviluppo di procedure efficienti per la soluzione dei problemi mediante calcolatori impone dunque un'adeguata comprensione, oltre che degli algoritmi da implementare, anche delle strutture hardware e software che ne dovranno supportare l'esecuzione.

L'insieme di queste conoscenze costituisce l'àmbito tecnico dell'architettura dei calcolatori, termine che si incontra sempre più di frequente, ma la cui definizione rimane spesso vaga e non priva di ambiguità. In alcuni casi, questa dizione viene usata per indicare il modello di programmazione, cioè quel modello idealizzato del calcolatore che viene utilizzato dal programmatore durante l'implementazione del software di sistema; in altri casi, si tende a confondere l'architettura con l'organizzazione delle componenti hardware. Noi ci porremo da un punto di vista più generale, tentando di integrare i diversi aspetti strutturali, organizzativi e funzionali di un sistema di elaborazione in una visione unitaria (appunto, la sua architettura) con l'obiettivo preciso di eseguire elaborazioni nella maniera più efficiente possibile consentita dal sistema [3]. Distingueremo pertanto i seguenti elementi nell'architettura di un calcolatore:

La generalità della definizione che abbiamo dato poc'anzi richiede dunque che l'evoluzione dell'architettura dei calcolatori vada considerata in stretta correlazione con l'evoluzione delle loro strutture, con i progressi nella tecnologia dei loro componenti e con i perfezionamenti dei linguaggi e dei supporti software usati nelle implementazioni.


Note

  1. Abbreviato in flops. Ad esempio, 1 megaflop equivale a un milione di operazioni floating-point al secondo.
minilogo.gif (2094 bytes)

Introduzione all'architettura dei calcolatori

left.gif (1019 bytes) up.gif (1014 bytes) right.gif (1020 bytes)

© 1997-2003 Paolo Marincola (Rome, Italy)
e-mail:
pmaNOSPAM@acm.org (eliminare i caratteri "NOSPAM" per ottenere l'indirizzo esatto)
Commenti, osservazioni e suggerimenti sono estremamente graditi.

Last revised: 2003-12-06 19:42