c architettura degli elaboratori introduzione sistemi di ... ?· sistema di numerazione...

Download C ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di ... ?· Sistema di numerazione Architettura…

Post on 23-Feb-2019

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

UNIVERSIT DEGLI STUDI DI CAGLIARIFacolt di Scienze

Corso di Laurea in Informatica

Danilo Dessdanilo_dessi@unica.it

CORSO DI ARCHITETTURA DEGLI ELABORATORIIntroduzione

Sistemi di Numerazione

Tutor

Architettura degli elaboratori Intro

Tutor: Danilo Dess

Email: danilo_dessi@unica.it

Skype: danilo_dessi

Homepage: http://people.unica.it/danilodessi/

Ufficio: di fianco al Lab T (fronte Simaz)

mailto:danilo_dessi@unica.ithttp://people.unica.it/danilodessi/

Obiettivi

Architettura degli elaboratori Intro

Obiettivi delle esercitazioni:

Approfondire alcuni argomenti delle lezioni

Saper programmare il processore didattico MIC1 linguaggio IJVM

Saper programmare il processore 8088 assembly 8088

Prerequisiti:

Saper programmare in un qualsiasi altro linguaggio di programmazione

Materiale didattico:

Le slides delle esercitazioni saranno caricate sia sulla pagina di Prof. Reforgiato sia sulla mia pagina personale.

Organizzazione delle esercitazioni

Architettura degli elaboratori Intro

Orario:

Mercoled dalle 12.40 alle 13.30

Venerd dalle 12.40 alle 13.30

Svolgimento:

15 20 minuti: esposizione argomento (architettura o istruzioni)

Restante: esercizi da svolgere in aula (su carta o sul vostro pc) + soluzioni commentate

IJVM nella prima parte del corso

8088 nella seconda

Organizzazione delle esercitazioni (2)

Architettura degli elaboratori Intro

Perch seguire le esercitazioni:

Allesame vi verr chiesto di risolvere esercizi di programmazione (sia con IJVM sia 8088)

In aula vi posso aiutare subito

Potete fare domande e siete invitati a farlo se non capite

Nel caso di dubbi scrivetemi anche per email

Se avete bisogno di ulteriori spiegazioni possiamo fissare degli appuntamenti

Importante:

Le esercitazioni NON sono obbligatorie

Sistemi di numerazione

Sistema di numerazione

Architettura degli elaboratori

Un sistema di numerazione composto da: Un insieme di cifre Un codice formato da un insieme di

regole che permette di interpretare ungruppo di cifre

Operazioni che permettono di ottenerenuovi codici partendo da altri codici

Nei sistemi di numerazione che utilizzeremmo lecifre sono ordinate e assumono un valoreposizionale

Il sistema di numerazione pi utilizzato nella vitadi tutti i giorni quello in base 10. In informaticasi utilizzano quelli in base 2 (binario), 8 (ottale) e16 (esadecimale)

1 5 7 , 2 8

Posizione delle centinaia

Posizione delle decine

Posizione delle unit

Posizione dei decimi

Posizione dei centesimi

Sistemi di numerazione

Sistema Binario. Conversione Decimale - Binario

Architettura degli elaboratori

Il sistema binario cosi caratterizzato: Insieme delle cifre = { 0, 1 } un sistema posizionale

Per convertire un numero da decimale a binario:1. Il numero viene diviso per 2 e si calcolano il

quoziente e il resto1. Il resto pu essere solo 0 o 1; le cifre del

resto formano il numero binario2. Il procedimento ripetuto con i

quozienti fino a quando non si arriva al valore 0

Il numero binario dato dai resti letti al contrario

17 1

8 0

4 0

2 0

1 1

0

Quozienti

Resti

( 17 )10 = (10001)2

Sistemi di numerazione

Architettura degli elaboratori

Ogni posizione rappresenta 2n

In posizione 0 avr 20

In posizione 1 avr 21

Per convertire un numero da binario a decimale si moltiplica ogni cifra per il corrispondente 2n e si fa la somma dei valori

1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 16 + 1 = 17

(10001)2 = (17)10

Sistema Binario. Conversione Decimale - Binario

1 0 0 0 1 24 23 22 21 20

Sistemi di numerazione

Sistema Ottale

Architettura degli elaboratori

Nel sistema ottale le cifre utilizzate sono = {0, 1, 2, 3, 4, 5, 6, 7}

Per convertire un numero da decimale a ottale si procede come abbiamo fatto prima per il codice binario, ma questa volta dividiamo per 8

Per la conversione ottale-decimale valgono le stesse regole: andremmo questa volta a moltiplicare per 8n

1

2 2

02 * 81 + 1 * 80 = 16 + 1 = 17

(21)8 = (17)1017

Sistemi di numerazione

Sistema Esadecimale

Architettura degli elaboratori

Nel sistema esadecimale le cifre utilizzate sono = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

Per convertire un numero da decimale a esadecimale si procede allo stesso modo dividendo per 16

Per la conversione esadecimale-decimale valgono le stesse regole: andremmo questa volta a moltiplicare per 16n

34 2

2 2

02 * 161 + 2 * 160 = 32 + 2 = 34

(22)16 = (34)10

Sistemi di numerazione

Binario-Ottale & Binario-Esadecimale

Architettura degli elaboratori

possibile convertire direttamente un numero dalla suarappresentazione binaria a una rappresentazione in base 8 o in base 16

Per convertire da binario in base 8 raggruppo i bit a gruppi di 3 dadestra a sinistra (nel caso non sia possibile formare lultimo gruppo siaggiungono 0) e ogni gruppo si converte nella cifra ottalecorrispondente:

(10111010001101)2 = (27215)8010 111 010 001 101

2 7 2 1 5

Per convertirlo da binario in base 16 le cifre sono prese a gruppi di 4:(10111010001101)2 = (2E8D)160010 1110 1000 1101

2 E 8 D

Sistemi di numerazione

Ottale-Binario & Esadecimale-Binario

Architettura degli elaboratori

Per convertire un numero dalla sua rappresentazione ottale a quella binaria si prende ogni cifra e la si converte nella corrispettiva binaria utilizzando 3 bit:

(37541)8 = (011111101100001)2

3 7 5 4 1011 111 101 100 001

Per convertire un numero dalla sua rappresentazione esadecimale a quella binaria si prende ogni cifra e la si converte nella corrispettiva binaria utilizzando 4 bit:

(5FA8C)16 = (0101111110101000110)2 = (101111110101000110)2

5 F A 8 C0101 1111 1010 1000 1100

Sistemi di numerazione

Binario: numeri negativi

Architettura degli elaboratori

Esistono quattro sistemi per rappresentare un numero negativo: Modulo e segno Complemento a 1 Complemento a 2 Notazione in eccesso 2m-1

Nella rappresentazione modulo e segno il bit pi significativo utilizzatocome bit di segno: vale 0 se il numero positivo, 1 se il numero negativo. Esempi usando 1 byte:

+10 = 0 0001010-50 = 1 0110010+15 = 0 0001111-15 = 1 0001111

Sistemi di numerazione

Complementi

Architettura degli elaboratori

Anche nella rappresentazione in complemento a 1 il bit pi significativo il bit di segno. Vale 0 se il numero positivo, 1 se il numero negativo. Ilnegativo di un numero si ottiene invertendo tutti gli 1 con 0 e viceversa.Esempi:-10 -> 00001010 -> 11110101 -50 -> 00110010 -> 11001101+15 -> 00001111 -15 -> 00001111 -> 11110000

Anche nella rappresentazione in complemento a 2 il bit pi significativo il bit di segno. Vale 0 se il numero positivo, 1 se il numero negativo. Ilnegativo di un numero si ottiene calcolando il complemento a 1 eaggiungendo 1.

-10 -> 00001010 -> 11110101 -> 11110110-50 -> 00110010 -> 11001101 -> 11001110

+15 -> 00001111-15 -> 00001111 -> 11110000 ->11110001

Il complemento a 2 si pu ottenere anche complementando tutti i bit dopo il primo a 1 partendo da quelli meno significativi

Sistemi di numerazione

Notazione in eccesso

Architettura degli elaboratori

Nella rappresentazione in eccesso m, utilizzando m bit, ogni numero N memorizzato come N + 2m-1 . Per esempio usando 8 bit ogni numero dovressere sommato con il valore 27 = 128. Esempi:

-10 -> 118 -> 01110110-50 -> 78 -> 01001110

+15 -> 143 -> 10001111-15 -> 113 -> 01110001

Sistemi di numerazione

La somma in binario

Architettura degli elaboratori

La somma di due addendi binari inizia dai bit meno significativi e procedesommando i bit nelle posizioni corrispondenti. In caso di riporto siaggiunge alla colonna a sinistra come nellaritmetica in base 10

Se loperazione eseguita in complemento a 1, leventuale riporto sui bitpi significativi viene sommato al bit meno significativo

Se loperazione in complemento a 2 leventuale riporto viene scartato

15 + (-5) =-------+ 10

Complemento a 1

00001111 +11111010 =

-----------------1 00001001 +

1-----------------

00001010

Complemento a 2

00001111 +11111011 =

-----------------1 00001010

Sistemi di numerazione

Esercizi

Architettura degli elaboratori

Convertire in binario 84, 77, 103, 2016

Convertire in decimale (1000101)2, (10110110)2

Convertire in decimale e binario (41)8, (135)8

Convertire in decimale e binario (3D)16 ,(A5B)16

Convertire in ottale e esadecimale (111100001000)2, (101100111001010)2

Rappresentare utilizzando 8 bit in modulo e segno, complemento a 1, complemento a 2 e rappresentazione in eccesso 8: 27, -27, 127, -127

Sommare utilizzando 8 bit in modulo e segno, complemento a 1 e

Recommended

View more >