L architettura di riferimento



Documenti analoghi
L architettura di riferimento

L architettura di riferimento

Architettura del calcolatore

Struttura del calcolatore

CPU. Maurizio Palesi

L architettura di riferimento

C. P. U. MEMORIA CENTRALE

Architetture di elaborazione

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Architettura di un calcolatore: introduzione

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Architettura hw. La memoria e la cpu

La CPU a singolo ciclo

La CPU a singolo ciclo

Calcolo numerico e programmazione Architettura dei calcolatori

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Esame di INFORMATICA

Architettura hardware

Lezione 3: Architettura del calcolatore

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Architettura di tipo registro-registro (load/store)

Lezione n.19 Processori RISC e CISC

Funzionalità di un calcolatore

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURA DELL ELABORATORE

Von Neumann. John Von Neumann ( )

Parte II.2 Elaboratore

Architettura di un calcolatore

Informatica - A.A. 2010/11

Architettura dei calcolatori

Introduzione all'architettura dei Calcolatori

Corso di Sistemi di Elaborazione delle informazioni

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

La macchina programmata Instruction Set Architecture (1)

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Unità Periferiche. Rete Di Controllo

Architettura del Set di Istruzioni (ISA)

1.4a: Hardware (Processore)

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Architettura di un computer

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

introduzione I MICROCONTROLLORI

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Laboratorio di Informatica

Lezione n.9. Introduzione al linguaggio macchina

Fondamenti di informatica: un po di storia

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

CPU pipeline 4: le CPU moderne

Anatomia e fisiologia del computer: l architettura del calcolatore

Il Processore: i registri

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di elaborazione pipeline L unità Pipelining

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Calcolatori Elettronici

CALCOLATORI ELETTRONICI

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana:

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

CPU pipeline 4: le CPU moderne

Dispensa di Informatica I.1

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Lezione 7 Sommatori e Moltiplicatori

Ing. Paolo Domenici PREFAZIONE

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

L unità di controllo di CPU multi-ciclo

Architettura dei calcolatori I parte Introduzione, CPU

Esercitazione sulle CPU pipeline

Prelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Hazard sul controllo. Sommario

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

CAP. 4: Aspetti generali del Sistema Operativo Linux. l

ARCHITETTURA DEL CALCOLATORE

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

La Macchina Virtuale

Richiami di informatica e programmazione

Il processore - CPU (CENTRAL PROCESSING UNIT)

FONDAMENTI di INFORMATICA L. Mezzalira

Laboratorio di Informatica

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Architettura dei computer

L architettura del calcolatore (Prima parte)

Programmazione dello Z80

CALCOLATORI ELETTRONICI 29 giugno 2010

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

Flip-flop, registri, la macchina a stati finiti

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il processore - CPU. PDF created with pdffactory trial version

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Sistemi operativi. Esempi di sistemi operativi

LABORATORIO di INFORMATICA

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Transcript:

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/27 Sommario! Architettura di Von Neumann, architetture moderne! Il ciclo di esecuzione di un istruzione.! All esterno della CPU: il bus, la memoria. L 10 2/27

Architettura di Von Neumann! Architettura di VON NEUMANN: " Dati e Istruzioni sono contenute in una memoria leggibile e scrivibile! Accesso al contenuto della memoria, in base alla sua posizione (Indirizzo), non in funzione del tipo di dato (istruzione/dato). " Esecuzione sequenziale da un istruzione alla seguente " I risultati di un operazione sono sempre contenuti nell accumulatore Memoria ALU + UC incorporate nella CPU Von Neumann: Architettura ad Accumulatore Unità di controllo CPU Unità logicoaritmetica Accumulatore input output L 10 3/27 Tipi di architetture Architetture moderne:! Accumulator (1 register = 1 indirizzo di memoria) 1 address add A acc! acc + mem[a] 1+x address addx A acc! acc + mem[a + x]! Stack (posso operare solo sui dati in cima allo stack) 0 address add tos! tos + next! Register-addressed Memory (tanti indirizzi di memoria quanti sono i registri: indirizzamento indiretto) 2 address add A B EA(A)! EA(A) + EA(B) 3 address add A B C EA(A)! EA(B) + EA(C)! Load/Store (posso operare solamente sui dati contenuti nei registri. Devo prima caricarli dalla memoria). 3 address: add Ra Rb Rc Ra! Rb + Rc load Ra [Rb] store Ra [Rb] Ra! mem[rb] mem[rb]! Ra L 10 4/27

Architetture LOAD/STORE! Registri ad uso generale insufficienti a memorizzare tutte le variabili di un programma " Esempio: 32 registri da 32 bit ciascuno " Assegnata una locazione di memoria ad ogni variabile 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 contenuti nella CPU e non possono provenire direttamente dalla memoria. " Sono necessarie apposite istruzioni di: caricamento (LOAD) dei dati da memoria ai registri; memorizzazione (STORE) dei dati dai registri alla memoria. L 10 5/27 CISC vs. RISC! Le 10 istruzioni più frequenti: IDEA: le istruzioni semplici richiedono la maggior parte del tempo di elaborazione # Ottimizzo le istruzioni semplici, trascuro il resto # Set di istruzioni ridotto, solo istruzioni semplici RISC Rank Instruction Average Execution Frequency (%) 1 load 22% 2 conditional branch 20% 3 compare 16% 4 store 12% 5 add 8% 6 and 6% 7 sub 5% 8 move register-register 4% 9 call 1% 10 return 1% Total 96% L 10 6/27

Architetture RISC! RISC: Reduced Instruction Set Computer! IDEA: eseguire soltanto istruzioni semplici " Operazioni complesse scomposte in serie di istruzioni semplici da eseguire in un ciclo-base ridotto, ma ottimizzato. " Architettura semplice: ad esempio, Load-Store gli operandi dell ALU possono provenire solo dai registri, non dalla memoria! Vantaggi: " CPU semplice # si riducono i tempi di esecuzione delle singole istruzioni " Dimensione fissa delle istruzioni # semplice gestione della fase di prelievo (fetch) e della decodifica delle istruzioni L 10 7/27 Architetture di tipo CISC! CISC: Complex Instruction Set Computer Elevata complessità delle istruzioni eseguibili Elevato numero di istruzioni disponibili! Numerose modalità di indirizzamento per gli operandi dell ALU " possono provenire da registri oppure da memoria " Indirizzamento diretto, indiretto, con registro base, ecc.! Dimensione variabile delle istruzioni a seconda della modalità di indirizzamento di ogni operando " complessità di gestione della fase di prelievo o fetch in quanto a priori non è nota la lunghezza dell istruzione da caricare.! Elevata complessità della CPU " Rallentano i tempi di esecuzione delle operazioni. " Elevata profondità dell albero delle porte logiche, utilizzato per la decodifica. L 10 8/27

CPU elementi principali! Registri: " Banco di registri di uso generale (Register File)! Memoria ad accesso rapido, in cui memorizzare i dati di utilizzo più frequente " Program Counter (PC)! Contiene l indirizzo dell istruzione corrente da aggiornare durante l evoluzione del programma, in modo da prelevare dalla memoria la corretta sequenza di istruzione " Instruction Register (IR)! Contiene l istruzione in corso di esecuzione.! Arithmetic Logic Unit (ALU) " Effettua le operazioni aritmentico logiche fra registri, oppure direttamente dalla memoria (modalità di indirizzamento) Memoria! Unità di controllo " Cervello della CPU " Coordina i flussi di informazione, in funzione dell istruzione in corso " Seleziona l operazione opportuna della ALU. CPU Unità di controllo Registri ALU L 10 9/27 Sommario! Architettura di Von Neumann, architetture moderne.! La CPU il ciclo di esecuzione di un istruzione.! L organizzazione della memoria. Il bus. L 10 10/27

Unità centrale di elaborazione (CPU)! Compito della CPU: eseguire in sequenza le istruzioni che costituiscono il programma assegnato all elaboratore. " ciclo di esecuzione di istruzioni! Eseguire un istruzione significa: " acquisire l istruzione da eseguire: FETCH " interpretare l istruzione e i dati a disposizione: DECODIFICA " eseguire calcoli / scelte / trasferimenti informazione ESECUZIONE L 10 11/27 Ciclo esecuzione istruzione Prelievo istruzione: Fase di Fetch! Istruzioni e dati risiedono nella memoria principale Decodifica Prelievo operandi Esecuzione Write Back Esecuzione! L esecuzione di un programma inizia quando il registro PC punta alla prima istruzione del programma! MIPS: suddivisione dell esecuzione in tre sottofasi L 10 12/27

Lettura istruzione (Fetch)! Fase di FETCH " Il segnale di controllo per la lettura viene inviato alla memoria " Trascorso il tempo necessario all accesso in memoria, la parola indirizzata (istruzione) viene letta dalla memoria e trasferita nel registro IR Prelievo istruzione: Fase di Fetch Decodifica Prelievo operandi Esecuzione Write Back L 10 13/27 Decodifica dell istruzione! DECODIFICA: l istruzione contenuta nel registro IR viene decodificata per essere eseguita! Predisposizione della CPU all esecuzione dell istruzione: Prelievo istruzione: Fase di Fetch Decodifica! Apertura delle vie di comunicazione appropriate " Lettura/scrittura di registri " Lettura/scrittura verso memoria " Lettura/scrittura dall esterno (I/O) " Prelievo operandi Esecuzione Write Back L 10 14/27

Recupero degli operandi! Se l istruzione è, ad esempio, aritmetico-logica, è necessario recuperare gli operandi " possono essere nei registri di uso generale oppure in memoria! Architetture a registri " Se un operando risiede in memoria, deve essere prelevato caricando l indirizzo dell operando e attivando un ciclo di READ della memoria. " L operando letto dalla memoria viene trasferito alla ALU, che esegue l operazione.! Architetture LOAD/STORE " Le istruzioni di caricamento dalla memoria sono separate da quelle aritmetico/logiche. L 10 15/27 Esecuzione dell istruzione! Vengono selezionati i circuiti combinatori appropriati per l esecuzione dell istruzione e determinate in fase di decodifica.! Esempio: a d d $ s 3, $ s 2, $ s 1 " Fase di fetch: Caricamento dell istruzione di add " Decodifica: Preparazione CPU a svolgere una somma. " Lettura dati: Indirizzamento adeguato del Register File. " Esecuzione: Esecuzione della somma. L 10 16/27

Write-back: Riscrittura risultato! Write-back: " 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 inviato al bus dati. L indirizzo della posizione di memoria in cui scrivere il risultato viene bus indirizzi e si attiva un ciclo di scrittura (WRITE) della memoria.! Chiusura ciclo: " 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 (fetch) L 10 17/27 Ciclo di esecuzione di un istruzione Prelievo istruzione: Fase di Fetch! Il normale flusso di esecuzione di un programma può essere interrotto da Eccezioni: Decodifica Prelievo operandi Esecuzione Eccezioni " un segnale di interruzione esterno (INTERRUPT) per una richiesta di intervento. " Un segnale di errore di calcolo (es. divisione per 0) Write Back L 10 18/27

Sommario! Architettura di Von Neuman. Architetture moderne.! Il ciclo di esecuzione di un istruzione.! L organizzazione della memoria. Il bus. L 10 19/27 Registri della CPU: Register File! Register file: elemento di una CPU che contiene tutti i registri di uso generale (general purpose registers) " Banco di registri: 2 K registri da N bit ciascuno " Solitamente, 2 porte di uscita, 1 in ingresso! Operazioni: " SELEZIONE: fornendo in ingresso il numero del registro (#reg) " LETTURA: non modifica il contenuto del registro selezionato " SCRITTURA: Inserisce <ContenutoWrite> nel registro selezionato (comando: W) #Reg read 1 #Reg read 2 Contenuto 1 #Reg write W K K K Register File MIPS: N 1 2 K registri da N bit Contenuto 2 Contenuto Write N N L 10 20/27

Register file (CPU MIPS)! Register File: famiglia di CPU MIPS : " 32 registri da 32 bit " 1 linea di ingresso " 2 linee di uscita #Reg read 1 5 #Reg read 2 Contenuto 1 5 #Reg write 5 Register File MIPS: 32 W 1 32 registri da 32 bit Contenuto 2 Contenuto Write 32 32 L 10 21/27 Register File MIPS: Porta di LETTURA! 2 MUX di selezione registro " 2 registri possono essere letti contemporaneamente 5 32 5 L 10 22/27

Register file MIPS: Porta di SCRITTURA! Ingresso CLK:(Selezione) AND W " Se no ad ogni CLK scriverei nei registri! Ingresso D: " Dato (32 bit) W #Reg Write 5 Dato 32 L 10 23/27 Indirizzi nella memoria principale! La memoria è organizzata in 2 K parole (word) di N bit N: ampiezza della memoria 2 K : altezza della memoria! In genere, la dimensione della parola di memoria coincide con la dimensione dei registri della CPU (CPU word) " Le operazioni di load/store avvengono in un singolo ciclo! Capacità della memoria = (N.words)! (dim.word [bytes]) " k = 32! (2 32 = 4 Gwords)! (32 bit = 4 bytes) = 16 Gbytes! Random Access Memory RAM " Il tempo di accesso alla memoria è fisso e indipendente dalla posizione della parola alla quale si vuole accedere. L 10 24/27

Indirizzi nella memoria principale bus dati! A = 2 k -1 bus indirizzi Altezza della memoria (numero di parole) parole indirizzi! A = 1 b 0 b 1.. b n-1! A = 0 Ampiezza della memoria (dimensione della parola) L 10 25/27 Collegamento tra componenti mediante BUS PC IR Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo Connessione a nodo comune: BUS Tutte le unità del calcolatore sono connesse al bus L 10 26/27

Bus di sistema! BUS: infrastruttura di comunicazione tra le diverse unità del calcolatore. Generalmente composto da tre parti: " Bus dati: le linee per trasferire dati e istruzioni da/verso i dispositivi. " Bus indirizzi: su cui la CPU trasmette l indirizzo di memoria da cui prelevare/depositare il dato nel caso di lettura/scrittura dalla memoria. " Bus di controllo: informazioni ausiliarie per la corretta definizione delle operazioni da compiere e per la sincronizzazione tra CPU e memoria! Esempio: lettura dalla memoria 1. La CPU fornisce l indirizzo della parola desiderata sul bus indirizzi 2. viene richiesta l operazione di lettura attivando il bus di controllo. 3. Quando la memoria ha reso disponibile la parola richiesta, il dato viene trasferito sul bus dati e la CPU può prelevarlo dal bus dati ed utilizzarlo nelle sue elaborazioni L 10 27/27