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
Scarica

Unità Disomogenee e Sincrone Classificazione dell`Architettura