Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Gestione Input Output A. Ferrari.
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –
Elaboratore e Sistemi Operativo
Generalità Linguaggio e Macchina Astratta
Architettura di un sistema informatico Hardware
CdL Ingegneria Informatica n.o. Anno Accademico 2007/08 Fondamenti di Informatica I – corso A Giacomo Piscitellipag. 1/30 Architettura dei calcolatori.
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
MICROCONTROLLORI Di Tiziano Ragazzi.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
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
Caratteristiche principali dell’architettura del processore MIPS
Criticità sul controllo
Criticità sul controllo
Il Linguaggio Macchina
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
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.
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Le memorie del calcolatore
Appunti di Informatica
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Calcolatori Elettronici Introduzione al Pipelining Francesco Lo Presti Rielaborate da Salvatore Tucci.
ARCHITETTURA DI UN ELABORATORE
Unità centrale di processo
Sistemi ad elevate prestazioni Lezione 1
Architettura di una CPU
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Migliorare le prestazioni delle cache
Bus Interface Unit L1 I-CacheL1 D-Cache Fetch/Decode unit Dispatch/Execute unit Retire unit Instruction Pool System Bus L2 Cache 256 KB integrata 4 cicli.
Architettura del calcolatore
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
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Gestione dei dispositivi di I/O:
Sistemi Elettronici Programmabili
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
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.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Fabio Casale, Matteo Sosso
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Dalla macchina di Von Neumann …
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
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
Introduzione ai Microcontrollori Una prima definizione I microcontrollori sono utilizzati per gestire segnali in ingresso (input utente o da sensori),
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Transcript della presentazione:

Xscale Nicola Rebagliati 2001s135

Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici. Xscale implementa il set di istruzioni dell ARM5, ad eccezione delle floating point instruction.

Obiettivi del progetto Xscale Basso costo Basso consumo Ridotto time to market Flessibilità Elevata integrazione Elevata potenza di calcolo

Il PXA255 Il PXA255 è un processore che sfrutta la microarchitettura Xscale Palmari strongARM Il palmare Tungsten offre: Browser Word Excel Powerpoint Display a colori

Le features architetturali di xscale

3 Pipeline Sono presenti 3 pipeline: Main execution pipeline Memory pipeline MAC pipeline Luso ottimale di una pipeline è consentito dal branch buffer che effettua una previsione dinamica basata sulla storia passata di un salto.

Main execution pipeline Fetch istruzione (stadio 1) Fetch istruzione (stadio 2) Decodifica istruzione Lettura degli operandi Esecuzione (ALU) Esecuzione (modifica dello stato) Scrittura del risultato

Memory pipeline Fetch istruzione (stadio 1) Fetch istruzione (stadio 2) Decodifica istruzione Lettura degli operandi Esecuzione (ALU) Accesso alla cache di dati (1 stadio) Accesso alla cache di dati (2 stadio) Scrittura del risultato

MAC pipeline Fetch istruzione (stadio 1) Fetch istruzione (stadio 2) Decodifica istruzione Lettura degli operandi Moltiplicazione (stadio 1) Moltiplicazione (stadio 2) Moltiplicazioni successive Scrittura del risultato

Branch target buffer Consiste di una tabella con 128 entry. Ogni entry consiste di: Lindirizzo di una branch instruction (istruzione ramo). Lindirizzo di una possibile istruzione successiva. Una voce che indica quanto è consigliata la possibile istruzione successiva. le 4 voci possibili del terzo campo sono: strongly taken, weakly taken, weakly not-taken e strongly not-taken. Ogni volta che una strada viene scelta la terza voce della entry fa un passo verso il strongly taken. Ogni volta che una strada viene evitata la terza voce della entry fa un passo verso il strongly not-taken.

Branch target buffer Quindi arrivati ad una branch instruction la si cerca in questo buffer e si guarda il terzo campo: nel caso in cui indichi strongly taken o weakly taken viene fetchata la possibile istruzione successiva, altrimenti se dice weakly not-taken e strongly not-taken viene fetchata istruzione seguente del Branch.

Debug unit Consente ad unapplicazione apposita di debuggare un programma che gira sul processore, fermandolo in un certo momento e osservando i valori dei vari registri in quel momento e poi farlo ripartire. Usa : hardware breakpoint.

32 KB instruction cache Mantiene una copia locale delle istruzioni piu importanti per consentire buone performances e bassi consumi.

32KB local cache Mantiene una copia locale dei dati piu importanti per consentire buone prestazioni e bassi consumi.

Operazioni di I/O LI/O è di tipo memory mapped. I registri delle periferiche si trovano ad opportuni indirizzi di memoria. 2 tipi di interruzioni: normale e fast.

Risparmio energetico Run mode: modo operativo normale. Idle mode: clock fermo,stato preservato; risveglio tramite interruzione. Sleep mode:stato non completamente preservato; alimentati solo i piedini di input output. Turbo mode:commutazione rapida fra 2 sequenze di clock preprogrammate.

Ottimizzare le librerie C Molte routines della libreria standard C possono trarre beneficio da questa architettura, se modificate: Ad esempio strcat,strlen,memcmp etc.

Come si ottimizza in C Il manuale consiglia di creare cicli for dove la condizione di uscita preveda che un numero sia comparato con lo 0: Non così For (i=0;i<10;i++) Ma così For (i=9;i>=0;i--) Uso della funzione prefetch(dato) che mette già da parte il dato in questione.

Il prefetch Esempio: modifichiamo il codice: Preorder(treeNode *t){ If (t){ process(t->data); preorder(t->left); preorder(t->right);} }

Il prefetch Potremmo far risparmiare tempo e scrivere: Preorder(treeNode *t){ If (t){ prefetch(t->right); prefetch(t->left); process(t->data); preorder(t->left); preorder(t->right);} }

La lunghezza del codice Nel caso di sw per cellulari è importante che il codice non sia lungo, questo ovviamente abbasserà le prestazioni dellapplicazione.

Ottimizzazione per compilatori Uso delle lunghe istruzioni LDM/STM che salvano o caricano in più registri alla volta. Moltiplicazioni e divisioni sono ottimizzate se ricondotte a operazioni di shift dei bit.

Xscale fine Nicola Rebagliati 2001s135