Architettura (computer)

concetto informatico
(Reindirizzamento da Architettura hardware)

Con 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.

Schema di un IBM compatibile, con Chipset (northbridge + southbridge), CPU e flashROM

Descrizione modifica

I soggetti che si occupano di architettura dei calcolatori hanno 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 modifica

 
Chip con porte logiche

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.

Tipologia modifica

Macchine combinatorie modifica

  Lo stesso argomento in dettaglio: Circuito combinatorio.
 
Astrazione dall'hardware al software

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:

Macchine sequenziali modifica

  Lo stesso argomento in dettaglio: Circuito sequenziale.

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 modifica

Interconnessioni di reti logiche sotto forma di circuiti integrati danno vita a sistemi elettronici di elaborazione più complessi (es. programmable logic device e microcontrollori) fino ad arrivare ai processori. Il termine architettura viene dunque usato in riferimento alla configurazione di quest'ultimi (architettura x86, CISC, RISC, SPARC, 32-bit, 64-bit, pipeline, ecc...) 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.

A livello più esteso il termine architettura si riferisce all'architettura logica del computer nel suo intero comprendendo processore, memoria, registri e collegamenti tra loro, scheda madre, schede di espansione, case o cabinet ecc...(architettura di von Neumann, architettura Harvard, architettura di un processore basato su registri generali ecc..). Nell'ambito dei sistemi informatici diffuse sono invece le architetture hardware n-tier, mentre nelle grandi realtà si parla di architettura telematica.

Architettura software modifica

 
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 modifica

Altri progetti modifica

Collegamenti esterni modifica

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