Anteprima
Vedrai una selezione di 7 pagine su 27
Appunti a computer - Fondamenti di informatica, prof. Danese Pag. 1 Appunti a computer - Fondamenti di informatica, prof. Danese Pag. 2
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Appunti a computer - Fondamenti di informatica, prof. Danese Pag. 6
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Appunti a computer - Fondamenti di informatica, prof. Danese Pag. 11
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Appunti a computer - Fondamenti di informatica, prof. Danese Pag. 16
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Appunti a computer - Fondamenti di informatica, prof. Danese Pag. 21
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Appunti a computer - Fondamenti di informatica, prof. Danese Pag. 26
1 su 27
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Efficiente accesso a tabelle e matrici con lo stack pointer

<(REG A)+(REG B) *N°BYTE di A>→MAR è particolarmente efficiente per accedere a tabelle e matrici. Con lo stack pointer, istruzioni come PUSH o POP permettono di inserire dati dai registri alla stack pila (o viceversa), di estrarre dati dalla pila e salvarli nei registri. Lo stack pointer punterà sempre alla cima della pila, quindi può essere sfruttato per indirizzare l'operando. Ad esempio, sia IND l'indirizzo dell'operando:

  1. PUSH(REGn)=IND(a) (SP+1→SP) (REGn)→PILA (SP)→MAR ((MAR))→MBR trovato l'operando
  2. POP(SP)+1=IND(a) (SP+1→SP) (PILA)→REGn (SP)→MAR ((MAR))→MBR trovato l'operando

NUMERAZIONE

Base decimale: 3 2 1 0

Esempio: 7352=7*10^3 +3*10^2 +5*10^1 +2*10^0

Si sceglie una base B, si scelgono B simboli che rappresentano i numeri da 0 a B-1: 0≤ ≤B-1. I numeri sono rappresentati dai coefficienti del polinomio moltiplicati per le potenze.

della base, indichiamo la base del sistema di numerazione nel seguente modo:

SS-1 SS-2 1 0*B + *B + *B +...+ *B + *BB = ? A A A A A-2S S-1 S 1 0N ? A

La rappresentazione è posizionale poiché il peso associato alla cifra (cioè la potenza di B per cui viene moltiplicata) dipende dalla sua posizione.

Cambiamento di base: (da A a B) 1-1n n n-2 1 0N N + + + +X B X B X B...+ X B X B = A B n n-1 n-2 1 0

Come trovo i coefficienti? Metodo delle divisioni: divido ogni volta per B (il numero della nuova base)

( )( )+ + )X B( X B... X1 2 n-1n n n-2 1N + + + +X B X B X B...+ X B X = B n n-1 n-2 1 0 + ?X B0

Se continuo a dividere per B ottengo ogni volta un resto, un quoziente, e il coefficiente interessato:

( )( )+ + )X B(X B... X1 2 n? ( )( )+X B... X2 n+ ?X B0 ? 15X

E così via fino a. Questo metodo

funziona bene dalla base 10 a qualunque altra, ma presanun’altra base di partenza non è detto.

Numeri frazionali:rappresentazione della parte frazionaria in un’altra base.

Metodo delle moltiplicazioni:−1 ( )−2+¿ B … X −nX ¿F F ¿= =A B −1+B ¿X −1 −1 ¿B

Continuando a moltiplicare per B si ottiene:−1 ( )−2+¿ B … X −1 ( )−2+¿ B … X−n −nX X¿ ¿¿ = ¿−1+B ¿X −1+B ¿X−1 −1−1 ¿¿B∗B XE così via fino a −n

Metodo a colpo d’occhio: è possibile se una base è potenza dell’altra.

K 4=BB relazione esponenziale es: 16→2 →222 1

Rappresentazione in base 2 di un numero esadecimale:k k−1 1 0N N d 2 d 2 d 2 d 2= = + +…+ +16 2 k k−1 1 0 15

Si dice metodo a colpo d’occhio perché si trovano

ad occhio dei comodi raggruppamenti:
  1. 8→2 k 2 1 0 2 1 0N N 3 1d 2 d 2 d 2 d 2 d 2 d 2= = +… ( + + )* +( + + )*2 28 2 k 5 4 3 2 1 0
  2. 16→2 5 3 80101 0011 1000
  3. 16→8Sono due potenze di due, bisogna intermediare con la base 20 6 1 5 2 0 4 7 80001100011010100001001111 8 D 4 2 7 16BASE ESADECIMALE: OPERAZIONI:0 00001 00012 0010 SOMMA SOTTRAZIONE3 0011 16+ 0 14 01005 0101 0 0 1 + 0 16 0110 1 1 (1)7 0111 0 0 (1)8 1000 0 19 1001 1 1 0A 1010 MOLTIPLICAZIONEB 1011C 1100D 1101 + 0 1E 1110F 1111 0 0 01 0 1Rappresentazione dei numeri nel calcolatore:poiché nel computer l’unità minima di informazione è il bit, un sistema fisico dotato di due stati stabili,in esso i numeri (e le informazioni) sono rappresentate in binario.Numeri negativi:il binario ha solo 2 simboli, 0 e 1, e non ha simboli per rappresentare il segno (+ e -),

Per questo si sono adottate diverse strategie.

Rappresentazione in modulo e segno: il primo bit rappresenta il segno e gli altri rappresentano il modulo del numero. Facendo un esempio con un numero a 8 bit, invece di poter rappresentare i numeri da 0 a 256, possiamo rappresentare i numeri da -127 a 127, ovvero da -1 a -1 poiché lo 0 è rappresentato 2 volte, come negativo e come positivo.

Complemento alla base di un numero: nella rappresentazione in complemento alla base con n cifre, le combinazioni rappresentano numeri positivi e negativi. Le combinazioni da 0 a -1 rappresentano numeri positivi, quelli negativi vanno da -1 a -2 e si rappresentano con la seguente definizione: sia X un numero positivo, il suo corrispondente negativo (-X) è rappresentato come il numero -X, cioè -X si rappresenta come il complementare di X rispetto al numero massimo.

Esempio con un numero con base dieci: 2^10, n=2, quindi si hanno 10210 configurazioni possibili, da 0 a...

  1. 49 (cioè -1) rappresentano i numeri positivi,
  2. 2210 2¿da 50 (cioè a 99 ( cioè -1) come previsto dal complemento. Se X=36, -X in102 2complemento ( in questo caso si dice complemento a 10) è -X=100-36=64.
  3. 10REGOLA PRATICA: il complemento a 10 si trova analizzando le cifre a partire da destra: gli zerifino alla prima cifra significativa si riportano tali e quali, della prima cifra significativa si fa ilcomplemento a 10 di tutte le altre il complemento a 9.
  4. Esempio con un numero base 2: 17525B=2 n=5, quindi si hanno configurazioni possibili, da 0 a 01111 (cioè -1)2 252 5¿rappresentano i numeri positivi, da 10000 (cioè a 10000 ( cioè -1) come previsto22dal complemento.
  5. Se X=01011, -X in complemento a 2 è 100000-01011=10101.
  6. REGOLA PRATICA: l complemento a 2 si trova partendo dal bit meno significativo, si riportanoinvariati tutti i bit fino al primo bit a 1 compreso, si complementano i rimanenti bit (0→1).

e1→0).Complemento alla base -1 di un numero:nella rappresentazione in complemento alla base -1 di un numero con n cifre le combinazioni rappresentano numeri positivi e negativi. Le combinazioni che vanno da 0 a -1 rappresentano i numeri positivi. Le n combinazioni che vanno da -1 a -2 rappresentano i numeri negativi, con la seguente definizione: dato un numero positivo X, il suo corrispondente negativo è dato da -1)-X.

Esempio con un numero base 10 (detto complemento a 9): X=36 B=10 n=2, quindi in complemento alla base -1 è 99-36=63

Esempio con un numero base 2: (detto complemento a 1) X=01011 B=2 n=5, quindi il complemento alla base-1 è -1)-X=(100000-1)-X=11111-01011 (si ottiene complementando ogni singolo bit 0→1 e 1→0)

N.B. il complemento alla base si può ottenere sommando 1 al complemento alla base -1

Considerazioni sui complementi alla base e alla base-1: nelle rappresentazioni in complemento

le rappresentazioni dei numeri negativi sono definite solo quando si è stabilito il numero delle cifre, per esempio i complementi a 1 e a 2 per X=36 B=10 e n=2 è 64 per il complemento a 2 e 63 per il complemento a 1, invece per X=36 B=10 e n=3 è 964 per il complemento a 2 e 963 per il complemento a 1. Tutti questi numeri rappresentano comunque il numero -36! In complemento a 2 i numeri positivi sono rappresentati dal loro modulo e hanno il bit più significativo (segno) posto a 0 o a 1, metà delle configurazioni sono perciò riservate ai positivi n-1 e metà ai negativi. Il più piccolo numero rappresentabile è -2^(n-1), il più grande è 2^(n-1)-1 e lo zero ha un'unica rappresentazione (tutti zeri). In complemento a 1 il più piccolo è -2^(n-1)+1, il più grande è -1 e lo zero ha due rappresentazioni, una come +0 e una come -0 (tutti zeri e tutti uni). In altre parole il

complemento a 2 divide le rappresentazioni possibili equamente tra positivi e negativi considerando lo zero come primo positivo, il complemento a 1 lo fa considerandone uno positivo e uno negativo. In questo modo il complemento a 1 può rappresentare un negativo in meno rispetto al complemento a 2.

Il complemento alla base (o a 2) è utile perché permette alla macchina di effettuare la somma algebrica senza dover operare una serie di confronti tra i due operandi (per determinare il segno del risultato), operazione che richiederebbe parecchio tempo. Inoltre, con la tecnica del complemento si può utilizzare un solo circuito per effettuare sia addizione che sottrazione.

Esempio: proviamo a calcolare A-B, sappiamo che -B si rappresenta come (-B), non considerando il riporto.

A-B = A+(-B)

A = 01001

B = 00110

A + (-B) = 01001 + 00011 = 11010

Esempio con B' in complemento a 2:

0011 (1)

00011

Circuito di somma e sottrazione:

A-B = A + B' = A + (-B) in complemento a 2

22n2= A+ -1-B) in complemento a 1¿Sia S una stringa di bit tali che:sia I un numero di cui vorremmo fare ilnegativo:se S=0 →I non cambiase S=1 →restituisce ilcontrario (cioè I’,complementato).RSia ora A e B i bit addendi, iliRriporto della somma precedente, C il risultato e iloriporto di questa coppia. I risultati a seconda degliingressi possono essere: 18Se ora procediamo collegando i singoli blocchi possiamocostruire un vero e proprio circuito sommatore-sottrattore:C C C a a a b b bIl risultato C= gli addendi A= e B= ,2 1 0 2 1 0 2 1 0l’operazione svolta è quindi C=A+B 19Si presentano due casi:1) se S=0 allora i bit b rimangono invariati e otteniamo una somma normale:

Dettagli
Publisher
A.A. 2019-2020
27 pagine
3 download
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher M1000 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 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 Pavia o del prof Danese Giovanni.