Architettura dei calcolatori

Nell'ingegneria informatica, l'architettura informatica è la progettazione concettuale e la struttura operativa fondamentale di un sistema informatico. È il disegno tecnico e la descrizione funzionale di tutti i requisiti di progettazione (in particolare velocità e interconnessioni), è come progettare e realizzare varie parti di un computer - concentrandosi in gran parte sul modo in cui l'unità centrale di elaborazione (CPU) opera internamente e su come accede agli indirizzi in memoria.

Può essere definita come la scienza e l'arte di selezionare e interconnettere componenti hardware per creare computer che soddisfino gli obiettivi funzionali, prestazionali e di costo.

L'architettura informatica comprende almeno tre sottocategorie principali:

  1. L'architettura del set di istruzioni, o ISA, è il modello astratto di un sistema di calcolo che viene visto da un programmatore di linguaggio macchina (o linguaggio assembly), compresi il set di istruzioni, le modalità di indirizzo della memoria, i registri del processore e i formati di indirizzo e dati.
  2. La microarchitettura, nota anche come Organizzazione informatica è un livello inferiore, una descrizione dettagliata del sistema che è sufficiente per descrivere completamente il funzionamento di tutte le parti del sistema informatico, e come sono interconnesse e interagiscono per implementare l'ISA. La dimensione della cache di un computer, ad esempio, è una questione organizzativa che generalmente non ha nulla a che fare con l'ISA.
  3. System Design che include tutti gli altri componenti hardware all'interno di un sistema informatico come ad esempio:

·         Interconnessioni di sistema come bus per computer e interruttori.

·         Controllori di memoria e gerarchie.

·         Meccanismi di off-load della CPU come l'accesso diretto alla memoria.

·         Problemi come il multi-processing.

Una volta specificate sia l'ISA che la microarchitettura, il sistema informatico vero e proprio deve essere progettato in hardware. Questo processo di progettazione si chiama implementazione. L'implementazione è solitamente un processo di progettazione dell'hardware.

L'implementazione può essere ulteriormente suddivisa in tre pezzi, ma non completamente separati:

  • Implementazione della logica: Progettazione di blocchi definiti nella microarchitettura, principalmente, a livello di registro-trasferimento e di gate.
  • Implementazione del circuito: Progettazione a livello di transistor di elementi di base (cancelli, multiplexer, flip-flop, ecc.) così come di alcuni blocchi più grandi (ALU, cache, ecc.) che possono essere implementati a questo livello, o anche ad un livello fisico inferiore, per ragioni di prestazioni.
  • Implementazione fisica: I circuiti fisici vengono estratti, i diversi componenti del circuito vengono inseriti in una piantina di chip o su una scheda e i fili che li collegano vengono instradati.

Per le CPU, l'intero processo di implementazione è spesso chiamato progettazione di CPU; può anche essere una famiglia di progetti di CPU correlati, come RISC e CISC.

Altre sottodefinizioni

Alcuni professionisti dell'architettura informatica utilizzano sottocategorie più raffinate:

  • Macroarchitettura: Strati architettonici più astratti della microarchitettura, per esempio ISA.
  • Set di istruzioni per l'architettura (ISA): Come definito sopra.
  • UISA (Microcode Instruction Set Architecture): Una famiglia di macchine con diverse microarchitetture a livello hardware può condividere un'architettura di microcodice comune, e quindi chiamata UISA.
  • Montaggio ISA: Un assemblatore intelligente può convertire un linguaggio assembly astratto comune a un gruppo di CPU in un linguaggio macchina leggermente diverso per diverse implementazioni di CPU.
  • Programmatore Macroarchitettura visibile: Strumenti di linguaggio di livello superiore come i compilatori possono definire un'interfaccia definita per i programmatori che li utilizzano, astrarre le differenze tra le sottostanti ISA, UISA e microarchitetture; per esempio gli standard C, C++, o Java definiscono tre diverse interfacce di programmazione definite.
  • Pin Architecture: L'insieme delle funzioni che un microprocessore deve fornire, dal punto di vista di una piattaforma hardware. Per esempio, i segnali che ci si aspetta che il processore emetta durante l'esecuzione di un'istruzione.

Esempi di architetture informatiche

  • La x86, realizzata da Intel e AMD.
  • La SPARC, realizzata da Sun Microsystems e altri.
  • Il PowerPC, prodotto da Apple, IBM e Motorola.

Pagine correlate

Domande e risposte

D: Che cos'è l'architettura informatica?


R: L'architettura informatica è la progettazione concettuale e la struttura operativa fondamentale di un sistema informatico. Comprende i disegni tecnici e la descrizione funzionale di tutti i requisiti di progettazione, come le velocità e le interconnessioni, al fine di creare computer che soddisfino gli obiettivi di prestazioni, costi e funzionalità.

D: Quali sono le tre principali sottocategorie dell'architettura informatica?


R: Le tre principali sottocategorie dell'architettura dei computer sono l'Instruction Set Architecture (ISA), la Microarchitettura (nota anche come Organizzazione del computer) e il System Design.

D: Che cosa comporta l'ISA?


R: L'Architettura del set di istruzioni (ISA) comporta un modello astratto di un sistema informatico che viene visto da un programmatore di linguaggio macchina o di linguaggio assembly. Include il set di istruzioni, le modalità di indirizzo della memoria, i registri del processore e i formati di indirizzi e dati.

D: Cosa comporta la microarchitettura?


R: La microarchitettura comporta una descrizione dettagliata di livello inferiore del sistema, sufficiente a descrivere completamente il funzionamento di tutte le parti del sistema informatico, nonché il modo in cui sono interconnesse e interagiscono tra loro per implementare l'ISA.

D: Cosa comporta la progettazione del sistema?


R: La progettazione del sistema coinvolge tutti gli altri componenti hardware all'interno di un sistema informatico, come le interconnessioni del sistema, come i bus e gli interruttori del computer; i controllori di memoria; i meccanismi di scarico della CPU, come l'accesso diretto alla memoria; i problemi di multiprocesso, ecc.

D: Come si suddivide l'implementazione in tre parti?


R: L'implementazione può essere suddivisa in Implementazione logica, che comprende la progettazione di blocchi definiti nella microarchitettura a livello di registro-trasferimento o di gate; Implementazione di circuito, che comprende la progettazione a livello di transistor per gli elementi di base o per i blocchi più grandi; Implementazione fisica, che comprende il disegno dei circuiti fisici, la collocazione dei diversi componenti del circuito su un piano o una scheda di chip, l'instradamento dei fili che li collegano tra loro.

AlegsaOnline.com - 2020 / 2023 - License CC3