LE ARCHITETTURE NON VON NEUMANN

Slides:



Advertisements
Presentazioni simili
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –
Advertisements

Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
La macchina di von Neumann
Architettura di un calcolatore
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
ARCHITETTURA DI UN ELABORATORE
Sistemi ad elevate prestazioni Lezione 1
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Informatica Generale Marzia Buscemi
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Il modello di Von Neumann
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Laboratorio di Architettura Degli Elaboratori1 PSPICE – Circuiti sequenziali.
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A Architettura di un calcolatore Ing. Simona Colucci.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
CONTROLLO DELLA CONCORRENZA
Basi di dati - Fondamenti
© 2007 SEI-Società Editrice Internazionale, Apogeo
PRESENTAZIONE di RICCARDO
Crea il tuo sistema aziendale sul web a partire dei fogli Excel che usi. ShareXLS
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Introduzione all’Informatica
Architettura dei calcolatori
Architettura e funzionalità
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Microcontrollori e microprocessori
7. Strutture di controllo Ing. Simona Colucci
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
Cammino dei Dati (Datapath)
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Architetture non Von Neumann
analizzatore di protocollo
Architettura dei calcolatori
John Von Neumann John von Neumann, nato il 28 dicembre 1903  e morto a Washington l’8 febbraio 1957, è stato un matematico, fisico e informatico ungherese naturalizzato statunitense.
componenti di un computer Roma – ATA “E. Sereni” – 1 agosto 2016
MODULO 1 – Computer essentials
Architettura del calcolatore
Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l’esecuzione dei programmi AA 2002/2003 ©Morpurgo,, Zanaboni.
IL MODELLO DI VON NEUMANN
Caratteristiche e funzioni della scheda Arduino
Controllo e microprogrammazione
Processi e Thread Meccanismi di IPC (1).
Psicologia dell’apprendimento
Basi di dati - Fondamenti
Programmare.
Il CLOCK Il funzionamento della CPU è regolato da un clock di sistema, questo perché la CPU è una macchina sequenziale, quindi è necessario la presenza.
Azione delle istruzioni
Ricorsione 16/01/2019 package.
Definizione di linguaggio di programmazione
Esercitazione su Instruction Level Parallelism
LOGICA DI FUNZIONAMENTO
Azione delle istruzioni
Esercizio.
Parti interne del computer
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Architettura del computer
Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Relazioni tra CPU e Memoria e Dispositivi I/O
Transcript della presentazione:

LE ARCHITETTURE NON VON NEUMANN By Giuseppe Lanzetta & Mattia Rizzo 3I -13/04/2016

Le evoluzioni che riguardano l’elaborazione Esecuzione fuori ordine Indica la capacità delle CPU di eseguire istruzioni senza rispettarne necessariamente l’ordine imposto dal codice che le contiene. Per fare ciò la CPU analizza le istruzioni che dovrà eseguire individuando le istruzioni non limitate dalle altre. Quelle che non hanno vincolo sequenziale vengono fatte eseguire in parallelo. Questo metodo prevede che inizialmente il programma venga caricato con istruzioni seriali successivamente eseguite in parallelo e riordinate tenendo conto delle dipendenze,successivamente eseguite in parallelo e riordinate prima di procedere con il salvataggio dei dati in memoria.

Il prefetch (precaricamento) In base a questa tecnica i processori realizzano delle unità che analizzano il codice cercando di prevedere quali dati o quali istruzioni serviranno al processore, provvedendo al loro caricamento in cache. Il precaricamento dei dati e delle istruzioni però presenta alcuni problemi: ad esempio se il microprocessore carica delle istruzioni dipendenti da un salto e quel salto non viene eseguito il processore provvederà all’eliminazione delle istruzioni caricate erroneamente prima di caricare le istruzioni da eseguire. Il precaricamento deve garantire la validità dei dati, quindi se un dato viene precaricato Nessuna istruzione deve modificarlo prima del suo utilizzo da parte delle istruzioni che hanno avviato il precaricamento. Questo metodo senza un supporto del set di istruzioni diventa molto complesso da implementare in hardware.

La pipeline Il termine pipeline significa catena di montaggio e sta a indicare che nella CPU esistono dei blocchi che elaborano parte delle fasi trasferendole al blocco successivo. L elaborazione di un’istruzione da parte di un processore avviene in cinque passaggi fondamentali: IF: lettura dell’istruzione da memoria ID: decodifica dell’istruzione e lettura degli operandi da registri EX: esecuzione dell’istruzione MEM: attivazione della memoria WB: scrittura del risultato nel registro opportuno L’attività di una CPU con pipeline è formata da cinque stadi specializzati, in grado di eseguire ciascuno un ciclo macchina. La CPU infatti lavora come in una catena di montaggio eseguendo a ogni stadio un solo compito specifico. La pipeline consente di migliorare le prestazioni in termini di velocità di esecuzione, ma Comporta una maggiore complessità circuitale della CPU che deve essere composta almeno da cinque unità specializzate in grado di collaborare tra loro.

Le principali problematiche che si possono incontrare riguardo all’impiego della pipeline sono le seguenti: 1. Conflitti strutturali: quando due fasi utilizzano contemporaneamente la stessa risorsa 2. Conflitti tra i dati: quando un’istruzione utilizza un dato che è ancora in fase di elaborazione. 3. Conflitti di controllo: quando le istruzioni che devono essere eseguite da un salto si trovano in una zona di memoria non prevista.

Tecnologie superscalari Per realizzare CPU con prestazioni sempre migliori si è affermata la tecnologia superscalare, (che identifica la tecnologia costruttiva di microprocessori che sono in grado di eseguire piu di un operazione per ciclo di clock), grazie alla quale vengono integrati in unico microprocessore piu pipeline che funzionano in parallelo.

Branch prediction L uso della pipeline è influenzato negativamente dai salti condizionati, dato che questi possono costringere il processore a ripetere gli stessi cicli macchina. Un processore basato su x86 incontra un salto condizionato ogni 6-7 istruzioni. Pertanto è molto importante cercare di prevedere il salto condizionato, così da caricare in anticipo il blocco di istruzioni corretto nella pipeline.

Le evoluzioni che riguardano la memoria centrale Cache memory La cache è una memoria di tipo statico molto veloce e di dimensioni contenute e consente un accesso piu rapido alla memoria. Tuttavia, essendo di dimensoni ridotte rispetto alla RAM, la memoria cache è in grado di memorizzare soltanto una minima parte dei dati contenuti nella RAM. L’uso della cache è legato al comportamento delle applicazioni durante la loro esecuzione secondo due principi, detti principi di località. Località spaziale: i programmi in esecuzione possono accedere a celle di memoria presenti all’interno di una zona definita. Località temporale: il programma eseguirà le istruzioni accedendo alle istruzioni immediatamente successive a quella appena eseguita.

I livelli di cache disponibile sono: Cache integrata direttamente nel processore, chiamata di primo livello (L1) Cache esterna collegata direttamente al processore, chiamata di secondo livello (L2) Cache esterna collegata sulla scheda madre, ed è di terzo livello (L3)

Le evoluzioni che riguardano gli I/O DMA (direct memory access) Il DMA controller consente l impostazione dei trasferimenti tramite un insieme di porte di configurazione visibili dalla CPU. Il programma imposta l indirizzo iniziale del blocco di memoria da trasferire e le dimensioni. Una volta iniziato il trasferimento il controller provvederà autonomamente al trasferimento dei dati da o per la memoria. Il controller DMA condivide i bus con la CPU, quindi il DMA trasferisce quando la CPU non usa i bus