Estratto del documento

Domande dai temi d'esame di fondamenti di informatica

Codici ASCII e Unicode

Si presentino i codici ASCII e UNICODE evidenziando la loro utilità. Si dica se il codice ASCII è un codice ridondante, motivando la risposta. Si presenti la distanza di Hamming anche in relazione ai codici non ridondanti e a quelli ridondanti.

Sulla base della necessità di avere calcolatori che non trattano solo numeri ma anche altri tipi di caratteri, sono stati inventati i codici. I Codici utilizzano una codifica, ovvero una corrispondenza biunivoca tra elementi di alfabeti diversi; in particolare un gruppo di elementi di un alfabeto più povero (meno elementi) identifica un solo simbolo di un alfabeto più ricco.

Definita C la cardinalità (#elementi) dell'alfabeto ricco e n il numero di cifre disponibili all'alfabeto povero per codificare l'altro, la codifica è possibile se e solo se: C <= 2n; quindi, se n >= log2C = M. Se n = M l'alfabeto povero utilizza tutte le combinazioni possibili. Se n > M il codice si dice ridondante e usa più cifre del necessario per codificare l'alfabeto ricco.

La distanza di Hamming è il numero minimo di elementi che differiscono da una parola qualsiasi all'altra di un alfabeto. Se non c'è ridondanza H = 1, altrimenti H >= 1. I codici ridondanti si usano per rilevare e correggere errori di trasmissione nei dati.

La codifica ASCII è la più utilizzata per la rappresentazione di caratteri alfanumerici e ne esistono due versioni:

  • 7 bit (+1 di parità per la correzione di errori; H = 2) che può quindi rappresentare 128 simboli (27)
  • 8 bit con 256 simboli, che aggiunge 128 simboli che però possono variare da macchina a macchina, creando dei problemi di portabilità.

Il codice Unicode utilizza invece diverse codifiche a 16 bit (65,536 simboli) e fu introdotto per rappresentare ogni simbolo di tutti i linguaggi del pianeta. ASCII non è ridondante poiché a ogni simbolo corrisponde una e una sola combinazione di bit, e per giunta non vi sono configurazioni inutilizzate.

Architettura di una generica CPU

Si descriva l’architettura di una generica CPU evidenziando in particolare le funzioni che vengono svolte dall’IR e dal decodificatore e commentando il coinvolgimento delle risorse della CPU durante la fase di fetch dell’istruzione.

La CPU (Central Processing Unit) è l'unità fondamentale di ogni calcolatore, quella che di fatto compie le varie operazioni tra i dati.

Ha più componenti:

  • Bus: sono i collegamenti fisici attraverso i quali passano i segnali elettrici e collegano le varie componenti della CPU o la CPU con l'esterno. Si dividono in base al tipo di informazione trasportata: dati (bus dati), indirizzi di memoria (bus indirizzi), istruzioni di controllo del processo o gestione delle priorità (bus di controllo).
  • Registri: piccoli blocchi di memoria in cui sono salvati i dati di interesse in un certo momento. Alcuni registri sono specializzati per racchiudere un certo tipo di informazioni:
    • Flag: registri che contengono un controllo sull'output di un'elaborazione per verificare se è andata a buon fine e non vi sono errori.
    • Program Counter: un registro che contiene sempre l'indirizzo dell'istruzione successiva da eseguire (è un puntatore → punta all'istruzione successiva).
    • Stack Pointer: contiene l'indirizzo della cima di uno stack pila, particolare struttura di dati che torna utile nella gestione di chiamate a sottoprogrammi.
  • IR (Instruction Register): utilizzato per conservare il codice operativo dell'istruzione da eseguire, da qui poi la sequenza di bit del opcode verrà decodificata per mezzo di un decodificatore che, ricevute le n linee di ingresso, attiva i (2n) circuiti appropriati per l'esecuzione dell'istruzione.
  • ALU: è l'unità che svolge le operazioni aritmetiche e logiche tra sequenze di bit, interagendo col registro dei flag per la rilevazione di errori. Spesso utilizza un registro detto accumulatore nel quale mantiene temporaneamente gli operandi o il risultato.

La fetch è la prima fase di esecuzione di un programma e consiste nel prelevare dalla memoria tutto ciò che serve per far partire la decodifica e l'esecuzione dell'istruzione. In un primo momento il PC (Program Counter) punta all'istruzione da eseguire che avrà un ce

Anteprima
Vedrai una selezione di 3 pagine su 8
Domande e Risposte di Fondamenti di Informatica 1 Pag. 1 Domande e Risposte di Fondamenti di Informatica 1 Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Domande e Risposte di Fondamenti di Informatica 1 Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher UNSIGNED di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Danese Giovanni.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community