La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lez. 1 Introduzione all'architettura degli elaboratori

Presentazioni simili


Presentazione sul tema: "Lez. 1 Introduzione all'architettura degli elaboratori"— Transcript della presentazione:

1 Lez. 1 Introduzione all'architettura degli elaboratori
Architetture I Lez. 1 Introduzione all'architettura degli elaboratori A.A. 09/10 Architetture degli Elaboratori I

2 Finalità del corso Fornire le nozioni di base relativamente ai principi di funzionamento di un calcolatore Acquisire familiarità con i calcolatori e saperne valutare le differenze in termini tecnologici Acquisire i rudimenti della programmazione Assembler A.A. 09/10 Architetture degli Elaboratori I

3 Argomenti Principali Il corso è strutturato in tre parti:
Introduzione alla programmazione assembler Principi di Elettronica Digitale Panoramica delle principali componenti di un calcolatore: CPU, Memoria, e alcuni dispositivi di I/O A.A. 09/10 Architetture degli Elaboratori I

4 Bibliografia 4 ore di lezione settimanali (6 crediti) Esame:
Scritto con domande a risposta multipla + orale 3 Prove a Gennaio-Febbraio, Giugno, Luglio, Settembre Lo scritto può essere sostituito per chi frequenta da prove in itinere Libro di testo per la parte di teoria: G. Bucci, Architettura e organizzazione dei calcolatori (Fondamenti), McGraw-Hill Sito ufficiale del corso: A.A. 09/10 Architetture degli Elaboratori I

5 Mainframe A.A. 09/10 Architetture degli Elaboratori I

6 Desktop A.A. 09/10 Architetture degli Elaboratori I

7 Laptop A.A. 09/10 Architetture degli Elaboratori I

8 Smartphone A.A. 09/10 Architetture degli Elaboratori I

9 A.A. 09/10 Architetture degli Elaboratori I

10 Le componenti principali
Motherboard Processore Memoria Alimentatore Case Scheda grafica Hard disk Raffreddamento Video Tastiera Mouse CD-DVD A.A. 09/10 Architetture degli Elaboratori I

11 Un unico modello di riferimento: la macchina di Von Neumann
INPUT MEMORIA DATI CPU PROGRAMMI OUTPUT A.A. 09/10 Architetture degli Elaboratori I

12 Interpreta l’istruzione
Ciclo d’esecuzione Carica dalla memoria la prox. istruzione FETCH Interpreta l’istruzione DECODE EXECUTE ESEGUI l’istruzione A.A. 09/10 Architetture degli Elaboratori I

13 Dettaglio (I) A.A. 09/10 Architetture degli Elaboratori I

14 Dettaglio (II) A.A. 09/10 Architetture degli Elaboratori I

15 Dettaglio (III) A.A. 09/10 Architetture degli Elaboratori I

16 Rappresentare le informazioni
A.A. 09/10 Architetture degli Elaboratori I

17 Bit e Byte Un calcolatore svolge fondamentalmente due funzioni
Esegue calcoli a velocità elevatissime Gestisce (memorizza, trasforma, invia, reperisce) DATI A.A. 09/10 Architetture degli Elaboratori I

18 Bit e Byte Dati: sono sequenze di simboli scritti rispettando opportune regole, che descrivono attributi o proprietà di cose, persone, eventi di varia natura I dati sono di diversa natura: Numeri Articoli o libri Fotografie Video Suoni A.A. 09/10 Architetture degli Elaboratori I

19 Bit e Byte Rappresentazione dati
Analogica: uso un numero infinito di simboli Digitale: uso un numero finito di simboli Nei calcolatori i dati sono rappresentati in formato digitale usando esclusivamente due simboli: 1 e 0 chiamati BIT (b) (Binary Digit) Per una maggiore potenza espressiva i calcolatori adottano come dato elementare il BYTE (B) (8 bit), che consente di rappresentare grandezze che assumono sino a 256 “stati” diversi WORD (16b, 32 b), DWORD A.A. 09/10 Architetture degli Elaboratori I

20 Informazione vs. Dato Un dato diventa informazione nel momento in cui si procede ad una sua interpretazione, e diventa per noi informazione se arricchisce la nostra conoscenza DATI SEMANTICA INFORMAZIONE A.A. 09/10 Architetture degli Elaboratori I

21 Rappresentazione dei numeri
Numero è un concetto astratto utile nelle operazioni di conteggio di oggetti di varia natura (cioè, di vari insiemi). Un numero è un’astrazione legata al numero di elementi di un insieme Di un numero possiamo avere diverse rappresentazioni A.A. 09/10 Architetture degli Elaboratori I

22 I sistemi di numerazione
Nati con lo scopo di rappresentare simbolicamente i numeri, ne conosciamo almeno due: Decimale: esempio di sistema posizionale in quanto i simboli della rappresentazione (le cifre) acquistano significato diverso in base alla loro posizione; Romano: esempio di sistema non posizionali in cui ogni simbolo rappresenta sempre un ben preciso numero, indipendentemente dalla posizione in cui compare. A.A. 09/10 Architetture degli Elaboratori I

23 La notazione posizionale
Introdotta dai Caldei e dai Babilonesi. Ogni simbolo assume un significato diverso a seconda della posizione (casella) in cui compare. Esempio: nel sistema decimale, nella rappresentazione 707 il 7 più a sinistra rappresenta il numero settecento, mentre il 7 più a destra rappresenta il numero sette A.A. 09/10 Architetture degli Elaboratori I

24 Sistemi di numerazione posizionali
Per definire un sistema di numerazione posizionale occorre fissare: il valore numerico della base b, cioè il peso dato alle diverse posizioni; i simboli (cifre) utilizzabili nelle rappresentazioni: A.A. 09/10 Architetture degli Elaboratori I

25 Notazione decimale La notazione decimale è così chiamata: perché utilizza 10 simboli {0,1,2,3,..,9} e la sua base, il peso dei simboli è dato da potenze di dieci Il motivo della denominazione è che : unità: 100 = 1 decine: 101 = 10 centinaia: 102 = 100 migliaia: 103 = 1000 Ecc. A.A. 09/10 Architetture degli Elaboratori I

26 Sistemi di numerazione posizionali
La notazione posizionale è universale, nel senso che il sistema resta invariato indipendentemente dalla base, che diventa il fattore determinante Esempio: 707 può essere anche un numero in base otto,in questo caso il 7 più a sinistra “pesa” 64, mentre il 5 più a destra “pesa” 1 A.A. 09/10 Architetture degli Elaboratori I

27 Convenzione Se non è evidente dal contesto, è opportuno denotare la base del sistema di numerazione mettendola a pedice della rappresentazione numerica: 5210 è la rappresentazione decimale di 52; 526 è la rappresentazione in base 6 di 52. A.A. 09/10 Architetture degli Elaboratori I

28 Sistemi posizionali in informatica
Nel mondo dell’informatica sono utilizzate le basi 2, 8 e 16 (sistemi binario, ottale e esadecimale). sistema binario: base = 2, cifre: {0, 1}; sistema ottale: base = 8, cifre: {0, 1, 2, 3, 4, 5, 6, 7}; sistema esadecimale: base = 16, cifre: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. A.A. 09/10 Architetture degli Elaboratori I

29 Con tre bit : 000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 A.A. 09/10 Architetture degli Elaboratori I

30 4 bit 0000 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 1011 11 1100 12 1101 13 1110 14 1111 15 A.A. 09/10 Architetture degli Elaboratori I

31 Numero combinazioni Quindi:
con 1 bit possiamo rappresentare 2(21) numeri diversi; con 2 bit possiamo rappresentare 4(22) numeri diversi; con 3 bit possiamo rappresentare 8(23) numeri diversi; con 4 bit possiamo rappresentare 16(24) numeri diversi; –… con n bit possiamo rappresentare 2n numeri diversi. In generale in un sistema posizionale con base b, possiamo rappresentare bn numeri diversi utilizzando n cifre A.A. 09/10 Architetture degli Elaboratori I

32 Un po’ di conti Quanti bit sono necessari per rappresentare m numeri diversi? il più piccolo valore n tale che 2n ≥m. In generale n è il valore intero immediatamente superiore a log2m (denotato con ‪ log2m ‫) Esempio: se devo rappresentare 110 valori o un valore inferiore a 110 avrò bisogno di 7 bit. A.A. 09/10 Architetture degli Elaboratori I

33 Conversioni Come passo da un numero rappresentato in una base b allo stesso numero rappresentato in base b’? Esempio: come faccio a calcolare il corrispondente binario di 98 o viceversa? A.A. 09/10 Architetture degli Elaboratori I

34 Conversione in base 10 Per convertire in base 10 il numero x rappresentato in base b x = (xnxn-1…x0)b, è sufficiente eseguire il calcolo seguente: (xn×bn+xn-1 ×bn-1+ … + x1×b1+ x0 ×b0)10 Ad esempio: (B3E)16 = (11× × ×160)10 = (11×256+ 3×48+ 14×1)10 = ( )10 = (2974)10 A.A. 09/10 Architetture degli Elaboratori I

35 Da base 10 a base b Per passare da una rappresentazione in base 10ad una in base b, è sufficiente dividere successivamente(finché si ottiene zero come risultato) il numero di partenza per la base b e leggere i resti delle divisioni al contrario. Esempio: convertire (324)10 in base 8 (324)10 = (504)8 A.A. 09/10 Architetture degli Elaboratori I

36 Passaggio da binario a ottale
È sufficiente dividere (a partire da destra) a gruppi di tre, i bit che compongono la rappresentazione binaria e convertire in cifra ottale ogni singolo gruppo di bit; Es.: A.A. 09/10 Architetture degli Elaboratori I

37 Da ottale a binario È sufficiente espandere ogni cifra del numero in ottale nel corrispondente binario: Es.: ( 657)8 = A.A. 09/10 Architetture degli Elaboratori I

38 Da binario e esadecimale
È sufficiente dividere (a partire da destra) a gruppi di tre, i bit che compongono la rappresentazione binaria e convertire in cifra ottale ogni singolo gruppo di bit; Es: A A.A. 09/10 Architetture degli Elaboratori I

39 Da Esadecimale a Binario
È sufficiente espandere ogni cifra del numero in esadecimale nel corrispondente binario: Es.: ( B79)8 = A.A. 09/10 Architetture degli Elaboratori I

40 Addizioni Eseguire le addizioni di numeri è banale:
vanno sommate le singole cifre in posizioni corrispondenti, andando a leggere la tavola dell’addizione (incrociando la riga e la colonna relative alle cifre in gioco); nel caso la somma abbia come risultato un numero di due cifre, si effettua il riporto di quella più a sinistra. A.A. 09/10 Architetture degli Elaboratori I

41 Addizioni A.A. 09/10 Architetture degli Elaboratori I

42 Moltiplicazione A.A. 09/10 Architetture degli Elaboratori I

43 Aritmetica al calcolatore
Va ricordato che il calcolatore opera su dati di dimensione fissata Quindi è in grado di gestire soltanto valori con un limite massimo prestabilito Nel caso in cui durante un’operazione aritmetica si dovesse superare questo limite, viene dato origine ad un errore di OVERFLOW A.A. 09/10 Architetture degli Elaboratori I

44 Numeri negativi Per risolvere il problema della rappresentazione dei numeri negativi vi sono vari approcci: rappresentazione con bit di segno; notazione in complemento a uno; notazione in complemento a due. A.A. 09/10 Architetture degli Elaboratori I

45 Rappresentazione con bit di segno
Supponiamo di avere a disposizione 8 bit; dividiamo l’intervallo dei 256 valori rappresentabili in due parti: 0…127 (rappresentanti i numeri da 0 a 127); 128…255 (rappresentanti i numeri da –0 a –127). Il bit più significativo (più a sinistra) rappresenta quindi il segno del numero: 0: numero positivo (intervallo da 0 a 127); 1: numero negativo (intervallo da 128 a 255). Aspetti negativi: lo zero ha due rappresentazioni: +0 ( ), –0 ( ) Devo realizzare degli appositi circuiti per la sottrazione. A.A. 09/10 Architetture degli Elaboratori I

46 Complemento a due Dato X = xn-1 xn-2 … x0 otteniamo il suo opposto -X nel seguente modo: calcolo il complemento a 1 di X invertendo tutti gli 1 in zero e gli zero in 1 Sommo al valore ottenuto al punto 1 il valore 1 A.A. 09/10 Architetture degli Elaboratori I

47 Riassumendo A.A. 09/10 Architetture degli Elaboratori I

48 Esempi A.A. 09/10 Architetture degli Elaboratori I

49 Binario-ottale-esadecimale
A.A. 09/10 Architetture degli Elaboratori I

50 A.A. 09/10 Architetture degli Elaboratori I


Scaricare ppt "Lez. 1 Introduzione all'architettura degli elaboratori"

Presentazioni simili


Annunci Google