Architettura degli Elaboratori e delle Reti Introduzione alle architetture dei calcolatori

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura degli Elaboratori e delle Reti Introduzione alle architetture dei calcolatori"

Transcript

1 Architettura degli Elaboratori e delle Reti Introduzione alle architetture dei calcolatori A. A Cristina Silvano Università degli Studi di Milano Dipartimento di Informatica e Comunicazione silvano@elet.polimi.it 1 Architettura di riferimento dei calcolatori (Architettura di Von Neumann ) Un calcolatore deve essere in grado di svolgere autonomamente i seguenti compiti: Memorizzare i dati sui quali operare Memorizzare sequenze di istruzioni Eseguire le istruzioni sui dati Controllare il flusso di esecuzione Comunicare con gli utenti e con altri dispositivi Sottosistema di elaborazione Sottosistema di memorizzazione Sottosistema di interfaccia Connessione Cristina Silvano Università degli Studi di Milano 2 1

2 Architettura di riferimento dei calcolatori (Architettura di Von Neumann ) CPU Memoria principale Memoria di massa Periferiche Interfaccia di I/O Interfaccia di I/O Bus dati indirizzi controllo Cristina Silvano Università degli Studi di Milano 3 Architettura di riferimento dei calcolatori (Architettura di Von Neumann ) Elementi principali di un calcolatore: Unità centrale di elaborazione (Central Processing Unit - CPU) Memoria di lavoro o memoria principale (Main Memory - MM) Interfacce per i dispositivi di Input/Output - I/O: memoria di massa (di solito dischi magnetici) periferiche (tastiera, monitor, mouse, modem, stampanti, ecc.) Bus di sistema (Bus dati, bus indirizzi, bus di controllo) Cristina Silvano Università degli Studi di Milano 4 2

3 Unità centrale di elaborazione (Central Processing Unit - CPU) La CPU provvede ad eseguire le istruzioni che costituiscono i diversi programmi elaborati dal calcolatore. Le istruzioni, insieme ai dati cui fanno riferimento, si trovano nella memoria principale e vengono trasferite alla CPU passando attraverso il bus. La CPU deve quindi prelevare le istruzioni dalla memoria (fetch) ed eseguirle. Cristina Silvano Università degli Studi di Milano 5 Elementi principali della CPU Registro Program Counter (PC) per conservare l indirizzo dell istruzione corrente da aggiornare durante l evoluzione del programma, in modo da prelevare dalla memoria la corretta sequenza di istruzioni; Banco di registri (Register File) ad accesso rapido, in cui memorizzare i dati di utilizzo più frequente. Il tempo di accesso ai registri è circa 10 volte più veloce del tempo di accesso alla memoria principale; Unità per l esecuzione delle operazioni aritmeticologiche (Arithmetic Logic Unit - ALU). I dati forniti all ALU possono provenire da registri oppure direttamente dalla memoria, a seconda delle modalità di indirizzamento previste; Cristina Silvano Università degli Studi di Milano 6 3

4 Elementi principali della CPU Unità aggiuntive per elaborazioni particolari come unità aritmetiche per dati in virgola mobile (Floating Point Unit FPU), sommatori ausiliari, ecc.; Unità di controllo per coordinare le operazioni svolte da tutti gli elementi della CPU. I trasferimenti di ingresso/uscita e i trasferimenti di dati/istruzioni tra processore e memoria sono coordinati dall unità di controllo tramite segnali di temporizzazione. Cristina Silvano Università degli Studi di Milano 7 Unità di Ingresso/Uscita Le unità di ingresso (tastiera del terminale video, mouse o altri dispositivi grafici di ingresso, ecc.) permettono al calcolatore di acquisire informazioni dall ambiente esterno. Le unità di uscita (monitor grafico del terminale video, stampanti, ecc.) consentono al calcolatore di comunicare i risultati ottenuti dall elaborazione all ambiente esterno. Cristina Silvano Università degli Studi di Milano 8 4

5 Interfaccia processore-memoria CPU MAR BUS indirizzi Memoria PC ALU IR MDR dati R 0 R 1 R n-1 CNTR controllo Cristina Silvano Università degli Studi di Milano 9 Elementi principali della CPU Registro Program Counter (PC) registro contatore di programma per memorizzare l indirizzo di memoria dell istruzione che si sta eseguendo. Durante l esecuzione di un istruzione, il contenuto del PC viene aggiornato con l indirizzo dell istruzione successiva da eseguire (che deve essere prelevata dalla memoria); Cristina Silvano Università degli Studi di Milano 10 5

6 Elementi principali della CPU Banco di registri (Register File) ad accesso rapido, per memorizzare temporaneamente gli operandi adoperati nelle istruzioni. Il banco di registri contiene n registri ad uso generale R 0, R 1,, R n-1 General-Purpose Registers. Cristina Silvano Università degli Studi di Milano 11 Elementi principali della CPU Unità per l esecuzione delle istruzioni aritmetico-logiche (Arithmetic Logic Unit - ALU). I dati forniti all ALU provengono dai registri del Register File. I risultati in uscita dall ALU vengono memorizzati nel Register File. Unità aggiuntive per elaborazioni particolari, ad esempio unità aritmetiche per eseguire le istruzioni in virgola mobile (Floating Point Unit FPU), che sono utilizzate per elaborare numeri reali. Cristina Silvano Università degli Studi di Milano 12 6

7 Elementi principali della CPU Unità di controllo (Control Unit) per coordinare le operazioni svolte da tutti gli elementi della CPU. Registro di controllo (Control Register) per memorizzare lo stato relativo alle istruzioni svolte. I trasferimenti di ingresso/uscita e i trasferimenti di dati/istruzioni tra processore e memoria sono coordinati dall unità di controllo tramite segnali di controllo e di temporizzazione. Cristina Silvano Università degli Studi di Milano 13 Elementi principali della CPU IR Instruction Register: registro delle istruzioni per memorizzare l istruzione che il processore sta eseguendo (istruzione corrente). MAR Memory Address Register: registro degli indirizzi della memoria per memorizzare l indirizzo della posizione della memoria principale in cui o da cui i dati o istruzioni devono essere trasferiti. MDR Memory Data Register: registro dei dati della memoria per memorizzare i dati che devono essere scritti in memoria o letti dalla memoria e le istruzioni lette dalla memoria nella locazione indicata dall indirizzo specificato. Cristina Silvano Università degli Studi di Milano 14 7

8 Codifica dati e istruzioni Dati e istruzioni vengono manipolate dal calcolatore dopo essere state opportunamente codificate. L istruzione è suddivisa in campi (field): il campo codice operativo indica il tipo di operazione; gli altri campi indicano gli indirizzi degli operandi oppure gli operandi stessi. Gli indirizzi possono riferirsi ad indirizzi di memoria o ai registri della CPU. Le modalità di indirizzamento indicano le diverse modalità attraverso le quali far riferimento agli operandi nelle istruzioni. Cristina Silvano Università degli Studi di Milano 15 Ciclo di esecuzione di un istruzione Prelievo istruzione Decodifica Prelievo operandi Esecuzione Memorizzazione risultati Cristina Silvano Università degli Studi di Milano 16 8

9 Esecuzione delle istruzioni Istruzioni e dati risiedono nella memoria principale, dove sono stati caricati attraverso un unità di ingresso. L esecuzione di un programma inizia quando il registro PC punta alla prima istruzione del programma. Il contenuto del PC viene trasferito nel MAR e un segnale di controllo per la lettura (READ) viene inviato alla memoria. Trascorso il tempo necessario all accesso in memoria, la parola indirizzata (in questo caso la prima istruzione del programma) viene letta dalla memoria e trasferita nel registro MDR. Il contenuto del registro MDR (istruzione) viene trasferito nel registro IR. Cristina Silvano Università degli Studi di Milano 17 Esecuzione delle istruzioni L istruzione contenuta nel registro IR viene decodificata ed eseguita. Se l istruzione deve essere svolta dall unità aritmeticologica è necessario recuperare gli operandi richiesti, che possono risiedere nei registri di uso generale oppure in memoria. Se un operando risiede in memoria, deve essere prelevato caricando l indirizzo dell operando nel registro MAR e attivando un ciclo di READ della memoria. L operando letto dalla memoria viene posto nel registro MDR per essere trasferito alla ALU, che esegue l operazione. Cristina Silvano Università degli Studi di Milano 18 9

10 Esecuzione delle istruzioni Il risultato dell operazione può essere memorizzato nei registri ad uso generale oppure in memoria. Se il risultato dell operazione deve essere posto in memoria, esso viene caricato nel registro MDR. L indirizzo della posizione di memoria in cui scrivere il risultato viene caricato nel registro MAR e si attiva un ciclo di scrittura (WRITE) della memoria. Mentre viene eseguita un istruzione, il contenuto del PC viene incrementato in modo da puntare alla prossima istruzione da eseguire. Non appena è terminata l esecuzione dell istruzione corrente, si preleva l istruzione successiva dalla memoria. Cristina Silvano Università degli Studi di Milano 19 Architetture LOAD/STORE Il numero dei registri ad uso generale (ad esempio 32 registri da 32 bit ciascuno) non è sufficientemente grande da consentire di memorizzare tutte le variabili di un programma ad ogni variabile viene assegnata una locazione di memoria nella quale trasferire il contenuto del registro quando questo deve essere utilizzato per contenere un altra variabile. Architetture LOAD/STORE: gli operandi dell ALU possono provenire soltanto dai registri ad uso generale contenuti nella CPU e non possono provenire dalla memoria. Sono necessarie apposite istruzioni di: caricamento (LOAD) dei dati da memoria ai registri; memorizzazione (STORE) dei dati dai registri alla memoria. Cristina Silvano Università degli Studi di Milano 20 10

11 Interruzioni Oltre a trasferire dati/istruzioni tra memoria e processore, il calcolatore acquisisce dati dai dispositivi di ingresso e invia dati ai dispositivi di uscita attraverso apposite istruzioni che gestiscono i trasferimenti di I/0. Il normale flusso di esecuzione di un programma può essere interrotto da un segnale di interruzione (INTERRUPT) per una richiesta di intervento che un dispositivo di I/O manda al processore. Cristina Silvano Università degli Studi di Milano 21 Interruzioni Il processore fornisce il servizio richiesto mediante l esecuzione di una procedura di servizio delle interruzioni (Interrupt Service Routine) che deve salvare in memoria lo stato del processore prima di servire l interruzione: il contenuto del PC, dei registri ad uso generale e alcune informazioni di controllo vengono salvati in memoria. Quando la procedura di servizio dell interruzione viene completata, lo stato del processore viene ripristinato in modo che il programma interrotto possa proseguire. Cristina Silvano Università degli Studi di Milano 22 11

12 Memoria Principale Compito principale consiste nel contenere il sistema operativo ed i processi in esecuzione (completi di istruzioni e dati). Caratteristica fondamentale è la dimensione complessiva. L unità di misura della capacità di memoria è il bit, anche se in genere si adotta il byte (che corrisponde a 8 bit) ed i suoi multipli: Kbyte (2 10 = 1024 byte), Mbyte (2 20 = byte), Gbyte (2 30 = byte). Caratterizzata anche dalla dimensione di ogni singolo elemento (parola) che può essere trasferito. Nei calcolatori più recenti la dimensione della parola va dai 32 bit ai 128 bit (dai 4 ai 16 byte). Cristina Silvano Università degli Studi di Milano 23 Memoria Principale In genere, la dimensione della parola di memoria coincide con la dimensione dei registri contenuti nella CPU, in modo da poter caricare una parola di memoria in un registro della CPU. Se anche il bus dati è largo come la parola di memoria l operazione di load/store avviene in un singolo ciclo. Le memorie in cui ogni locazione può essere raggiunta in un breve e prefissato intervallo di tempo misurato a partire dall istante in cui si specifica l indirizzo desiderato, vengono chiamate memorie ad accesso casuale (Random Access Memory RAM) Nelle RAM il tempo di accesso alla memoria (tempo necessario per accedere ad una parola di memoria) è fisso e indipendente dalla posizione della parola alla quale si vuole accedere. Cristina Silvano Università degli Studi di Milano 24 12

13 Indirizzi nella memoria principale La memoria è organizzata in parole o word composte da n-bit che possono essere caricate e memorizzate con una singola operazione di lettura/scrittura della memoria. (n è chiamata lunghezza di parola, tipicamente da 16 a 64 bit). Ogni parola di memoria è associata ad un indirizzo composto da k-bit. I 2 k indirizzi (corrispondenti a 2 k parole ) costituiscono lo spazio di indirizzamento del calcolatore. Ad esempio un indirizzo composto da 32-bit genera uno spazio di indirizzamento di 2 32 o 4G parole. Cristina Silvano Università degli Studi di Milano 25 Indirizzi nella memoria principale Indirizzo 0 1 i 2 k -1 n-bit b n-1.. b 1 b 0 Parola Parola 0 Parola 1 Parola i Parola 2 k - 1 Cristina Silvano Università degli Studi di Milano 26 13

14 Bus di sistema Permette la comunicazione tra le diverse unità del calcolatore ed è generalmente composto da tre parti: Bus dati, comprende le linee per trasferire dati e istruzioni da/verso la memoria. In generale, la dimensione del bus dati è tale da garantire il trasferimento contemporaneo di una o più parole di memoria; Bus indirizzi, su cui la CPU provvede a trasmettere l indirizzo di memoria da cui prelevare il dato nel caso di lettura dalla memoria, oppure in cui depositarlo nel caso di scrittura nella memoria; Bus di controllo, dove transitano le informazioni ausiliarie per la corretta definizione delle operazioni da compiere (per esempio l indicazione che si vuole effettuare una lettura piuttosto che una scrittura) e per la sincronizzazione tra CPU e memoria. Cristina Silvano Università degli Studi di Milano 27 Bus di sistema Esempio: operazione di lettura dalla memoria. La CPU fornisce l indirizzo della parola desiderata sul bus indirizzi, quindi viene richiesta l operazione di lettura attivando il bus di controllo. Quando la memoria ha completato la lettura della parola richiesta, il dato viene trasferito sul bus dati e la CPU può prelevarlo ed utilizzarlo nelle sue elaborazioni. La struttura del bus può essere realizzata secondo diverse topologie di interconnessione Nella struttura a bus singolo tutte le unità del calcolatore sono connesse al bus. Il bus può esser utilizzato per un solo trasferimento alla volta in ogni istante soltanto due unità (Master e Slave) possono usare il bus. Le linee di controllo del bus vengono utilizzate per inviare più richieste contemporanee di utilizzo del bus che vengono gestite dalla logica di arbitraggio del bus. Cristina Silvano Università degli Studi di Milano 28 14

15 Bus di sistema Principali vantaggi della struttura a bus singolo: elevata flessibilità e bassi costi. I dispositivi collegati al bus variano in termini di velocità dell esecuzione delle operazioni necessario un meccanismo di sincronizzazione per garantire il trasferimento efficiente delle informazioni sul bus. Tipicamente all interno delle unità che utilizzano il bus sono presenti dei registri di buffer per mantenere l informazione durante i trasferimenti e non vincolarsi alla velocità del dispositivo più lento connesso al bus. Cristina Silvano Università degli Studi di Milano 29 Architettura dell insieme delle istruzioni (ISA) Cristina Silvano Università degli Studi di Milano 30 15

16 Architettura dell insieme delle istruzioni (ISA) Software ISA Hardware Cristina Silvano Università degli Studi di Milano 31 Architettura dell insieme delle istruzioni (ISA) Rappresenta un astrazione molto importante. Costituisce l interfaccia tra hardware e software di basso livello Fornisce uno standard per le istruzioni Esempi di moderne architetture di insiemi di istruzioni: 80x86/Pentium, MIPS Cristina Silvano Università degli Studi di Milano 32 16

17 Architettura dell insieme delle istruzioni (ISA) Ogni architettura di processore ha il suo insieme delle istruzioni. L architettura di un sistema è definita dal suo ISA (Instruction Set Architecture) Due processori con lo stesso ISA hanno la stessa architettura anche se le implementazioni hardware possono essere diverse. ISA consente di accedere direttamente alle risorse hardware di un calcolatore Cristina Silvano Università degli Studi di Milano 33 Insieme delle istruzioni (Instruction Set) Le istruzioni comprese nell Instruction Set di ogni calcolatore possono essere classificate nelle seguenti quattro categorie: Istruzioni di trasferimento da/verso la memoria (load/store); Istruzioni aritmetico-logiche; Istruzioni di salto per il controllo del flusso di programma; Istruzioni di trasferimento in ingresso/uscita (I/O). Cristina Silvano Università degli Studi di Milano 34 17

18 Istruzioni di load/store Per eseguire un istruzione, essa deve essere trasferita dalla memoria alla CPU. Operandi e risultati delle istruzioni devono essere trasferiti tra memoria e CPU. Necessarie due modalità di trasferimento di dati/istruzioni tra memoria e registri della CPU : load (caricamento) store (memorizzazione) Cristina Silvano Università degli Studi di Milano 35 Istruzioni aritmetico-logiche In genere, un istruzione aritmetico-logica possiede tre operandi: i due contenitori dei valori da elaborare (operandi sorgente); il contenitore del risultato (operando destinazione). L istruzione contiene tre campi relativi ai tre operandi: add R1, R1, R2 # R1 R1 + R2 Cristina Silvano Università degli Studi di Milano 36 18

19 Istruzioni di salto Le istruzioni di salto permettono di modificare l ordine sequenziale delle istruzioni. Esistono due diversi tipi di istruzioni di salto: Salto incondizionato (JUMP): il salto viene sempre eseguito. Salto condizionato (BRANCH): il salto viene eseguito o no a seconda del valore di una condizione specificata. Cristina Silvano Università degli Studi di Milano 37 Linguaggio assembly Il linguaggio assembly è costituito dalle istruzioni elementari viste finora composte da codici mnemonici (es. load, store, add), registri e locazioni di memoria. I codici mnemonici sono associati alle istruzioni macchina (istruzioni che la macchina è in grado di comprendere). Il linguaggio assembly è una rappresentazione simbolica del linguaggio macchina. Linguaggio assembly è più comprensibile del linguaggio macchina in quanto utilizza simboli invece che sequenze di bit Cristina Silvano Università degli Studi di Milano 38 19

20 Linguaggio assembly Rispetto ai linguaggi ad alto livello (es: C, Pascal, Java, ecc.), l'assembly fornisce limitate forme di controllo del flusso e di strutture dati Linguaggio usato come linguaggio target nella fase di compilazione di un programma scritto in un linguaggio ad alto livello. Vero e proprio linguaggio di programmazione che fornisce la visibilità diretta sull hardware. Cristina Silvano Università degli Studi di Milano 39 Fase di compilazione da linguaggio ad alto livello ad assembly Programma in linguaggio ad alto livello (C) c = a + b Compilatore Programma in linguaggio assembly load R1, a load R2, b add R1, R1, R2 store R1, c Cristina Silvano Università degli Studi di Milano 40 20

21 Assembly come linguaggio di programmazione Principali vantaggi della programmazione in linguaggio assembly: Ottimizzazione delle prestazioni. Massimo sfruttamento delle potenzialità dell'hardware sottostante. Cristina Silvano Università degli Studi di Milano 41 Assembly come linguaggio di programmazione Principali svantaggi della programmazione in linguaggio assembly: Le strutture di controllo hanno forme limitate Necessario conoscere i dettagli dell architettura del processore utilizzato Mancanza di portabilità dei programmi su macchine diverse, poiché ogni processore ha un proprio linguaggio assembly. Maggiore lunghezza, difficoltà di comprensione, facilità d errore rispetto ai programmi scritti in un linguaggio ad alto livello Cristina Silvano Università degli Studi di Milano 42 21

22 Linguaggio macchina Linguaggio di programmazione direttamente comprensibile dalla macchina Per indicare le istruzioni, i registri e le locazioni di memoria utilizza l alfabeto binario (ad esempio una sequenza composta da 16 bit). Il codice operativo identifica il tipo di istruzione (load, add, ecc.) mentre gli operandi indicano gli indirizzi dei registri o delle locazioni di memoria dove recuperare i dati su cui operare (operandi sorgente) o dove copiare i risultati (operandi destinazione). Cristina Silvano Università degli Studi di Milano 43 Esempio Struttura istruzione Codice operativo Operando destinazione Operando sorgente 1 Operando sorgente 2 Linguaggio assembly add R1 R1 R2 Linguaggio macchina Cristina Silvano Università degli Studi di Milano 44 22

23 Fase di compilazione da assembly a linguaggio macchina Programma in linguaggio assembly load R1, a load R2, b add R1, R1, R2 store R1, c Assembler Programma in linguaggio macchina Cristina Silvano Università degli Studi di Milano 45 Linguaggi ad alto livello Per superare gli svantaggi della programmazione in linguaggio assembly e in linguaggio macchina, sono stati introdotti i linguaggi ad alto livello, in modo da facilitare la programmazione e renderla indipendente dalle caratteristiche peculiari della macchina utilizzata. Sono pensati non per essere compresi direttamente da macchine reali, ma da macchine astratte, in grado di effettuare operazioni più ad alto livello, rispetto alle operazioni elementari dei processori reali. Cristina Silvano Università degli Studi di Milano 46 23

24 Linguaggi ad alto livello L attività di programmazione viene svincolata dalla conoscenza dei dettagli architetturali della macchina utilizzata (ad esempio il numero di registri interni alla CPU). Per poter eseguire su una macchina reale un programma scritto in un linguaggio ad alto livello è necessario tradurlo nel linguaggio della macchina utilizzata. Questa operazione di traduzione viene eseguita in modo automatico in due fasi successive. Cristina Silvano Università degli Studi di Milano 47 Compilazione Nella prima fase, il programma scritto in un linguaggio ad alto livello viene tradotto nel linguaggio assembly utilizzando appositi programmi detti compilatori. Dopo la fase di compilazione, il programma scritto in linguaggio assembly viene tradotto in linguaggio macchina utilizzando appositi programmi detti assemblatori (assembler). Cristina Silvano Università degli Studi di Milano 48 24

25 Programma in linguaggio ad alto livello (C) c = a + b Compilatore Programma in linguaggio assembly load R1, a load R2, b add R1, R1, R2 store R1, c Assembler Programma in linguaggio macchina Cristina Silvano Università degli Studi di Milano 49 Compilazione Spesso con il termine compilazione si indica l intero processo di traduzione da linguaggio ad alto livello a linguaggio macchina (essendo l assemblatore spesso integrato con il compilatore). Cristina Silvano Università degli Studi di Milano 50 25

26 Compilazione Un compilatore C per una macchina X, è un programma che riceve in ingresso un programma P scritto in linguaggio C, e genera in uscita un programma P scritto nel linguaggio della macchina X (equivalente a P) cioè tale che le esecuzioni di P e di P sugli stessi dati in ingresso producano gli stessi risultati. Un programmatore che conosca il linguaggio C e che disponga di un compilatore C per la macchina X può scrivere programmi da eseguire su X, senza conoscerne il linguaggio macchina. Cristina Silvano Università degli Studi di Milano 51 Compilazione Disponendo inoltre di un compilatore C per un altra macchina Y, lo stesso programma P scritto in C può essere fatto eseguire da Y, senza doverlo riscrivere da zero, come succedeva invece programmando in linguaggio macchina. In pratica il programmatore scrive il proprio programma in un linguaggio ad alto livello facendo riferimento ad una macchina astratta (la macchina C). Cristina Silvano Università degli Studi di Milano 52 26

27 Compilazione Grazie alla compilazione, un programma per la macchina C può essere tradotto automaticamente in un programma per una macchina reale. La conoscenza del linguaggio macchina è necessaria solo per costruire il compilatore. Una variante dei compilatori sono gli interpreti. Cristina Silvano Università degli Studi di Milano 53 Interpreti Un interprete è un programma che simula direttamente una macchina astratta. Invece di effettuare la traduzione di P, un interprete C legge ogni istruzione contenuta nel programma P, ed effettua immediatamente, utilizzando la macchina X, le operazioni corrispondenti all istruzione letta. In pratica, la traduzione dell intero programma prima dell esecuzione, viene sostituita dalla traduzione simultanea, con esecuzione immediata di ciascuna istruzione. Cristina Silvano Università degli Studi di Milano 54 27

28 Strumenti di supporto Nella fase di stesura di un programma, si utilizza un editor (un programma che permette di scrivere testi) per scrivere in un file il testo (detto programma sorgente) del programma nel linguaggio ad alto livello e memorizzarlo su disco. Il programma sorgente viene fornito in ingresso al compilatore che lo traduce nel codice oggetto, scritto in linguaggio macchina, memorizzato su disco. Cristina Silvano Università degli Studi di Milano 55 Strumenti di supporto Il linker (collegatore) ha il compito di collegare tra loro i vari moduli che costituiscono lo stesso programma: è infatti possibile suddividere il programma sorgente su più file, che vengono compilati separatamente creando diversi file oggetto, ed è anche possibile utilizzare funzioni di libreria. Il linker collega tra loro i file contenenti il codice oggetto dei vari moduli che costituiscono un programma, unendovi anche il codice delle funzioni di libreria utilizzate, producendo un file contenente il codice eseguibile, memorizzato su disco. Cristina Silvano Università degli Studi di Milano 56 28

29 Strumenti di supporto Il codice eseguibile può essere a questo punto caricato in memoria principale dal loader per l esecuzione. La CPU esegue il programma, una istruzione per volta. Cristina Silvano Università degli Studi di Milano 57 Errori Durante la compilazione di un programma si possono riscontrare errori di sintassi. In questo caso, prima di passare alle fasi successive, è necessario correggere il testo del programma sorgente utilizzando l editor. Dopo che il programma sorgente viene compilato senza errori, si può richiamare il linker. Cristina Silvano Università degli Studi di Milano 58 29

30 Errori Durante la fase di linking si possono verificare diversi tipi di errori, ad esempio la mancanza di uno o più moduli del programma o l utilizzo scorretto di funzioni di libreria. Durante la fase di esecuzione del codice possono verificarsi diversi tipi di errore, ad esempio un operazione di divisione darà errore se il divisore vale zero. (Si noti che gli errori di esecuzione possono dipendere dai dati in ingresso). Cristina Silvano Università degli Studi di Milano 59 Errori L assenza di errori in esecuzione non implica che il programma sia corretto: il programma potrebbe produrre risultati diversi da quelli aspettati, cioè svolgere una funzione diversa da quella per cui è stato creato. E necessaria un approfondita fase di verifica (debugging) che ha come obiettivo quello di verificare che il programma sia corretto rispetto alle specifiche di progetto. Cristina Silvano Università degli Studi di Milano 60 30

31 Errori Il debugger è uno strumento utile in questa fase per permettere di osservare passo passo l andamento dell esecuzione di un programma. Sono in genere disponibili ambienti integrati per lo sviluppo di programmi (IDE: Integrated Development Environment) in cui i diversi strumenti di supporto (editor, compilatore, linker, ecc.) sono tra loro integrati. Cristina Silvano Università degli Studi di Milano 61 Il processo di traduzione del codice Java Codice sorgente JAVA Compilatore JAVA Bytecode JAVA Interprete JAVA Compilatore Bytecode Codice macchina Cristina Silvano Università degli Studi di Milano 62 31

Lezione 2. Architetture HW e SW

Lezione 2. Architetture HW e SW Lezione 2 Architetture HW e SW Cristina SILVANO Politecnico di Milano, Dipartimento di Elettronica e Informazione P.za L. Da Vinci 32, I-20133 Milano (Italy) Ph.: +39-02-2399-3692 e-mail: silvano@elet.polimi.it

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/26

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I Il linguaggio Assembly Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it 1 Linguaggio

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea in Scienze della Comunicazione, Università Roma Tre 12 Dicembre

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo

Dettagli

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello

Dettagli

Cenni sull architettura del calcolatore

Cenni sull architettura del calcolatore Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Cenni sull architettura del calcolatore Pietro Di Lena - pietro.dilena@unibo.it hard-ware /h :dwe9 r / n. The part of the computer

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2011-2012 Architettura di un calcolatore: primi cenni introduttivi Lezione 1 (seconda parte) Prof. Roberto Canonico Università degli Studi di Napoli Federico II

Dettagli

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App. Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Ciclo di, classificazione e livelli delle architetture di calcolatore Lezioni del Corso di Laurea Triennale in Informatica Per gentilezza del Prof. Sebastiano Pizzutilo (Dipartimento

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2012-2013 Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Calcolatore: sottosistemi

Calcolatore: sottosistemi Calcolatore: sottosistemi Processore o CPU (Central Processing Unit) Memoria centrale Sottosistema di input/output (I/O) CPU I/O Memoria Calcolatore: organizzazione a bus Il processore o CPU Unità di controllo

Dettagli

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Dettagli

Architettura di un calcolatore: primi cenni introduttivi

Architettura di un calcolatore: primi cenni introduttivi Corso di Calcolatori Elettronici I Architettura di un calcolatore: primi cenni introduttivi ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Architettura di un calcolatore Cosa significa

Dettagli

Struttura di un elaboratore

Struttura di un elaboratore Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,

Dettagli

Macchine Astratte. Luca Abeni. February 22, 2017

Macchine Astratte. Luca Abeni. February 22, 2017 Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

Dettagli

Macchina di Riferimento: argomenti

Macchina di Riferimento: argomenti Macchina di Riferimento: argomenti L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei programmi Il ciclo fetch-execute Il simulatore SPIM 1 Architettura

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann Architettura Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Argomenti Modello di Von Neumann, Bus, Memoria centrale e dispositivi Data Path delle architetture di Von Neumann

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI PROGRAMMAZIONE I 23/11/218 UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA La macchina di Von Neumann Unità periferiche Memoria Centrale CPU CORSO DI "PROGRAMMAZIONE I" Bus Dati Bus Indirizzi

Dettagli

Architettura di Von Neumann

Architettura di Von Neumann Architettura del calcolatore Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da

Dettagli

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto Un quadro della situazione Lezione 14 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 1 8 / 1 9 Architettura di Von Neumann Architettura di Von Neumann: l Unità di Elaborazione L Unità di Elaborazione L unità di elaborazione (CPU) contiene

Dettagli

ISA e linguaggio macchina

ISA e linguaggio macchina ISA e linguaggio macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/55

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 29/01/07 Nota Questi lucidi sono tratti

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2010-2011 Architettura di un calcolatore: introduzione Lezione 18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

Istruzioni e linguaggio macchina

Istruzioni e linguaggio macchina Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

PROBLEMI E ALGORITMI

PROBLEMI E ALGORITMI Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus Architettura del calcolatore Calcolatori (1) Introdotti all'inizio degli anni 1940 Costruiti assemblano componenti elettronici elementari per memorizzare informazioni ed eseguire programmi informazioni

Dettagli

Architettura di un Sistema Informatico

Architettura di un Sistema Informatico Architettura di un Sistema Informatico Informatica B AA 2013 / 2014 6 Ottobre 2014 Giacomo Boracchi giacomo.boracchi@polimi.it Cos è l Informatica? Scienza della rappresentazione e dell elaborazione dell

Dettagli

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II) 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) abbiamo visto Programmi e dati risiedono in file memorizzati in memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/32

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Capitolo 5 Elementi architetturali di base

Capitolo 5 Elementi architetturali di base Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di

Dettagli

INFORMATICA. L informatica comprende:

INFORMATICA. L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

Architettura di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Architettura di von Neumann Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

Dettagli

Architettura di un elaboratore. Il modello di von Neumann

Architettura di un elaboratore. Il modello di von Neumann Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Francesco Folino FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale Programmazione A.A. 2002-03 I Architettura dei Calcolatori ( Lezione V ) Componenti hardware e loro schema funzionale Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Linguaggi, compilatori e interpreti

Linguaggi, compilatori e interpreti Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011

Dettagli

Linguaggi, compilatori e interpreti

Linguaggi, compilatori e interpreti Linguaggi, compilatori e interpreti Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 000101

Dettagli

Sistemi a microprocessore

Sistemi a microprocessore Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché

Dettagli

Modello di von Neumann

Modello di von Neumann Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Codifica dei dati e delle istruzioni La più piccola unità di informazione memorizzabile

Dettagli

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte) Funzionalità di un calcolatore L hardware dei sistemi di elaborazione (prima parte) Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Trasferim ento Docente: Prof. Alfonso

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Lezione 16. Il Software di base

Lezione 16. Il Software di base Lezione 16 Software di base Il Software di base Con il termine software di base si intende l insieme dei programmai che consentono ad un utente di eseguire operazioni base come costruire e mandare in esecuzione

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM

Dettagli

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:

Dettagli

M 2 M 1. Architettura. Architettura dei calcolatori. Paolo Bison. struttura e funzionalità di un calcolatore hardware software

M 2 M 1. Architettura. Architettura dei calcolatori. Paolo Bison. struttura e funzionalità di un calcolatore hardware software Architettura dei calcolatori Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Architettura struttura e funzionalità di un calcolatore hardware software Architettura dei calcolatori,

Dettagli

Architettura. Neumann rivista

Architettura. Neumann rivista Architettura dei calcolatori Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Architettura struttura e funzionalità di un calcolatore hardware software Hardware Architettura dei

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Architettura dei calcolatori Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 p.1 Architettura struttura

Dettagli

ARCHITETTURA DI UN ELABORATORE. Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

ARCHITETTURA DI UN ELABORATORE. Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). ARCHITETTURA DI UN ELABORATORE Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). MACCHINA DI VON NEUMANN UNITÀ FUNZIONALI fondamentali Processore (CPU)

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali

Dettagli

Architettura dei Calcolatori elettronici

Architettura dei Calcolatori elettronici Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore

Dettagli

INFORMATICA GENERALE

INFORMATICA GENERALE INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 negli altri periodi:

Dettagli

Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici Architettura dei Calcolatori Elettronici Prof. Orazio Mirabella L architettura del Calcolatore: esame delle sue caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore

Dettagli

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 19 Linguaggi 2 / 19 Linguaggi 3 / 19 Linguaggi di alto livello Si basano su una macchina virtuale

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Corso di Informatica A Vito Perrone Indice La macchina di Von Neumann Memoria CPU Bus Interfacce Esempio L algoritmo Il programma Fasi di esecuzione di un istruzione 2 1

Dettagli

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte) Funzionalità di un calcolatore L hardware dei sistemi di elaborazione (prima parte) Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Ivan

Dettagli

Laboratorio di Informatica L-A 1

Laboratorio di Informatica L-A 1 ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchina di Von Neumann: Non distingueva fra RAM

Dettagli