Estratto del documento

l COMPONENTI FONDAMENTALI DI UN CALCOLATORE

Per quanto potente e complesso sia un calcolatore, vi sono alcuni componenti di partenza che non

mancano in nessuna macchina.

Si è cosi avuta un architettura di riferimento per la composizione di un calcolatore che prende il nome di

Architettura di Von Neumann (leggesi fon Noiman). eu,

Essa consta di 5 unità funzionali: lnput, Memoria, Alu, Output.

Vediamo nel dettaglio cosa sono e perché sono cosi indispensabili.

Il computer è nato per risolvere e semplificare problemi di vario genere quindi abbiamo bisogno di

comunicare i dati al calcolatore, li processi e restituisca il risultato all'utente.

detto possiamo sintetizzarlo in uno schema:

Quanto il mouse o

Per fornire i dati abbiamo bisogno di determinati dispositivi come la tastiera.

si dice fornire un algoritmo.

Insieme ai dati dobbiamo fornire anche un modo per risolvere il problema,

Esso è un insieme di regole ordinato che individua una soluzione per un certo problema.

si usa appunto la RAM

Abbiamo bisogno di salvare i nostri dati, anche solo temporaneamente, e per questo

(Random Access Memory).

Questa necessità è nata dalla mancanza di capacità di memorizzazione di dati da parte dell' ALU (Arithmetic

si occupa di eseguire le operazioni aritmetiche e logiche.

and Logic Unit), l'unità che la CU (Unità di Controllo) che controlla i vari percorsi e

A sovraintendere e coordinare le operazioni c'è

gestisce le varie operazioni tra cui anche il percorso memoria- ALU- memoria per il calcolo dei dati.

è quella di restituire in Output i dati ottenuti. Un esempio: il monitor.

L'ultima operazione

le unità funzionali senza però addentrarci, cosa che facciamo ora.

Abbiamo elencato

• Mouse: Inizialmente era di tipo elettromeccanico e usava una sfera che con il suo rotolamento

il

le coordinate (x,y). Ora mouse è di tipo ottico. Esso è un minuscolo processare

riusciva a cambiare

LED che illumina la superficie sottostante; le immagini vengono inviate al processare

include un

che

e confrontate per determinare l'avvenuto spostamento.

• Monitor: Sfrutta la stessa tecnologia della TV, un video a scansione basato su un tubo a raggi

(CRT), esso scandisce un'immagine alla volta, da 30 a 75 volte al secondo. Con questo

catodici

refresh rate non si avverte nessuno sfarfallio. L'immagine è composta da una matrice di ele menti, i

pixel.

• La memoria contiene i dati e permette di salvarli mentre essi sono in esecuzione .

Vi sono due tipi di RAM la DRAM dove gli accessi a qualsiasi area di memoria richiedono lo stesso tempo.

La SRAM(Static RAM), molto più veloci delle DRAM ma più costose. Un esempio: la cache.

Esegue le istruzioni di un programma. Comprende due componenti fondamentali : CU e

• Processare:

unità di elaborazione di dati (datapath) la cui combinazione viene chiamata CPU (Centrai Processing

Unit). Il datapath esegue operazioni aritmetiche mentre la CU indica al datapath, memoria e

dispositivi cosa fare in dipendenza delle istruzioni del programma.

COMUNICAZIONE TRA CALCOLATORI

Quando due entità desiderano comunicare devono utilizzare un insieme di regole comuni dette linguaggio.

è

la macchina comprende il cosiddetto linguaggio macchina che consta di due soli simboli 0,1

L'unico che

ovvero acceso,spento oppure alto,basso.

L'utente deve necessariamente parlare lo stesso linguaggio del calcolatore per poter comunicare. Le parole

del linguaggio del calcolatore sono dette istruzioni mentre il set viene detto insieme di istruzioni.

Da quanto detto possiamo evincere che inizialmente si programmava utilizzando solo O e 1 ma ciò

è

lunga serie di istruzioni per ricavarne il

comportava una minimo risultato, per tale motivo si preferito

costruire un linguaggio che si avvicinasse all'uomo e si allontanasse dalla macchina, il linguaggio Assembly.

è

troppo vicino alla macchina ed per questo motivo che sono stati

linguaggio, però, risultava ancora

Tale

realizzati i linguaggi ad alto livello, che permettono l'utilizzo di parole umane (come if o else) e dell'algebra.

L'utente dopo aver dato elaborato l'algoritmo, sviluppa il programma in un linguaggio ad alto livello

tradotto poi in Assembler (dal Compilatore) ed infine attraverso l'Assemblatore si ha il codice

(codifica)

macchina. SISTEMA POSIZIONALE, CONVERSIONI

2

Il calcolatore utilizza solo cifre (O e 1) mentre noi 10 (0 ..

9) utilizzando un sistema pesato .

Nel sistema posizionale pesato il valore di una cifra varia a seconda della sua posizione. La cifra più a destra

è è

quella meno significativa mentre quella a sinistra la più significativa. Per calcolare l'esatto valore di una

moltiplicare il numero per la base elevata alla posizione

cifra posta in una determinata posizione bisogna

che occupa all'interno del numero.

Es. 5555= 5 uk + 5 h+ 5 da+ 5 u. 1 2 3

Iniziando da destra moltiplichiamo 5 * 10°+ 5*10 + 5 *10 + 5*10 E quindi otteniamo

.

5 +50+ 500 + 5000= 5555; Ho utilizzato la base 10 perché a noi umani risulta più facile in quanto

possediamo 10 dita. Con un sistema base 10 abbiamo

2 Ii,:-l

i n- ai i

N =an-l 10n-l + an-2 lOn- ... a1lO +a Con a; V {0, 1 }. Compattando scriviamo * lO

D

o E E

10

Generalizzando possiamo scrivere (b indica la cardinalità ovvero la base) .

RAPPRESENTAZIONE DI NUMERI

Quanti numeri rappresentiamo con n bit? Risposta 2".

Dimostriamo per induzione. Tale procedimento consta di 2 fasi: base induttiva e passo dell'induzione.

a) Base n=l (caso più semplice) [0,1]

b) Passo lpotizzo che con n bit rappresento 2" numeri distinti. 1

bit rappresento 2" Tesi con n+ l bit rappresento 2"+

lp. con n

n-1 n-2 ..... l O -72" 1

n n-l n-2 .... 1 O -72"+2" = 2"+

Range di valori (O .. 2"- l)

a) Base induttiva: ìp. n=l tesi mìn=O; max= (2" -l)

Infatti con n=l otteniamo bit, appunto o O o l.

2 1

b) Passo dell'induzione: ip n bit min=O; max= (2" -l) tesi con n+ l bit mìn=O; max= (2"+ l)

-

1

Se con n-l bit riesco a rappresentare 2" - l allora con n bit rappresento 2"+ -1 poiché viene

aggiunto come MSB il che significa che ha peso 2" che aggiunto a 2"- l dà come risultato quanto

1

2"- l +2" =2"+ 1

cercato ovvero -

Conversione Dee -7 Bin

Sì divide il numero per 2 e si calcola il resto. Si prendono tutti i resti partendo dall'ultimo.

25

N10 =

= 20o + R = 2*12 +l

N o

1 0

N = 25 = 11001

10 Bin -7 Dee

Conversione

So = ao + 25 = 170

1

Formalmente:

So = a

o+ 251 = ao + 2a1 + 452 = a

o+ 2a1 + 4a2 + 8S3 = a o + 2a1 + 4a2 + 8a3 + 1654 = ao + 2a1 + 4a 2 + 8a 3 + 16a4 +

+ 16a4 + 32a +

= a + 2a1 + 4a 2 + 8a + 645 = a + 2a1 + 4a2 + 8a 16a4 + 32a + 64a + 128a

325 3 3

5 0 5 6 0 5 6 7

-7

Conversione Sin Ottale

Per convertire un numero da binario adottale basta raggruppare le cifre a 3 a 3 partendo da destra (se

mancano bit a sinistra se ne aggiungono quanti ne servono per avere un gruppo da 3) .

1+11

Es. 001 101

primo gruppo SO= 1 *2° =1

Parto dal 1 2

Continuo con il secondo gruppo 51= 0*2° +0*2 *2

+ 1 =4

2

1 + 1 =6

gruppo 52= 0*2° + 1 *2 *2

Terzo 1 2

+ 1 =

Quarto gruppo 53= 1 *2° + 0*2 *2 5.

-7

Conversione Ottale Bin

Converto cifra per cifra e la scrivo su 3 bit

Conversione Hex-7 Dee

Per convertire da esadecimale a binario invece bisogna convertire ogni singola cifra in binario scrivendola

su 4 bit.

COA4F1

C= 1100; 0=0000; A= 1010; 4=0100; F= 1111 ; 1=0001

COA4F1= 1100 0000 1010 0100 1111 0001

-7 Hex

Conversione Bin

Raggruppo a 4 bit alla volta e converto.

bit

Dire quanti sono necessari per rappresentazione di dandone opportuna motivazione.

la 78, n~

Per rappresentare 78 sono necessari 7 bit, numero ricavato dalla formula [log (N +1)].

2

10 10

è

La formula ottenuto dai seguent i passaggi:

n~ max = 2"-1

n~ n~

[log (N +l)]. Quindi [log (79)]=6, ... quindi 7 bit.

2 2

10 SEGNO

MODULO E

La rappresentazione in modulo e segno ci permette di rappresentare sia numeri positivi sia i numeri

negativi. Il MSB viene posto a O o a l per indicare rispettivamente se x >O o x<O. La rappresentazione in

è

mods stata soppressa perché avrebbe portato a creare un ALU troppo complessa per via della possibilità

±O ed inoltre le operazioni di addizioni e sottrazioni sarebbe risultate troppo difficili ed inoltre

di scrivere differenti (addizionatore e sottratto re) . Inoltre per svolgere un operazione bisogna

occorrono 2 moduli

prima verificare i segni,salvare quello con valore assoluto maggiore, ed inoltre se sono concordi addizionare

altrimenti sottrarre. Il mods dimezza il max. e è

• Dire quanti distinti numeri rappresentiamo in modulo segno con 10 bit e qual il massimo

opportuna motivazione.

rappresentabile, dandone

Con 10 bit possiamo rappresentare 1024 combinazioni, numero ricavato dal calcolo 2" come visto in

è

S. Ciò che cambia il massimo rappresentabile poiché con Mods abbiamo necessità di

domanda se precedentemente abbiamo potuto affermare per induzione che con

rappresentare anche il segno quindi 1

1 9

n+ l bit max= (2"+ -1) allora con un bit in meno ottengo (2"- -1) quindi con 10 bit rappresento 2 -l=

511. è

Dire qual l'intervallo di rappresentabilità in modulo e segno su 12 bit, dandone opportuna

motivazione. 1

è

Il range di valori -2047 .. +2047, numero ricavato dalla formula ±(2"- -1) . Dimostriamo per induzione

affermato .

quanto

a) Base induttiva: ip. n=l tesi min=-1; max= l

Infatti con n=l otteniamo o -l (Dato da 11) o l (Dato da 01).

1 1

b) Passo dell'induzione: ip n bit min=- (2"- -1); max=- (2"- -1)

2 2

tesi con n-l bit m in=- (2"- -l); max=- (2"- -l)

1 2

Se con n bit riesco a rappresentare 2"- -1 allora con n-l bit rappresento 2"- - l poiché il MSB che ha

1

peso 2" viene perso 2"- l- 2" =2"- 1

-

Modulo e segno (il primo bit indica il segno-)

Convertire numero in

10101010 = - 42

Sa = a + 2S = 42

0 1 COMPLEMENTO A 2 complemento a 2.

Per evitare i problemi legati alla rappresentazione in modulo e segno il

è nato

DEFINIZIONE

Considero una stringa : an-l an-2... .. a a E' in complemento a 2 se il valore ad esso associato è

.

1 0

n-l

_ N

"n-2 i_

2 2

+

an-l an-2

..... al ao-- an-l L...i=O ai -

In questo caso an-l non è più un etichetta che indica il segno come per il mods, bensì è un valore defin ito

avendo un peso. INTERVALLO DI RAPPRESENTABILITA'

1

Vogliamo dimostrare che l'intervallo di rappresentabilità è 0 ... 2n- -l per i positivi

lpotizzo che an-l =O quindi posso affermare che il numero è maggiore di O.

Distinguiamo 2 casi : se sono tutti i bit a O allora è O; se abbiamo tutti i bit a l allora è 2n-l -l

Dimostriamo cosi quanto affermato in precedenza . 1)

l'intervallo di rappresentabilità è -(2n- -l per i negativi

Vogliamo dimostrare che ...

lpotizzo che an-l = l quindi posso affermare che il numero è negativo.

-7 -

n-

i

Se a;= O allora 2n-l

V {0, 2}

E -7-

n-

i +

Se a; = l allora 2n-l 2n-l- l= -l

V {0, 2}

E

Abbiamo cosi visto che il range di valori varia da- 2n-l a 2n-l - Ciò perché lo O è considerato solo positivo .

l.

Il complemento a 2 quindi è asimmetrico .

DISTINTI BIT RAPPRESENTIAMO? La risposta è sempre 2n.

QUANTI CONVERSIONE

B-7D

1101111=-17 Si esclude il primo bit perchè vale -2n-l

S = a = l

5 5

So = a

o + 2S = 4 7

1 il

Calcolo la parte puramente numerica (ovvero escludo primo bit). Il risultato è+ 47 a cui addiziono

6

-2 =- 64. Il risultato è quindi -64 + 47 = -17 D-7B

5 l

N=+27 log 28= + per il segno= 6 bit.

2

= =

20o + R 2*13 +l

N1o 0

N = 27 = 011011

10 Algoritmo per ricavare l'opposto di un numero

Convertire +N in base 10; Eseguire il complemento bit a bit della stringa ottenuta dalla conversione;

Sommare l

Es. -27

N=+27=011011 Ne faccio il complemento

100100 + = 100101 = -27

l TAVOLA PITAGORICA ADDIZIONE

o l

+

o o l

lo

l l ADDIZIONE

111 0

1101+

10000

- ESERCIZIO D-7B

Scrivere -38 in mods e in complemento a 2.

MODS

= 20o + R = 2*19 +O

N10 0

~ =2Q + R = 2*0+1

5 5

N= 100110 in mods= 1100110

COMP2 +l= 1011010 ovvero -64 + 26 = -38

N=0100110 Complemento 1011001 ESERCIZIO B-7D

N= 1010101

= -21

MODS

= a =O

S

5 5

So = a + 2S = 21

1

0 6 + 21 = -43

COMP2 = -2 di 1010101. 0 101010 + 0000001 = 0101011 = + 43

Trovare l'opposto TAVOLA DELLA FUNZIONE ADDIZIONE

Vi~: { O,n-1 } è

La stringa C ovvero del Carry (riporto} viene costruita passo dopo passo. Inizialmente il riporto sempre O

va calcolato.

poi

b; S;

a; C; ci+ l

o o o o o

o o o

1 1

o o

o 1 1

o

o 1 1 1

o o o

1 1

o o

1 1 1

o o

1 1 1

1 1 1 1 1

è

Il risultato di S; funzione di 3 variabili S; S; (a;,b;,C;}

=

SCHE M A FISICO ADDIZIONATOR E A N BIT A PROPAGAZIONE DI RIPORTO

O bO

an-l bn-1 an-2 bn-2 al bl a l

l l l co

Cn-2 Cl

n-

n

C C - so

Sl

Sn-2

Sn-1

è

Il 1

problema però la lentezza. All'istante t(O} lavora solo la cella O, in quanto la cella attende la cella O che

~t ~128 .

è è

128

L'attesa in generale quindi su bit Consideriamo i vari casi : A e B maggiori,

fornisca C .

1 6

minori o uguali a O. Lavoriamo sempre su bit.

CASO l

A,B~ O

0001000

000111 +7

000100 +4

001011 +11 c'è il

Qui constatiamo che non overflow, ovvero possiamo rappresentare numero su 6 bit. In generale pe r

c'è

l'overflow basta confrontare Se sono uguali non overflow, altrimenti si.

verificare C6,C5.

Es. con OF

0111110

011111

011111 -7 il riporto finisce nel segno [overflow]

111110

CASO 2 : A, B<O

1110000

111111 -1

111000 -8

110111 -9

A~O

CASO 3 : B<O

0011100

001110 +14

101111 -17

111101 -3

B~O

CASO 4 : A<O

0000010 -31

100001

011001

111010 -6 REGOLA DEll' ESTENSIONE IN SEGNO

Se abbiamo necessità di scrivere un numero su 32 bit, ma effettivamente ne occorrono di meno per

rappresentare il nostro numero allora utilizziamo la regola dell'estensione in segno .

è

bit di segno m volte, dove m il numero che occorre per completare i z

Tale regola prevede di duplicare il

bit.

Riassumendo: n bit per rappresentare il numero, m bit da aggiungere,z bit da occupare . (Z=N+M)

±7(111)

Esempio : Scrivere su 8 bit. il

OOS : 00000111=+7; 10000111=-7. Osserviamo quindi che per Mods non abbiamo necessità di duplicare

M

bit bensì basta parlo come MBS per il segno.

il - r

--

+-7.

COMP2: 00000111=+7; Ne faccio il complemento: 11111000 Aggiungo 1 =11111001 Ottengo

RAPPRESENTAZIONE FRAZIONI PROPRIE

Si consideri una frazione propria, F<l.

Dobbiamo rappresentare una parte intera e una decimale.

2 1 2

lon-l lOn- 10-m

10 10- 10- 10-(m+l)

an-l + an-2 ... al + ao, a_l + a_2 ... am-1 + a_m

n-2 -m

n-l -1 -2 (-m-1)

CON BASE 2 2 2 2 2 2 2 2

: an-l + an-2 ... al + ao, a_l + a_2 ... am-1 + a_m

QUANTE DISTINTE FRAZIONI RAPPRESENTO?

Con m bit ottengo come al solito 2m distinte combinazioni

RANGE DI RAPPRESENTABILITA'

Il minimo rappresentabile è 1/m cioè OOOOO ...... m

Mentre il max: zi

m-t m-2 o m

2

considerombittutticonvalorel:lx~+ lx~+lx~+lx ~= 2 2 2 2 1 1

+

+ zm + .... =Ir;;(/ m= =1-zm:

;::

2 2

ALGORITMO DECIMALE BINARIO

il

Si cicla fin quando risultato delle moltiplicazioni è 1.000 oppure fino ad esaurimento bit

F=.125=F 0

2 F = O + .250 = a_ F_

+

1 1

0

2 F_1 =O+ .500 = a-2 + F-2

2 F_2 = 1 + .000 = a_3 + F_3

Si acquisisce da a_ ad a_m = .001

1

F= .217=F 0

2 F = O + = a_l + F_l

.434

0

2 F-1 = O+ .868 = a-2 + F-2

Potremmo ancora continuare ma forse sarebbe inutile è

F=.00100 Supponiamo di avere solo 3 bit a disposizione, il risultato sarebbe .0011o stesso di .125, questo

un problema di rappresentazione della virgola fissa

RAPPRESENTAZIONE IN VIRGOLA FISSA

il

Si sceglie a priori numero di bit da dedicare alla parte intera e a quella decimale.

Es. Lunghezza parola 1=12 Kinteri=6; Kdec=6

F=101.0101 Si esegue il PADDING,ovvero si aggiungono m bit per completare la lunghezza ma il conto non

cambia. l bit vanno aggiunti a sinistra per la parte intera e a destra per la frazionaria.

f ·.

~\o~~ ~ &.;~~{

F=000101.010100 V

~k ~~.~w~ t-c'lr

. . .

~t~ ~cee b.-.t

(~<:>e~~ ~~ ~ ~u

d..-

&r."\ (..).jv-Qj (À, L

.. __

F-(m- = F_ = a_m /2= (a.2+F.2)/2 = (1+.25)/2 = .625 -1- -/.

n. <r> t?

ùDY

) 1

3 ,~- ~ -v."'t\l_V~ ..Q_~ f~-'L Q"'u...v.à'~~

..Xc....

j):cL.(S._,

~ ~'>~~L:

F-(m-4) = F.o = a_m /2= (a _

+F_ )/2 =(O+ .625)/2 = .3125

1 1 i]

[Q

't.U.. .o\ff\-ti; -')- 9..!24-

h-.

VIRGOLA MOBILE l · ]

r"' :'(e..

~~\)~-~co , "~-J-g

1175*10.2

1 1

Consideriamo +11,75. Lo possiamo scrivere come +11,75*10° = +117,5*1

Anteprima
Vedrai una selezione di 17 pagine su 78
Architettura degli elaboratori - Appunti Pag. 1 Architettura degli elaboratori - Appunti Pag. 2
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 6
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 11
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 16
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 21
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 26
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 31
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 36
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 41
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 46
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 51
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 56
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 61
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 66
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 71
Anteprima di 17 pagg. su 78.
Scarica il documento per vederlo tutto.
Architettura degli elaboratori - Appunti Pag. 76
1 su 78
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher AbraCadabra123 di informazioni apprese con la frequenza delle lezioni di Architettura degli elaboratori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Salerno o del prof De Santis Filomena.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community