Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della CPU Ciclo di Istruzione Esempio di data-path: il DLX Unita di controllo cablata e microprogrammata
Classificazione dei calcolatori elettronici Una classificazione obsoleta, basata su costi: Supercomputer > 5 $ ainframe 0.5-5 $ inicomputer 50-500 $ icrocomputer K$ Oggi Workstation vs. PC Server vs. client I computer sono pervasivi: sistemi embedded Wearable computer? Le prestazioni aumentano del 25,30% l anno per WS e PC EVOLUZIONE TECNOLOGI RCHITETTUR
RCHITETTUR RCHITETTUR DI UN CLCOLTORE? I principali aspetti architetturali riguardano: rchitettura dell instruction set l architettura come è visibile dal programmatore Organizzazione: gli aspetti di progetto di alto livello (il sottosistema di memorie, la gestione dei bus la struttura interna della CPU ) Hardware il progetto specifico di ogni macchina (il progetto logico e le specifiche soluzioni)
RCHITETTUR DELLE CPU RCHITETTUR DI VON NEUNN (1946) (STORED PROGR COPUTER) 1. EORI per contenere istruzioni e dati 2. CPU composta da una unita' di controllo per eseguire il FETCH delle istruzioni e da una unita' di esecuzione aritmetica che esegue l'istruzione sugli operandi 3. eccanismi di INPUT/OUTPUT (con dispositivi periferici) per l'interfaccia con il mondo esterno Input emoria Secondaria Output emoria Centrale CPU
EVOLUZIONE EVOLUZIONE DELL CPU: aumento dell integrazione e della frequenza di clock evoluzione dell architettura interna parallelismo pipelining multithreading... EVOLUZIONE DEL SISTE DI EORIE: diminuzione di tempi d accesso e aumento del parallelismo gerarchie di memorie cache memoria virtuale EVOLUZIONE DEI SISTEI DI I/O: miglioramenti tecnologici nuove interfacce nuove applicazioni (multimedia..)
ICROPROCESSORI ICROPROCESSORI Per Personal Computer Per sistemi embedded Instruction Set standardizzati (tipo Intel I-32) Chip set complessi emory anagem. Unit Unità floating point, X o simili costi 75-800$ e più icrocontrollori: integraz. di periferiche DSP: elevate prestazioni nell elaborazione dei segnali non sempreu e FPU edia processors costi 5-50$
rchitettura di semplice CPU ctrl bus E DR data bus addr bus IR CTRL UNIT CPU LU ctrl signals REG R 1) Control Unit: genera i segnali di controllo 2) Data Path: LU, registri,...
FETCH ED EXECUTION FETCH DECODE EXECUTE R <- PC DR <- [R] IR <- DR fetch istr. PC <- PC+n <Decode opcode> decode R <- IR(Oper_addr) DR < [R] Reg <- DR fetch oper. Execute instr.
UNIT DI CONTROLLO 1. Controllo cablato o HRDWIRED 2. Controllo ICROPROGRTO 1. RETE COBINTORI Ctrl signals extrn-ctrl bus NS IR(opcode) STTO 2. IR(opcode) Nxt addr Control memory icroinstr. Ctrl signals extrn-ctrl bus
Il processore DLX Esempio di architettura di CPU RISC: il DLX (1990) (unione di D 29K, DEC 3100, IB 801, Intel i860, IPS, otorola 88k, Sun SPRC) caratteristiche: macchina LOD/STORE General Purpose REGISTER FILE, composto da 32 registri INSTRUCTION SET semplice e ridotto istruzioni allineate a 32 bit architettura pipeline niente risorse dedicate allo STCK La differenza tra processori RISC e CISC verrà dettagliata in seguito
rchitettura DLX S1 S2 DEST C L U O N T B Register file C R Temp O PC L IR R Instruction register DR Data In UX ddress EORI Data Out
DLX: ciclo di istruzione DLX ciclo di istruzione 1) INSTRUCTION FETCH (IF) IR<-[PC]; NPC<-PC+4 2)INSTRUCTION DECODE /REGISTER FETCH <-R[IR6..10]; B<-R[IR11..15]; Imm <- R[IR16..31] (ID) IR Cod op RS1 RS2 Immediate 3)EXECUTION/EFFECTIVE DDRESS (EX) - LUout <- + immediate; em. ref. - LUout<- op (B or immediate ) LU op. - LUout <- NPC + immediate; cond<- ( op 0) branchjmp 4) EORY CCESS/ BRNCH END (E) DR <- [LUout] or [LUout]<-B em ref. if (cond) PC <- LUout else PC <- NPC branch 5)WRITE-BCK (WB) R[IR16..20]<- LUout R[IR11..15]<-DR lu op. Load em ref.
DLX DTPTH P C N P C L U I N S T R. E I R R E G I m m B U X U X L U L U out D T E D R U X 4 C O N D U X IF ID EX E WB op 0
DLX DTPTH Ciascuna fase è eseguita in un ciclo di clock (vincolo incrociato sul numero di livelli delle reti combinatorie della fase e la frequenza di clock) Osservazioni importanti sul data path: LUout è il registro con il risultato in uscita dalla LU PC è sostituito da: se COND è vero, dal valore di LUout (salti condizionali verificati) se COND è falso, dal valore di NPC (salti condizionali non verificati, si prosegue con l esecuzione sequenziale) l accesso alla memoria si svolge nella fase E, che dura un clock sse il dato è in cache; in caso contrario, la fase viene prolungata