Anteprima
Vedrai una selezione di 7 pagine su 27
Tesina di Architettura dei Calcolatori Elettronici Pag. 1 Tesina di Architettura dei Calcolatori Elettronici Pag. 2
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Tesina di Architettura dei Calcolatori Elettronici Pag. 6
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Tesina di Architettura dei Calcolatori Elettronici Pag. 11
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Tesina di Architettura dei Calcolatori Elettronici Pag. 16
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Tesina di Architettura dei Calcolatori Elettronici Pag. 21
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Tesina di Architettura dei Calcolatori Elettronici Pag. 26
1 su 27
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

CPU

L’unità di elaborazione centrale, (In inglese Central Processing Unit, da qui la sigla)

o più comunemente detto processore, è il “cervello” della macchina. Il suo compito

è quello di coordinare altri elementi hardware di elaborazione dati e,

contemporaneamente, eseguire le istruzioni presenti nella memoria centrale

restituendo il risultato.

La CPU è suddivisa in un’unità aritmetico logica (ALU), un’unità di controllo (CU), e

dei registri, spazi di memoria limitati con accesso rapido. La CU analizza le istruzioni

in memoria e genera gli eventi di sistema necessari per realizzarle. L’ALU poi

compie le richieste aritmetiche e logiche prodotte dall’unità di controllo.

I registri invece svolgono ben quattro operazioni essenziali:

- (A) Accumulazione: per memorizzare i dati di un’elaborazione;

- (R) Riferimento alla RAM: per accedere a locazioni di memoria di interesse;

- (PC) Riferimento alle istruzioni: per contenere gli indirizzi delle istruzioni;

- (IR) Caricamento delle istruzioni: atti a contenere le istruzioni vere e

proprie.

RAM

La RAM (Random Access Memory) è una memoria volatile ad accesso casuale, ossia

un tipo di memoria che è molto veloce rispetto a memorie di archiviazione come

Hard Disk o memorie USB, ma che

ha lo svantaggio di perdere tutte le

informazioni quando non viene più

alimentata.

Nome cognome, Architettura dei Calcolatori Elettronici, Anno Accademico 2017 / 2018

12 Il suo compito è quello di ampliare

la capacità di memorizzazione

volatile del processore (anche se

con una velocità minore rispetto ai

registri). Per poter accedere a

specifici indirizzi che contengono le

informazioni richieste dal

processore, entra in gioco il Memory

(MAR),

Address Register che attiva

la locazione richiesta. Infine le

informazioni vengono trasferite

attraverso un buffer di memoria

(MBR).

BUS (Binary Unit System)

Il BUS, o Binary Unit Sistem, è un canale di comunicazione (di solito è un circuito

stampato, ma può essere anche un normalissimo cavo) che permette la

comunicazioni tra i componenti hardware e le varie periferiche I/O. Si distinguono

tre tipologie di BUS:

- BUS processore-memoria

Sono progettati in maniera tale da massimizzare la velocità di

trasferimento dati. Hanno una lunghezza molto ridotta. In particolare le

linee di indirizzo riportano un feedback sul tipo di informazione che viaggia

sulle linee dati, le quali trasmettono le informazioni, mentre attraverso le

linee di indirizzo la CPU indirizza le sue richieste verso la RAM oppure

delle periferiche. Si divide ancora in:

BUS collettore: collega i registri di CPU alle linee di ingresso dell’ ALU;

 BUS indirizzi: Indirizza le unità periferiche e le locazioni di memoria;

 BUS di controllo: Seleziona le operazioni;

 BUS distributore: Instrada i dati dell’elaborazione;

 BUS dati: Trasferisce le operazioni tra la CPU e la RAM.

- I/O BUS

Caratterizzati da una lunghezza maggiore e anche da una velocità ridotta,

si connettono al BUS processore – memoria o al backplane BUS

- Backplane BUS

Sono BUS generici di sistema, usati spesso per connettere varie

periferiche, memorie, processori, e in generale tutte le componenti interne

dell’elaboratore che non siano già interfacciate da altre tipologie di BUS.

I BUS possono essere distinti poi tra BUS Sincroni e BUS asincroni:

Nome cognome, Architettura dei Calcolatori Elettronici, Anno Accademico 2017 / 2018

13

Prestazioni

migliori prestazioni significano un maggior numero di compiti svolti nell’unità di

tempo. Se il calcolatore esegue più programmi contemporaneamente, possiamo

sapere il tempo necessario al singolo processo tramite il tempo di CPU (cicli di clock

* tempo di clock). Poniamo il caso che un calcolatore qualunque abbia una CPU con

una frequenza di clock pari a 200 MHz, capace di eseguire una certa operazione in

un tempo pari a 8 secondi. Il numero di cicli di clock necessari per portare a termine

6

l’operazione è di cicli. Per poter velocizzare il processo, è possibile

8∗200∗10

aumentare la frequenza di clock del processore. Questa tecnica viene chiamata

overclock.

Per valutare le prestazioni di un’architettura si prendono in considerazione quattro

parametri:

Tempo di attività

1. della CPU per eseguire varie istruzioni di un programma;

Throughput di sistema,

2. quantità di dati trasmessi in una unità di tempo

stabilita;

Tempo di risposta,

3. Il tempo che il sistema impiega dalla richiesta di

un’esecuzione a dare una prima risposta;

Turnaround,

4. tempo che intercorre tra l’inizio di un processo ed il suo termine.

Fetch e Execute

L’elaborazione di dati può essere sintetizzata come un ciclo di istruzioni presenti

nella memoria principale che vengono prelevate dalla CPU, che provvederà ad

eseguirle riportando il risultato finale dell’elaborazione in memoria principale.

Queste due fasi prendono il nome di FETCH e EXECUTE.

Per prima cosa, il sistema operativo avvia l’eseguibile, il quale inserisce all’interno

del Program Counter l’indirizzo della prima cella di memoria che contiene le

istruzioni necessarie a continuare il ciclo. Successivamente la CPU carica le

istruzioni dalla memoria principale nella MBR nel registro istruzione del processore,

da dove poi esse potranno essere eseguite.

FETCH

CPU RAM

Nome cognome, Architettura dei Calcolatori Elettronici, Anno Accademico 2017 / 2018

14 EXECUTE

ARCHITETTURE MIPS

Un’architettura MIPS è un particolare tipo di architettura sviluppata e diffusa dalla

embedded

MIPS Technologies Inc. che trova posto nei sistemi di tipo (sistemi non

riprogrammabili per scopi diversi da quelli originali). Essa utilizza un particolare

metodo per incrementare le prestazioni del sistema detto Pipelining MIPS, una

tecnica capace di incrementare il throughput di sistema parallelizzando alcune

operazioni. In aggiunta, Gli 8 registri della CPU dell’architettura di Von Neumann

diventano 32 (ciascuno dei quali ha una capacità di 4 byte), mentre lo spazio di

30

memoria RAM allocabile aumenta a locazioni.

2

Nome cognome, Architettura dei Calcolatori Elettronici, Anno Accademico 2017 / 2018

15

Ha un suo personale set di istruzioni che si dividono per il tipo di formato:

Formato R, sono istruzioni aritmetico logiche che contengono solo riferimenti

 immediati agli operandi o ai registri di CPU, quindi la loro esecuzione non

comporta accessi alla RAM;

Formato I, (salto condizionato) operazioni che permettono l’accesso alla RAM;

 Formato J, (salto incondizionato) sono operazioni di riscrittura del Program

 Counter.

Per ogni istruzione poi, vi sono ben 5 fasi:

1) Ciclo fetch (prelievo dell’istruzione dalla memoria principale);

2) Decodifica dell’istruzione, lettura dai registri sorgente e calcolo dell’indirizzo

di salto;

3) Calcolo del risultato;

4) Scrittura del risultato nel registro di destinazione;

5) Scrittura del risultato in memoria.

Per quanto riguarda l’accesso e la scrittura nella RAM, non possono essere trascritti

singoli bit di memoria, ma è consentito il solo caricamento di una stringa che sia

formata complessivamente di 32 bit.

Pipelining MIPS

Il funzionamento di un’architettura MIPS con pipelining può essere paragonata a

quella di una catena di montaggio: la CPU ad ogni stadio provvede a svolgere in

maniera sequenziale un solo compito specifico per l'elaborazione di una certa

istruzione, in questo modo ad ogni ciclo di clock dall'ultimo stadio verrà completata

un'istruzione. Nello stesso istante ogni unità sta già elaborando in parallelo i diversi

stadi di successive altre istruzioni. In sostanza, quindi, si guadagna una maggior

velocità di esecuzione a prezzo di una maggior complessità circuitale del

processore, che non deve essere più composto da una sola unità, ma da cinque

unità che devono collaborare tra loro.

Il pipeline non è però esente da alcune problematiche. Ci si può imbattere in due

problemi principalmente:

Il primo problema deriva dal lavoro parallelo delle unità.

Supponiamo che la CPU debba eseguire il seguente frammento di codice:

1. C = A + B

2. D = C - 1

La prima istruzione deve prelevare i numeri contenuti nelle variabili A e B, sommarli

e porli nella variabile C. La seconda istruzione deve prelevare il valore contenuto

nella variabile C, sottrarlo di uno e salvare il risultato in D. Ma la seconda istruzione

non potrà essere elaborata fino a quando il dato della prima operazione non sarà

disponibile in memoria e quindi la seconda operazione dovrà bloccarsi per attendere

il completamento della prima. Questo problema può essere attenuato facendo in

modo che i dati elaborati dalla prima istruzione siano resi disponibili alla seconda

istruzione prima del solo salvataggio definitivo in memoria. Questo si ottiene

inserendo dei registri temporanei nell'unità di esecuzione dove salvare dati che

serviranno all'istruzione successiva. Un problema simile è quando due istruzioni

Nome cognome, Architettura dei Calcolatori Elettronici, Anno Accademico 2017 / 2018

16

utilizzano gli stessi registri per operare. In questo caso si utilizza la rinominazione

dei registri, una tecnica che elimina la maggior parte degli stalli.

Il secondo problema consiste nei salti condizionati.

I programmi contengono delle istruzioni condizionate che, nel caso in cui una

specifica condizione logica è verificata, provvedono a interrompere il flusso

sequenziale del programma e a mandare in esecuzione un altro pezzo di

programma indicato dall'istruzione di salto. Ogni volta che questo accade, la CPU si

trova a dover eseguire un nuovo flusso di operazioni, costringendola a riscrivere il

contenuto del Program Counter. Ovviamente queste operazioni fanno sprecare cicli

di clock. Per ridurre questo problema le CPU adottano un’apposita unità hardware:

l’unità di predizione delle diramazioni (in inglese Branch Prediction Unit) che crea

delle previsioni sul flusso del programma andando a ridurre notevolmente i cicli

persi per i salti. CIRCUITI

Nome cognome, Architettura dei Calcolatori Elettronici, Anno Accademico 2017 / 2018

17

Per vedere il calcolatore in modo diverso, questo si può definire come un insieme di

porte logiche connesse tra loro. Tutte le porte logiche hanno un solo elemento in

output che, nel caso in cui venga collegata in serie o in parallelo ad un’altra porta,

fungerà da input a quest’ultima e

Dettagli
Publisher
A.A. 2017-2018
27 pagine
2 download
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Aleandrew99 di informazioni apprese con la frequenza delle lezioni di Architettura dei calcolatori elettronici 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 della Basilicata o del prof Carpentieri Marco.