La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Central Process Unit Architettura degli elaboratori 1 - A. Memo 64 2.6 Parte di controllo (control path) l ha il compito di generare i segnali di comando.

Presentazioni simili


Presentazione sul tema: "Central Process Unit Architettura degli elaboratori 1 - A. Memo 64 2.6 Parte di controllo (control path) l ha il compito di generare i segnali di comando."— Transcript della presentazione:

1 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo (control path) l ha il compito di generare i segnali di comando sincronizzando le varie unità che compongono la parte operativa (data path) l è un enorme automa sequenziale che ha come ingressi listruzione in corso e lo stato attuale della CPU, e come uscite i comandi alla parte operativa e lo stato successivo

2 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo i comandi del datapath piccola sezione di datapath con evidenziati i comandi di sincronizzazione

3 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo diagramma degli stati emettere IP nellAddress Bus: demux IPOUT emette dati in uscita A in attesa del dato dalla memoria: demux IPOUT emette dati in uscita B impostare inc/dec a incremento memorizzare il risultato in T1 aggiorna IP: mux IPIN legge dati da ingresso B memorizza il dato in registro IP

4 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo hardwired implementazione tradizionale partendo dallautoma a stati finiti

5 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo microprogrammazione 1 La tendenza è quella di avere istruzioni sempre più complesse, il che comporta: l semplificare la programmazione l diminuire il numero di istruzioni per programma l ridurre lo spazio in memoria l complicare enormemente la logica di controllo La soluzione è adottare la microprogrammazione

6 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo microprogrammazione 2 Individuare per ogni istruzione (macro instruction) i comandi (micro code) da emettere, raggrupparli in blocchi eseguibili in parallelo (micro instruction), e implementarli in una struttura interna alla CPU simile ad un piccolo elaboratore, con la sua memoria programmi (microprogrammed ROM)

7 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo microprogrammazione 3 ogni macro instruction punta ad una sequenza di micro instruction

8 Central Process Unit Architettura degli elaboratori 1 - A. Memo Parte di controllo microprogrammazione 4 La microprogrammazione... l è facile da progettare ed implementare l è flessibile negli sviluppi futuri l rende poco influente larchitettura interna l permette ottimizzazioni distinte l è più lenta dellimplementazione hardwired

9 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni Il set di istruzioni di una CPU specifica l quali sono le istruzioni previste l quali operandi sono ammessi l il formato con cui vengono codificate l la loro durata in cicli di clock

10 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni classificazioni l in base alla localizzazione interna degli operandi –stack –accumulatore –registro (reg/mem) –registro (reg/reg) –ad accesso diretto (mem/mem) l in base alle tecniche di indirizzamento l in base alla complessità delle istruzioni

11 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni a stack l gli operandi sono posti nella parte alta dello stack l istruzioni molto corte l codice poco efficiente l valutatori delle espressioni semplificati (notazione polacca inversa) l lo stack diventa un collo di bottiglia stack PUSH X PUSH Y ADD POP Z

12 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni ad accumulatore l lALU utilizza laccumulatore come registro predefinito l istruzioni corte l semplifica il control path ed il data path l frequenti spostamenti da/per altri registri l poco efficente accumulatore LOAD X ADD Y STORE Z

13 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni a registro (reg/mem) l in presenza di due operandi, almeno uno è un registro l istruzioni lunghe l buona efficienza di programmazione l riduzione degli accessi alla memoria l scarso bilanciamento delle istruzioni registro (r/m) LOAD R1,X ADD R1,Y STORE Z, R1

14 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni a registro (reg/reg) l gli operandi delle operazioni sono solo registri e quindi gli accessi alla memoria devono avvenire precedentemente tramite un registro (qualsiasi) l codifica a lunghezza fissa l istruzioni a durata bilanciata registro (reg/reg) LOAD R1,X LOAD R2,Y ADD R3,R1,R2 STORE Z, R3

15 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni ad accessi diretti (mem/mem) l uso delle locazioni di memoria come operandi l massima semplicità di programmazione l lunghezza delle istruzioni molto variabile l alto sbilanciamento delle istruzioni l laccesso alla memoria diventa un collo di bottiglia memoria/memoria ADD Z,X,Y

16 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni evoluzione commerciale Accumulatore singolo (EDVAC) [1950] Accumulatore + registri indice (Mark 1, IBM 700) [1953] registri General Purpose RISC (Mips, Spark, IBM) Load/Store (CDC 6600, Cray 1)CISC (VAX, Intel)

17 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni accesso alla memoria 1 l la memoria viene vista (quasi) sempre dal programmatore in L.M. come un vettore lineare di elementi ad 8 bit l ad ogni accesso alla memoria, alla CPU arriva un multiplo di byte (dimensione DB) –memoria allineata –memoria non allineata

18 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni accesso alla memoria 2

19 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni accesso alla memoria 3

20 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni accesso alla memoria 4 l memoria non allineata (Intel x86) –accessi ottimizzati –hardware più complesso l memoria allineata (Motorola 68000) –lettura più lenta dei dati disallineati –con luso di compilatori adeguati i dati possono essere memorizzati opportunamente

21 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni tecniche di indirizzamento 1 modalitàesempiosignificato registroMOV AL,BLAL AL+1 immediatoMOV AL,10AL 10 direttoMOV AL,[0123]AL Mem[0123] indicizzatoMOV AL,[SI]AL Mem[SI] con baseMOV AL,[BX+30]AL Mem[BX+30] index+baseMOV AL,[SI+BX]AL Mem[SI+BX]

22 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni tecniche di indirizzamento 2 modalitàesempiosignificato indirettoMOV Mem[Mem[RX]] fatt. scalaMOV AL,[BX +SI*d] AL Mem[BX+SI*d] auto inc.MOV RX,[RY]+AL Mem[RY] RY = RY + d auto dec.MOV RX,-[RY]RY = RY - d AL Mem[RY]

23 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni indirizzamenti

24 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni tecniche di indirizzamento 4 l più indirizzamenti ci sono e più semplice è la programmazione diretta l più indirizzamenti ci sono e più complicati e difficilmente ottimizzati sono i compilatori l più indirizzamenti ci sono e più complessa risulta la parte di controllo l statisticamente sono pochi gli indirizzamen- ti utilizzati

25 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni tipi di operazioni Le istruzioni si possono dividere in l trasferimento dati (*) l aritmetiche e logiche (*) l salto, ripetizione e controllo (*) l gestione stack l per dati specifici (FP, stringa) l I/O

26 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni trasferimento dati da registro a registro MOV AL,BL da memoria a registro MOV AL,[0123] da registro a memoria MOV [0123],AL l distinto tra lettura e scrittura LOAD R1,0123 STORE 0123,R1

27 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni aritmetiche e logiche somma/sottrazione ADD AL,BL SUB CX,AX confronto CMP AL,33 TEST AH,CH moltiplic./divis. MUL BLDIV AX logiche OR AL,AHNEG AL spostamento bit ROL AH,2SHR AL,1 sui bit di flag CLCSTI

28 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni salto, ripetizione e controllo salto incondizionato JMP 0456 salto condizionato JZ 0100JNC 2211 JNA 1234JG 0101 ciclo di ripetizione LOOP 0345 salto a/da procedure CALL 0123RET interruzione INT 21IRET sistema HLTNOP

29 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni gestione stack 1 l lo stack è una coda LIFO che permette di salvare e recuperare dati senza curarsi del loro indirizzo l è una tecnica a lettura distruttiva l viene usato per –salvataggio contesto durante le interruzioni o le chiamate a procedure –passaggio parametri

30 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni gestione stack 2 PUSH AX DEC SP MOV [SP],AX high DEC SP MOV [SP], AX low prima MOV AX,1234 PUSH AX dopo

31 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni gestione stack 3 POP AX MOV AX low,[SP] INC SP MOV AX high,[SP] INC SP prima POP AX dopo

32 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni per dati specifici per stringa LODSB CMPSW (implicito AL, sorgente DS:SI, destinazione ES:DI) ripetizione di stringa REPZCMPSW Floating Point FADD ST, ST[2] BCD Packed DAA

33 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni I/O ingresso dati IN AL,DX emissione dati OUT DX,AL

34 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni formato delle istruzioni 1 l è il codice con cui vengono rappresentate le varie istruzioni l dipende dal set di istruzioni e dallarchitet- tura interna adottata l può essere a lunghezza fissa o variabile (Intel da 1 a 12 byte) l compatibilità verso il basso

35 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni formato delle istruzioni 2 T T T T T T T T T T T T T T T T mod TTT r/m ss_index displacemen immediate T T T T T T T T T T T T T T T T codice operativo (1 byte) codice operativo (eventuale secondo byte) modalit à di indirizzamento (ed altri b.c.o.) fattore di scala, reg. indice e reg. base (1) spiazzamento, 0, 1, 2 o 4 byte dato immediato, 0, 1, 2 o 4 byte

36 Central Process Unit Architettura degli elaboratori 1 - A. Memo Set di istruzioni formato delle istruzioni 3 Ad esempio ADD AL, BL codifica: 00 D8 formato reg1 to reg2 = 00TTT00w 11 reg1 reg2 oper.TTT ADD000 ADC010 AND100 OR001 SUB101 SBB011 XOR110 regcod AL000 CL001 DL010 BL011 AH100 CH101 DH110 BH111 dimensione operandi 8 bitw=0 16/32 bitw=1 TTT = 000 (ADD) w = 0 (8 bit) reg1 = 011 (BL) reg2 = 000 (AL) codifica =


Scaricare ppt "Central Process Unit Architettura degli elaboratori 1 - A. Memo 64 2.6 Parte di controllo (control path) l ha il compito di generare i segnali di comando."

Presentazioni simili


Annunci Google