• Non ci sono risultati.

La CPU inserita nella architettura dell’elaboratore

N/A
N/A
Protected

Academic year: 2022

Condividi "La CPU inserita nella architettura dell’elaboratore "

Copied!
6
0
0

Testo completo

(1)

Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Informatica – a.a. 2012/13

Informatica Facoltà di Medicina Veterinaria

a.a. 2012/13

prof. Stefano Cagnoni

Architettura del calcolatore (parte II)

Informatica 2012/2013

La CPU inserita nella architettura dell’elaboratore

- 2 - Memorie di Massa

• Hard Disk

• Floppy

• CD-ROM

• Tape

Dispositivi di I/O

• Tastiera

• Mouse

• Schermo

• Stampante

LAN (Local Area Network)

CPU

Cache L1 Cache L2 RAM BIOS

Controllori B U S

Motherboard

Informatica 2012/2013

Caratteristiche del collegamento a BUS

Semplicità

un’unica linea di connessione  costi ridotti di produzione

Estendibilità

aggiunta di nuovi dispositivi molto semplice

Standardizzazione

stesse regole per la comunicazione fra dispositivi diversi

Lentezza

utilizzo in «mutua esclusione» del bus (un dispositivo alla volta)

Limitatà capacità

al crescere del numero di dispositivi collegati

Sovraccarico del processore (CPU) perchè funge da master sul controllo del bus

- 3 - Informatica 2012/2013

Al centro dell’architettura

- 4 -

Central Processing Unit (CPU) + Memoria

Compito della CPU: Eseguire i comandi contenuti nella memoria Architettura di Von Neumann Architettura Harvard

CPU

Memoria Istruzioni + dati

CPU Memoriadati

Memoria controlli

(2)

Informatica 2012/2013

Architettura di Von Neumann della CPU

- 5 -

ALU: Arithmetic Logic Unit:

- Esegue le operazioni aritmetico-logiche.

ACC: Accumulatore:

- Immagazzina dati in ingresso e uscita all'ALU.

M e m o r i a

CPU

Informatica 2012/2013

Architettura di Von Neumann della CPU

- 6 -

PC: Program Counter - Memorizza l'indirizzo della istruzione da eseguire.

IR: Instruction Register - Memorizza il codice dell'istruzione da eseguire.

DR: Data Register – Memorizza i dati provenienti e diretti alla memoria.

AR: Address Register - Memorizza gli indirizzi da comunicare alla memoria.

Alcuni registri importanti:

M e m o r i a

Informatica 2012/2013

Il ciclo macchina

Un ciclo in cinque passi:

1. Fetch istruzione 2. Decodifica istruzione 3. Fetch Dati

4. Esecuzione Istruzione 5. Restituzione Risultato

- 7 - Informatica 2012/2013

Unità di controllo

Implementa il ciclo macchina direttamente via hardware

I suoi circuiti recuperano un’istruzione dalla memoria ed eseguono le altre operazioni del ciclo

• un’istruzione tipica ha la forma:

ADD 2000, 2080, 4000

• quest’istruzione richiede che i numeri memorizzati nelle locazioni 2000 e 2080 siano sommati e che il risultato sia inserito nella locazione 4000

• il passo di Fetch Dati deve estrarre i due valori; dopo aver effettuato la somma il passo Restituzione Risultato inserirà la somma nella locazione 4000

- 8 -

(3)

Informatica 2012/2013

Unità Aritmetico/Logica (ALU)

Esegue tutti i calcoli

Generalmente è utilizzata nel passo del ciclo macchina denominato Esecuzione Istruzione

Un circuito nell’ALU può sommare due numeri

Altri circuiti sono dedicati a moltiplicazione, confronto, ecc.

Le istruzioni di puro trasferimento dei dati non usano l’ALU

Il passo del ciclo macchina Fetch Dati recupera i valori necessari all’ALU (operandi)

Quando l’ALU ha completato l’operazione, il passo Restituzione Risultato trasferisce il risultato (somma o prodotto o altra operazione) dall’ALU (meglio, da un accumulatore) ad un indirizzo specificato nell’istruzione

- 9 - Informatica 2012/2013

Principio del programma memorizzato

Come fare per recuperare la prossima istruzione?

Il programma deriva da un algoritmo, che elenca le operazioni in sequenza

Di solito (>90% dei casi) l’istruzione da eseguire è la prossima, quindi è sufficiente inserire le istruzioni in memoria in sequenza

Altrimenti: JUMP <indirizzo>

Questa istruzione macchina consente di saltare nell’esecuzione ad un indirizzo arbitrario in memoria

Altre istruzioni consentono di effettuare salti condizionati in base ad un risultato precedente

- 10 -

Informatica 2012/2013

Il Program Counter

Come fa il computer a determinare qual è l’istruzione successiva da eseguire? (più in dettaglio)

L’indirizzo dell’istruzione successiva è memorizzato nell’unità di controllo ed è chiamato Program Counter (PC)

Dato che le istruzioni occupano 4 byte di memoria, l’istruzione successiva dovrebbe essere PC + 4

Il PC è incrementato di 4, così, quando il ciclo macchina ritornerà al passo Fetch Istruzione, il PC starà già

"puntando" all’istruzione successiva

- 11 - Informatica 2012/2013

Istruzioni di salto

L’istruzione può includere l’indirizzo dell’istruzione successiva. Questo modifica il PC che invece di aggiungere 4 automaticamente, "salta" alla locazione specificata

Il PC viene quindi sovrascritto nel passo di Esecuzione Istruzione con il dato specificato come operando

Il successivo Fetch farà riferimento alla istruzione a tale indirizzo

- 12 -

(4)

Informatica 2012/2013

Interpretazione delle istruzioni

E’ il processo di esecuzione di un programma

• il computer interpreta i comandi tradotti nel linguaggio macchina

Stato della CPU prima del fetch di una istruzione di ADD:

- 13 - Informatica 2012/2013

Interpretazione delle istruzioni

L’esecuzione comincia trasferendo dalla memoria all’unità di controllo l’istruzione contenuta all’indirizzo specificato dal PC

- 14 -

Informatica 2012/2013

Interpretazione delle istruzioni

I bit dell’istruzione sono copiati nel circuito decodificatore (IR) dell’unità di controllo

Una volta fatto questo, il PC può essere configurato per il recupero dell’istruzione successiva

- 15 - Informatica 2012/2013

Interpretazione delle istruzioni

Nel passo Decodifica Istruzione, l’ALU è configurata per eseguire l’operazione desiderata

Il decodificatore troverà gli indirizzi dei dati in ingresso (operandi sorgente)

• la maggior parte delle istruzioni contiene gli indirizzi di due operandi sorgente (come ADD)

• questi indirizzi sono passati al circuito che li recupera durante il passo successivo, Fetch Dati

Il decodificatore estrae l’indirizzo di destinazione per il passo Restituzione Risultato e lo inserisce in un apposito registro

Il decodificatore determina quali operazioni l’ALU dovrà eseguire e la configura in modo appropriato

- 16 -

(5)

Informatica 2012/2013

Decodifica istruzione e fetch dati

- 17 - Informatica 2012/2013

Interpretazione delle istruzioni

Esecuzione Istruzione: è il passo in cui sono

effettivamente eseguiti i calcoli. Nel caso dell’istruzione ADD, il circuito effettua la somma dei due operandi sorgente

- 18 -

Informatica 2012/2013

Interpretazione delle istruzioni

Restituzione Risultato: restituisce il risultato

dell’elaborazione nella locazione di memoria specificata dall’indirizzo di destinazione

Una volta concluso questo passo, il ciclo ricomincia

- 19 - Informatica 2012/2013

Set di istruzioni

E’ l’insieme di istruzioni elementari di una CPU

I computer possono eseguire solo circa 100 istruzioni diverse (come ordine di grandezza)

• circa 20 tipi di operazioni distinte (ma servono istruzioni diverse per sommare byte, parole di memoria, numeri decimali ecc.)

• processori RISC (Reduced Instruction Set Computer) e CISC (Complex Instruction Set Computer)

Si tratta di operazioni estremamente elementari

Tutto ciò che chiediamo al computer deve essere ricondotto a una combinazione di queste operazioni primitive, supportate direttamente dall’hardware

- 20 -

(6)

Informatica 2012/2013

Esempi di altre istruzioni

Oltre ad ADD, MULT (moltiplicazione) e DIV (divisione), altri esempi di istruzioni includono:

• lo spostamento (shift) dei bit di una parola di memoria verso destra o verso sinistra, riempiendo gli spazi che si vengono a creare con degli zeri e buttando via i bit che “traboccano”

• il calcolo dell’AND logico, che verifica se due bit valgono entrambi 1, o dell’OR logico, che verifica se almeno uno di essi vale 1 (operazioni applicate in parallelo a tutti i bit di due parole)

• il test che appura se un singolo bit vale zero o no, e salta a un nuovo blocco di istruzioni a seconda del risultato

• lo spostamento dei dati da un’area all’altra della memoria

• la ricezione di segnali dai dispositivi di input e la scrittura in quelli di output

- 21 - Informatica 2012/2013

Tre tipologie di istruzioni

Istruzioni aritmetico-logiche (Elaborazione dati)

• Somma, Sottrazione, Divisione, …

• And, Or, Xor, …

• Maggiore, Minore, Uguale, Minore o uguale, …

Controllo del flusso delle istruzioni

• Sequenza

• Selezione semplice, a due vie, a n vie, …

• Ciclo a condizione iniziale, ciclo a condizione finale, …

Trasferimento di informazione

• Trasferimento dati e istruzioni tra CPU e memoria

• Trasferimento dati e istruzioni tra CPU e dispositivi di ingresso/uscita (attraverso le relative interfacce)

- 22 -

Riferimenti

Documenti correlati

Tipo documento (tipo ID): selezionare tra ID (carta identità), passaporto e patente di guida Numero (numero di carta d'identità o numero di passaporto).. Rilasciato da: scrivere

METANO AUTOTRAZIONE CONTINI S.R.L... ROMANA TECNOLOGIE

Ora, partendo dal punto finale della scanalatura per il fondo e parallelamente a quello che sarà il bordo anteriore e posteriore dei pannelli laterali, realizza le scanalature

Un test con la soluzione di controllo andrebbe effettuato, quando si teme che l’apparecchio di misu- razione o le strisce reattive possano essere difettosi, oppure quando le

Dati due segmenti : AB e CD costruire la loro somma comporta trasportare i due Dati due segmenti : AB e CD costruire la loro somma comporta trasportare i due. segmenti su una

Dati due segmenti AB e CD per disegnare la loro somma bisogna renderli adiacenti mentre per disegnare la differenza bisogna sovrapporli facendo coincidere un estremo (vedi

[r]

• Per vincere dovete continuare a lanciare i dadi finché non &#34;fate il punteggio“ (ovvero ottenete nuovamente lo stesso valore).. Se in questa seconda fase lanciate un sette