architettura di calcolo classificazioneclassificazione
TRANSCRIPT
Architettura di CalcoloArchitettura di CalcoloClassificazioneClassificazione
Classificazione dell’ArchitetturaClassificazione
dell’Architettura
2. Tipo di ELABORAZIONE della Macchina
1.Tipo di FLUSSO DATI / ISTRUZIONI che interessa la Macchina
3. SET DI ISTRUZIONI della Macchina
Architetturadi Calcolo
Flusso di Istruzioni
IstruzioniElaborate
Flusso di Dati
OperandiManipolati
Architetturadi Calcolo
Elaborazione
Flusso di Istruzioni Flusso di DatiArchitettura
di Calcolo
Instruction Set
Flusso di Istruzioni Flusso di Dati
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaClassificazione di FLYNN
5
Architetturadi Calcolo
Flusso di Istruzioni
IstruzioniElaborate
Flusso di Dati
OperandiManipolati
• Tipo e Numero di ALU• Tipo di CU
Tipo diMemoria Dati
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaClassificazione di Flynn
13
Architetturadi Calcolo
Flusso di Istruzioni
Singolo / Multiplo
Flusso di Dati
Singolo / Multiplo
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaClassificazione di FLYNN
SIMD
ISTRUZIONEISTRUZIONE
6
Unità Omogenee e Sincrone
SISDSIMD
Macchina di Von
NeumanProcessore Vettoriale
ArrayProcessor
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaClassificazione di FLYNN
7
UnitàDisomogenee
e Sincrone
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaSuper-Scalare vs VLIW
8
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaArchitettura VLIW
11
Pro
cess
ore
VL
IW UnitàDisomogenee
e Sincrone
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaClassificazione di FLYNN
I calcolatori della classe MIMD si suddividono in:a. calcolatori MIMD a memoria condivisa (shared memory);b. calcolatori MIMD a memoria distribuita.
7
UnitàDisomogenee e Asincrone
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaElaborazione Parallela e Distribuita
12
Architetturadi Calcolo
Elaborazione
Flusso di Istruzioni Flusso di Dati
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaSet 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.
Il singolo comando assembler ha una forma tipica:
C.O. Op1, Op2, …, OpN, Dest ( SISD )
c.o.A op1A, op2A, destA c.o.B op1B, op2B, destB ( MISD )
Il programma eseguito da un architettura di calcolo è una lista di comandi assembler.
14
Architetturadi Calcolo
Instruction Set
Flusso di Istruzioni Flusso di Dati
• Type of the operations• Parallelismo delle operazioni
• Operand Storage In/Out the CPU • Number of Explicit operands for instruction
• operand Location
• Type and Size of operands
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaSet di Istruzioni
• Integer
• Floating Point Float e Double Precision
Byte, Half Word, Word
15
Classificazione dell’ArchitetturaClassificazione
dell’Architettura
Aritmetico - Logiche Data Transfert Controllo Salto Incondizionato
Aritmetico - Logiche Data Transfert Controllo Salto Incondizionato
Set di Istruzioni
ADD, SUB, MULT, DIVSHIFT Aritm./Log., AND, OR, XOR … >, ≥, <, ≤, =
LOAD e STOREma anche operazioni aritmetico/logiche
BRANCH subordinato ad una comparazione semplice (=0) o
complessa (>, ≥, <, ≤)
JUMP senza condizione(istruzione a supporto di quella di
BRANCH)
Type of the operations:Istr 1Istr 2Istr 3Istr 4
Istr 5Istr 6Istr 7Istr 8
Jump
Brench
Istr 9
16
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaSet di Istruzioni
Parallelismo of the Instruction:
Processore D
ual-CoreP
roce
ssor
e V
LIW
A: Parallelismo Spaziale (Ridondanza HW)B: Parallelismo Temporale (Pipeline) Trasparente al Programmatore
A: Parallelismo Spaziale (Ridondanza HW)B: Parallelismo Temporale (Pipeline) Trasparente al Programmatore
Parallelismodi Operazione
18
C.O. Op1, Op2, …, OpN, Dest ( SISD )
c.o.A op1A, op2A, destA c.o.B op1B, op2B, destB ( MISD )
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
StackPUSH A
PUSH B
ADD
POP C
RegisterLoad R1,A
ADD R1,B
Store C,R1
AccumulatorLoad A
ADD B
Store C
Classificazione dell’ArchitetturaClassificazione
dell’ArchitetturaSet di Istruzioni
General PurposeLonger Instruction
High Memory TrafficShort Instruction
NO Efficient CodeGood Code Density 17