• Non ci sono risultati.

Capitolo 5 Elementi architetturali di base

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 5 Elementi architetturali di base"

Copied!
17
0
0

Testo completo

(1)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Capitolo 5

Elementi architetturali di base

Giuseppe Lami

Istituto di Scienza e Tecnologie dell’Informazione CNR

Via Moruzzi, 1 - Pisa

[email protected]

(2)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Struttura

- Unità di elaborazione e controllo o CPU (Cenral Processing Unit) -UO: calcolo e manipolazione informazioni

-UC: gestione/coordinamento delle attività della UO, I/O, memoria - Memoria

- Sistema di ingresso o uscita (I/O, Input/Output) - Sistema di interconnessione (bus)

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

John Von Neumann (1903-1957)

(3)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

John Von Neumann (1903-1957)

Organizzazione

Bus indirizzi: origina dalla CPU e contiene gli indirizzi della cella di memoria da leggere/scrivere

Bus controlli: comandi della CPU, risposte, indicatori di stato Bus Dati

(4)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

La Memoria

- composta da celle o locazioni - a ogni cella corrisponde un indirizzo

- il complesso delle possibili posizioni in memoria è lo spazio degli indirizzi - per leggere è necessario fornire l’indirizzo (A0.. A m-1) e il comando di lettura - per scrivere sono necessari indirizzo, dato (D0.. Dd-1) e il comando di scrittura

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

CPU effettua un ciclo di lettura in 3 cicli di clock

T1: CPU: asserisce l’indirizzo di memoria e il comando di lettura Mread T2: la memoria pilota il bus dati con il contenuto della cella

T3: CPU legge dal bus dati

Il segnale wait (in ingresso alla CPU), comandato da una logica esterna alla CPU (controllore della memoria), serve a ovviare alla lentezza della memoria rispetto alla CPU, introducendo cicli di attesa.

La Memoria - temporizzazione

(5)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

CPU effettua un ciclo di scrittura in 4 cicli di clock

T1: CPU: asserisce l’indirizzo di mem., il dato da scrivere e il comando di lettura Mwrite T2: CPU campiona (controlla) l’ingresso wait (attivo) –l’operazione id scrittura è in corso Tw: Il segnale wait (in ingresso alla CPU), comandato da una logica esterna alla CPU (controllore della memoria), serve a ovviare alla lentezza della memoria rispetto alla CPU, introducendo un ciclo di attesa wait

T3: scrittura completata .

La Memoria - temporizzazione

La Memoria

(6)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

La codifica delle istruzioni

(Linguaggio assemblativo) LD R1, Var ; (forma compatta) R1 M[Var]

ADD Rd, Rs1, Rs2 ; Rd Rs1 + Rs2

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

La codifica delle istruzioni

Rappresentazione binaria

Codice operativo su 6 bit: LD -> 100011 Id. Registro su 5 bit: R1 -> 00001

Indirizzo di memoria su 21 bit -> 0 0000 0000 0011 1111 1100 LD R1, Var -> 10 0011 0 0001 0 0000 0000 0011 1111 1100

(7)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

La codifica delle istruzioni

Rappresentazione binaria di ADD R7, R10, R3 Codice operativo su 6 bit: ADD -> 000101

Id. Registro su 5 bit: R7 -> 00111, R10 -> 01010, R3 -> 00011 I restanti 11 bit sono inutilizzati

ADD R7, R10, R3 -> 00 0101 0 1010 0 0011 0 0111 xxxxxxxxxxx

Sequenze di istruzioni in memoria

Lo statement a = b + c si traduce come:

LD R2, B ;B indirizzo a cui è allocata la parola b LD R3, C ;C indirizzo a cui è allocata la parola c ADD R1, R2, R3

ST A, R1 ;A indirizzo a cui è allocata la parola a

(8)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

La CPU

UC: responsabile dell’esecuzione delle istruzioni:

- Legge le istruzioni dalla memoria

- interpreta il OP e lo trasforma in sequenze temporizzate di comandi alla OU e/o alla memoria / dispositivi di I/O

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

La CPU

OU: esegue le manipolazioni dell’informazione:

- Legge i dati dalla memoria usando registri locali

- esegue i comandi della UC sui dati acquisiti attraverso la ALU (rete che esegue operazioni logiche e aritmetiche)

- fornisce alla UC informazioni intermedie della elaborazione (condizioni) - produce dati in uscita (memoria – I/O)

(9)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

La CPU

Il funzionamento della CPU è

scandito dal clock.

La CPU

Macrofasi del processo di elaborazione di una istruzione

Fetch:

-viene letta l’istruzione contenuta nella cella indirizzata dal PC (registro Program Counter)

-Viene decodificata l’istruzione per pilotare la sua esecuzione Execute:

- Viene eseguita l’istruzione

(10)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

La CPU

Macrofasi del processo di elaborazione di una istruzione

Es. I (LD, R2, B)

a)La UC comanda la lettura della istruzione (parola) presente nell’indirizzo di Memoria contenuto nel PC (registro della CPU che contiene l’indirizzo (puntatore)

dell’istruzione successiva da eseguire).

a)In base al OP (LD) la UC pilota la OU alla lettura della parola nell’indirizzo B in memoria; la OU riceve il dato e lo memorizza nel suo registro R2

b)Il PC viene incrementato di 4 per puntare alla instruzione successiva.

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

PC (Program Counter)

ALU (Arithmetic and Logic Unit): rete combinatoria

IR (Instruction Register) usato per

contenere l’istruzione in corso di esecuzione viene caricato nella fase di fetch e

rappresenta l’ingresso che detrmina la azioni svolte nella fase di esecuzione.

General Purpose Registers R1, R2, .. , Rn impiegati per contenere i dati su cui l’ALU esegue le proprie operazioni

MAR (Memory Address Register) deputato a contenere l’indirizzo della locazione

di memoria da leggere o scrivere. La sua uscita è sul bus indirizzi e viene abilitata durante le operazioni di lettura/scrittura

DTR (Data Transfer Register) registro attraverso il quale viene scambiata l’informazione fra la memoria e la CPU

Parti componenti la

CPU

(11)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Esempio di organizzazione interna (bus singolo)

I Registri TO e TI sono registri temporanei in appoggio alla ALU

Esecuzione delle istruzioni

Fase di Fetch

(12)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Esecuzione delle istruzioni

Fase di esecuzione

I segnali vengono generati per svolgere le azioni dall’istruzione in esecuzione (in IR) e di eventuali istruzioni di salto

Esempio: ADD R1, R2, R3 (tre cicli di clock)

1.TI <- R2 (occorre appogiare il primo operando poichè c’è un solo bus 2.R3 viene passato in ingresso alla ALU. L’uscita della ALU va in TO (il bus è occupato dal valore del secondo operando)

3.R1 <- TO

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

Temporizzazione

Trasferimento da registro a registro Trasferimento da RB a RA (RA <- RB):

• RBout–abilita l’uscita di RB

• RAin– abilita l’ingresso in RA

Sono entrambi segnali asseriti dalla UC all’inizio del Ti, sul fronte finale del Ti avviene il trasferimento.

Ti: RBout, RAin

(13)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Temporizzazione

Utilizzo della ALU Esempio: RD<-RA+RB Ti: RAout, TIin

Ti+1: RBout, ADD, TOin Ti+2: TOout , RDin Aggiornamento del PC:

Ti: PCout, SEL4, ADD, TOin Ti+1: TOout, Pcin

TI, TO dovuti alla presenza di un solo bus Esiste una linea di comando che, se asserita, viene presentata alla ALU la costante 4

Temporizzazione Fase di Fetch

T1: PCout, MARin T2: Mread, DTRin T3: DTRout, IRin

Considerando anche l’aggiornamento del PC (istruzioni non di salto) T1: PCout, MARin, SEL4, ADD, TOin

T2: Mread, DTRin, TOout, PCin T3: DTRout, IRin

Se la memoria determina un ritardo e non risponde entro T2.

(14)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Temporizzazione

Esempio completo ADD R1, R2, R3

T

1

: PC

out

, MAR

in

, SEL4, ADD, TO

in

T

2

: M

read

, DTR

in

, TO

out

, PC

in

T

3

: DTR

out

, IR

in

T

4

: R2

out

, TI

in

T

5

: R3

out

, ADD, TO

in

T

6

: TO

out

, R1

in

Fase di fetch

Fase di esecuzione

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

Percorsi interni

T4: R2out, TIin T5: R3out, ADD, TOin

T6: TOout, R1in 3 bus T4: R2out, R3out, R1in, ADD

(15)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Il file dei registri

Banco dei registri – blocco funzionale A collegata al bus S1, B collegata al bus S2 D collegata al bus D

Esempio ADD R1, R2, Rd

1. Portare dal registro IR il contenuto dei campi R1 e R2 ai due ingressi RR1 e RR2, e portare il contenuto del campo Rd all’ingresso RW

2. Asserire il comando ADD alla ALU e asserire il comando RWrite

Il file dei registri

Dettaglio relativo al registro generico i

(16)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Unità di controllo a logica cablata

T1: PCout, MARin, SEL4, ADD, TOin T2: Mread, DTRin, TOout, PCin T3: DTRout, IRin

T4: R2out, TIin T5: R3out, ADD, TOin T6: TOout, R1in

Es:

Il segnale PCoutdeve essere asserito solo a T1

Quindi, PCout= T1

Il segnale TOout, deve essere asserito a T2e T6(qui solo in presenza dell’istruzione ADD) Quindi, TOout= T2+ T6*ADD

contatore

Calcolatori elettronici – Architettura e organizzazione

Copyright © 2009 – The McGraw-Hill Companies srl

Unità di controllo a logica cablata

Ingressi:

-Segnali di temporizzazione (T1, T2, ..., Tn) - Contenuto dell’IR

- stato della OU

- variabili di stato della UC medesima

-Complessità della rete combinatoria dipendente dal numero degli ingressi e delle uscite (prodotto)

(17)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Unità di controllo a logica microprogrammata

Microprogrammazione: la UC viene vista come un elementare calcolatore che esegue passi di µprogramma.

La UC è composta da una memoria (contenente le parole di controllo (µistruzioni)) e da una rete in grado di indirizzare le parole di controllo (esecuzione).

L’effetto è quello di presentare alla OU sequenze di µistruzioni.

Unità di controllo a logica microprogrammata

Funzionamento schematico:

1.Inizio fase di fetch: µPC punta alla cella della ROM contenente la sequenza delle µistruzioni che determinano la fase di fetch (la prima è MAR<-PC).

2.Fine fase di fetch: il codice dell’operazione IR viene usato per accedere alle celle che contengono la µroutine relativa alla specifica operazione.

3.Durante l’esecuzione della µroutine il valore del µPC puo variare in modo non incrementale

4.Al termine della fase di esecuzione il µPC viene fatto puntare all’inizio della sequenza corrispondente alla fase di fetch

Riferimenti

Documenti correlati

Dark spot in the dye layer burned by laser when writing 1.2

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl.. Capitolo 7

ad ogni condition viene associata una coda nella quale i threads possono sospendersi (tipicamente, se la condizione non

  Con n processi nella coda e un quanto di tempo = q, ogni processo riceve 1/n di CPU time in blocchi di q unità per

Starvation: si verifica quando uno o più processi di priorità bassa vengono lasciati indefinitamente nella coda dei processi pronti, perchè vi è sempre almeno un processo pronto

Input value (D) bytes mask (access. enable if 1) Write

assembly MIPS in linguaggio macchina in formato esadecimale calcolando prima i valori esadecimali Loc1 e Loc2 che permettono di saltare esattamente all’indirizzo indicato

assembly MIPS in linguaggio macchina in formato esadecimale calcolando prima i valori esadecimali Loc1 e Loc2 che permettono di saltare esattamente all’indirizzo indicato