SISTEMI. SISTEMI MISTI Modifica umana su sistemi già esistenti in natura Lago artificiale FISICI ASTRATTI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMI. SISTEMI MISTI Modifica umana su sistemi già esistenti in natura Lago artificiale FISICI ASTRATTI"

Transcript

1 SISTEMI Un calcolatore è un insieme di dispositivi che interagiscono tra di loro al fine di svolgere dei particolari lavori Un sistema è un insieme di parti o componenti correlati tra loro in modo che tale insieme possieda una propria struttura ed un proprio comportamento = interazione = sistema A B F E C D G Il componente di un sistema potrebbe interagire con un oggetto esterno al sistema che lo influenza oppure che viene influenzato dal componente L ambiente esterno è un insieme di tutti gli oggetti che, pur non appartenendo al sistema, interagiscono in qualche modo con esso Un sistema può essere considerato come un componente di un sistema più complesso Ogni componente di un sistema piò essere considerato a sua volta un sistema NATURALI Sistemi già presenti in natura SISTEMI MISTI Modifica umana su sistemi già esistenti in natura Lago artificiale ARTIFICIALI (costruiti dall uomo) FISICI ASTRATTI Un sistema si dice fisico se tutte le sue caratteristiche possono essere misurate fisicamente (confrontate con un sistema di misura) Se almeno una delle caratteristiche del sistema non può essere misurata fisicamente, esso è astratto

2 Esistono due tipi di grandezze fisiche: le grandezze fisiche costanti e le grandezze fisiche variabili Se tutte le grandezze di un sistema sono grandezze costanti, il sistema viene detto astratto In situazione opposta, il sistema dinamico In un sistema statico tutte le grandezze sono costanti Le grandezze variabili in un sistema dinamico si dividono in variabili esogene e endogene Le variabili esogene rappresentano interazioni tra il sistema e l ambiente esterno mentre le variabili endogene rappresentano caratteristiche o interazioni tra i vari componenti interni di un sistema Esogena nel sistema automobile è la pendenza della strada mentre una variabile endogena al sistema automobile è la forza motrice del motore sulle ruote Le variabili esogene a loro volta si dividono in due categorie: variabili esogene in ingresso e variabili esogene in uscita Le variabili esogene in ingresso rappresentano sollecitazioni dell ambiente esterno sul sistema Le variabili esogene in uscita, invece, rappresentano le risposte di un sistema all ambiente esterno In ingresso è la pendenza del terreno mentre in uscita è la diminuzione della velocità, quantità di chilometri percorsi I sistemi chiusi sono quelli che non hanno variabili esogene di ingresso Se possiede almeno una variabile esogena, il sistema viene detto aperto Esiste una legge ben precisa che lega tra loro tutte le variabili di un sistema Le variabili sono forza, spostamento velocità e accelerazione A volte questa legge non esiste perché, ad esempio, nessuno può prevedere i numeri di estrazione del lotto Se c è una forza che caratterizza le variabili del sistema esso è detto deterministico Un sistema si dice deterministico se esiste una legge ben precisa che lega tra loro tutte le sue variabili Un sistema viene detto probabilistico nel caso opposto Un sistema deterministico si dice invariante (o stazionario) se la legge che lega tra loro tutte le sue variabili è sempre la stessa Viceversa, se tale legge può cambiare nel tempo, il sistema si dice variante SISTEMI NATURALI ARTIFICIALI MISTI FISICI ASTRATTI STATICI DINAMICI APERTI CHIUSI PROBABILISTICI DETERMINISTICI VARIANTI INVARIANTI DISCRETI CONTINUI

3 Il calcolatore elettronico fa parte delle sezioni sottolineate DIAGRAMMA TEMPORALE V (t) Vi Ti T (sec) SISTEMI I sistemi digitali sono sistemi: 1 artificiali (non naturali) 2 fisici (non astratti) 3 dinamici (non statici) 4 aperti (non chiusi) 5 deterministici (non probabilistici) 6 invarianti (non varianti) 7 discreti (non continui) Per stabilire se un sistema è discreto o astratto è necessario studiare le sue grandezze fisiche Una grandezza fisica variabile si dice continua quando può variare il proprio valore rispetto al tempo con continuità ossia può assumere un valore diverso in qualsiasi istante Viceversa una grandezza fisica variabile si dice discreta se cambia il proprio valore solo in determinati istanti di tempo Una grandezza fisica variabile discreta si dice digitale se può assumere solo un numero finito di valori (in caso contrario viene detta non digitale) Un sistema viene detto discreto se tutte le sue grandezze variabili sono di tipo discreto Viene detto continuo nel caso opposto Inoltre tutte le variabili esogene (d ingresso e d uscita) possono assumere un numero finito di valori

4 SISTEMA CONTINUO SISTEMA DISCRETO MODELLI I modelli sono sistemi costruiti dall uomo al fine di rappresentare la struttura o il comportamento di altri sistemi I modelli si suddividono in modelli iconici e modelli analogici I modelli iconici servono per rappresentare la struttura di un altro sistema (modelli in scala) I modelli analogici rappresentano per analogia il comportamento di un altro sistema (gli strumenti di misura) Un modello è sempre un sistema anche se costruito dall uomo CLASSIFICAZIONE MODELLI 1 : MODELLI GRAFICI cioè disegni che rappresentano simbolicamente la struttura o il comportamento di un altro sistema (1 Es sistemi a blocchi che si dividono in: elettrici, logici e funzionali; 2 Es diagrammi temporali; 3 Es tabelle) 2 : MODELLI MATEMATICI che rappresentano le leggi che legano tra loro le grandezze di un sistema per mezzo di insiemi di espressioni simboliche (Es sistemi di equazioni) 3 : MODELLI PROCEDURALI che sono programmi la cui esecuzione permette di simulare il comportamento di un altro sistema (Es videogiochi) Pila Lampadina Per descrivere il comportamento di semplici sistemi digitali come questo abbiamo bisogno di fare uso di un altro tipo di modello: quello matematico che prende il nome di automa

5 Se un insieme finito con cardinalità n (di n elementi) è anche ordinato, esso si chiama ennupla ENNUPLA (e1, e2, e3,, en) Se n è uguale a 2 si parla di coppia La coppia è un insieme ordinato di due elementi La tripla è un insieme ordinato di tre elementi La quadrupla è un insieme ordinato di quattro elementi La quintupla è un insieme ordinato di cinque elementi Un automa è una quintupla del tipo (S, I, U, f, g) dove: S è un insieme e viene detto insieme degli stati I suoi elementi sono detti stati dell automa S {s1, s2, s3,, sn, ) INSIEME DEGLI STATI L insieme degli stati può essere anche infinito Se l insieme degli stati di un automa è finito, tale automa viene detto a stati finiti Gli automi a stati finiti sono utilizzabili per rappresentare il comportamento dei sistemi digitali Gli stati di un automa a stati finiti rappresentano i valori delle variabili endogene di un sistema digitale I è un insieme finito di elementi I = { i1, i2, i3,, in} INSIEME DEI VALORI D INGRESSO Di solito i valori d ingresso di un automa che rappresenta un sistema digitale rappresentano i valori delle grandezze d ingresso di tale sistema U è un insieme finito di elementi U = {u1, u2, u3,, un} INSIEME DEI VALORI D USCITA I valori di uscita di un automa rappresentano i valori delle grandezze d uscita di tali sistemi ƒ è una funzione che ha per dominio il prodotto cartesiano tra l insieme degli stati S e l insieme dei valori di ingresso I ƒ : S x I S FUNZIONE DI TRANSIZIONE DI STATO ƒ = deformazione delle grandezze variabili interne del sistema S x I = dominio = l insieme dei valori su cui è definita la funzione S = codominio = insieme dei valori che la ƒ può assumere g risposta del sistema alle sollecitazioni dell ambiente esterno (grandezze in uscita) PRODOTTO CARTESIANO TRA DUE INSIEMI Dati due insiemi A e B, si definisce prodotto cartesiano dei due insiemi (e si indica con A x B) l insieme di tutte le coppie il cui primo elemento appartiene all insieme A ed il secondo elemento appartiene all insieme B A = {a1, a2, a3,, an, } B = {b1, b2, b3,, bn, } A x B = {(a1,b1), (a1,b2), (a1,b3),, (a1,bn),, (a2,b1), (a2 b2),, (a2,bn),, (an,b1), (an,b2),,, (an,bm), } Se #A = n e #B = m allora #(A x B) = n x m (# è il cardinale cioè e il numero di elementi di un insieme) ESEMPIO Automa a stati finiti che rappresenta il comportamento del sistema digitale lampadina azionata da un pulsante S = {ON, OFF} ON = acceso OFF = spento I = {P, R} P = pressione tasto R = rilascio tasto U = {L, B} L = luce B = buio ƒ (ON, P) = OFF ƒ (ON, R) = ON ƒ (OFF, P) = ON ƒ (OFF, R) = OFF g (ON, P) = buio g (ON, R) = luce g (OFF, P) = luce g (OFF, R) = buio Questo è un modello simbolico che rappresenta esattamente il comportamento di un semplice sistema digitale

6 La matrice delle transizioni di stato: S ON I P OFF/B R ON/L OFF ON/L OFF/B S s1 s2 s3 sn I i1 i2 im f1,1 g1,1 f2,1 g2,1 f3,1 g3,1 fn,1 gn,1 f1,2 g1,2 f2,2 g2,2 f3,2 g3,3 fn,2 gn,2 AUTOMI f1,m g1,m f2,m g2,m f3,m g3,m fn,m gn,m SEQUENZIALI (g: S x I U) COMBINATORI ( g = I U) NON A STATI FINITI (#S = ) A STATI FINITI (#S = n) PROPRI(di Moore) (g : S U) IMPROPRI(di Mealy) (g : S xi U)

7 CLASSIFICAZIONE DEGLI AUTOMI 1 COMBINATORI / SEQUANZALI Un automa si dice combinatorio quando la funzione di trasformazione d uscita non dipende dallo stato e quindi dipende solo dal valore d ingresso Un automa si dice sequanziale nel caso opposto 2 A STATI FINITI / NON A STATI FINITI Un automa sequenziale viene detto a stati finiti se l insieme degli stati finiti è finito Viene detto non a stati finiti nel caso opposto 3 PROPRI (O DI MOORE) / IMPROPRI (DI MEALY) Un automa sequenziale a stati finiti viene detto proprio o di Moore se la sua funzione di trasformazione di uscita non dipende dai valori d ingresso In caso contrario l automa viene detto improprio o di Mealy ESEMPIO Automa che rappresenta il comportamento dell impianto d illuminazione di una stanza S I P1 P2 S I P1 P2 U ON OFF B OFF B ON OFF OFF B OFF ON L ON L OFF ON ON L S I i1 i2 im U s1 f1,1 f1,2 f1,m g(s1) s2 f2,1 f2,2 f2,n g(s2) sm fn,1 fn,2 fm,n g(sn)

8 t I S U t0 P1 OFF L t1 P2 ON B t2 P2 OFF L t3 P1 ON B t4 P2 OFF L t5 P1 ON B Diagramma delle transizioni di stato (grafo) Se tutti i grafi sono orientati, il grafo è detto grafo orientato I grafi servono per rappresentare intuitivamente la struttura o il comportamento di sistemi reali complessi Si disegna con un nodo per ogni stato, dal quale dobbiamo fare uscire un numero di archi uguali al numero dei valori di ingresso I versi si danno in base alla matrice DEFINIZIONI 1ªDefinizione: ALFABETO Un alfabeto è un insieme finito di simboli grafici A = {c1, c2, c3,,ck} k = #A (numero di elementi di A) Gli elementi di un alfabeto sono detti caratteri Per i appartenente a [i k], ci è l i-mo carattere dell alfabeto A I caratteri sono dei simboli grafici cioè disegni con indeterminato significato 2ªDefinizione:CODICE Un codice è un insieme finito di sequenze di simboli di un determinato alfabeto A che rappresentano gli elementi di un altro insieme C = {P1,P2,P3,,Pn} n = #C (numero di elementi di C) Per i appartenente a [i n], Pi è una sequenza di simboli dell alfabeto A

9 I = {o1,o1,o3,,om} m = #I (numero di elementi di I) Ciascun elemento del codice è detto parola Gli elementi dell insieme I sono detti oggetti rappresentati dal codice I CODICI OPERAZIONE DI DECODIOFICAZIONE P1 DECOD (P1) =O1 O1 P3 P2 Pi DECOD (P2) =O2 DECOD (P3) =O3 DECOD (Pi) =Oi O2 Oi O3 Pn DECOD (Pn) =Om Om (NB: In tutti gli schemi sono disegnati, per comodità, solo alcuni elementi degli insiemi) Sui codici sono definite due operazioni La prima operazione è l operazione di decodifica L operazione di decodifica fa corrispondere ad ogni parola di un codice l oggetto che tale parola rappresenta Può succedere che due o più parole per codice rappresentano lo stesso oggetto Se ciò accade il codice si dice ridondante Un codice si dice ridondante se esistono due o più parole che rappresentano lo stesso oggetto In caso contrario il codice viene detto non ridondante OPERAZIONE DI CODIFICA P1 P2 COD (O1) = P1 COD (O2) = P2 O2 O1 P3 COD (O3) = P3 O3 Pi COD (Oi) = Pi Oi Pn COD (Om) = Pn Om L operazione di codifica fa corrispondere ad ogni oggetto dell insieme I la parola del codice che la rappresenta Può accadere che due o più oggetti diano per risultato la stessa parola In questo caso il codice viene detto ambiguo Un codice si dice ambiguo quando uno o più oggetti sono rappresentati dalla stessa parola del codice Un codice viene detto non ambiguo nel caso contrario La decodifica e la codifica non sono funzioni matematiche

10 ESEMPI DI CODICI 1 : Il codice fiscale delle persone fisiche ALFABETO A = {A, B,, Z, 0, 1,, 9} #A = 36 CODICE C = {RSSMRA X, } OGGETTI RAPPRESENTATI I = Insieme dei cittadini italiani #I = 60 milioni Non è ambiguo perché due persone non possono avere il codice uguale Non è ridondante perché una persona non può avere due codici Quando un codice non è né ambiguo e neppure ridondante, si parla di codice efficiente Un codice è efficiente quando non è né ambiguo e neppure ridondante CODICI BINARI Sono codici che si basano su un alfabeto di solo due simboli Tutti i codici di: A = {0,1} 0 e 1 sono i bit Bit significa Binary Digit cioè è la cifra binaria ESEMPI DI PAROLE BINARIE CODICI A LUNGHEZZA FISSA Sono i codici le cui parole hanno tutte la stessa lunghezza Essi godono di una particolare proprietà Se i è la lunghezza delle parole di un codice C a lunghezza fissa: #C (numero di elementi dell insieme C) (#A)^c (elementi dell alfabeto elevati alla lunghezza) Nei codici binari a lunghezza fissa: (#A = 2) #C 2^L Se un codice binario a lunghezza fissa è anche efficiente abbiamo che il numero degli oggetti rappresentati da tale codice dev essere uguale al numero di parole del codice (#I) = (#C) 2^L Tutte le informazioni all interno dei calcolatori digitali sono rappresentati dai codici CATEGORIE DI CODICI BINARI 1 NUMERICI: Usati per rappresentare informazioni numeriche (numeri interi, numeri decimali) 2 NON NUMERICI: Sono usati per rappresentare tutti gli altri tipi di informazione IL CODICE BCD (Binary Coded Digital) E un codice binario a lunghezza fissa (a 4 bit) usato per rappresentare le cifre decimali da 0 a 9 E un codice efficiente (#C) = (#I) = 10 (#C) 2^L 10 2^4 10 2^16

11 parola codice RAPPRESENTAZIONE IN CODICE BCD DEL NUMERO I SISTEMI DI NUMERAZIONE POSIZIONALE Il sistema binario, come quello decimale, appartiene alla categoria dei sistemi di numerazione posizionale Essi sono codici usati per rappresentare i numeri naturali (interi senza virgola) che si basano su di un alfabeto A di B (#A) simboli grafici che vengono chiamati cifre: A = {C0, C1, C2,, CB-1) Ciascuna cifra rappresenta un valore intero compreso tra 0 e B-1 : cifra valore C0 (C0)B = 0 C1 (C1)B = 1 C2 (C2)B = 2 CB-1 (CB-1)B = B-1 Il numero di cifre del sistema di numerazione è detto base e indica il valore massimo rappresentabile da una cifra Per rappresentare valori maggiori di B-1, possono essere rappresentati da sequenze composte da duo o più cifre Sono codici numerici e sono efficienti, cioè non ambigui e non ridondanti Ogni numero naturale, escluso lo zero, è rappresentabile da un unica sequenza di cifre tale che il valore della prima cifra (cifra più significativa) sia diversa da zero e viceversa Ogni sequenza di cifre tale che il valore della prima cifra sia diverso da zero, rappresenta un unico numero naturale diverso da zero Se indichiamo con x un numero naturale diverso da 0 allora: COD(X) = W dove W =(n-1, n-2,, C2,C1) tale che (Cn-1)B 0 W è una sequenza di cifre Codifica di x è una funzione che da come risultato una sequenza di cifre e DEC(W) = (W)B = X X = 60 W = COD(60) = 60 (sequenza di simboli 6 e 0 ) DECOD (60) = (60)10 = C0 = X A = {a, b, c, d, e, f, g, h, i, l} (a)10 = 0 X = 60 (b)10 = 1 W = COD(60) = ga (b)10 = 9 DECOD (ga)10 = 60 Se B = 2 A ={0,1} Il codice binario ha solo due simboli Data W = Cn-1, Cn-2,, C2, C1, C0 n-1 (W) B = (Ci)B B¹ i=0 Si legge: il valore di un numero, rappresentato nel sistema di numerazione posizionale in una certa base, è uguale alla somma dei valori di ciascuna cifra di tale numero moltiplicata per il peso di tale cifra nel numero

12 ESEMPIO B = 10 W = 60 1 (60)10 = (Ci)10 10¹ = (C0)10 10º + (C1)10 10¹ = 0 10º ¹ = 60 ESEMPIO A = {0, 1, 2, 3, 4, 5, 6, 7, 8} 1 (60)8 = (Ci)8 8¹ = (C0)8 8º + (C1)8 8¹ = = 48 (60)10 = 60 (60)8 = 48 LA PROCEDURA DI CODIFICA Sia x N {0} 1 : i = 0; q0 = x 2 : (Ci)B = qi MOD B (modulo di B) 3 : q(i+1) = qi DIV B 4 : i = i : se q1 0 torno al 2 passo 6 : fine procedura MOD = RESTO DIV = QUOZIENTE qi/b i qi (Ci)b 0 q0=x (C0)B=q0 MOD B 1 q1=q0 DIV B (C1)B=q1 MOD B 2 q2 =q1 DIV B (C2)B=q2 MOD B 3 q3=q2 DIV B (C3)B=q3 MOD B n qn= 0 (Cn-1)B=qm MOD B PRINCIPALI SISTEMI DI NUMERAZIONE POSIZIONALE 1 : DECIMALE : Sistema usato dagli esseri umani 2 : BINARIO : Sistema usato dai sistemi digitali 3 : OTTALE : Sistema usato dagli informatici 4 : ESADECIMALE: Sistema usato dagli informatici OPERAZIONE DI ADDIZIONE Esiste una procedura che permette di ottenere direttamente la rappresentazione posizionale della somma di due numeri in qualsiasi base PROCEDURA DI ADDIZIONE A = (an-1 an-2 a2 a1 a0)b B = (bn-1 bn-2 b2 b1 b0)b A+B

13 n MAX{A} = B 1 n MAX{B} = B 1 n n n n n (n+1) ( n+1) A < B B < B A+B<B+B=2B B A+B<B A =(sn-1 sn-2 s2 s1 s0)b n+1 cifre PROCEDURA DI ADDIZIONE 1 Passo: r0 = 0 (riporto di ordine zero) 2 Passo: Per i = 0;1;2; ;n 1 ripeti: 21Passo: si = (ai + bi + ri) MOD B 22Passo: ri+1 = (ai + bi + ri) DIV B 3 Passo: sn = rn PROCEDURA DI SOTTRAZIONE A = (an-1 an-2 a2 a1 a0)b B = (bn-1 bn-2 b2 b1 b0)b D = A B = (dn-1 dn-2 d2 d1 d0)b 1 Passo: p0 = 0 (prestito uguale a zero) 2 Passo: Per i = 0;1;2; ;n-1 ripeti 21Passo: se ai < (bi + pi) pi+1 = 1 altrimenti pi+1 = 0 22Passo: di = ai + pi+1 B bi - pi 3 Passo: Se Pn = 0 D = A B OPERAZIONE DI COMPLEMENTO A DUE L operazione di complemento a due è definita in questo modo W = cn-1 c2 c1 c0 W = cn-1 c2 c1 c0 + 1 = simbolo di complemento W = complemento a due di una parola W che si ottiene sommando alla parola il numero 1 Ci Ci ESEMPIO: W = 1001 W = = 0111

14 GODE DI ALCUNE INTERESSANTI PROPRIETA 1ª PROPRIETA n Se (W)2 = 2 - (W)2 n Allora (W)2 2 - (W)2 Questo vale per tutti i numeri binari diversi da zero Se (W)2 = 0 allora (W)2 = 0 2ª PROPRIETA Il complemento a due del complemento a due di una parola binaria è uguale a se stesso La proprietà, in poche parole, è: W = W La rappresentazione in complemento a due è un codice binario numerico a lunghezza fissa usato per rappresentare i numeri interi con segno Non si tratta di un operazione, ma di un codice binario a lunghezza fissa #C = Cardinalità = Numero di elementi n #C (#A) n = lunghezza delle parole Questo è un codice efficiente #C = #I n #I (#A) n n-1 n-1 Se #A = 2 #I 2 I = [ -2, 2 ) [ = compreso ) = escluso A = {0,1} C3 C2 C1 C0 VAL (C3,C2,C1,C0) = rappresentazione binaria dei numeri

15 4 #C = 2 = 16 W = cn-1 cn-2 c2 c1 c0 n-2 i n VAL(W) = Ci 2 - Cn-1 2 i=0 W = COD (-7) = 1001 W= = (0111)2 = 7 (Per tutti i numeri negativi eccetto il -8) COD (-7): COD (7) = = COD (-7)= 1001 Procedura di codifica di numeri interi con segno in codice binario con complemento a due CLASSIFICAZIONE DEI SISTEMI DIGITALI Esistono due grandi famiglie dei sistemi digitali: - i SISTEMI DIGITALI A LOGICA CABLATA; - i SISTEMI DIGITALI A PROGRAMMA MEMORIZZATO O PROGRAMMABILE La differenza tra queste due categorie di sistemi digitali è che, nella seconda categoria, il comportamento del sistema digitale è specificato da un programma contenuto all interno di un sistema ma che può anche cambiare (sostituito da un altro programma) Quindi anche il comportamento di un sistema digitale a programma memorizzato, può cambiare in base al programma memorizzato al suo interno Il comportamento dei sistemi a logica cablata è invece è sempre lo stesso I sistemi digitali a programma memorizzato sono molto più flessibili perché possono essere utilizzati per scopi molto diversi tra loro cambiando il programma in essi contenuto Mentre quelli cablati sono per un uso più ristretto Di fatto, quelli a programma memorizzato sono più utilizzati Quelli a logica cablata sono utilizzati, spesso, come componenti di quelli a programma memorizzato Es Il mouse è un sistema digitale a logica cablata ARCHITETTURA INTERNA DEI SISTEMI A POGRAMMA MEMORIZZATO Al più alto livello, quello visibile all occhio umano, questi sistemi sono composti da due categorie di componenti o di unità UNITA CENTRALE Essa è una sola All interno dell unità centrale si trova il programma che specifica il comportamento del sistema digitale

16 UNITA PERIFERICHE Esse, di solito, sono più di una Permettono, al sistema digitale, di interagire con il mondo esterno Esse si suddividono in: - PERIFERICHE DI INGRESSO (input): esse comunicano con l unità centrale ricevendo da questa le informazioni provenienti dall esterno; - PERIFERICHE DI USCITA (output): esse comunicano sempre con l unità centrale ricevendo da questa le informazioni da inviare all esterno; - PERIFERICHE DI INGRESSO/USCITA(input/output) Le unità periferiche non possono mai interagire tra loro Le frecce rappresentano realmente dei cavi che uniscono l unità centrale con la periferica esterna Le unità periferiche non sono in grado di eseguire programmi Per questo il comportamento dell intero sistema è determinato esclusivamente dal programma che viene eseguito all interno dell unità centrale Il loro comportamento è perciò controllato direttamente dall unità centrale Le unità periferiche non possono fare quello che vogliono, anzi, esse sono condizionate dall unità centrale Il componente principale di un sistema digitale sarà di certo l unità centrale LA STRUTTURA INTERNA DELL UNITA CENTRALE A questo livello non si parla più di unità, ma di moduli I moduli sono i componenti dell unità centrale - Il PROCESSORE Di solito si ha un processore ma, a volte, anche più di uno - La MEMORIA CENTRALE - Le INTERFACCE D INGRASSO / USCITA - IL BUS DI SISTEMA Esiste un unico fascio di linee che collegano tra loro tutti i moduli dell unità centrale Esso non è un modulo ma è un componente dell unità centrale

17 Le porte sono gruppi di linee di interconnessione tra l unità centrale e le unità periferiche Ad un interfaccia di ingresso / uscita possono essere collegate più di due periferiche Le interfacce di ingresso / uscita servono a collegare l unità centrale con le unità periferiche per mezzo delle porte di ingresso / uscita La memoria centrale, invece, contiene il programma da eseguire Il processore esegue le istruzioni specificate nel programma che è contenuto nella memoria centrale STRUTTURA DELLA MEMORIA CENTRALE DI UN SISTEMA DIGITALE A PROGRAMMA MEMORIZZATO La struttura della memoria centrale dei sistemi digitali a programma memorizzato è composta da un insieme ordinato di locazioni di memoria, ciascuna delle quali può contenere una parola di un codice binario Tutte queste locazioni hanno la stessa capacità (la lunghezza delle parole contenuta in ciascuna locazione è la stessa) Esempio di contenuto di ciascuna locazione di memoria (organizzazione della memoria centrale)

18 Il processore o le interfacce di ingresso/uscita possono accedere a ciascuna locazione di memoria sia per leggere il contenuto sia per modificarlo Per accedere ad una locazione è necessario prima individuarla Per individuare una locazione di memoria è necessario specificarne la posizione relativa alle altre locazioni all interno della memoria centrale La posizione relativa della locazione è data dal numero di locazioni che la precedono Le posizioni relative di ciascuna locazione sono detti indirizzi L indirizzo di una locazione che non è altro che il numero di locazioni che la precedono Il modulo di memoria centrale di un sistema digitale a programma memorizzato deve possedere almeno due linee che lo interconnettono al bus di sistema Il primo gruppo di linee è quella delle linee degli indirizzi Per mezzo di queste linee il processore o le interfacce di ingresso / uscita specificano l indirizzo della locazione a cui desideriamo (vogliamo) accedere L indirizzo è un numero reale intero compreso tra 0 e tra n - 1 Per essere compreso dai sistemi digitali questo numero deve essere espresso sotto forma di un numero binario L insieme è un insieme di linee di interconessione elettrica In queste linee i segnali potranno avere infiniti valori In realtà ne hanno solo due: 0 o 1 Ogni segnale digitale all interno di un sistema digitale a programma memorizzato può assumere come valore un bit (una cifra binaria) un insieme di n linee può rappresentare una parola binaria di n cifre Si parla di più di segnali binari Per rappresentare un numero binario avrò bisogno di tanti segnali quante sono le cifre del numero Ogni segnale viaggia su una diversa linea di interconnesione Una parola binaria di n cifre è rappresentato da n linee di interconnesione Il numero massimo di locazioni della linea centrale non può superare 2^k n massimo di locazioni 2^k Sulle linee dei dati viaggiano le parole binarie che vengono lette, che vengono scritte sulle locazioni di memoria Il numero di queste linee dev essere uguale alla lunghezza delle parole binarie che sono contenute nelle locazioni di memoria n del primo esempi = 8 (lunghezza della parola binaria) ESEMPIO: n = (10100)2 L4 V(L4) = HIGH L3 V(L3) = LOW L2 V(L2) = HIGH L1 V(L1) = LOW L0 V(L0) = LOW 0 INDIRIZZO (2^k) 1

19 PROCESSORE E quel modulo dell unità centrale che serve ad eseguire i programmi nel sistema digitale L insieme delle istruzioni che il processore è in grado di eseguire costituisce un linguaggio del tutto diverso dai normali linguaggi di programmazione ad alto livello Questo linguaggio viene detto linguaggio macchina perché è l unico linguaggio comprensibile dal processore Ogni parola del numero binario dato dalla trasformazione delle istruzioni, corrisponde ad una istruzione per il processore Il codice è detto codice macchina Il codice macchina è un particolare codice binario usato per rappresentare le istruzioni del linguaggio macchina Il codice macchina è un codice binario a lunghezza variabile, ed è un codice non ambiguo Una volta tradotto il codice macchina, qualsiasi programma può essere memorizzato all interno della unità centrale Il processore, per eseguire il programma, esegue una sequenza di operazioni eseguita continuamente per ogni istruzione Questa ripetizione viene detta ciclo d interpretazione delle istruzioni Questa procedura (ciclo d interpretazione) è composta da tre fasi e serve al processore per eseguire altri programmi 1ª FASE: PRELIEVO del codice macchina della istruzione: Prelevare dalla locazione di memoria in cui si trova, il codice della successiva istruzione del programma da eseguire 2ª FASE: DECODIFICA del codice dell istruzione: La decodifica viene svolta per determinare qual è l istruzione del linguaggio macchina che dev essere eseguita 3ª FASE: ESECUZIONE dell istruzione TORNA ALLA PRIMA FASE

20 Questa procedura si ripete in continuazione 1ª FASE: PRELIEVO: Legge il contenuto della locazione di memoria di indirizzo uguale ad IP (instruction pointer o registro delle istruzioni) 2ª FASE: DECODIFICA: Incrementa il contenuto di IP incrementato della lunghezza del codice dell istruzione che è stato prelevato nella fase precedente 3ª FASE: ESECUZIONE: (Può anche modificare l IP cioè: se istruzione = jmp allora IP = nuovo indirizzo ) LA STRUTTURA INTERNA DEL PROCESSORE Sono stati presi in considerazione solo tutti i componenti generali contenuti nei processori Analogamente tutti i componenti del processore sono collegati al bus dei dati interno Questo è a sua volta collegato alle linee dei dati del bus di sistema (esso è formato da vari gruppi di linee di interconnesione in cui, oltre alle linee degli indirizzi, vi sono quelle dei dati letti dal processore) Il bus dati interno dipende dal processore In IR verrà registrato il codice macchina che deve essere eseguito Il registro IP (che dice l indirizzo della locazione di memoria) e il registro IR sono utilizzati nella prima fase: il prelievo del codice macchina della istruzione che viene poi registrato su IR La logica della decodifica delle istruzioni è un circuito elettrico Esso è un importante componente del processore che riceve in ingresso un codice binario (macchina) e lo decodifica Il risultato della decodifica viene inviato alla logica di controllo e temporizzazione La funzione di questa logica di controllo e temporizzazione è quella di controllare il funzionamento di tutti gli altri componenti, non solo del processore, ma dell intera unità centrale Per questo motivo è anche collegata al bus di sistema attraverso un terzo gruppo di linee di interconnesione chiamate linee di controllo e temporizzazione Questa logica di controllo e temporizzazione determina anche la durata temporale I registri sono capaci di memorizzare un numero binario Ogni registro generale è in grado di contenere una parola binaria della stessa lunghezza degli altri registri generali Il numero di registri generali dipende dal processore In poche parole è una memoria interna al processore nella quale riesce ad accedere facilmente Maggiore è la capacità dei registri generali e maggiore sarà la potenza (velocità) del processore L unità aritmetico logica ha il compito di eseguire le operazioni di tipo aritmetico tra numeri binari (+, =, +, :) o logiche Essa possiede due gruppi di linee in ingresso per i due operandi ed un numero di linee di uscita ADD AX,BX Somma del contenuto dei registri A e B AX = AX + BX Per eseguire questa operazione ci vogliono tre operazioni 1 : OP1 = AX 2 :OP2 = BX 3 :AX = OP1 + OP2

21 Nella pratica ogni sistema digitale, unità centrale e processore hanno caratteristiche diverse Parlando del processore la scelta obbligata è i, processore intel 8086 MICROPROCESSORE INTEL 8086 L intel 8086 ha la caratteristica di avere un codice macchina compatibile con quello dei processori della serie pentium E compatibile nel senso che ogni istruzione dell intel 8086 appartiene anche a quello del pentium solo che, mentre le istruzioni del pentium sono quasi un migliaio, quelle dell intel 8086 sono 117 Nonostante ciò, esso è compatibile con il pentium Il pentium eseguirà il programma come se fosse un intel 8086 Il linguaggio dell intel 8086 è contenuto in quello dei pentium Gli intel sono, però, più semplici Essi si differiscono nel numero e nella complessità dei suoi componenti Il bus dati interno dell intel 8086 è a 16 bit (16 linee di interconnessione), mentre i pentium hanno un bus dati interno a 32 bit Il registro IP dell intel 8086 è a 16 bit, mentre quello dei pentium è a 32 bit I registri generali dell intel sono a 16 bit, mentre quelli dei pentium sono a 32 bit L intel 8086 è un processore a 16 bit, mentre i pentium sono processori a 32 bit Gli intel 8086 hanno otto registri generali che sono: AX, BX, CX, DX, SP, BP, SI, DI I primi quattro (AX, BX, CX, DX) hanno una particolarità, cioè possono essere divisi in due parti IL REGISTRO GENERALE AX(oBX,oCX,oDX) Questi due nuovi registri a 8 bit, ottenuti dividendo AX (o BX, o CX, o DX) in due parti, prendendo il nome di AH (parte alta) e AL (parte bassa) Esse non sono due registri diversi da AX (o BX, o CX, o DX), ma ne rappresentano la parte alta e la parte bassa Nel caso di BX, diventeranno BH e BL, nel caso di CX, diventeranno CH e CL, nel caso di DX, diventeranno DH e DL Se si modifica AH o AL si modificheranno anche la parte bassa e la parte alta di AX Anche l unità aritmetico logica è a 16 bit L ALU del pentium è a 32 bit Il codice macchina delle istruzione appartiene alla categoria dei codici binari a lunghezza variabile e come tutti i codici non è altro che un insieme di sequenze di simboli dell alfabeto binario che sono utilizzati per rappresentare le istruzioni eseguibili dal processore Ogni istruzione è costituito di una parola binaria che coincide al codice macchina (parola macchina) Esistono due operazioni: codifica e decodifica La codifica permette di ricavare quella parola binaria (macchina) che rappresenta una istruzione eseguibile dal processore La decodifica permette di riconoscere quale istruzione è rappresentata da una parola del codice macchina Perciò per programmare un intel 8086 bisognerebbe costruire un programma costituito di istruzioni Per permettere al programma scritto di essere scritto ed eseguito dal processore, bisognerebbe codificarlo in codice binario Questa operazione può essere effettuata manualmente o anche automaticamente

22 da programmi che sono chiamati traduttori Le istruzioni non possono essere scritte in linguaggio umano, perché l intel 8086 comprende il programma solo se è scritto solo in linguaggio macchina Per essere tradotte in codice macchina sotto forma di codice di codice binario, devono essere descritte simbolicamente Il linguaggio macchina è il linguaggio in cui devono essere scritti i programmi per essere codificati in codice binario Poi può essere convertito automaticamente in codice macchina Il programma che esegue l assemblaggio è detto assemblatore L operazione inversa è detta disassemblaggio ed è eseguita dal disassemblatore Il contrario della scrittura è la lettura (interpretazione del significato della descrizione simbolica)

23 IL LINGUAGGIO MACCHINA DELL INTEL 8086 Non esiste un unico linguaggio macchina, perché ogni processore ha un diverso linguaggio macchina Il linguaggio macchina descritto è relativo esclusivamente all intel 8086 Le due forme fondamentali del linguaggio macchina sono: il linguaggio macchina mnemonico e il linguaggio macchina simbolico INC è il nome mnemonico della istruzione WORD [01FA] è l operando WORD è una locazione di memoria a 16 bit [01FA] è l indirizzo della locazione di memoria che contiene l operando CONTATORE è un nome simbolico INC CONTATORE significa incrementare il contenuto del contatore CONTATORE è il nome simbolico che il programmatore ha deciso per nominare la locazione di memoria di indirizzo (01FA)16 Il linguaggio simbolico permette al programma di essere più leggibile Il linguaggio simbolico permette al linguaggio mnemonico di definire nomi simbolici che rappresentano locazioni di memoria che contengono gli operandi delle istruzioni o i codici delle istruzioni del programma da eseguire Il linguaggio macchina mnemonico è più semplice Tutte le lingue naturali, anche quelle di programmazione, hanno una loro grammatica che è necessario conoscere LA GRAMMATICA O SINTASSI DL LINGUAGGIO MNEMONICO Da un punto di vista sintattico, ogni programma di questo linguaggio è formato da una sequenza di istruzioni tra le quali è definito un ordinamento sequenziale

24 LA SINTASSI DELLE ISTRUZIONI DEL LINGUAGGIO MACCHINA La sintassi è l insieme delle istruzioni sintattiche per scrivere un programma Ci sono tre tipi di istruzioni: 1- ISTRUZIONE SENZA OPERANDI = nome (è il nome mnemonico della istruzione; ad esempio HTL che rappresenta mnemonicamente la sua funzione e cioè ferma il computer) 2- ISTRUZIONE AD UN OPERANDO = nome dest (il nome è il nome mnemonico mentre dest è l operando di destinazione) 3- ISTRUZIONI A DUE OPERANDI = nome dest, sorg (il nome è il nome mnemonico, dest è l operando di destinazione e sorg è l operando sorgente (esempio: MOV AX, [01FA] = MOV è il nome mnemonico, AX è l operando di destinazione e [01FA] è l operando sorgente) LA SINTASSI DEGLI OPERANDI DI DESTINAZIONE E GLI OPERANDI SORGENTI 4 - dest = R BYTE M WORD M M R rappresenta un registro generale (AX,BX,CX,DX,SP,BP,SI,BI) BYTE è una parola chiave del linguaggio M rappresenta la lunghezza di una locazione di memoria che deve essere di un BYTE (8 bit) WORD è una parola chiave del linguaggio M è una locazione di memoria lunga 16 bit M è una qualsiasi locazione di memoria 5 - sorg = R BYTE M WORD M M COST La regola dell ordinamento sorgente prevede le stesse alternative di quello precedente più una che è COST che rappresenta una costante cioè un numero esadecimale di massimo quattro cifre ihfl(esempio:01fa) LA SINTASSI DEGLI OPERANDI DI MEMORIA Nelle operazioni con un operando, se l operando descrive una locazione di memoria, bisogna mettere per forza prima BYTE o WORD (a seconda della lunghezza che si desidera) Per quella a due operandi, i due operandi devono avere sempre la stessa lunghezza Sempre per quelle a due operandi, si dice che i due operandi non possono rappresentare entrambi una locazione di memoria dest = locazione di memoria sorg locazione di memoria MOV AL, WORD[01FA] errata, perché bisogna togliere WORD e, di conseguenza si ottiene MOV AL, [01FA] perché non serve specificare la lunghezza della locazione di memoria dato che è già specificata dal registro AL MOV BYTE [01FA], [01FA] errata perché sono due locazioni di memoria

25 REGOLE DI R (REGISTRO GENERALE) 6 - R è un registro generale R = R8 R16 R8 = 8 bit R16 = 16 bit 7 - R8 = AL AH BL BH CL CH DL DH ( = alternativa) 8 - R16 = AX BX CX DX SP BP SI DI 9 - RI = SI DI RI sono i registri indice A RI appartengono i registri generali SI, DI e cioè SI e DI sono registri indici 10- RB = BX BP RB sono i registri base 11- M = [cost] [RB] [RI] [RB ± cost] [RI ± cost] [RB + RI ± cost] [cost] è un numero esadecimale tra parentesi quadre ed è l indirizzo della locazione di memoria [RB] è un registro base (BX, BP) ed il suo contenuto corrisponde all indirizzo della locazione di memoria [RI] è un registro indice (SI, DI) ed il suo contenuto corrisponde all indirizzo della locazione di memoria [RB ± cost] è l indirizzo dato dalla somma algebrica o dalla differenza numerica [RB ± cost] è l indirizzo dato dalla somma algebrica o dalla differenza numerica [RB + RI ± cost] è l indirizzo della locazione di memoria dato dalla somma tra due registri e una costante L indirizzo sarà uguale al contenuto dei due registri sommati tra loro e alla costante (somma binaria I METODI DI INDIRIZZAMENTO DELLE LOCAZIONI DI MEMORIA Tutto quello detto per le locazioni di memoria ci fa capire che ci sono diversi modi per specificare una locazione di memoria N METODO DI n INDIRIZZO INDIRIZZAMENTO 1 DIRETTO [cost] (cost)16 2 INDIRETTO [RB] [RI] CONTENUTO DI RB O RI 3 RELATIVO [RB ± cost] CONTENUTO DI RB ± (cost)16 4 DIRETTO INDICIZZATO [RI ± cost] CONTENUTO DI RI ± (cost)16 5 RELATIVO INDICIZZATO [RB + RI ± cost CONTENUTO DI RB + CONTENUTO DI RI ± (cost)16

26 ISTRUZIONI DEL LINGUAGGIO ASSEMBLY ISTRUZIONE MOVE Tipo: A due operandi Nome mnemonico: MOV Descrizione: Copia il codice binario contenuto nell operando sorgente (sorg) come nuovo operando di destinazione (dest) In poche parole fa (dest = sorg) L Intel 8086 è un processore a finale piccolo cioè inizia a memorizzare dalle locazioni meno significative alle più significative Altri processori iniziano a memorizzare dalla più significative e, per questo, sono detti a finale grande ISTRUZIONE ADD Tipo: A due operandi Nome mnemonico: ADD Descrizione: Copiare nell operando di destinazione (dest) la somma binaria tra i codici contenuti nei due operandi (dest = dest + sorg) Il riporto viene memorizzato all interno del processore (all interno di un particolare componente del processore) Questo processore si chiama flag carry I flag sono delle locazioni interne al processore in grado di memorizzare una sola cifra binaria L Intel 8086 ha alcuni effetti collaterali L istruzione ADD ha l effetto collaterale di modificare alcuni flag EFFETTI COLLATERALI Il flag carry è il riporto finale dell addizione binaria Il flag zero viene settato (uguagliato a uno) se il risultato dell addizione binaria è uguale a zero, zero nel caso contrario Il flag sign è il bit più significativo del risultato Il flag overflow è uguale a uno se gli ultimi due riporti (il più significativo e quello che lo precede) sono diversi tra loro; zero nel caso siano uguali ISTRUZIONE ADD WITH CARRY Tipo: A due operandi Nome mnemonico: ADC Descrizione: Copia nell operando di destinazione la somma binaria tra i contenuti degli operandi dest, sorg e del flag carry (dest = dest + sorg + carry) EFFETTI COLLATERALI Gli effetti collaterali sono gli stessi dell istruzione ADD ISTRUZIONE SUBSTRACT Tipo: A due operandi Nome mnemonico: SUB Descrizione: Copia nell operando di destinazione (dest) la differenza binaria tra i contenuti degli operandi di destinazione e sporgente (dest = dest sorg) EFFETTI COLLATERALI Il flag carry è il prestito finale della differenza Il flag zero viene posto a uno se il risultato della differenza è nullo, altrimenti viene posto a zero Il flag sign è il bit più significativo del risultato

27 Il flag overflow viene posto a zero se i due prestiti più significativi sono uguali, se sono diversi viene posto a uno ISTRUZIONE SUBTRACT WITH BORROW Tipo: A due operandi Nome mnemonico: SBB Descrizione: Copia nell operando di destinazione (dest) la differenza binaria tra i contenuti degli operandi di destinazione e sorgente e del flag carry (dest = dest sorg carry) EFFETTI COLLATERALI Gli effetti collaterali sono gli stessi dell istruzione SUB ISTRUZIONE COMPARE Tipo: Aritmetica a due operandi Nome mnemonico: CMP Descrizione: Esegue la differenza binaria tra i contenuti degli operandi di destinazione e sorgente solo che il risultato provoca la variazione dei flag e non dell operando di destinazione Il flag carry viene posto ad uno se l operando di destinazione, visto come numero intero senza segno, è minore dell operando sorgente Il flag zero viene posto ad uno se la differenza è uguale a zero, nel caso contrario viene posto a uno Il flag sign viene posto ad uno se la differenza è un numero intero con segno rappresentato in codice binario in complemento a due negativo Il flag overflow viene posto ad uno se la differenza non è rappresentabile in codice binario in complemento a due dall operando di destinazione CATEGORIA DELLE ISTRUZIONI DI SALTO I flag sono utilizzati anche da questa categoria di istruzioni del linguaggio macchina Sintassi: nome cost Descrizione: Se la condizione di salto è vera, copia il valore della costante esadecimale ((cost)16) nel registro IP La condizione di salto è rappresentata dal nome mnemonico dell istruzione di salto NOME Salti condizionati: CONDIZIONE DI SALTO jo overflow = 1 (iump if overflow) jno overflow = 0 (jump if not overflow) js sign = 1 (jump if sign) jns sign = 0 (jump if not sign) jz zero = 1 (jump if zero)

28 jnz zero = 0 (jump if not zero) jc carry = 1 (jump if carry) jnc carry = 0 (jump if not carry) Salti non condizionati: jmp la condizione di salto è sempre vera ISTRUZIONI PER MANIPOLAZIONI DI TIPO LOGICO A DUE OPERANDI ISTRUZIONE AND Nome mnemonico: AND Descrizione: Copia nell operando di destinazione il prodotto logico bit a bit tra i due operandi Questa istruzione viene utilizzata per azzerare alcuni bit senza modificare gli altri EFFETTI COLLATERALI: Modifica i flag sign e zero Operazione: Per i = 0,1,2,,n-1: dest i = dest i AND sorg i ISTRUZIONE OR Nome mnemonico: OR Descrizione: Copia nell operando di destinazione (dest) la somma logica bit a bit tra i due operandi Questa istruzione è usata per porre a uno alcuni bit di una parola binaria senza modificare gli altri EFFETTI COLLATERALI: Modifica i flag sign e zero Operazione: Per i = 0,1,2,,n-1: dest i = dest i OR sorg i ISTRUZIONE XOR Nome mnemonico: XOR Descrizione: Copia nell operando di destinazione (dest) la somma esclusiva bit a bit tra i due operandi Questa istruzione complementa alcuni bit lasciando invariati gli altri cioè, complementa un numero di bit di un codice binario EFFETTI COLLATERALI: Modifica i flag sign e zero

29 Operazione: Per i = 0,1,2,,n-1: dest i = dest i XOR sorg i ISTRUZIONE TEST Nome mnemonico: TEST Descrizione: Esegue il prodotto logico bit a bit tra i due operandi modificando, però, solo i valori dei flag sign e zero Questa istruzione è usata per controllare il valore di un particolare bit di un codice binario EFFETTI COLLATERALI: Modifica i flag sign e zero Operazione: Per i = 0,1,2,,n-1: Esegui: dest i AND sorg i (senza modificare l operando di destinazione (dest)) ISTRUZIONI ARITMETICO LOGICHE AD UN OPERANDO NOME OPERAZIONE FUNZIONE INC dest = dest + 1 Incrementa di uno il valore rappresentato dal codice rappresentato dal codice binario contenuto nell operando di destinazione DEC dest = dest 1 Decrementa di uno il valore rappresentato dal codice binario contenuto nell operando di destinazione NEG dest = - dest Ottenere l opposto del valore rappresentato in complemento a due dal codice binario contenuto nell operando di destinazione NOT Per i = 0,1, Esegue la negazione logica bit a bit del codice binario contenuto nell operando di destinazione NEG viene eseguita complementando la parola del codice e, alla fine, aggiungendo 1 Vengono anche modificati i flag: INC = OVERFLOW, SIGN, ZERO DEC = OVERFLOW, SIGN, ZERO NEG = OVERFLOW, SIGN, ZERO, CARRY NOT = NESSUN FLAG INC modifica i flag come l istruzione ADD DEC modifica i flag come l istruzione SUB NEG modifica i flag come l istruzione SUB Le prime due istruzione (INC e DEC) non modificano il carry perché esso potrebbe essere utile per fare qualcos altro ISTRUZIONI DI SCORRIMENTO E ROTAZIONE Questo è un insieme di istruzioni che non è uniforme con le leggi di sintassi generali La sintassi si queste istruzioni può essere definita dalle seguenti regole:

30 nome dest, cnt dove: nome è il nome mnemonico dell istruzione; dest è l operando di destinazione e la sua sintassi è uguale a quella delle istruzioni ad un operando Se l istruzione ha una locazione di memoria come operando di destinazione bisogna specificare se è BYTE o WORD cnt è il campo e può essere solo 1 o CL cnt = 1 CL nome = SHL (SHIFT LEFT) SHR (SHIFT RIGHT) SAL (SHIFT ARITMETIC LEFT) SAR (SHIFT ARITMENTIC RIGHT) ROL (ROTATE LEFT) ROR (ROTATE RIGHT) RCL (ROTATE WITH CARRY LEFT) RCR (ROTATE WITH CARRI RIGHT) SHL SHR SAL SAR = Permettono di spostare di una o più posizioni verso sinistra o destra ciascun bit del codice binario contenuto nell operando di destinazione ROL ROR RCL RCR = Permettono di ruotare di una o più posizioni ciascun bit del codice binario contenuto nell operando di destinazione verso destra o verso sinistra SPIEGAZIONI ISTRUZIONI SHL : Sposta ciascun bit dell operando di destinazione di una posizione verso sinistra e la cifra meno significativa viene posta a zero Questa operazione viene ripetuta per tante volte quanto è il contenuto del conteggio E il prodotto binario del valore del codice contenuto dall operando di destinazione per due dest = dest cnt volte Questa istruzione modifica i flag: carry, sign, zero SHR : Sposta ciascun bit dell operando di destinazione, di una posizione verso sinistra e la cifra più significativa viene posta a zero dest = dest / 2^cnt Esegue, in poche parole, la divisione binaria Questa istruzione modifica i flag: carry, sign, zero SAL : Come SHL perché fanno la stessa cosa SAR : Assomiglia alla SHR solo che la cifra significativa non cambia più il suo valore Quando il codice binario contenuto nell operando di destinazione è un intero senza segno si usano SHL e SHR che eseguono rispettivamente: dest 2^cnt e dest/2^cnt Quando il codice contenuto dall operando di destinazione è la rappresentazione binaria in complemento a due di un numero intero con segno si usano SAL e SAR Queste istruzioni hanno tutte la stessa funzione ma valgono per tipi diversi di operandi di destinazione ESEMPI: dest = (0101)2 = 5 SHL dest,1 dest = (1010)2 = 10 = 5 2 dest = (0101)2 = 5 SHR dest,1 dest = (0100)2 = 2 = 5 DIV 2 dest = (1110)2 = -2 SAL dest,1 dest = (0010)2

31 LAVORARE COL SISTEMA OPERATIVO MS-DOS COME UN PROGRAMMA VIENE CARICATO Il sistema operativo MS-DOS riserva al programma da eseguire un area di memoria (un segmento di memoria centrale) della dimensione di 64 k byte (65536 byte cioè ) In questo segmento il codice delle istruzioni e dei dati non viene caricato dalla locazione d indirizzo 0, ma da quella d indirizzo 100 e cioè (0100)16 Il programma non carica il programma dalla prima locazione perché, in quest area il sistema operativo inserisce delle informazioni o dei dati relativi al programma da eseguire che, nel loro complesso, occupano un area di 256 byte, cioè i primi 256 byte devono contenere una certa quantità di informazioni di controllo utilizzate durante l esecuzione del programma Quest area viene detta Program Segment Perefix Alla fine dell area libera vi è un altra locazione di memoria che è data dall indirizzo SP (Stack Pointer) (65535)16 o (FFFF)16 che è l indirizzo dell ultima locazione di memoria La locazione di memoria contenuta tra l indirizzo SP e l indirizzo (FFFF)16 è chiamata Stack del programma La diminuzione di questa struttura dati varia dinamicamente durante l esecuzione del programma in quanto esistono istruzioni del linguaggio macchina che permettono di inserirvi nuovi elementi ed esistono anche delle istruzioni che permettono di estrarre dalla stack degli elementi inseriti precedentemente L ordine di estrazione degli elementi dallo stack del programma è l inverso di quello di inserimento Per questo motivo lo stack del programma è una struttura dati del tipo lifo (last in first out) significa che l ultimo elemento inserito è l inverso di quello di inserimento Man mano che si inseriscono dati, l area di memoria libera diminuisce, mentre, man mano che di estraggono dati, l area di memoria libera aumenta Se inserisco dati, SP diminuisce, se estraggo dati, SP aumenta LE ISTRUZIONI DI MANIPOLAZIONE DELLO STACK ISTRUZIONE PUSH Viene usata per inserire elementi nello stack Istruzione ad un operando Sintassi: push sorg sorg = R16 WORD M M L operando sorgente è sempre e solo a 16 bit ESEMPIO: push AX

32 oppure push WORD[BX] Per inserire il contenuto dell operando sorg nello stack del programma esegue queste istruzioni: 1 : SP = SP : WORD [SP] = sorg ISTRUZIONE POP Viene usata per estrarre dallo stack l ultimo elemento precedentemente inserito e lo copia nell operando di destinazione Istruzione ad un operando Sintassi: pop dest dest = R16 WORD M M Per estrarre l ultimo elemento inserito e copiarlo nell operando di destinazione esegue queste istruzioni: 1 : dest = WORD [SP] 2 : SP = SP + 2 L ultima parola inserita ritorna a far parte dell area libera incrementando SP Problema di esempio: Scambiare il contenuto di due registri: AX, BX 1 push AX 2 push BX 3 pop AX 4 pop BX PROCEDURE Le procedure sono sequenze di istruzioni di un programma la cui esecuzione può essere può essere richiesta mediante una particolare istruzione di chiamata Sono uno dei più importanti strumenti per scrivere programmi perché permettono di organizzare tutte le istruzioni di un programma in ordine logico più semplice da leggere e da scrivere, in particolare, un programma può essere organizzato in una procedura principale e un insieme di procedure richiamate dalla procedura principale ESEMPIO: PP: call PA call PB call PA htl PA: ret PB:

I sistemi. Sistema: è un insieme di parti o componenti correlati tra di loro in modo che tale insieme possieda una struttura e abbia un comportamento.

I sistemi. Sistema: è un insieme di parti o componenti correlati tra di loro in modo che tale insieme possieda una struttura e abbia un comportamento. I sistemi Sistema: è un insieme di parti o componenti correlati tra di loro in modo che tale insieme possieda una struttura e abbia un comportamento. Classificazione dei sistemi: Sistemi artificiali: creati

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II LE ISTRUZIONI ARITMETICHE E DI MANIPOLAZIONE DEI BIT Argomenti della lezione Le istruzioni aritmetiche Le istruzioni di manipolazione dei bit Le istruzioni aritmetiche Istruzioni

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly Introduzione al linguaggio macchina Indice Che cos è l assembly Elementi del linguaggio Memoria di programma Registri interni e di I/O Registri particolari Rappresentazione dell

Dettagli

Sistemi a microprocessore

Sistemi a microprocessore Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione

Dettagli

Programmazione in linguaggio assembly per architetture Intel 8088

Programmazione in linguaggio assembly per architetture Intel 8088 Programmazione in linguaggio assembly per architetture Intel 8088 Marco Di Felice 1 Università of Bologna Dipartimento di Scienze dell Informazione Corso di Architettura degli Elaboratori mail: difelice@cs.unibo.it

Dettagli

Nel microprocessore 8086 abbiamo una gran quantità di registri

Nel microprocessore 8086 abbiamo una gran quantità di registri I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1

Dettagli

Architetture dei Sistemi Elettronici

Architetture dei Sistemi Elettronici Architetture dei Sistemi Elettronici Roberto Roncella 15. Introduzione al linguaggio assembly Il linguaggio assembly È lo strumento di programmazione più vicino alla realtà fisicaelettronica di un elaboratore

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Campo Codice Operativo Campo Operandi K bit n-k bit n bit 1 Istruzione

Dettagli

LA CPU INTEL Vantaggi dei programmi Assembly

LA CPU INTEL Vantaggi dei programmi Assembly 1 LA CPU INTEL 8086 Vantaggi dei programmi Assembly L utilizzo del linguaggio Assembly anzichè di un linguaggio ad alto livello (tipo C o Pascal) è talvolta giustificato dalla maggiore efficienza del codice;

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I A.A. 2012-2013 Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica

Dettagli

Aritmetica dei Calcolatori Elettronici

Aritmetica dei Calcolatori Elettronici Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo

Dettagli

1.1 Rappresentazione di numeri naturali ed interi

1.1 Rappresentazione di numeri naturali ed interi 1.1 Rappresentazione di numeri naturali ed interi La ALU è in grado di eseguire operazioni logiche (AND, OR, NOT, etc.) su stringhe di bit ed operazioni aritmetiche, interpretando le stringhe di bit che

Dettagli

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Rappresentazione dei numeri

Rappresentazione dei numeri Rappresentazione dei numeri Così come per qualsiasi altro tipo di dato, anche i numeri, per essere immagazzinati nella memoria di un calcolatore, devono essere codificati, cioè tradotti in sequenze di

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Analogico vs digitale Segnale analogico Segnale digitale Un segnale è analogico quando

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer

Dettagli

1-Rappresentazione dell informazione

1-Rappresentazione dell informazione 1-Rappresentazione dell informazione Informazioni: testi, numeri, immagini, suoni, etc.; Come viene rappresentata l informazione in un calcolatore? Uso di tecnologia digitale: tutto ciò che viene rappresentato

Dettagli

Rappresentazione dell informazione. Rappresentazione dell informazione. Rappresentazione dell informazione. Codifica dei numeri

Rappresentazione dell informazione. Rappresentazione dell informazione. Rappresentazione dell informazione. Codifica dei numeri Rappresentazione Informazioni: testi, numeri, immagini, suoni, etc.; Come viene rappresentata l informazione in un calcolatore? Uso di tecnologia digitale: tutto ciò che viene rappresentato con numeri

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

Fondamenti di Informatica B

Fondamenti di Informatica B Fondamenti di Informatica B Lezione n. 11 Alberto Broggi Gianni Conte A.A. 2005-2006 Fondamenti di Informatica B Lezione n.11n ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO

Dettagli

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione.

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Facendo esclusivamente uso delle istruzioni del linguaggio macchina

Dettagli

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali) Conversione binario-ottale/esadecimale Conversione binario-ottale/esadecimale Nella rappresentazione ottale (B=8) si usano gli 8 simboli,, 2, 3, 4, 5, 6, 7 In quella esadecimale (B=6) i 6 simboli,, 2,

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione La codifica delle informazioni codifica forma adatta per essere trattata dall elaboratore INFORMAZIONI DATI interpretazione 2 Informazioni Numeri Immagini fisse Interi

Dettagli

Assembly. Modello x86

Assembly. Modello x86 Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

Dettagli

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1 I sistemi di numerazione Informatica - Classe 3ª, Modulo 1 1 La rappresentazione interna delle informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Spett. Ditta Rossi Via Roma

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito

Dettagli

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II) 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.

Dettagli

INPUT COMPUTER OUTPUT

INPUT COMPUTER OUTPUT 1) Cos è un computer? INPUT COMPUTER OUTPUT E una macchina programmabile in grado di produrre dati in output attraverso l elaborazione di dati forniti in input 2) Cos è un programma? E l elenco di istruzioni

Dettagli

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione analogico e digitale una grandezza (fisica o astratta) può essere

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Sistemi di Elaborazione delle Informazioni Rappresentazione dell Informazione 1 Il bit Si consideri un alfabeto di 2 simboli: 0, 1 Che tipo di informazione si può rappresentare con un bit? 2 Codifica binaria

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Codifica dati e istruzioni Algoritmi = istruzioni che operano su dati. Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore

Dettagli

Calcolo numerico e programmazione Rappresentazione dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

1.2f: Operazioni Binarie

1.2f: Operazioni Binarie 1.2f: Operazioni Binarie 2 18 ott 2011 Bibliografia Questi lucidi 3 18 ott 2011 Operazioni binarie Per effettuare operazioni è necessario conoscere la definizione del comportamento per ogni coppia di simboli

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 1 8 / 1 9 Architettura di Von Neumann Architettura di Von Neumann: l Unità di Elaborazione L Unità di Elaborazione L unità di elaborazione (CPU) contiene

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Informatica B Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore L informazione nel calcolatore q Il calcolatore

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi

Dettagli

Architettura degli Elaboratori e Laboratorio

Architettura degli Elaboratori e Laboratorio Architettura degli Elaboratori e Laboratorio Docente: Francesco Giacomini Assistente: Matteo Manzali Università di Ferrara, Anno Accademico 2013/2014 Rappresentazione binaria delle informazioni 12 Rappresentazione

Dettagli

Note sull architettura del calcolatore

Note sull architettura del calcolatore Note sull architettura del calcolatore 1 Algoritmo Problema Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo Sequenza ordinata di istruzioni che risolve il problema specifico

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 2 LABORATORIO DI SISTEMI OGGETTO: 1) Scrivere un programma, in linguaggio Assembly, per una CPU Intel 8086, che sommi due numeri (var_1,

Dettagli

Introduzione al linguaggio macchina. Istruzione l/m

Introduzione al linguaggio macchina. Istruzione l/m Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

Reti combinatorie. Reti combinatorie (segue)

Reti combinatorie. Reti combinatorie (segue) Reti combinatorie Sommatore Sottrattore Reti sequenziali Generatore di sequenze Riconoscitore di sequenze Reti combinatorie PROGRAMMAZIONE Il programmatore riporta le istruzioni che il calcolatore dovrà

Dettagli

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale La codifica dell informazione Il codice ASCII consente di codificare le cifre decimali da a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero 324 potrebbe essere rappresentato

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile

Dettagli

Famiglia dei processori INTEL

Famiglia dei processori INTEL Famiglia dei processori INTEL 1975 2002 8080-8086 - 80286-80386 - 80486 - Pentium - Pentium II-III-IV - Itanium Compatibilità del SW (assemby) 8086 80286 80386 80486 Pentium Pentium III Perché studiare

Dettagli

Informatica e Bioinformatica: Rappresentazione dell Informazione

Informatica e Bioinformatica: Rappresentazione dell Informazione Informatica e Bioinformatica: Rappresentazione dell Informazione Date TBD Sommario Il calcolatore è in grado di elaborare differenti tipi di informazione numeri, caratteri, immagini, suoni, video Informazione

Dettagli

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

Introduzione al linguaggio macchina

Introduzione al linguaggio macchina Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

Dettagli

Il Processore: l unità di controllo

Il Processore: l unità di controllo Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di

Dettagli

Somma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione

Somma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione RETI COMBINATORIE In una rete combinatoria l uscita è funzione dei soli ingressi u = f () ADDIZIONATORE PARALLELO Addizionatore parallelo (a propagazione di riporto - ripple carry) per numeri binari di

Dettagli

Architettura dei Calcolatori elettronici

Architettura dei Calcolatori elettronici Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore

Dettagli

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI Modulo 1: Le I.C.T. : La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università

Dettagli

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri Modulo 1: Le I.C.T. : La codifica Digitale dei Numeri Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche

Dettagli

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori Aritmetica dei Calcolatori Nicu Sebe March 14, 2016 Informatica Nicu Sebe 1 / 34 Operazioni su Bit Bit Scienza della rappresentazione e dell elaborazione dell informazione Abbiamo visto come i computer

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

Teoria dell Informazione

Teoria dell Informazione Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense Circuiti e reti combinatorie Appendice A (libro italiano) + dispense Linguaggio del calcolatore Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e Anche per esprimere

Dettagli

Modulo 1 I numeri. Università degli Studi di Salerno

Modulo 1 I numeri. Università degli Studi di Salerno Modulo 1 I numeri Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Codifica dei numeri Il sistema di numerazione

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste

Dettagli

1.2 Concetti base dell Informatica: Informazione

1.2 Concetti base dell Informatica: Informazione 1.2 Concetti base dell Informatica: Informazione Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Universitá di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Universitá)

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione di dati: numerazione binaria Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze

Dettagli

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Rappresentazione dell informazione Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Rappresentazione dell informazione, Paolo Bison, FI06, 2007-01-30 p.1 Codifica dell informazione

Dettagli

= = =

= = = Rappresentazione dell informazione Paolo Bison Fondamenti di Informatica AA 2006/07 Università di Padova Codifica dell informazione rappresentazione dell informazione con una sequenza finita di bit differenti

Dettagli

Rappresentazione informazione ed elementi di aritmetica dei computer

Rappresentazione informazione ed elementi di aritmetica dei computer Rappresentazione informazione ed elementi di aritmetica dei computer Salvatore Orlando 1 Rappresentazione dell informazione Simbolo (es. cifra o lettera) - Significato (es. numero o suono) Per comunicare/rappresentare

Dettagli

Rappresentazione dei numeri

Rappresentazione dei numeri Corso di Calcolatori Elettronici I Rappresentazione dei numeri: sistemi di numerazione posizionale Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica

Dettagli

LA CODIFICA DELL INFORMAZIONE

LA CODIFICA DELL INFORMAZIONE LA CODIFICA DELL INFORMAZIONE Prof. Enrico Terrone A. S: 20/2 Lo schema di Tanenbaum Il livello al quale ci interessiamo in questa lezione è il linguaggio macchina, l unico dove le informazioni e istruzioni

Dettagli

Corso di Architettura degli Elaboratori

Corso di Architettura degli Elaboratori Corso di Architettura degli Elaboratori Codifica dell'informazione: Numeri Binari (lucidi originali della Prof.ssa Zacchi e del Prof. Balossino, rivisti dal Prof. Baldoni) 1 Codifica dell'informazione?

Dettagli

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono La codifica binaria Fondamenti di Informatica Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore Introduzione q Il calcolatore usa internamente

Dettagli