Anteprima
Vedrai una selezione di 17 pagine su 77
Architetture degli elaboratori Pag. 1 Architetture degli elaboratori Pag. 2
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 6
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 11
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 16
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 21
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 26
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 31
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 36
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 41
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 46
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 51
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 56
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 61
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 66
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 71
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Architetture degli elaboratori Pag. 76
1 su 77
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ORGANIZZAZIONE POSSIBILE DI UN CHIP DI RAM DA 4 BIT:

La Memoria Cache: Come già detto la memoria principale costituita da RAM dinamica è molto più lenta della CPU e quindi questo crea un rallentamento rispetto alle prestazioni teoriche della CPU. Anche con memorie DDR il problema rimane la Latenza iniziale, cioè il tempo di attesa per il trasferimento della prima parola). Una delle soluzioni può essere utilizzare SRAM invece di DRAM poiché sono molto più veloci ma anche più costose. E proprio per quest'ultimo problema non è realizzabile l'intera memoria in SRAM, quindi viene introdotta la Cache, ovvero una memoria più veloce ma di dimensione limitata da interporre tra CPU e RAM.

La CPU reperisce sempre i dati dalla memoria Cache e se la parola cercata è effettivamente in Cache (cache hit) otteniamo un grande vantaggio di tempo, altrimenti se non è presente (cache miss) è necessario...

DRAM alla cache e poi leggerla e in questo caso il tempo si maggiora che leggerla direttamente dalla DRAM. Quindi l'utilizzo di questa è vantaggioso solo quando la percentuale di hit è sufficientemente alta.

Fasi del Caricamento di un Dato:

  1. Richiedere il dato alla Cache.
  2. Se il dato è presente caricarlo subito.
  3. Altrimenti:
    1. Leggi il dato dalla memoria.
    2. Carica il nuovo dato in cache, se la cache è piena applica la Politica del Rimpiazzamento per poter caricare il nuovo dato al posto degli esistenti.

Lo spostamento di dati tra cache e memoria centrale avviene per blocchi chiamati Linee di Cache, che varia da 8 a 512 parole.

Le tecniche di gestione della cache, ovvero le politiche di allocazione e rimpiazzamento di porzioni di essa sono basate sul principio di Località Spaziale e Temporale:

Località Spaziale: Significa che vi è alta probabilità di accedere, entro uno breve intervallo di tempo, a celle di memoria

con indirizzo vicino. Le politiche di allocazione tengono conto di questo leggendo spesso più dati di quelli richiesti con la speranza che vengano richiesti in seguito. Località Temporale: Significa che vi è alta probabilità di accedere nuovamente, entro un breve intervallo di tempo, ad una cella di memoria alla quale si è appena avuto accesso. Le politiche di rimpiazzamento sfruttano questo per decidere quali blocchi rimpiazzare, solitamente la politica utilizzata è LRU cioè viene rimpiazzato il blocco utilizzato meno recentemente. Nei calcolatori moderni vengono spesso utilizzati: Diversi Livelli di Cache: (L1, L2, …) Sono impiegati in cascata per ottimizzare il trade off costi/prestazioni, solitamente 2. L1 è più veloce di L2 e questa è più veloce di L3 e così via. Solitamente la cache di livello i+1-esimo mantiene l'intero contenuto di quella precedente. Cache Diverse: Utilizzate per istruzioni.

La CPU contiene al suo interno una piccola cache L1-I per le istruzioni (16KB) e un'altra cache L1-D per i dati (64KB).

La cache di livello 2 (512KB-1MB) è esterna a CPU ma assemblata nel package di essa.

Una cache di livello 3 (diversi MB) è presente sulla motherboard.

Il montaggio di cache direttamente in CPU nel package consente di realizzare Bus interni molto più veloci riservati esclusivamente alla comunicazione CPU-Cache.

I Chip della CPU:

  • La CPU legge istruzioni ISA del programma da eseguire dalla memoria (Fetch). Le istruzioni sono internamente decodificate e passate all'unità di controllo che può essere:
  • Microprogrammata: Dove ad ogni istruzione Isa corrisponde uno microprogramma che indica la sequenza di microistruzioni da eseguire.
  • Cablata: L'esecuzione avviene attraverso un circuito digitale sequenziale o che implementa cuna macchina a strati.

La CPU contiene una ALU e alcuni registri.

che le permettono di eseguire diversi compiti elementari. Quasi tutte le CPU moderne sono realizzate all'interno di un unico chip VLSI, dotato di piedini (PIN) per il collegamento e interazione della CPU con il mondo esterno. I PIN di un chip CPU sono essenzialmente di 3 tipi: - PIN Indirizzo: Servono a specificare l'indirizzo di memoria o di I/O che la CPU deve leggere o scrivere, dimensioni comuni per Bus indirizzi: 16, 20, 32, 64. - PIN Dati: Servono a leggere o scrivere parole dalla o sulla memoria o sui dispositivi I/O, dimensioni comuni per Bus dati: 8, 16, 32, 64. Più il bus dati è ampio più la CPU sarà in grado di operare velocemente. - PIN di Controllo: Hanno diversi compiti come il controllo/arbitraggio del BUS, interrupt, segnali del coprocessore, stato, varie. BUS dei Calcolatori: Un BUS è un collegamento elettrico comune tra più dispositivi. Possono essere interni e trasportare dati dai registri alla ALU o esterni e collegare la CPU.alla memoria o dispositivi I/O. In figura vediamo l'architettura di un calcolatore con BUS interni alla CPU, un BUS per il collegamento dalla CPU alla memoria e un BUS per il dialogo con periferiche. Un BUS Periferiche è necessario per interconnettere tra loro i 2 diversi bus esterni. Per quanto riguarda i BUS esterni i progettisti devono attenersi ad uno scheda di funzionamento ben preciso denominato Protocollo del BUS, inoltre devo essere perfettamente specificate le caratteristiche meccaniche ed elettriche per l'interfacciamento. Tra i BUS più noti e diffusi abbiamo: PCI-Express (PC), BUS PCI (Bus espansione PC), Bus SCSI (per collegamento a periferiche), Universal Serial Bus USB (periferiche), FireWire (elettronica consumer). I dispositivi che possono iniziare un trasferimento si dicono Attivi o Master (padroni), mentre quelli che accettano solo richieste sono detti Passivi o Slave (schiavi). Alcuni esempi di operazioni tra Master e Slave: La Larghezza è uno deiparametri fondamentali per la progettazione di BUS. Maper avere BUS molto ampi per incrementare lo spazio di indirizzamento eprestazioni, questi richiedono molti collegamenti, spazio sulla scheda madre econnettori molto più grandi. I BUS posso essere di 2 tipi: - BUS Sincrono: Ha 1 delle linee che è pilotata da un segnale i Clock cheo stabilisce la cadenza di tutte le operazioni. - BUS Asincrono: Non dotato di un Clock principale quindi le parti cheo comunicano tramite di esso a doversi sincronizzare. ESEMPIO BUS SINCRONO: Tutti gli eventi sono sincronizzati con fronti di salita o discesa del Clock. Tutti tempi in tabella sono dei vincoli di tempo che vanno rigidamente rispettatiper un corretto dialogo tra le parti, inoltre i BUS operano a frequenze ridotterispetto a quelle della CPU. Il limite principale dei BUS sincroni è dovuto al fatto che tutto deve avvenire intempi multipli al tempo di ciclo. Se un BUS sincrono deve poter operare condispositivi veloci e lenti, esso

dovrà adattarsi a quelli lenti quindi quelli veloci non saranno sfruttati a pieno.

BUS ASINCRONO:

La sequenza di eventi interlacciati che caratterizza le transazioni sul BUS asincrono prende il nome di Handshake (stretta di mano).

ARBITRAGGIO DEL BUS:

Cosa succede se più dispositivi vogliono prendere contemporaneamente il controllo cioè diventare Master del BUS?

Ovviamente questa è una situazione elettricamente impossibile quindi la soluzione è quella di sequenzializzare le richieste cioè uno dei due dovrà aspettare. Per Arbitraggio del BUS si intende la politica di gestione del BUS che anche a seguito di più richieste assegna il BUS a un dispositivo per volta.

L'arbitraggio può essere:

Centralizzato: Detto anche Daisy Chaining

Si ha una Linea di Grant (concessione), in output dal chip arbitro, che è collegata in serie a tutti i dispositivi che possono richiedere di essere Master.

Si ha una Linea di Richiesta, comune a tutti

I dispositivi, che è collegata in input al chip arbitro. Quando un dispositivo necessita di diventare Master, manda un segnale sulla linea di richiesta e l'arbitro quindi attiva la linea di Grant anche senza sapere da chi è arrivata la richiesta.

Il dispositivo più vicino all'arbitro controlla per sapere se è stato lui il richiedente e se è così non propaga al successivo dispositivo il segnale di Grant, se non è stato lui il segnale si propaga al secondo dispositivo e così via.

Quindi la priorità dei dispositivi è data dalla distanza dall'arbitro e solitamente le periferiche hanno priorità maggiore della CPU.

Nella figura sotto la precedente si ha il Daisy Chaining implementato a più livelli aggiungendo coppie di linee Richiesta/Grant.

Decentralizzato (Distribuito): Un esempio di questo è quello in cui vengono usate 16 Linee di Richiesta del BUS. Dove ogni dispositivo è

collegato a tutte le 16 linee ed è sempre in grado di valutare autonomamente se è lui il richiedente con la priorità più elevata e quindi non vi è necessità dell'Arbitro. Si ha una Linea di Grant (Concessione), invece che all'arbitro è collegata allo stato logico 1. Quando un dispositivo necessita del BUS, controlla se il BUS è in quel momento occupato (Linea BUSY) e se il proprio input di Grant (IN) è attivo. Quando il dispositivo prende il controllo del BUS, nega il proprio Output di Grant (OUT) e attiva la linea BUSY.

I PRIMI BUS PER PC:

PC Bus IBM: Si tratta del primo BUS introdotto da IBM, questo aveva 8 linee Dati, 20 linee Indirizzo, 2 linee per scrittura/lettura in memoria, 2 per scrittura/lettura di I/O, ecc per un totale di 63 linee.

Bus PC/AT: Variante per veicolare 16 linee di Dati e indirizzare i 16MB disponibili.

Bus ISA: Un nuovo BUS (Microchannel) per evitare il fenomeno dei PC cloni di IBM.

PCI: Il Bus ISA

ava una larghezza di banda non sufficiente per molte periferiche e applicazioni, infatti funziona ad una velocità di 8,33 MHz ed è in grado di trasferire 2 MB per ciclo perciò con una banda massima di 16,7 MB/s. Il bus PCI (Peripheral Component Interconnect bus) fu introdotto da Intel per far fronte a questo problema. Quello originale è un bus Sincrono con 32 linee di Dati e opera a 33 MHz consentendo una larghezza di banda di 133 MB/s. Le versioni successive hanno ampliato ulteriormente la loro banda portando a 64 le linee di Dati e a 66 MHz la frequenza. Il protocollo del bus prevede Transazioni di cui alcune ottimizzate per limitare il numero di cicli per trasferimenti di grossi blocchi dati. L'arbitraggio è di tipo Centralizzato: L'arbitro, implement
Dettagli
Publisher
A.A. 2019-2020
77 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Vorgio di informazioni apprese con la frequenza delle lezioni di Architetture degli elaboratori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Maltoni Davide.