Architettura di Calcolo Classificazione Classificazione dell’Architettura Flusso di di Istruzioni Istruzioni Flusso Architettura Architettura di diCalcolo Calcolo Istruzioni Elaborate Flusso di di Dati Dati Flusso Operandi Manipolati Instruction Set Elaborazione 1.Tipo di FLUSSO DATI / ISTRUZIONI che interessa la Macchina 2. Tipo di ELABORAZIONE della Macchina 3. SET DI ISTRUZIONI della Macchina Classificazione dell’Architettura Classificazione di FLYNN Flusso di Istruzioni Architettura di Calcolo Flusso di Dati Istruzioni Elaborate Operandi Manipolati • Tipo e Numero di ALU • Tipo di CU Tipo di Memoria Dati 5 Classificazione dell’Architettura Classificazione di Flynn Flusso di Istruzioni Singolo / Multiplo Architettura di Calcolo Flusso di Dati Singolo / Multiplo 13 Classificazione dell’Architettura Classificazione di FLYNN ISTRUZIONE Macchina Unità Omogenee e Sincrone di Von Neuman Processore Vettoriale Array Processor SISD SIMD SIMD 6 Classificazione dell’Architettura Classificazione di FLYNN Unità Disomogenee e Sincrone 7 Classificazione dell’Architettura Super-Scalare vs VLIW 8 Classificazione dell’Architettura Processore VLIW Architettura VLIW Unità Disomogenee e Sincrone 11 Classificazione dell’Architettura Classificazione di FLYNN Unità Disomogenee e Asincrone I calcolatori della classe MIMD si suddividono in: a. calcolatori MIMD a memoria condivisa (shared memory); b. calcolatori MIMD a memoria distribuita. 7 Classificazione dell’Architettura Elaborazione Parallela e Distribuita Flusso di Istruzioni Architettura di Calcolo Flusso di Dati Elaborazione 12 Classificazione dell’Architettura Set di Istruzioni Con Set di Istruzioni di un Microprocessore o di una generica architettura di calcolo si intende l’insieme di comandi operativi riconosciuti dalla Macchina. Architettura Il singolo comando assembler ha una forma tipica: Flusso di Istruzioni Flusso di Dati di Calcolo C.O. Op1, Op2, …, OpN, Dest ( SISD ) c.o.A op1A, op2A, destA c.o.B op1B, op2B, destB ( MISD ) Instruction Set Il programma eseguito da un architettura di calcolo è una lista di comandi assembler. 14 Classificazione dell’Architettura Set di Istruzioni • Type of the operations • Parallelismo delle operazioni • Operand Storage In/Out the CPU • Number of Explicit operands for instruction • Integer Byte, Half Word, Word • operand Location Float e Double Precision • Floating Point • Type and Size of operands 15 Classificazione dell’Architettura Set di Istruzioni Type of the operations: Aritmetico - Logiche Data Transfert Controllo Salto Incondizionato Brench Istr 1 Istr 2 Istr 3 Istr 4 Jump Istr 5 Istr 6 Istr 7 Istr 8 Istr 9 ADD, SUB,e MULT, DIV JUMP senza condizione BRANCH subordinato LOAD ad STORE una comparazione SHIFT Aritm./Log., OR, XOR …(di >, ≥, semplice (=0)AND, o complessa >,BRANCH) ≥, <, <, ≤, ≤)= (istruzione aoperazioni supporto di quella ma anche aritmetico/logiche 16 Classificazione dell’Architettura Set di Istruzioni Parallelismo of the Instruction: A: Parallelismo Spaziale (Ridondanza HW) B: Parallelismo Temporale (Pipeline) C.O. Op1, Op2, …, OpN, Dest ( SISD ) Parallelismo di Operazione c.o.A op1A, op2A, destA c.o.B op1B, op2B, destB ( MISD ) Processore Dual-Core Processore VLIW Trasparente al Programmatore 18 Classificazione dell’Architettura Set di Istruzioni Operand Storage In/Out the CPU: a Stack: the operands are implicitly on top of the stack an Accumulator: one operand is implicitly the accumulator a set of Registers: all operands are explicit either registers or memory locations The code segment C = A + B how it would appear on the classes of instruction sets Stack Accumulator Register PUSH A Load A Load R1,A PUSH B ADD B ADD R1,B ADD Store C Store C,R1 POP C NO Efficient Code Good Code Density High Memory Traffic Short Instruction General Purpose Longer Instruction 17