Slides:



Advertisements
Presentazioni simili
A. FERRARI MATERIALE DALLA DISPENSA DI P. OLLARI
Advertisements

Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Procedure In assembler.
Organizzazione della memoria
IL MICROCONTROLLORE ST6
Elaboratore e Sistemi Operativo
Architettura di un sistema informatico Hardware
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Canale A. Prof.Ciapetti AA2003/04
CALCOLATORI ELETTRONICI Gestione delle subroutine.
Caratteristiche principali dell’architettura del processore MIPS
Esercizio Esame Un processore PD32 è interfacciato a due periferiche di input A e B, e ad un DMAC il quale puo’ gestire trasferimento di dati da B verso.
Gestione delle subroutine
Criticità sui dati (1° esempio)
Criticità sui dati (esempio da fare on line)
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Cos’è un problema?.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Programmazione Avanzata
CHARGE PUMP Principio di Funzionamento
CALCOLATORI ELETTRONICI II
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Introduzione al linguaggio assembly del microprocessore a parte
Introduzione al linguaggio assemby del microprocessore a parte
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Microprocessori Generalità dei microprocessori Intel
Un trucchetto di Moltiplicazione per il calcolo mentale
Introduzione al linguaggio assembly del microprocessore a parte
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Istruzioni Riferimento alla memoria
Architettura di una CPU
Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Calcolatori Elettronici Il Processore
Architettura IA - 16 M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Procedure e Macro.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Architettura di un calcolatore e linguaggio macchina.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Ing. Saverio De.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

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

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

2.6 Parte di controllo diagramma degli stati emettere IP nell’Address 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 Central Process Unit Architettura degli elaboratori 1 - A. Memo

2.6 Parte di controllo hardwired implementazione tradizionale partendo dall’automa a stati finiti Central Process Unit Architettura degli elaboratori 1 - A. Memo

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

2.6 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) Central Process Unit Architettura degli elaboratori 1 - A. Memo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.7 Set di istruzioni tecniche di indirizzamento 1 modalità esempio significato registro MOV AL,BL AL Ü AL+1 immediato MOV AL,10 AL Ü 10 diretto MOV AL,[0123] AL Ü Mem[0123] indicizzato MOV AL,[SI] AL Ü Mem[SI] con base MOV AL,[BX+30] AL Ü Mem[BX+30] index+base MOV AL,[SI+BX] AL Ü Mem[SI+BX] Central Process Unit Architettura degli elaboratori 1 - A. Memo

2.7 Set di istruzioni tecniche di indirizzamento 2 modalità esempio significato indiretto MOV AL,@RX AL Ü Mem[Mem[RX]] fatt. scala MOV 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] Central Process Unit Architettura degli elaboratori 1 - A. Memo

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

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

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

2.7 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 distinto tra lettura e scrittura LOAD R1,0123 STORE 0123,R1 Central Process Unit Architettura degli elaboratori 1 - A. Memo

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

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

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

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

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

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

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

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

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

2.7 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 ADD 000 ADC 010 AND 100 OR 001 SUB 101 SBB 011 XOR 110 reg cod AL 000 CL 001 DL 010 BL 011 AH 100 CH 101 DH 110 BH 111 dimensione operandi 8 bit w=0 16/32 bit w=1 TTT = 000 (ADD) w = 0 (8 bit) reg1 = 011 (BL) reg2 = 000 (AL) codifica = 00000000 11011000 Central Process Unit Architettura degli elaboratori 1 - A. Memo