Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione.

Slides:



Advertisements
Presentazioni simili
L’Architettura del Sistema di Elaborazione
Advertisements

La struttura fisica e logica di un elaboratore
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Definizione e tipi di implementazione
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Elaboratore e Sistemi Operativo
Informatica Generale Susanna Pelagatti
Architettura di un sistema informatico Hardware
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Caratteristiche principali dell’architettura del processore MIPS
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
ARCHITETTURA DEL CALCOLATORE
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Architettura degli elaboratori
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Informatica: il trattamento automatico dell’informazione
Il Calcolatore Elettronico
ELETTRONICA DIGITALE (II Parte)
Appunti di Informatica
L' ARCHITETTURA DI VON NEUMANN
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Architettura di una CPU
Architettura del calcolatore
INFORMATICA TECNOLOGIE INFORMATICHE INFORmazione autoMATICA
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Calcolatori Elettronici Il Processore
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
Laboratorio Informatico
Programmazione Assembly
CALCOLATORI ELETTRONICI
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata (3) Istruzioni J-type Istruzioni di salto Istruzioni.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Il modello di Von Neumann
Fondamenti di Informatica Il Calcolatore Monica Mordonini Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architettura degli elaboratori
Transcript della presentazione:

Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina

A.A ISA (1)2 Outline Componenti di un computer (“big picture”) Tre aspetti: Cosa fa (“Istruction Set Architecture”, ISA) Come si programma (Assembly language) Come è fatto (circuiti e Datapath) Esecuzione di una istruzione Schema di principio MOLTO semplificato (ma generale!) Esempio: somma tra registri Esecuzione di un programma memorizzato Ciclo elementare fetch/execute) Formato delle istruzioni Esempio: istruzioni MIPS R-type Rappresentazione simbolica (Assembly) Catena programmativa (cenni) Simulatori (emulatori): SPIM e MARS

Computer “The big picture” A.A ISA (1)3 Processor Memory Datapath Control ALU Input Output Periferiche Memorie di massa (“Storage”) Tastiera Mouse Touch screen Monitor Interfacce di rete Sensori Attuatori....

Processor: istruzione elementare su registri A.A ISA (1)4 Processor (CPU, Central Processing Unit) Control Unit Arithmetic Logic Unit Current instruction Registers R0 R1 R2 Rn R3 Decodifica istruzione Segnali di controllo ai circuiti Elaborazione dei dati Flussi dei dati Istruzione da eseguire (codificata come insieme di bit) (esempio): R1 + R2 -> R3

Commenti sulla slide precedente E’ uno schema di principio ultra-semplificato … …ma cattura gli aspetti fondamentali del comportamento di un processore (“Von Neumann Machine”) La sequenza delle operazioni è puramente logica A livello ISA “si vedono” Registri e Memoria (vedi seguito) Molte implementazioni possibili Hardware: circuiti combinatori e sequenziali Vedere lezioni future su circuiti, Datapath etc. Circuiti pilotati dal clock Tempo di esecuzione di una istruzione: “almeno” un ciclo di clock Frequenza del clock: ≈ 1 GHz = 10 9 Hz Ragionare sugli ordini di grandezza dei tempi!!! Software: interprete (e.g. SPIM, Java virtual machine…) Memoria: un insieme di “celle” Che contengono bit... interpretabili in modi diversi (Dati o istruzioni) A.A ISA (1)5

Da dove arrivano le istruzioni? (Fetch/execute) A.A ISA (1)6 Processor Control ALU Current instruction Program Counter Indirizzo in memoria della prossima istruzione da eseguire Memory Address Memory Le istruzioni stanno in memoria “una dopo l’altra” (di solito…) Memory Content Esecuzione istruzione (vedi slide precedente) Incremento PC per puntare alla istruzione successiva Registers Bisogna aspettare un po’

Commenti: Registri di CPU: dentro il processore pochi (p. es. 32) veloci (coincide con il clock) costosi NB: questi sono quelli che si chiamano di solito “Registri” Memoria grande (p. es. 1GB = byte (relativamente) lenta (alcuni cicli di clock) mediamente costosa NB: anche la memoria è un insieme di registri, chiamati di solito “celle” o “locazioni” Memoria di massa (“Storage”) E’ una periferica molto grande (da 100 GigaB a TeraByte) lenta (Millisecondi) poco costosa persistente A.A ISA (1)7

Filosofie di progetto della CPU RISC (Reduced Instruction Set Computing) Poche istruzioni semplici Struttura circuitalmente semplice Esecuzione veloce di una singola istruzione Occorrono più istruzioni per fare cose anche semplici Esempio: MIPS, ARM, PowerPC… CISC (Complex Instruction Set Computing Istruzioni complesse Struttura circuitalmente complicata Esecuzione più lenta di una singola istruzione Occorrono meno istruzioni Esempio: Intel x86 e tutti I derivati (Pentium etc.) Nel seguito del corso: MIPS (come esempio!) SPIM = simulatore sw di MIPS versioni per diversi sistemi (Windows, Mac, Linux) MARS = simulatore sw di MIPS Scritto in Java (portabile su diversi sistemi) A.A ISA (1)8

Architettura MIPS e linguaggio macchina RISC: semplice, uniforme e facile (?) da capire 32 registri di 32 bit Istruzioni di 32 bit Quali operazioni devono essere rappresentate dalle istruzioni? Manipolazioni di dati solo sui registri Trasferimento di dati tra memoria e registri Alterazione del flusso di controllo (“salti”) Problema architetturale: come esprimere tutti I tipi di operazioni in 32 bit… …mantenendo il più possibile omogenea la struttura delle istruzioni? Tre formati delle istruzioni R-type I-type J-type Attenzione: I tre formati non coincidono esattamente con le tre tipologie di operazioni A.A ISA (1)9

Istruzione R-Type A.A ISA (1)10 6 bits5 bits 6 bits “somma i contenuti del registro 8 e del registro 9 e metti il risultato nel registro 10” quello che si vuole fare (in italiano) numeri decimali (per comodità) op (operation code) tipo operazione rs primo registro sorgente rt secondo registro sorgente rd registro destinazione shamt shift funct variante della operazione I bit che sono in memoria e sono trasferiti a UC L’Unità di Controllo “sa” come interpretare i singoli campi gli stessi spacchettati in quartetti (il computer “non lo sa”) 0x rappresentazione esadecimale utile (ahimè) per gli umani

Formato simbolico (assembly) Un formato un po’ più comodo “linguaggio sorgente” (un programma è un testo) add $10, $8, $9 codici operativi simbolici nomi simbolici di registri ($xxx) nomi simbolici di variabili (che diventeranno indirizzi) (attenzione all’ordine degli operandi…) usato da chi programma qualcuno (eg un programma assemblatore) traduce da sorgente a eseguibile quello che viene caricato in memoria ed eseguito è sempre l’eseguibile (codice macchina) Il simulatore si occupa anche di queste cose, ma non facciamo confusione fra linguaggio sorgente e linguaggio macchina!!! A.A ISA (1)11