Fondamenti di Architettura dei Calcolatori: Rappresentazione Dati e Valutazione Prestazioni

Classificato in Informatica

Scritto il in italiano con una dimensione di 9,09 KB

Concetti Fondamentali nell'Architettura dei Calcolatori

Rappresentazione dei Dati e Codifiche

Cosa significa la sigla EBCDIC?

EBCDIC sta per Extended Binary Coded Decimal Interchange Code (Codice di Interscambio Decimale Codificato in Binario Esteso).

Come si esprime in forma generale un numero in virgola mobile?

Un numero in virgola mobile (floating-point) è generalmente espresso nella forma: N = M × BE, dove:

  • M è la mantissa
  • B è la base
  • E è l'esponente

A cosa serve e dove si utilizza la notazione in complemento a due?

La notazione in complemento a due è utilizzata nelle macchine (ad esempio, con parole di 8 bit) per rappresentare numeri interi con segno. Il suo scopo principale è quello di incorporare il bit del segno del numero in modo efficiente, semplificando le operazioni aritmetiche.

Qual è la differenza tra il complemento a 1 e il complemento a 2?

  • Il complemento a 1 di un numero binario si calcola invertendo tutti i suoi bit (sostituendo gli 1 con 0 e gli 0 con 1).
  • Il complemento a 2 si ottiene calcolando il complemento a 1 del numero e successivamente aggiungendo 1 al risultato.

Come si definisce il complemento di un numero in aritmetica modulare?

In aritmetica modulare, il complemento di un numero N modulo n è definito come: Complementon(N) = n - N (o, più generalmente, l'inverso additivo modulo n).

Come si calcola il complemento a nove di un numero?

Il complemento a nove di un numero decimale si ottiene sottraendo ogni cifra del numero da 9. Questo complemento è equivalente al complemento a dieci meno uno.

Come si rappresenta il segno nei numeri binari?

Il segno nei numeri binari è rappresentato da un bit di segno, solitamente il bit più significativo (MSB). Convenzionalmente, 0 indica un numero positivo e 1 indica un numero negativo (nella rappresentazione con segno e modulo, o complemento a due).

Come si esegue la moltiplicazione in notazione complemento a due?

La moltiplicazione in notazione complemento a due può essere eseguita utilizzando il metodo di Booth. Questo metodo prevede la generazione e la somma di prodotti parziali, e il risultato finale avrà una lunghezza pari al doppio della lunghezza degli operandi (moltiplicando e moltiplicatore).

Perché i numeri in virgola mobile sono utilizzati nei computer?

I numeri in virgola mobile sono utilizzati nei computer perché permettono di rappresentare un'ampia gamma di valori (da molto piccoli a molto grandi) con una precisione ragionevole, utilizzando una quantità di memoria fissa e relativamente contenuta. Questo sarebbe molto inefficiente o impossibile con la rappresentazione a virgola fissa.

Quando si utilizzano i numeri in notazione scientifica?

I numeri in notazione scientifica sono utilizzati principalmente nei calcoli scientifici per rappresentare valori molto grandi (ad esempio, distanze astronomiche) o molto piccoli (ad esempio, spazi interatomici), in modo compatto e preciso.

Cosa stabilisce lo standard IEEE 754 per la rappresentazione dei numeri in virgola mobile?

Lo standard IEEE 754 definisce la rappresentazione dei numeri in virgola mobile. Stabilisce che l'esponente è rappresentato in una forma "polarizzata" (biased), dove il valore zero dell'esponente corrisponde a un valore medio, poiché l'esponente non ha un bit di segno esplicito.

  • Nella variante a precisione singola (32 bit), l'esponente (8 bit) ha un intervallo di valori da 0 a 255 (con 0 e 255 riservati), permettendo esponenti effettivi da -126 a +127.
  • Nella variante a precisione doppia (64 bit), l'esponente (11 bit) ha un intervallo di valori da 0 a 2047 (con 0 e 2047 riservati), permettendo esponenti effettivi da -1022 a +1023.

Quali sono le forme standardizzate IEEE 754 per esprimere un numero in virgola mobile?

Lo standard IEEE 754 definisce principalmente due formati per la rappresentazione dei numeri in virgola mobile:

  • Formato a Precisione Singola (32 bit):
    • 1 bit per il segno
    • 8 bit per l'esponente
    • 23 bit per la mantissa
  • Formato a Precisione Doppia (64 bit):
    • 1 bit per il segno
    • 11 bit per l'esponente
    • 52 bit per la mantissa

Esistono anche formati a precisione estesa, come la precisione singola estesa (minimo 43 bit) e la precisione doppia estesa (minimo 79 bit).

Rilevamento e Correzione degli Errori

Come funziona un rilevatore di codice di errore?

Un rilevatore di codice di errore è un meccanismo che aggiunge bit ridondanti alle informazioni, necessari affinché i dati siano inviati o ricevuti correttamente. Esistono diversi metodi:

  • Bit di parità: Viene aggiunto un 1 o uno 0 in base a una convenzione prestabilita (parità pari o dispari).
  • Codice di Hamming: Questo codice non solo rileva gli errori, ma è anche in grado di correggerli, evitando la necessità di ritrasmettere il messaggio.

Cosa sono i bit di riporto (carry bit)?

I bit di riporto (o carry bit) sono bit che possono essere generati quando il risultato di un'operazione aritmetica (ad esempio, una somma) supera la capacità di rappresentazione degli operandi, indicando un overflow o un riporto da una posizione all'altra.

Qual è il principale utilizzo dei codici ottimizzati per il consumo energetico?

Il principale utilizzo dei codici ottimizzati per il consumo energetico è la trasmissione efficiente dei dati, specialmente in contesti dove la durata della batteria o l'efficienza energetica sono critiche (es. IoT, dispositivi mobili).

Cosa si intende per controllo di ridondanza modulo sette (Radix-7 Modulo Check)?

Il controllo di ridondanza modulo sette è una tecnica applicata ai numeri binari, spesso raggruppati in quartetti di bit. Determina il Residuo Modulo Sette (RMS) di ciascun gruppo, applicando regole simili a quelle utilizzate per il Residuo Modulo Nove (RMN) nei numeri decimali, per scopi di verifica dell'integrità dei dati.

Valutazione delle Prestazioni dei Sistemi

Cosa significa il termine SPEC?

SPEC (Standard Performance Evaluation Corporation) è un consorzio privato dedicato alla definizione di benchmark (parametri di riferimento) standardizzati per la valutazione delle prestazioni dei sistemi informatici. Questi benchmark sono sviluppati in collaborazione con aziende rispettabili del settore.

Cosa sono i kernel (nel contesto dei benchmark)?

I kernel sono piccole sezioni di programmi reali, selezionate per focalizzarsi su specifici aspetti delle prestazioni complessive di una macchina, permettendo una valutazione mirata.

Quali sono i quattro tipi di programmi utilizzati per l'analisi delle prestazioni?

  1. Benchmark Sintetici: Programmi che cercano di confrontare la frequenza media delle operazioni e degli operandi, basandosi su modelli derivati da molti programmi, ma che non svolgono alcuna attività reale specifica.
  2. Benchmark Semplici (o Micro-benchmark): Programmi brevi (spesso non più di 100 righe di codice) con un risultato ben noto, utilizzati per valutare parametri specifici e basilari delle prestazioni.
  3. Kernel: Piccole sezioni di programmi reali, selezionate per focalizzarsi su specifici aspetti delle prestazioni complessive di una macchina.
  4. Programmi Reali (o Applicazioni Reali): Applicazioni complete con input e output reali, che misurano la capacità operativa complessiva della macchina in scenari d'uso effettivi. Esempi includono i benchmark SPEC e CMG.

Come si misurano le prestazioni di una macchina utilizzando MIPS?

Le prestazioni di una macchina possono essere misurate utilizzando i MIPS (Millions of Instructions Per Second), che possono essere calcolati in diversi modi:

  • MIPS Normalizzati:
    MIPSNormalizzati = (Tempo di Esecuzione del Benchmark di Riferimento / Tempo di Esecuzione della Macchina Testata) × MIPSdi Riferimento
  • MIPS Nativi:
    MIPSNativi = (Numero di Istruzioni Eseguite) / (Tempo di Esecuzione × 106)
    Oppure:
    MIPSNativi = (Frequenza di Clock) / (CPI × 106)
    Dove CPI sta per Cycles Per Instruction (Cicli per Istruzione).

Voci correlate: