1 / 38

Seconda Università degli Studi di Napoli Facoltà di Economia

Seconda Università degli Studi di Napoli Facoltà di Economia. Corso di Informatica. Prof.ssa Zahora Pina. Architettura di un calcolatore Cap 2 pagg. 35-48 Abstract. Descrizione della macchina di von Neumann Elementi della macchina di von Neumann.

antoinette
Download Presentation

Seconda Università degli Studi di Napoli Facoltà di Economia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seconda Università degli Studi di NapoliFacoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

  2. Architettura di un calcolatoreCap 2 pagg. 35-48Abstract • Descrizione della macchina di von Neumann • Elementi della macchina di von Neumann L’architettura della maggior parte dei calcolatori è organizzata secondo il modello della Macchina di von Neumann

  3. Architettura di un calcolatoreElementi della macchina di von Neumann • La macchina di von Neumann è costituita da quattro elementi funzionali fondamentali: • L’unità di elaborazione (CPU) • La memoria centrale • RAM • ROM • Le periferiche (interfacce): • Terminali • Stampanti • … • Memorie di massa • Il bus di sistema • Dati • Indirizzi • Controlli

  4. Architettura di un calcolatore

  5. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma • In un calcolatore i dati e le istruzioni di un programma sono codificate in forma binaria, ossia in una sequenza finita di 1 e di 0. • La più piccola unità di informazione memorizzabile o elaborabile da un calcolatore è il bit (BInary Digit)

  6. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma • Bit (0,1) • Le componenti di un calcolatore sono formate da dispositivi fisici che possono trovarsi in 2 stati (acceso, spento) • Un bit corrisponde ad uno stato di un dispositivo fisico: • Acceso = 1 • Spento = 0

  7. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma CODICE Per codice si intende una modalità per rappresentare mediante un opportuno insieme di simboli un insieme di oggetti materiali o un'insieme di informazioni tendenzialmente più complesse dei simboli che le codificano Es: Si codifichino le seguenti istruzioni utilizzando delle lampadine: I1: Pericolo – Non entrare I2: Nessun pericolo – Entrare Codice: I1 = I2 =

  8. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma Osservazione: Se si volessero codificare 4 istruzioni sono necessarie + lampadine: I1: Pericolo – Non entrare I2: Nessun pericolo – Entrare uno per volta I3: Nessun pericolo – Entrare due per volta I4: Nessun pericolo – Entrare tre per volta I1 = I2 = I3 = I4=

  9. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma • Un calcolatore tratta diversi tipi di dati: • Numeri • Naturali • Interi • Reali • Frazionari • Testi • Immagini • Suoni • Tutti i tipi di dati vengono trasformati in sequenze di bit

  10. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma 1 bit 2 simboli 21 da 0 a 21-1=1 0-1 22 2 bit 4 simboli 0-1-2-3 da 0 a 22-1=3 3 bit 8 simboli 23 da 0 a 23-1=7 0-1-2-3-4-5-6-7 n bit 2n simboli da 0 a 2n - 1

  11. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma Byte Un byte è composto da 8 bit byte 1 0 1 1 0 1 0 0 Numeri naturali 28 simboli da 0 a 28 – 1=255 8 bit

  12. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma Numeri interi da -27 – 1 a +27 – 1 28 simboli 8 bit da -127 a +127 • Il primo bit viene utilizzato per il segno: • 0 positivo • 1 negativo

  13. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma Numeri reali I numeri reali sono numeri contenenti una parte intera e una parte frazionaria parte frazionaria Es:8.345 parte intera Notazione in virgola fissa Si codifica separatamente la parte intera e la parte frazionaria Es: 8.345 8 00001000 0.345 01011000 8.345 00001000.01011000

  14. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma Caratteri I caratteri sono codificati in sequenze di bit mediante un codice di traduzione. Il più diffuso è il codice ASCII (American Standard Code for Information Interchange) Codice ASCII • I caratteri vengono codificati utilizzando 7 bit. • Ad ogni carattere è assegnata una sequenza di bit corrispondnte ad un numero naturale compreso tra 0 e 127 Es: A 01000001 65 ; 00111011 59

  15. Architettura di un calcolatoreCodifica dei dati e delle istruzioni di programma • Le istruzioni che compie un calcolatore possono essere: • Trasferimento di dati da una posizione ad un’altra • Operazioni tra dati • Le istruzioni sono formate da: • Operatore • Operandi Es: somma a e b Operatore: somma Operandi: a,b Operandi e operatori vengono codificati in sequenze di bit secondo particolari convenzioni 00010000 Es: 010000000 leggi un valore in input ponilo nella cella 16 operatore operando

  16. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM • La memoria centrale e destinata ad accogliere il "materiale di lavoro" su cui l'elaboratore opera: dati e programmi. • Analogia con l'organizzazione della mente umana: • la memoria centrale contiene informazione a breve o medio termine • nella memoria di massa viene memorizzata informazione a lungo termine • La memoria centrale è in genere di dimensioni ridotte e può quindi accogliere solo una parte dell'informazione disponibile. • Tuttavia essa è un "passaggio obbligato": prima di poter essere elaborata l'informazione deve essere acquisita dalla memoria centrale • In genere, ciò comporta una operazione di ingresso/uscita in cui cioè l'informazione viene trasferita dalla memoria di massa a quella centrale o viceversa

  17. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM • Da un punto di vista concettuale, la memoria centrale e una sequenza di celle di memoria ciascuna cella contiene una parola (word) • Le parolesono sequenze di bit • Le parole di uno stesso elaboratore sono tutte della stessa lunghezza • Elaboratori diversi possono avere parole di lunghezza diversa: • 1 byte = 8 bit • 2 byte = 16 bit • 3 byte = 32 bit • …. Nei calcolatori moderni le parole hanno lunghezza >=32 • Ciascuna parola assumerà durante la computazione un particolare valore

  18. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM • Tecnologicamente le memorie sono realizzate con dispositivi a semiconduttori • Una memoria può essere idealizzata come una grossa "tabella“: • righe celle • colonne (in numero pari alla lunghezza di parola) individuano ciascun bit di memoria. • L'informazione è presente in memoria come stato (alto 1 basso 0) di tensione nelle posizioni della memoria individuate agli incroci delle righe con le colonne

  19. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM byte bit 1 2 3 4 5 6 7 8 cella 1a parola cella 2a parola cella 3a parola

  20. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM • Ingenere, la memoria centrale è volatile: • il suo contenuto viene perduto quando il calcolatore viene spento o quando, per esempio, viene a mancare l'energia elettrica • nel riprendere dopo una interruzione il valore degli 0 e 1 nelle celle di memoria non è significativo • La memoria di massa è permanente: • l'informazione in essa contenuta non va persa quando il calcolatore viene spento Alcune memorie centrali di nuova concezione sono alimentate da batterie autonome e divengono pertanto anch' esse permanenti

  21. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM • Ciascuna cella di memoria può essere indirizzata: • capacità dell' elaboratore di selezionare una particolare cella di memoria • l' indirizzodi una cella di memoria e semplicemente la sua posizione relativa (numero d'ordine) rispetto alla prima cella di memoria, cui viene normalmente attribuita la posizione zero • l'indirizzamento delIa memoria avviene tramite un opporluno registro (registro indirizzi) che si trova nell"unita di elaborazione.

  22. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM 0 1 registro indirizzi (AR) 210 = 1024 celle 210 -1 = 1023

  23. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM

  24. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria RAM

  25. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria ROM • La memoria ROM (Read Only Memory) contiene dati e programmi che servono per inizializzare il sistema • La memoria ROM può essere solo letta e non scritta dall’utente • Le memorie ROM sono persistenti

  26. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La memoria ROM • Memorie ROM • EROM (Erasable ROM): possono essere cancellate sottoponendole a raggi ultravioletti per essere riutilizzate • PROM (Programmable ROM): la scrittura della memoria può avvenire anche utilizzando particolari dispositivi (programmatori di ROM) piuttosto che solo durante il processo di costruzione • EPROM: ROM cancellabili e programmabili Le ROM hanno alcune caratteristiche dell’hardware e altre del software Il software contenuto nella ROM è detto firmware (“a cavallo” fra hw e sw)

  27. Architettura di un calcolatoreComportamento della macchina di Von Neumann – Il bus di sistema • Il bus di sistema è costituito da un insieme di interconnessioni elementari (linee) lungo le quali viene trasferita l’informazione • Collega la CPU con la memorie e le interfacce di I/O • In ogni istante il bus è occupato a collegare due unità: • Trasmettitore • Ricevitore • Le interconnessioni possibili avvengono tra: • CPU e Memoria • CPU e interfacce di I/O • Il bus è sotto il controllo della CPU (master) che decide di attivare le altre unità funzionali (slave) • Durante ogni operazione il bus realizza un determinato collegamento per un certo tempo (velocità di trasmissione)

  28. Architettura di un calcolatoreComportamento della macchina di Von Neumann – Il bus di sistema master CPU bus di sistema slave slave RAM I/O

  29. Architettura di un calcolatoreComportamento della macchina di Von Neumann – Il bus di sistema • Il bus di sistema si suddivide in 3 categorie: • Bus dati • Bus indirizzi • Bus controlli

  30. Architettura di un calcolatoreComportamento della macchina di Von Neumann – Il bus di sistema • Il bus dati trasferisce dati dalla unità master alla slave o viceversa RAM 0 Es: lettura 1 registro dati (DR) lettura CPU

  31. Architettura di un calcolatoreComportamento della macchina di Von Neumann – Il bus di sistema • Il busindirizzi trasmette il contenuto del registro indirizzi dalla CPU alla memoria RAM 0 Es: lettura 1 registro indirizzi (AR) lettura registro dati (DR) CPU

  32. Architettura di un calcolatoreComportamento della macchina di Von Neumann – Il bus di sistema • Il buscontrolli trasmette • dall’unità master all’unità slave un codice corrispondente all’istruzione da eseguire • dall’unità slave all’unità master informazioni relative all’espletamento dell’istruzione RAM 0 1 codiceistruzione espletamento istruzione CPU

  33. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La CPU • La CPU (Central Processing Unit) contiene gli elementi circuitali che regolano il funzionamento dell’elaboratore • Funzioni: • Eseguire i programmi contenuti nella memoria centrale • Preleva (fetch) • Decodifica • Esegue (execute)

  34. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La CPU • La CPU è composta da: • Unità di controllo (CU = Control Unit) • Orologio di sistema (clock) • Unità aritmetico logica (ALU = Arithmetic and Logic Unit) • Registri CPU CU ALU registri clock

  35. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La CPU • La CU • Preleva e decodifica le istruzioni • Invia i segnali di controllo che provocano • Trasferimenti • Elaborazioni • Il Clock • Sincronizza le operazioni rispetto ad una data frequenza • Ad ogni oscillazione del clock viene eseguita una operazione • Il numero di oscillazioni del clock per unità di tempo indica la frequenza (velocità) misurata in Mhz • L’ALU • Realizza le operazioni aritmetiche e logiche • I registri • Elementi di memoria che possono essere letti e scritti molto velocemente • Contengono: • Risultati parziali dell’elaborazione • Informazioni necessarie al controllo

  36. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La CPU • Principali registri • Registro dati (DR = Data Register) • Registro indirizzi (AR = Address Register) • Registro istruzione corrente (CIR = Current Instruction Register) • Contiene l’istruzione in esecuzione • Contatore di programma (PC = Program Counter) • Contiene l’indirizzo della successiva istruzione • Registro interruzioni (INTR = INTerrupt Register) • Contiene alcune informazioni sullo stato di funzionamento delle periferiche • Registri che contengono • Operandi • Risultati • Registri di lavoro (veloci) Contengono • Dati o istruzioni di uso frequente • Risultati intermedi • Registro di stato (SR = State Register)

  37. Architettura di un calcolatoreComportamento della macchina di Von Neumann – La CPU • Registro di stato (SR = State Register) contiene bit tra cui: • Bit di carryindica la presenza di un riporto • Bit zeroindica la presenza di un valore nullo nel registro A • Bit di segnoriporta il segno di un’operazione aritmetica • Bit di overflowindica una situazione di errore che si verifica quando il risultato dell’ultima operazione supera il massimo valore contenibile nel registro A

  38. Architettura di un calcolatoreComportamento della macchina di Von Neumann – L’ALU • L’ALU può essere molto sofisticata e capace di operazioni complesse • ALU semplificata (+, - ,* /) ALU A A 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 dopo + B B 0 0 0 0 0 0 1 0 undefined CU Come opera: • A e B vengono caricati con gli operandi • L’ALU viene messa in azione dalla CU che le invia un codice corrispondente all’operazione • A viene caricato con il risultato dell’operazione • B • se l’operazione è di divisione viene caricato con il resto della divisione • altrimenti non è definito

More Related