Calcolatori Elettronici



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

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne

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

CPU. Maurizio Palesi

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

CALCOLATORI ELETTRONICI 29 giugno 2011

C. P. U. MEMORIA CENTRALE

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

Aumentare il parallelismo a livello di istruzione (2)

Architettura hardware

Struttura del calcolatore

Sistema operativo: Gestione della memoria

Lezione n.19 Processori RISC e CISC

Esame di INFORMATICA

Architettura di un calcolatore: introduzione

Architettura del calcolatore

Calcolatori Elettronici

Architettura di tipo registro-registro (load/store)

Hazard sul controllo. Sommario

CALCOLATORI ELETTRONICI 29 giugno 2010

La Gestione delle risorse Renato Agati

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

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

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

L architettura di riferimento

Laboratorio di Informatica

Dispensa di Informatica I.1

L HARDWARE parte 1 ICTECFOP@GMAIL.COM

Parte II.2 Elaboratore

Il Processore: i registri

La memoria centrale (RAM)

Tecniche di parallelismo, processori RISC

Lezione 3: Architettura del calcolatore

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

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

Architettura di un computer

Gestione della memoria centrale

STRUTTURE DEI SISTEMI DI CALCOLO

CALCOLATORI ELETTRONICI 31 marzo 2015

Calcolatori Elettronici

Aumentare il parallelismo a livello di istruzione (1)

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Schedulazione dinamica. Elettronica dei Calcolatori 1

Architettura degli elaboratori (A)

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

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

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

CALCOLATORI ELETTRONICI 15 aprile 2014

ARCHITETTURA DEL CALCOLATORE

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Architettura dei calcolatori I parte Introduzione, CPU

Sistemi Operativi. 5 Gestione della memoria

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

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

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

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

Fondamenti di informatica: un po di storia

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Informatica - A.A. 2010/11

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Lezione 8. La macchina universale

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Testi di Esercizi e Quesiti 1

Von Neumann. John Von Neumann ( )

Architettura di un calcolatore

ARCHITETTURA DELL ELABORATORE

PLC Programmable Logic Controller

DMA Accesso Diretto alla Memoria

Calcolatori Elettronici

Ottimizzazioni 1 Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Architettura del Set di Istruzioni (ISA)

MODELLO DLX IN UNISIM

La macchina programmata Instruction Set Architecture (1)

Calcolo numerico e programmazione Architettura dei calcolatori

CALCOLATORI ELETTRONICI

Laboratorio di Informatica

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

La Macchina Virtuale

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

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Transcript:

Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4

Ricapitolando Con la pipeline aumenta il numero di istruzioni prodotte nell unità di tempo (aumenta il throughput) Per realizzare la pipeline: tutte le istruzioni hanno lo stesso numero di fasi (l unità di calcolo va percorsa segmento dopo segmento) tutte le fasi hanno la stessa durata (sincronizzazione delle attività) il tempo di esecuzione della singola istruzione potrebbe aumentare Per far funzionare la pipeline bisogna risolvere: criticità strutturali (più facile nelle macchine RISC) criticità sui dati criticità sul controllo combinazione di tecniche hardware e software Calcolatori Elettronici - Pipeline (3) - Slide 3 L. Tarantino - a.a. 2004/2005

Migliorare ancora le prestazioni Tre approcci Superpipeline Pipeline superscalare spesso combinate Schedulazione dinamica della pipeline Calcolatori Elettronici - Pipeline (3) - Slide 4 L. Tarantino - a.a. 2004/2005

Superpipeline Dividere i segmenti in segmenti più piccoli per iniziare l esecuzione della prossima istruzione deve finire il primo sottosegmento (più corto del segmento intero) Calcolatori Elettronici - Pipeline (3) - Slide 5 L. Tarantino - a.a. 2004/2005

Pipeline superscalare (1) replicare i componenti interni della CPU per lanciare l esecuzione di più istruzioni alla volta Caso limite se avessimo due unità di calcolo potremmo eseguire due istruzioni completamente in parallelo se ognuna di queste lavora in pipeline ad ogni ciclo di clock escono due istruzioni escono due istruzioni istr1 IF ID EX MEM WB istr2 IF ID EX MEM WB istr3 IF ID EX MEM WB istr4 IF ID EX MEM WB istr5 IF ID EX MEM WB istr6 IF ID EX MEM WB Calcolatori Elettronici - Pipeline (3) - Slide 6 L. Tarantino - a.a. 2004/2005

Pipeline superscalare (2) si replicano solo parti dell unità di calcolo e si fissano particolari combinazioni di istruzioni che possono essere eseguite in parallelo Esempio la prima istruzione è aritmetica o salto la seconda è trasferimento dati Realizzazione (vedi Fig. 4.69 del libro di testo) vengono prelevati 64 bit dalla cache istruzioni (due istruzioni alla volta) si duplica l estensore nel segmento ID uno serve se la prima è un salto uno serve per la seconda si duplica la ALU nel segmento EX (seconda ed. : Fig. 6.45, pag. 347) si deve poter eseguire contemporaneamente l operazione aritmetica e il calcolo dell indirizzo ovviamente le due istruzioni devono essere indipendenti Calcolatori Elettronici - Pipeline (3) - Slide 7 L. Tarantino - a.a. 2004/2005

64 bit Calcolatori Elettronici - Pipeline (3) - Slide 8 L. Tarantino - a.a. 2004/2005

Calcolatori Elettronici - Pipeline (3) - Slide 9 L. Tarantino - a.a. 2004/2005

Loop unrolling ( srotolamento del ciclo ) Calcolatori Elettronici - Pipeline (3) - Slide 10 L. Tarantino - a.a. 2004/2005

Schedulazione dinamica della pipeline (1) evitare stalli cercando di eseguire istruzioni successive in attesa che lo stallo sia risolto Esempio lw $t0,10($s0) addi $t1,$t0,4 add $s1,$s2,$t3 add $t4,$t5,$a2 sono indipendenti dalle precedenti e possono essere eseguite mentre si aspetta che si risolva lo stallo Osservazione la lw accede in memoria e potrebbe anche esserci fallimento in cache con questa tecnica potrei eseguire altre istruzioni anche mentre si completa il caricamento del blocco mancante serve hw aggiuntivo per consentire questo grado di parallelismo Calcolatori Elettronici - Pipeline (3) - Slide 11 L. Tarantino - a.a. 2004/2005

Schedulazione dinamica della pipeline (2) Unità Idea di di esecuzione base vedi Fig. 6.61 del libro di testo la pipeline è suddivisa in tre porzioni: invia l istruzione alla corretta unità funzionale contiene (ed. nuova: Fig. 6.49, pag. 352) diverse unità funzionali in grado di effettuare la fase di esecuzione invia l istruzione di istruzioni alla diverse corretta unità funzionale unità di prelievo e decodifica unità di esecuzione da 5 a 10 contiene diverse unità funzionali in grado di effettuare la fase di esecuzione di istruzioni diverse unità di consegna scrive i risultati (nel banco o in memoria) scrive i risultati (nel banco o in memoria) Calcolatori Elettronici - Pipeline (3) - Slide 12 L. Tarantino - a.a. 2004/2005

Schedulazione dinamica della pipeline (2) L unità di esecuzione da 5 a 10 unità funzionali ogni unità possiede una stazione di prenotazione la stazione conserva operandi ed operazione appena la stazione contiene tutti gli operandi richiesti e l unità funzionale è pronta viene calcolato il risultato L unità di consegna vedi Fig. 4.72 del libro di testo decide dove scrivere il risultato completamento in ordine: scrivere i risulati seguendo l ordine di esecuzione delle istruzioni previsto dal programma Calcolatori Elettronici - Pipeline (3) - Slide 14 L. Tarantino - a.a. 2004/2005

Schedulazione dinamica della pipeline (3) Solitamente la schedulazione dinamica è combinata con l esecuzione superscalare ciascuna unità può consegnare da quattro a sei istruzioni per ciclo di clock E opportuno che la cache sia non bloccante in caso di fallimento deve consentire altri accessi prima che sia caricato il blocco che ha dato fallimento altrimenti si bloccherebbe l esecuzione di istruzioni successive e non si sfrutterebbero tutte le unità funzionali Calcolatori Elettronici - Pipeline (3) - Slide 16 L. Tarantino - a.a. 2004/2005

L Intel 80x86 Architettura IA-32 (1) 1978 8086 architettura a 16 bit, registri a scopo specifico 1980 8087 60 nuove istruzioni in virgola mobile 1982 80286 indirizzamento a 24 bit, alcune nuove istruzioni per rendere più regolare il set istruzioni 1985 80386 architettura a 32 bit, nuove modalità di indirizzamento in memoria, nuove operazioni, supporto per la paginazione 1989-1995 80486, Pentium, Pentium Pro, Pentium II prestazioni più elevate, 4 nuove istruzioni 1997 estensione MMX 57 nuove istruzioni e trattamento virgola mobile per velocizzare applicazioni legate alla multimedialità ed alle comunicazioni 1999 Pentium III 70 nuove istruzioni (SSE) per trattamento multimedialità Calcolatori Elettronici - Pipeline (3) - Slide 22 L. Tarantino - a.a. 2004/2005

L Intel 80x86 Architettura IA-32(2) 2001 estensione SSE2 144 nuove istruzioni che estendono MMX e SSE 2003 l AMD (e NON Intel!) migliora l architettura spazio di indirizzamento e registri a 64 bit 2004 Intel si arrende a AMD adotta l architettura AMD denominandola EM64T (Extended Memory 64 Technology) 2006 estensione SSE4 54 nuove istruzioni da Intel 2007 estensione SSE5 170 nuove istruzioni da parte di AMD, comprendente 46 istruzioni con tre operandi a completare l insieme di base (come nel MIPS) 2007 estensione Advanced Vector Extension Intel ridefinenisce 250 istruzioni e ne aggiunge 128 nuove E la storia continua. Calcolatori Elettronici - Pipeline (3) - Slide 23 L. Tarantino - a.a. 2004/2005

Cosa dicono di lui..... architettura difficile da spiegare ed impossibile da apprezzare.... la mancanza di eleganza dell 80x86 ha già origine dal set di istruzioni dell 8086 ed è esacerbata dalle espansioni architetturalmente incoerenti dell 8087, 80286, 80386 e MMX.. Calcolatori Elettronici - Pipeline (3) - Slide 24 L. Tarantino - a.a. 2004/2005

Caratteristiche generali (1) 8 registri a scopo generale da 32 bit pagine da 4 KB memoria non allineata istruzioni aritmetiche a 2 operandi Esempio add $s1,$s0 # s0 = s0 + s1 Svantaggio : un operando va sempre distrutto Vantaggio (?) : istruzioni più corte vedi Fig. 2.36 del libro di testo (seconda edizione : Fig. 2.40 a pag. 109) Calcolatori Elettronici - Pipeline (3) - Slide 25 L. Tarantino - a.a. 2004/2005

Calcolatori Elettronici - Pipeline (3) - Slide 26 L. Tarantino - a.a. 2004/2005

Caratteristiche generali (2) Architettura registro-memoria (contrapposta a load/store) un operando può risiedere in memoria Esempio add 12(%gp),%s0 # s0=s0+mem[12+gp] Svantaggio: tempi di esecuzione delle istruzioni aritmetiche: - più lunghi Vantaggio: - legati alla natura degli operandi (2 registri oppure un registro + una locazione di memoria) non devo caricare il dato con la lw Istruzioni a lunghezza variabile da 1 byte a 17 byte (vedi Fig. 2.41 del libro di testo seconda ed.: Fig. 2.45, pag. 113) Varietà di metodi di indirizzamento alla memoria (non solo base + spiazzamento) Calcolatori Elettronici - Pipeline (3) - Slide 27 L. Tarantino - a.a. 2004/2005

Calcolatori Elettronici - Pipeline (3) - Slide 28 L. Tarantino - a.a. 2004/2005

La pipeline dell AMD Opteron X4 CPU basata su schedulazione dinamica della pipeline (vedi Fig. 4.74 del libro di testo) le istruzioni non entrano direttamente nella pipeline vengono prima tradotte in sequenze di micro-operazioni di lunghezza simili a istruzioni MIPS il processo di traduzione richiede 2 cicli di clock per il fetch (inclusa determinazione della lunghezza dell istruzione 3 cicli per creare le micro-operazioni Calcolatori Elettronici - Pipeline (3) - Slide 31 L. Tarantino - a.a. 2004/2005

Calcolatori Elettronici - Pipeline (3) - Slide 32 L. Tarantino - a.a. 2004/2005

THE END Calcolatori Elettronici - Pipeline (3) - Slide 33 L. Tarantino - a.a. 2004/2005