Architettura (computer)

concetto informatico

L'architettura informatica è l'insieme dei criteri in base ai quali è progettato e realizzato un sistema informatico oppure un dispositivo facente parte di esso (es. computer).

Tipologia

Architettura hardware

 
Schema di un IBM compatibile

Per architettura hardware si intende l'insieme dei criteri di progetto in base ai quali è progettato e realizzato un computer, oppure un dispositivo facente parte di esso. Per estensione, descrivere l'architettura di un dispositivo significa, in particolare, elencarne le sottoparti costituenti ed illustrarne i rapporti interfunzionali.

Chi si occupa di architettura dei calcolatori ha il compito di costruire sistemi di elaborazione di diversa complessità (da una semplice scheda elettronica a un complesso sistema con grossa potenza di calcolo) mettendo insieme questi componenti elementari.

È anche importante sottolineare la differenza che intercorre tra elettronica e architettura dei calcolatori: l'elettronico ha il compito di costruire circuiti veloci ed efficienti, si occupa quindi di migliorare i "mattoni", i componenti elementari del sistema; l'architetto dei calcolatori ha invece il compito di ottenere le migliori prestazioni possibili (in termini di potenza di calcolo, costi in termini economici) assemblando in maniera efficiente i componenti elementari.

Elementi base

I "mattoni" che costituiscono un sistema di calcolo sono:

Mettendo insieme le porte logiche, che sono tipicamente circuiti realizzati con diverse tecnologie elettroniche (CMOS, TTL, ECL) è possibile costruire le cosiddette macchine elementari che si dividono in macchine combinatorie e macchine sequenziali.

Macchine combinatorie

  Lo stesso argomento in dettaglio: Circuito combinatorio.

I circuiti (o macchine) combinatori possono essere modellati matematicamente con funzioni booleane di variabili booleane del tipo   dove   è il vettore delle uscite del sistema e   è il vettore degli ingressi; come si nota dall'argomento della funzione  , i circuiti combinatori non sono dotati di stato, sono sistemi adinamici e quindi l'uscita del sistema in un istante   dipende solo dall'ingresso applicato al sistema nello stesso istante e non dagli ingressi precedentemente applicati (supponendo per semplicità che non ci siano ritardi di propagazione tra ingresso e uscita). Le macchine combinatorie elementari sono le seguenti:

 
Astrazione dall'hardware al software

Macchine sequenziali

Le macchine sequenziali invece sono sistemi del tipo   dove   è il vettore delle uscite,   è il vettore degli ingressi e   è il vettore degli stati. Quindi una macchina sequenziale è un sistema dinamico, la cui uscita in un generico istante dipende sia dall'ingresso sia dallo stato del sistema in quell'istante. Le macchine sequenziali fondamentali sono:

Processori e sistemi

Il termine è spesso usato in riferimento alla configurazione dei processori (architettura x86, CISC, RISC, SPARC, 32-bit, 64-bit, pipeline) e, quando si parla di prodotti di consumo, si usa in contrapposizione alla parola software: le soluzioni hardware risolvono le loro funzionalità sotto forma di dispositivo dedicato, quelle software sono soluzioni sviluppate sotto forma di programmi eseguibili che possono essere caricati su dispositivi general purpose.

Nell'ambito dei sistemi informatici diffuse sono le architetture hardware n-tier, mentre nelle grandi realtà si parla di architettura telematica.

Architettura software

 
I componenti di desktop libre

L'architettura software è l'organizzazione fondamentale di un sistema, definita dai suoi componenti, dalle relazioni reciproche tra i componenti e con l'ambiente, e i principi che ne governano la progettazione e l'evoluzione. Questa definizione deriva dallo standard IEEE 1471-2000. Al pari delle architetture hardware, descrivere l'architettura software di un sistema significa elencarne le sottoparti costituenti ed illustrarne i rapporti interfunzionali. Più precisamente, l'architettura software include l'insieme delle decisioni significative sull'organizzazione di un sistema software. L'implementazione di architetture software complesse spesso dà vita a piattaforme software.

Nelle grandi realtà l'architettura software è parte dell'architettura telematica. Nell'ambito delle reti informatiche un esempio di architetture software sono le architetture di rete a strati, mentre nelle applicazioni web sono diffuse le architetture software multi-tier.

Voci correlate

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica