Professional Documents
Culture Documents
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:
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:
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
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 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:
Bus Dati (DBUS), la sua dimensione indica la dimensione di una cella di memoria;
Bus degli indirizzi (ABUS), la sua dimensione determina il massimo numero di celle di memoria indirizzabili;
Bus di Controllo (CBUS), trasporta i dati di controllo (anche verso le periferiche);
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|| ||
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:
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: = 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: 1101= 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0= 8 + 4 + 0 + 1 = 13
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:
13
6
3
1
0
1101
1
0
1
1
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:
1
0
0
1
1 rip
1 1 0+
1 1 1=
1 0 1
-1
0 1 0 10 0 1 1=
0 0 1 0
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
rappresentabile come 00=+0 e 10=-0), operazioni complesse. Con N numero di Bit, rappresentabile
lintervallo [(21 1), 21 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 21 .
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& 101102
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
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.
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
Prefissi SI
Nome
Prefissi binari
Simbolo
Nome
Simbolo
kibibyte
KiB
= 2 bit
mebibyte
MiB
= 2 bit
gibibyte
GiB
= 2 bit
1kilobyte
kB
= 10 byte
1megabyte
MB
= 10 byte
1gigabyte
GB
= 10 byte
10
20
30
Francesco Sole
Leandro Terzo