L architettura di riferimento

Documenti analoghi
L architettura di riferimento

L architettura di riferimento

L architettura di riferimento

La CPU a singolo ciclo

Architetture di elaborazione

La CPU a singolo ciclo

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo

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

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Architettura degli Elaboratori e delle Reti Introduzione alle architetture dei calcolatori

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

Calcolatore: sottosistemi

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

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

Struttura di un elaboratore

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

Lezione 2. Architetture HW e SW

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

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

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

Elementi di informatica

Macchina di Riferimento: argomenti

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Lezione 15. L elaboratore Elettronico

Architettura dell elaboratore

Architettura dell elaboratore

Architettura degli elaboratori - II Introduzione

Progetto CPU a singolo ciclo

Fondamenti di Informatica A. A / 1 9

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

Richiami sull architettura del processore MIPS a 32 bit

Componenti principali

Architettura di un calcolatore: primi cenni introduttivi

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

Architettura del calcolatore (Seconda parte)

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

Architettura di von Neumann

Architettura del Calcolatore

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura degli elaboratori - II Introduzione

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

La memoria - tecnologie

Architettura di un calcolatore: introduzione

Architettura del set di istruzioni (ISA)

Capitolo 5 Elementi architetturali di base

Richiami sull architettura del processore MIPS a 32 bit

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione

Architettura dei Calcolatori Elettronici

Elementi di informatica

Cenni sull architettura del calcolatore

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

Componenti e connessioni. Capitolo 3

Architettura hardware

Architettura di un Sistema Informatico

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Architettura di un calcolatore: Introduzione parte 2

L'architettura del processore MIPS

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

CPU a ciclo multiplo

Architettura di un elaboratore. Il modello di von Neumann

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

Architettura dei calcolatori

6: Macchina di Von Neumann

memoria PSW R1 R2 CPU Struttura logica dell elaboratore unità di controllo ALU unità di ingresso unità organo coordinatore clock di uscita

Corso di Fondamenti di Informatica Elementi di Architettura

ARCHITETTURA DEL CALCOLATORE

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Architettura dei Calcolatori elettronici

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

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina

L architettura del calcolatore (Seconda parte)

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Architettura degli elaboratori - II Introduzione. Introduzione alla CPU

ARCHITETTURA DI UN ELABORATORE

Elaborazione dell informazione

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

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina

Progetto CPU a singolo ciclo

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Architettura degli Elaboratori

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Abilità Informatiche e Telematiche

Microelettronica Corso introduttivo di progettazione di sistemi embedded

2. Architettura di un calcolatore

Linguaggio Assembly e linguaggio macchina

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

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

Abilità Informatiche e Telematiche

Architettura di una CPU

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/26 Sommario L Architettura di Von Neumann, architetture CISC e RISC Il ciclo di esecuzione di un istruzione. L organizzazione della memoria. Il bus. L 10 2/26 1

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 è funzione del tipo di dato. Esecuzione sequenziale da un istruzione alla seguente I risultati di un Memoria ALU + UC incorporate nella CPU I/O trasferiti via BUS. Unità di controllo Unità logicoaritmetica input Accumulatore: una delle possibili architetture CPU Accumulatore output L 10 3/26 Tipi di architetture 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/26 2

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 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. L 10 5/26 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 Per il trasferimento dei dati da memoria ai registri e viceversa si utilizzano delle apposite operazioni di caricamento (load) e di memorizzazione (store) 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 6/26 3

CPU 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 stessa Rallentano i tempi di esecuzione delle operazioni. Elevata profondità dell albero delle porte logiche, utilizzato per la decodifica. L 10 7/26 CISC vs. RISC Le 10 istruzioni più frequenti: RISC: le istruzioni semplici costituiscono la maggior parte del tempo di elaborazione ottimizzo quelle, trascuro il resto. Rank instruction Integer Average Percent total executed 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% Simple instructions dominate instruction frequency L 10 8/26 4

Elementi principali della CPU Registri: Banco di registri di uso generale (Register File) Memoria ad accesso rapido, in cui memorizzare i dati di utilizzo più frequente (10 volte più veloce del tempo di accesso alla memoria principale) 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) Unità di controllo Cervello della CPU Coordina i flussi di informazione, in funzione dell istruzione in corso Seleziona l operazione opportuna della ALU. Unità di controllo CPU Memoria Unità logicoaritmetica Registri L 10 9/26 Sommario L Architettura di Von Neumann, architetture CISC e RISC. La CPU il ciclo di esecuzione di un istruzione. L organizzazione della memoria. Il bus. L 10 10/26 5

Unità centrale di elaborazione (CPU) La CPU provvede ad eseguire le istruzioni che costituiscono i diversi programmi elaborati dal calcolatore. 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/26 Ciclo esecuzione istruzione: MIPS Prelievo istruzione: Fase di Fetch Decodifica Prelievo operandi Esecuzione Istruzioni e dati risiedono nella memoria principale L esecuzione di un programma inizia quando il registro PC punta alla prima istruzione del programma Write Back L 10 12/26 6

Lettura istruzione (Fetch) Fase di FETCH Il segnale di controllo per la lettura (READ) 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/26 Decodifica dell istruzione DECODIFICA: l istruzione contenuta nel registro IR viene decodificata per essere eseguita Predisposizione della CPU all esecuzione dell istruzione: Apertura delle vie di comunicazione appropriate Lettura/scrittura di registri Lettura/scrittura verso memoria Lettura/scrittura dall esterno (I/O) Prelievo istruzione: Fase di Fetch Decodifica Prelievo operandi Esecuzione Write Back L 10 14/26 7

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/26 Esecuzione dell istruzione Vengono selezionati i circuiti combinatori appropriati per l esecuzione dell istruzione e determinate in fase di decodifica. Esempio: add $s3, $s2, $s1 Fase di fetch: Decodifica: Lettura dati: Esecuzione: Caricamento dell istruzione di add Preparazione CPU a svolgere una somma. Indirizzamento adeguato del Register File. Esecuzione della somma. L 10 16/26 8

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/26 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/26 9

Sommario L Architettura di Von Neuman, architetture CISC e RISC. La CPU. Il ciclo di esecuzione di un istruzione. L organizzazione della memoria. Il bus. L 10 19/26 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 20/26 10

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 21/26 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 22/26 11

Bus di sistema BUS: infrastruttura di comunicazione tra le diverse unità del calcolatore. Generalmente composto da tre parti: Bus dati comprende le linee per trasferire dati e istruzioni da/verso i dispositivi. 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 e per la sincronizzazione tra CPU e memoria L 10 23/26 Utilizzo del bus 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 Arbitraggio Il bus permette un solo trasferimento per volta: in ogni istante soltanto due unità (Master e Slave) possono usare il bus. Nelle architetture di riferimento l unità Master è la CPU Alcune schede di I/O possono diventare bus-master Le linee di controllo del bus vengono utilizzate per inviare più richieste contemporanee, le quali vengono gestite dalla logica di arbitraggio del bus L 10 24/26 12

Bus di sistema & buffer Vantaggi bus: elevata flessibilità e bassi costi Sincronizzazione I dispositivi collegati al bus hanno diverse velocità: Necessario un meccanismo di sincronizzazione per garantire il trasferimento efficiente delle informazioni sul bus. Nelle 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. Banda passante Massima velocità di trasferimento informazione sul bus Es: Video PAL 720 x 576 x 4 byte x 30 frame/s: quasi 50Mbyte/s Bus PCI: banda max. 66 MByte/sec L 10 25/26 Esempio di architettura a bus L 10 26/26 13