Sei sulla pagina 1di 5

Riassunto Teoria Informatica

Teorema Bohm Jacopini: Qualunque diagramma di flusso sempre trasformabile in un diagramma di flusso strutturato
equivalente a quello dato. (quindi, qualunque flusso logico pu essere realizzato utilizzando solamente due strutture di
controllo, meccanismo di decisione, meccanismo di ripetizione [il loop]).
Esistono due grandi classi di elaboratori:
Elaboratori di uso generale (general-purpose computer);
Elaboratori dedicati (special-purpose computer) un elaboratore dedicato (embedded system) svolge funzioni
specifiche definite a priori in fase di progetto/produzione.
Server: un elaboratore che fornisce dei servizi ad altri elaboratori chiamati clients, attraverso una rete (computer
network).
Server Farm: un insieme di elaboratori server collocati in un apposito locale (centro di calcolo), presso una media o
grande azienda.
Mainframe: sono elaboratori che offrono grandi prestazioni, usati da grandi imprese per rilevanti applicazioni software.
Algoritmo: una sequenza finita di azioni che devono essere seguite meccanicamente per giungere alla soluzione di un
problema. Il computer segue questo tipo di processi.
Creazione di un programma:
Scrittura di un file sorgente (e.g. main.c);
Elaborazione del file sorgente nel compilatore (e.g. Codeblocks);
Creazione del file oggetto, cio la traduzione del file sorgente in linguaggio macchina (binario);
File oggetto viene passato al linker che vi aggiunge delle componenti da, ad esempio, librerie, che permettono
luso di funzioni quali la stampa, la lettura ecc.;
Creazione del file eseguibile (.exe).
Ambiente integrato (IDE, Integrated Development Environment): unapplicazione software che contiene al suo
interno un editor di testi per programmatori, un compilatore C, un ambiente di verifica dei programmi.

1.Memoria Centrale : memoria veloce, contiene i dati che devono essere elaborati; interagisce frequentemente con
lunit di elaborazione.
composta da:
RAM= Random Access Memory: memoria volatile, non permanente. Dati di istruzione pi veloci e pi
frequenti con lunit di elaborazione. Il tempo di accesso a qualunque cella di memoria sempre
costante;
ROM= Read Only Memory: un classe di dispositivi di memoria a prevalente utilizzo in lettura che
contiene dati utili allavvio, scritta una sola volta e non modificabile.
2.Memoria di Massa: contiene i dati che vogliamo immagazzinare (Hard disk, Cd, floppy).
Il Microprocessore un chip che realizza le funzioni di CPU (Central Processing Unit) in un computer o in un sistema
digitale. un elemento complesso, il cervello dellapparecchio.

Una generica CPU contiene:
un'unit di controllo (anche nota con l'acronimo "CU") un componente delle CPU che ha il compito di
coordinare tutte le azioni necessarie per l'esecuzione di una istruzione e di insiemi di istruzioni. il componente
che d la possibilit al microprocessore di eseguire istruzioni diverse.

un'unit aritmetica e logica (anche nota con l'acronimo "ALU") che si occupa di eseguire le operazioni logiche e
aritmetiche. Solitamente composta da circuiti combinatori. Ogni unit ha un dato compito non flessibile, ma
comunque molto veloce.

dei registri, speciali locazioni di memoria interne alla CPU, molto veloci, a cui possibile accedere molto pi
rapidamente che dalla memoria: il valore complessivo di tutti i registri della CPU costituisce lo stato in cui essa si
trova attualmente. I registri sono pochi in numero e di ridotte dimensioni. Due registri sempre presenti sono:
il registro IR (Istruction Register), che immagazzina l'istruzione in fase di elaborazione, e il PC (Program
Counter), che contiene l'indirizzo in memoria della prossima istruzione da eseguire (e da cui fare il fetch);
il registro dei flag: questo registro non contiene valori numerici convenzionali, ma piuttosto un insieme
di bit, detti appunto flag, che segnalano stati particolari della CPU e alcune informazioni sul risultato
dell'ultima operazione eseguita.

L'unit di decodifica si occupa di ricevere le istruzioni in ingresso e di attivare le opportune unit interne del
processore per eseguire l'istruzione caricata;

L'unit di gestione della memoria o memory management unit ("MMU") una classe di componenti hardware
che gestisce le richieste di accesso alla memoria generate dalla CPU. La MMU pu avere vari compiti tra cui la
traslazione (o traduzione) degli indirizzi virtuali in indirizzi fisici, la protezione della memoria, il controllo della
cache della CPU, l'arbitraggio del bus, la commutazione di banchi di memoria.

Unit di controllo dei Bus.

Bus (sistema circolatorio del computer) sono componenti hardware che interfacciano le diverse unit dellelaboratore o
diversi elaboratori. Se mal dimensionato, potrebbe essere un collo di bottiglia.Caratteristiche di un bus sono:
Trasporto di un solo dato per volta;
Frequenza, ossia i numeri di dati trasportati al secondo;
Ampiezza, il numero di bit di cui costituito il singolo dato.
Un singolo Bus suddiviso in tre sotto-bus:
Bus Dati (DBUS), trasporta i dati di controllo (anche verso le periferiche);
Bus degli indirizzi (ABUS), la sua dimensione determina il massimo numero di celle di memoria indirizzabili;
Bus di Controllo (CBUS), la sua dimensione indica la dimensione di una cella di memoria;

Pi grande lAbus, pi celle possono essere rappresentate, pi indirizzi vengono trasportati con maggiore possibilit
di combinazione; pi grande il Dbus tanto pi grande la dimensione di una singola cella.
Le caratteristiche del Bus sono correlate alla quantit massima di memoria centrale che si pu fisicamente installare
sul PC computer, secondo la formula:
Max Mem= 2
|Abus| bt
- |bus|bit
La massima quantit di memoria esterna dipende dal bus di I/O (quello su cui sono collegati i periferici): non
dipende dallaABUS.

I bus di Input Output mettono in comunicazione il computer con le periferiche, attraverso specifiche interfacce,
permettendo il contatto con il mondo umano. Esempi di bus di I/O (o esterni) sono Usb, Universali, orientati alle
memorie di massa (tipo lettore cd e simili).
Un Elaboratore esegue le istruzioni basandosi su un ciclo standard:
1) Prelievo di unistruzione della memoria centrale;
2) Istruzione caricata sulla CPU che attiva le zone addette con le giuste tempistiche;
3) Lindirizzo dellistruzione da eseguire viene passato dal PC allIR;
4) Logica di Controllo interpreta listruzione;
5) Esecuzione il comando viene passato dalla Logica di Controllo allesecutore: la periferica manda un messaggio
di stato;
6) In caso di avvenuta di esecuzione, il ciclo ricomincia, in caso contrario viene segnalato un errore.

Il Clock: ogni elaboratore contiene un elemento di temporizzazione, il clock ,un segnale digitale sincrono, che genera un
riferimento temporale comune per tutti gli elementi costituenti il sistema di elaborazione.
Un ciclo macchina un intervallo di tempo in cui viene svolta unoperazione elementare, ed un multiplo intero del
periodo (T) del Clock. Lesecuzione di unistruzione richiede un numero intero di cicli macchina.

Sistemi di numerazione: A = _ o

- B
N-1
=0
Dove B la base e a la cifra (da 0 a B-1)

Sistema Binario: in base 2, le cifre sono 1 e 0 ( spesso 1=chiuso e 0=aperto). La prima cifra nel sistema binario
prende il nome di MSB (Most Significant Bit), mentre lultima LSB (Least Significant Bit).
Come convertire:
Da Binario a Decimale: si applica la definizione scritta sopra, effettuando la somma pesata delle cifre
binarie. ESEMPIO: 11012= 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0= 8 + 4 + 0 + 1 = 1310
Da Decimale a Binario: si procede con divisioni successive per 2, riportando il resto (che pu essere 1 o 0);
al termine delloperazione si ricopiano i resti in ordine inverso.
ESEMPIO:
1101
Attraverso il linguaggio binario si possono rappresentare numeri limitati dal numero N di bit disponibili: per
lesattezza, possono essere create 2^N combinazioni (dove il minimo 0 e il massimo 2^N -1, inclusi).
[Min = 000 Max= 111].

Operazioni con i numeri binari:
SOMMA, regole base. 0+0=0 1+0=1 1+1=0 con riporto di 1
DIFFERENZA, regole base. 0-0=0 1-1=0 1-0=1 0-1=0 con prestito di 1 alla cifra successiva



Ci sono delle limitazioni per la somma: lOverflow.
Esso indica lerrore che si verifica in un sistema di calcolo automatico quando il risultato di una operazione
non rappresentabile tramite la medesima codifica e numero di bit degli operandi.
Nella somma in binario puro si ha overflow quando si lavora con numero fisso di bit e si ha carry sul MSB.

Per rappresentare numeri col segno in binario, esistono varie codifiche:
Modulo e segno: lMSB assumer valore 0 per segno positivo, 1 se il segno negativo; verranno quindi
occupati un Bit dal segno e N-1 Bit dal modulo. Gli svantaggi sono il doppio zero (lo zero
13 6 3 1 0
1 0 1 1
-1
0 1 0 1 -
0 0 1 1 =
0 0 1 0
1 1 rip
0 1 1 0 +
0 1 1 1 =
1 1 0 1
rappresentabile come 00=+0 e 10=-0), operazioni complesse. Con N numero di Bit, rappresentabile
lintervallo [-(2
N-1
-1), 2
N-1
- 1] (si parla di range simmetrico)
Complemento a 2: in questa codifica per il numero a N bit, il MSB ha peso negativo, pari a -2
N-1
.
Mentre gli altri bit hanno peso positivo. Di conseguenza il MSB indica sempre il segno: 0=+ 1= -.
Per quanto riguarda le operazioni, queste si effettuano senza badare ai segni degli operandi.
Con operandi aventi segno discorde, non si pu mai verificare overflow, mentre, in caso contrario,
loverflow si verifica quando il risultato ha segno discorde da quello degli operandi; nel caso in cui si
verifica un carry sullultima cifra, esso non si considera.
Per convertire un numero decimale con segno in CA2: se il numero positivo, CA2=M&S; se il numero negativo, si
calcola il corrispondente positivo in M&S, dopodich si ricopia da destra verso sinistra fino al primo numero 1,
quindi si copia invertendo gli uni con gli zeri.
ESEMPIO: -10 |-10| = 01010
M&S
10110
CA2

LA LOGICA BOOOLEANA
La logica su cui si basa il computer, proprio la logica Booleana, basata su variabili che sono in grado di assumere
solo due valori, Vero o Falso, e importanza centrale ha la distinzione tra variabili dipendenti e variabili
indipendenti.
Gli operatori si dividono tra operatori Unari (es. not) e Binari (es. and) che vengono descritti tramite una tavola
delle verit: per N operandi la tabella avr 2^N righe che elencano tutte le possibili combinazioni di valori che delle
variabili indipendenti ed il valore assunto dalla variabile dipendente.
Una funzione booleana una combinazione di variabili e operatori booleani che associa pi variabili indipendenti
e restituisce una variabile










INDICHIAMO CON + LOR, CON LAND
AB=BA ; A+B=B+A (prop. Commutativa)
A(B+C) = AB + AC ; A+(B C) = (A+B) (A+C) (prop. Distributiva)
A1=A
A0=0
A+1=1
A+0=A
A+B= !(!A!B) ; AB=!(!A+!B) (Teorema di De Morgan)
Seguendo questa logica, si passa dal Transistor al Chip. Il Chip, attraverso delle porte logiche, elabora il segnale
ricevuto, applicando la logica booleana, trasformandolo in un segnale elettrico di I/O.




Quando ci viene sottoposto un problema di logica booleana bisogna:
1. Individuare le variabili Booleane.
2. Creare la tabella di verit.
3. Scrivere lespressione algebrica
4. Operare eventuali semplificazioni
5. Disegnare il circuito utilizzando le porte logiche partendo dallespressione trovata.
Spazio occupato dalle variabili (IN GENERALE, se non diversamente specificato):
Char: 1 byte;
Int: 2 byte (dipende dalla struttura dellelaboratore);
Long: 4 byte (dipende dalla struttura dellelaboratore);
Float: 4 byte;
Double: 8 byte (dipende dalla struttura dellelaboratore);
Long double: 12 byte (dipende dalla struttura dellelaboratore).
1byte=8bit
Multipli del byte:

Prefissi SI

Prefissi binari
Nome Simbolo

Nome Simbolo

1kilobyte kB = 10
3
byte kibibyte KiB = 2
10
bit
1megabyte MB = 10
6
byte mebibyte MiB = 2
20
bit
1gigabyte GB = 10
9
byte gibibyte GiB = 2
30
bit




Francesco Sole
Leandro Terzo