Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Memorizzazione su calcolatore e codifica
La unità atomica è il bit; l'insieme di 8 bit è detto byte. Word è tipicamente 16, 32 o 64 bit, ed è l'insieme di bit la cui dimensione è un'importante caratteristica del calcolatore considerato, poiché influenza la larghezza degli indirizzi, la dimensione dei registri del processore e la larghezza dei bus (word o multipli di essa).
Intervallo di variabilità
Il bit ha come numero di configurazioni 2, con un intervallo di variabilità di {0,1}. Il byte ha come numero di configurazioni 256, e l'intervallo di variabilità dipende dal tipo di codifica.
Codifica dei testi
Si utilizza una tabella arbitraria. Lo standard di oggi universalmente conosciuto è la codifica ASCII (American Standard Code for Information Interchange), con cui ogni carattere (simbolo) è codificato con 7 bit (128 simboli diversi). Oltre alla codifica ASCII, esiste la...
Codifica UNICODE. Partendo dalla codifica extended ASCII (con 8 bit per carattere) si aggiungono i caratteri etnici e si ottengono 16 bit per carattere: 16 Codifica UNICODE.
ALGEBRA BOOLEANA
Si basa su variabili dette logiche o booleane aventi due soli possibili valori:
- Vero - true - 1
- Falso - false - 0
F(x, y, z)
Una funzione booleana di tre variabili sarà così: e, come tutte le funzioni booleane, sarà caratterizzata dalla propria tabella di verità:
x | y | z | F |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
FUNZIONI BOOLEANE
Si hanno due tipologie di funzioni:
- Funzioni completamente specificate: se per tutte le combinazioni delle variabili il suo valore è determinato
- Funzioni non completamente specificate: se a una o più combinazioni delle sue variabili non corrisponde alcun valore della funzione
COSTANTI BOOLEANE
In contrapposizione alle variabili, vi sono le costanti. Essendo l'algebra
booleana definita su due solisimboli, esistono solo due costanti: 0 e 1.
OPERATORI LOGICI
Tra le variabili e le costanti viste in precedenza, possono intervenire delle relazioni. Queste relazioni vengono gestite da degli operatori logici, in dipendenza dal numero di variabili che utilizzano:
Monadici
Diadici
Esempi di operatori
Il risultato dell'operatore NOT è il complemento dell'unica variabile: se x = 0, NOT x = 1
Il risultato dell'operatore AND è vero se e solo se sono vere entrambe le variabili 0 AND 1 = 0; 1 AND 1 = 1; 0 AND 0 = 0.
Il risultato dell'operatore OR è vero solo se è vera almeno una delle variabili: 0 OR 0 = 0; 0 OR 1 = 1; 1 OR 1 = 1.
Il risultato dell'operatore XOR è vero solo se è vera solo una delle due variabili: 0 XOR 0 = 0; 0 XOR 1 = 1; 1 XOR 1 = 0.
Il risultato dell'operatore NAND è vero solo se è falso l'AND tra le due variabili: 0 NAND 0 = 1; 1 NAND 1 = 0.
= 0; 1 NAND 0 = 1
Il risultato dell'operatore NOR è vero solo se è falso l'OR tra le due variabili: 0 NOR 0 = 1; 0 NOR 1 = 0; 1 NOR 0 = 0.
ESPRESSIONI LOGICHE
Un insieme di variabili e/o costanti booleane a cui siano applicati gli operatori logici, si dice espressione booleana o espressione logica.
Un' espressione logica rappresenta una funzione logica (vedi foto tg).
INTRODUZIONE ALL'ARCHITETTURA DEI CALCOLATORI
ARCHITETTURA DEI CALCOLATORI
Un calcolatore è un sistema, ovvero un oggetto costituito da molteplici parti che interagiscono, cooperando, al fine di ottenere un certo comportamento. Studiare l'architettura di un sistema significa individuare ciascun componente del sistema, comprendere i principi generali di funzionamento di ciascun componente e comprendere come i vari componenti interagiscono tra loro.
La prima decomposizione di un calcolatore, individua due macro-componenti:
Hardware: struttura fisica del calcolatore, costituita da
elementi elettronici e elettromeccaniciSoftware: l'insieme dei programmi che consentono all'hardware di svolgere compiti utili; il software comprende il software di base e il software applicativo.
CARATTERISTICHE FONDAMENTALI
Le caratteristiche essenziali del calcolatore, partono dal fatto che riesce ad eseguire sequenze di istruzioni memorizzate. Il calcolatore è composto da un'unità di elaborazione e da un'unità di controllo.
Il compito di un elaboratore si riassume in tre punti:
- Preleva le istruzioni dalla memoria
- Interpreta i codici di istruzione
- Effettua le azioni che questi prevedono
Il programma è invece un insieme organizzato di istruzioni.
ORGANIZZAZIONE A LIVELLI
Hardware e software sono organizzati a livelli (o strati), a cui corrisponde una macchina (reale o virtuale) in grado di eseguire un proprio insieme di operazioni. Ciascun livello fornisce un insieme di operazioni più semplici da utilizzare rispetto a
quelle del livello sottostante, e ogni livello è realizzato intermini dell'insieme di operazioni del livello sottostante.
COMPONENTI DI UN CALCOLATORE
L'hardware inteso come tastiera, mouse, schermo, memoria secondaria (dispositivi di input e output), si interfaccia attraverso i bus del computer con la memoria centrale e la CPU, nella cosiddetta macchina di Von Neumann.
BUS E SOLUZIONE MASTER-SLAVE
Il bus è una linea a cui sono contemporaneamente connesse le unità del calcolatore e che consente il trasferimento di dati tra tali unità.
Un problema che affligge questa linea è che essa è contesa su un mezzo condiviso, ovvero contemporaneamente è in comune a CPU, memoria e ai dispositivi di input e output.
La soluzione a questo problema è nominare la CPU come master e le periferiche come slave.
Vantaggi:
- Semplicità: una sola linea di connessione a prescindere dal numero di dispositivi;
- Estendibilità: nuovi dispositivi
Può essere aggiunto tramite un'interfaccia al bus senza influenzare l'HW.
Standardizzabilità: definizione di normative che consentono a periferiche di costruttori diversi di interagire correttamente.
Svantaggi:
- Lentezza: vengono inibite almeno parzialmente le parallelizzazioni delle operazioni di trasferimento dei dispositivi.
- Limitata capacità: al crescere del numero dei dispositivi, la presenza di una sola linea di bus comporta un limite alla capacità di trasferire i dati.
- Sovraccarico della CPU: l'unità centrale viene coinvolta in tutte le operazioni di trasferimento di dati.
TIPI DI BUS
Sono presenti diversi tipi di bus, tra cui:
- Bus dati: per trasferire dati.
- Bus indirizzi: che identifica la posizione delle celle di memoria con cui la CPU va a scrivere o leggere.
- Bus di controllo: transitano i segnali di controllo che consentono di selezionare le unità coinvolte in un trasferimento dati.
ARCHITETTURA VON
Neumann Si basa su di un codice di programma che risiede, memorizzato, nella stessa memoria dei dati. Così facendo, la memoria viene differenziata per dati e istruzioni e solo l'interpretazione da parte della CPU è da riguardarsi come un dato o come un'istruzione. L'UNITÀ CENTRALE DI ELABORAZIONE ORGANIZZAZIONE TIPICA (BUS ORIENTED) ELEMENTI DI UNA CPU Gli elementi di una CPU, sono diversi: Unità di controllo: legge le istruzioni dalla memoria e ne determina il tipo Unità aritmetico-logica: esegue le operazioni necessarie per eseguire le istruzioni Registri: memoria ad alta velocità usata per risultati temporanei, determina il parallelismo delle CPU e si distingue in registri generici e registri specifici. TIPOLOGIE DI ISTRUZIONI Esistono tre tipologie di istruzioni leggibili da un elaboratore: 1. Istruzioni aritmetico logiche (elaborazione di dati). a. Somma, sottrazione, divisione, moltiplicazione b. And, or, Xor c. Maggiore, minore,uguale, maggiore uguale2. Controllo del flusso delle istruzioni- Sequenza
- Selezione
- Ciclo a condizione iniziale e a condizione finale
Trasferimento di informazione
- Trasferimento dati e istruzioni tra CPU e memoria
- Trasferimento dati e istruzioni tra CPU e dispositivi I/O
MEMORIE
ALCUNE CONSIDERAZIONI
In un elaboratore deve esserci la memoria, viceversa non funzionerà. La memoria perfetta è illimitata, con accesso istantaneo e privo di costi, una memoria inesistente. Sono infatti necessari dei compromessi tra costo, prestazioni e dimensioni della memoria. Non tutte le memorie sono uguali.
A lato la gerarchia delle memorie con all'apice, la memoria interna (cache, memoria centrale e i registri), in centro la memoria esterna online (dischi magnetici), alla base la memoria esterna offline (cd-rom, dvd, nastri). Il tempo di accesso aumenta con l'avvicinarsi alla base, così come la capacità; la frequenza di accesso è molto alta all'apice e
Il compito della memoria è quello di contenere dati e offrire possibilità di leggere e scrivere al suo interno. Le memorie cache e principale sono indirizzate direttamente, ovvero la CPU può scriverci accedendovi direttamente; le memorie secondarie sono, invece, indirizzate indirettamente, ovvero il loro contenuto deve essere prima trasferito in memoria centrale.
La cosiddetta memoria volatile è quel particolare tipo di memoria il cui contenuto viene perso se il computer si spegne (cache), mentre la memoria permanente conserva il suo contenuto anche senza alimentazione.
MEMORIE ESTERNE
Contengono le istruzioni che devono essere eseguite dal processore, con accesso diretto e casuale (RAM). I registri fanno parte della CPU e contengono un'istruzione, così come la cache memory, usata quest'ultima come memoria temporanea.
DISCO MAGNETICO E ALTRE TIPOLOGIE DI MEMORIE
Fa parte delle memorie secondarie ed decresce con l'avvicinarsi alla base.
È il tipo di memoria più diffuso, grazie all'ottimo compromesso tra costi e prestazioni. È, tuttavia, suscettibile a danneggiamenti. Gli altri tipi di memorie secondarie sono qualsiasi dispositivo di memoria esterna come chiavette USB, dischi esterni, CD/DVD, memorie SD o micro SD e infine i nastri magnetici. La ROM fa parte delle memorie a sola lettura, il cui accesso può essere casuale o sequenziale e vengono usate per contenere dati permanenti che non devono essere modificati. PERIFERICHE DI INPUT E OUTPUT GENERALITÀ Il loro scopo è quello di realizzare l'interazione tra uomo e macchina, consentendo l'immissione di