• Non ci sono risultati.

Memoria e altro

N/A
N/A
Protected

Academic year: 2021

Condividi "Memoria e altro"

Copied!
98
0
0

Testo completo

(1)

G. Bucci - Calcolatori Elettronici 1

Memoria e altro

• Contenuto della lezione

– Un poco di storia dei computer

– Tecnologie, evoluzione, prestazioni – Richiami

– Memorie DRAM, SRAM, ROM, dischi, …

– Gerarchia

(2)

2

Il primo computer della storia

• ENIAC (Electronic Numerical Integrator And Calculator) – Sviluppato presso l’Università della Pennsylvania

– Finanziato dal Ministero della Difesa USA

– Divenne operativo durante la II guerra mondiale

– Costruito tra il 1943 e il 1946, reso pubblico nel 1946

– Oltre 120 metri cubi di volume, su una superficie di 180 mq, pesava 30 tonnellate. Consumava poco meno di 180kW

– Oltre 18.000 tubi a vuoto (valvole) collegati da 500.000 contatti saldati a mano.

– 20 registri di 10 cifre; ogni registro era lungo oltre mezzo metro.

• I progettisti erano J.P. Eckert e J. Mauchly

(3)

3

(4)

4

K (il più potente a novembre 2011)

K Computer (Fujitsu, Giappone)

– Presso RIKEN Advanced Institute for Computational Science (AICS)

– 705.024 core (di processori SPARC64 VIIIfx 8C 2.00GHz ovvero 88.128 processori)

– 10,51 Petaflop/s

– Consumo 12,66 MW

– 0,83 MFlops/W

(5)

5

K computer

(6)

6

Tanto per la cronaca

• Nella classifica di novembre 2011 al numero 10 c’era il BlueGene/Q (IBM) del CINECA (Bologna)

• 163.840 core (di processori Power BQC 16C 1.600GHz)

• 1,72 Petaflops/s

(7)

7

Il più potente (a novembre 2012)

TITAN (Cray XK7)

– Presso Oak Ridge National Laboratory (usa)

– 560.640 core (di processori Opteron 6274 16C 2,2 GHz, ovvero 35.040 processori)

– 261.632 acceleratori (coprocessori NVIDIA K20x) – 17.59 Petaflop/s (Linpack) (1 Peta = 10^

15

)

– Consumo 8.21 MW – 2,143 MFlops/W

– Questo supercomputer ha un numero relativamente basso i processori; usa i coprocessori (GPU) per raggiungere questo livello prestazioni

http://www.top500.org/

(8)

8

Il secondo più potente (a novembre 2012) ( Era il più potente a giugno 2012)

SEQUOIA ( IBM BlueGene/Q)

– Presso Lawrence Livermore National Laboratoy (usa)

– 1.572.864 core (di processori Power BQC (PowerPC) 16C 1,6 GHz, ovvero 98.304 processori)

– 16,32 Petaflop/s

– Consumo 7,89 MW – 2,1 MFlops/W

– 96 armadi

– 82,2 KW per armadio (circa 1/3 di ENIAC !!) – 1024 processori (16.384 core) per armadio

– Ogni processore ha 16 GB di memoria DRAM (DDR3)

– Pesa quanto 60 elefanti adulti (un elefante adulto pesa fino a 5 tonn)

• Notare la frequenza relativamente bassa per ridurre i consumi

(9)

9

Sequoia

(10)

10

Il più potente (a giugno 2013)

Tianhe-2 (MilkyWay-2)

– Presso National University of Defense Technology (NUDT) Cina (è anche il costruttore)

– 3.120.000 core (di processori Intel Xeon E5-2692 12C 2.200GHz, ovvero 260.000 processori)

– 2.736.000 core acceleratori (coprocessori Xeon Phi 31S1P) – 33,86 Petaflop/s (Linpack)

– Consumo 17,81 MW – 1.902 MFlops/W

– E’ meno efficiente del precedente. Usa più processori e più

coprocessori.

(11)

11

Nota

• I processori attuali hanno prestazioni dell’ordine delle decine di Gflop/s

• I7 (versioni ultime) c’è chi dice che faccia oltre 100 Gflop/s

ATTENZIONE: se si vedono le prestazioni sui cataloghi o su Internet ci si deve accertare bene come sono state misurate (benchmark, configurazione della macchina, ecc.). Vengono pubblicati risultati inconfrontabili.

• Da un studio serio (Dongarra)

– Intel Core i7 3930K ( a 4,720 GH (overclocked)

• prestazioni misurate con Linpack su Windows 64 bit

• 3.100 (circa) MFlop = 3,1 GFlop/s

(12)

12

Costo per GFlop (Tenuto conto dell’inflazione)

• 1961 $8,3 trillion (una moltplicazione in 17.7 ms)

• 1984 $33.000.000 (Cray X-MP)

• 1997 $42.000

• April 2000 $1.300

• August 2003 $100

• August 2007 $52

• March 2011 $1.80

• August 2012 $0.73

• June 2013 $0.22

Fonte: Wikipedia

(13)

G. Bucci - Calcolatori Elettronici 13

“Legge” di Moore

• Enunciata nel 1965, aggiustata più volte:

Inizialmente: Raddoppio della “capacità elaborativa”

(numero di transistori) ogni 12 mesi (anni 70) – A media via: Raddoppio ogni 2 anni (anni 80) – Correntemente: Raddoppio ogni 18 mesi (dai 90)

• Vuol dire che nei prossimi 18 mesi l’elettronica avrà un aumento quantitativo pari a quello complessivo dall’inizio (della storia) ad oggi !!!!!!!!!!!!!!

– Non è una legge fisica

– Prima o poi non andrà più bene

– Per ora tiene!!!!!!!!!!!!!!!!

(14)

14

Legge di Moore

(15)

G. Bucci - Calcolatori Elettronici 15

Crescita livello integrazione DRAM

(16)

G. Bucci - Calcolatori Elettronici 16

Evoluzione tecnologica (DRAM)

(17)

G. Bucci - Calcolatori Elettronici 17

Costi DRAM

(18)

G. Bucci - Calcolatori Elettronici 18

Processori Intel

(19)

G. Bucci - Calcolatori Elettronici 19

Processori Intel

(20)

20

Primati

(21)

21

Ma come scaldi!

(22)

22

Ma come scaldi!

Core2 starebbe qui (+o-)

Se la crescita fosse stata la

stessa !!

(23)

G. Bucci - Calcolatori Elettronici 23

Prima di tutto un ripasso di elettronica….

Logica TTL ¼ di 7400

(24)

G. Bucci - Calcolatori Elettronici 24

Correnti

Soglia di rumore

(25)

25

Registro

Un registro è

un insieme

ordinato di FF

(26)

26

Trasferimento info

(27)

27

BUS (concettuale)

(28)

G. Bucci - Calcolatori Elettronici 28

Open collector

(29)

G. Bucci - Calcolatori Elettronici 29

Logica Tristate

(30)

30

Registro (uscita 3state)

(31)

31

Bus (nella pratica, o quasi)

(32)

32

BUS

• Anche quello precedente deve essere considerato come uno schema di principio

• Nella pratica corrente ci sono molteplici forme di bus

• Una distinzione basilare

– Parallelo – Seriale

– Con l’aumento della velocità la tendenza è abbandonare i bus paralleli per i bus seriali

• Perché?

(33)

33

Tempificazione

• Come si attua un trasferimento

(34)

34

Periodo di clock minimo

(35)

G. Bucci - Calcolatori Elettronici 35

Memoria

• Funzionalità

– Memoria di sola lettura (ROM) – Memoria di lettura/scrittura (RAM)

• Tecnologia

– Memoria elettronica – Memoria magnetica – Memoria ottica

• Modalità di accesso

– Memoria ad accesso casuale

– Memoria ad eccesso sequenziale

– Memoria ad eccesso per contenuto (CAM)

(36)

G. Bucci - Calcolatori Elettronici 36

Memoria

• Parametri di valutazione

– Dimensione (bit o byte) – Velocità

– Potenza

– Integrazione

– Costo

(37)

G. Bucci - Calcolatori Elettronici 37

Memoria ROM

(38)

G. Bucci - Calcolatori Elettronici 38

PROM

(39)

G. Bucci - Calcolatori Elettronici 39

Memoria RAM

– Statiche (uno (o più) FF per bit)

• Alto Consumo

• Bassa Integrazione

• Alto Costo

• Alta velocità

– Dinamiche (1 transistore Cmos per cella; un condensatore fa da elemento di mem)

• Basso Consumo

• Alta integrazione

• Basso costo

• Bassa velocità

(40)

G. Bucci - Calcolatori Elettronici 40

SRAM (AS7C34096 512K per 8)

• 18 linee indirizzo 1024 righe 512 colonne

• 8 linee dati

• WE

• OE

• CE

(41)

G. Bucci - Calcolatori Elettronici 41

…SRAM ( AS7C34096 )

NB:

tRC=tACC

(10ns)

(42)

G. Bucci - Calcolatori Elettronici 42

DRAM (AS4C1M16E5 1M x 16 bit)

NB:

tRC=75 ns

tRAC= 45 ns

(43)

43

Confronto DRAM - SRAM

SRAM AS7C34096 (Alliance Semiconductor)

• 512 KB

tAcc = 10, 12, 15, 20

• Pd = 0,660 W (Vcc = 3,3V) – p = Pd/Dim = 0,66/512 = 1,29 mW/KB

DRAM AS4C1M16E5 (Alliance Semiconductor)

• 1M X 16bit (2M B = 2048 KB)

• tRC = 75 ns; tRAC = 45 (usare tRC)

• Pd (potenza dissipata) = 0,740 W (Vcc = 5V) – p (consumo specifico) = Pd./Dim = 0,740/2048 =

= 0,362 mW/KB

(44)

44

… Una memoria da 64MB x 16bit

Usando i precedenti integrati

• SRAM

– P = 1,29 * 65.536 = 84,5 W – I = P/Vcc = 84,5/3,3 = 25,6 A

– N. integrati = 64MB/0,512MB = 128

• DRAM

– P = 0361 * 65536 = 23,7 W – I = P/Vcc = 23, 7/5 = 4,74 A – N. Integrati = 64MB/2MB = 32

4 volte meno della precedente

(45)

45

Chip/Moduli di memoria

DIMM

(46)

G. Bucci - Calcolatori Elettronici 46

Dischi magnetici

• Memorie di massa

• Piatti, settori, tracce, cilindri, testine,….

• Tecnologie raffinatissime

– l’altezza di volo delle testine è 0,5 micron (una particella di fumo è 6 micron)

– migliaia di giri al min senza mai fermarsi

(47)

47

Anatomia HDD

(48)

48

HD per PC - Evoluzione

ST506 : 5 MB 5 1/4 1979 (primo per i PC)

Oggi: 2,5”

portabili: 1TB e più

(49)

49

(50)

G. Bucci - Calcolatori Elettronici 50

HHD

Piatti: da 1 a 4 (anche di più)

• Diametro: da 1 a 5,25 pollici (portatili 2,5”, desktop 3,5”)

• Giri/min: da 3.600 a 7.200 (e più, fino a 15.000)

• Tracce/faccia: da 1.000 a 5.000+ per faccia

• Settori/traccia: da 17 a 200+ (il valore “standard” è 63)

• Dim settore (Byte): 512 (tipica ), 1.024, 2.048, 4.096 (la tendenza è verso 4.096)

• Velocità massima trasferimento (interna): Con SATA 3.0 si arriva a fino a 6 Gb/s , SATA 1.0 arrivava fino a 1.5 Gb/s ,

• La velocità massima di trasferimento esterna può essere

superiore per via della cache interna che fa da buffer

(51)

G. Bucci - Calcolatori Elettronici 51

Tempi (più o meno tipici)

• Tseek: da 3 a 12 ms

(è un tempo medio: sfavorevole!! )

• Tlat = 0,5 (60/g) (g: giri/min)

g = 3600 Tlat =8,33 ms g = 7200 Tlat = 4,17 ms g = 10000 Tlat = 3,00 ms

• Ttrasf = Dimsett/Vtrasf

Dim = 4096 Vt = 100 MB/s Ttrasf = 0,04 ms

• Tacc= Tseek+Tlat+Ttrasf (+Tcontr+Tq)

• Esempio: Seagate Barracuda 7200.11

– 1 TB; 7200 g/m; Interfaccia SATA; 32 MB cache;

– 512 B/settore; 1.953.525.168 settori; 63 settori/traccia;

– Tacc = 11 ms

– Vt (interna) = 1030 Mb/s; Vt (esterna continua) = 105 MB/s

– Vt (esterna max) = 300 MB/s;

(52)

52

Settori

Dischi attuali

Conviene avere + o – la

stessa densità => divisione per zone

N sett/traccia cresce verso le zone esterne

In passato

N sett/traccia costante

(53)

53

Cilindri

Indirizzamento CHS (cilindro – testina – settore) – C: individua il cilindro

– H: individua la testina (la superficie)

• (C+H individuano la traccia)

– S: individua il settore entro la traccia Le tracce in

posizione X formano

il cilindro X

(54)

54

Indirizzamento CHS

• Standard CHS versione iniziale:

– Bit di indirizzo 24: 10+8+6

– 1024 * 255 * 63 = 16 M settori c.a. Max – Con settori da 512 B => 8 GB c.a. Max

• Il BIOS del PC XT IMB usava 4 bit per H

– Ne conseguiva una capacità massima di = 0,5 GB c.a.

– Successivamente i bit di indirizzo venne portato a 28 e poi esteso ulteriormente.

• Con i dischi moderni IDE (zoned recording) questo schema non

corrisponde più a quello fisico. Ma CHS viene ancora usato per

compatibilità: il drive converte CHS nell’indirizzo fisico interno

(55)

55

LBA : Logic Block Addressing (dischi IDE)

• Ogni settore ha un indirizzo (un numero) da 0 fino a n-1 (se n è il numero complessivo dei settori)

• Per compatibilità è possibile usare l’indirizzamento CHS, il drive individua il settore corrispondente

• Nelle specifiche si leggono numeri di cilindri e di testine che non corrispondono a quelli fisici. Ad esempio, si può leggere che un disco ha la capacità pari a C=16.383; H= 20; e 63 sett/traccia.

Difficile far stare 20 testine in meno di 2 cm di spessore !!!!

Quei numeri non sono quelli fisici. Di norma le testine non sono

più di 8; il 20 corrisponde a un campo dell’indirizzo come CHS.

La logica del drive converte CHS nell’indirizzo interno

(56)

56

Esempio : Hitachi Travelstar 2,5” SATA

Spessore: 9,5 mm

(57)

57

Interfacce/bus Dischi Rigidi

• SCSI

– Prevede un controllore in grado di pilotare più dispositivi (teoricamente si può arrivare oltre 2000), anche diversi – Parallela

– High-end applications

• IDE/ATA

– La prima a integrare la logica del controllore sul disco stesso – Parallela

– Tipica di PC e workstation (1-2 HD)

• SATA

– Seriale (più veloce di ATA)

– Cavi di pochi fili (via il cavo piatto ATA) – Point-to-point seriale

• USB

– Seriale, point-to-point – Per i dischi portatili

Ap pr ofi tti amo ne

pe r p ar lar e d ei

bus

(58)

58

SCSI (introdotto metà anni 80)

• Parallelo, Multidrop

• Connettore da 50 (o 68) pin

• Parallelismo: 8 o 16 bit (dati)

• Velocità

– SCSI (8 bit): 5 MB/s – Wide SCSI (16 bit): 20 MB/s – Ultra-640 SCSI (16 bit): 640 MB/s

Molte altre

versioni

(59)

59

SCSI

(60)

60

IDE/ATA (introdotto a metà anni 80)

IDE (Integrated Drive Electronics) /ATA (AT Attachment)

– E’ lo standard definito rispetto al bus del PC AT (il nome dovrebbe essere solo ATA)

Bus parallelo (16 bit). Multidrop – In svariate versioni

– ATA 1 : l’originale, pensato all’epoca del PC AT (ISA) per i soli dischi rigidi

– ATA 4 (ATAPI) : estende l’interfaccia anche ai CD (detto anche Ultra ATA o ATA/33)

• Velocità: 16 MB/s (introduzione) 133 MB/s (finale)

(61)

61

IDE/ATA

(62)

62

Bus Seriali

• I trasp. Che seguono mostrano alcuni bus seriali

• In genere si tratta della trasformazione di bus paralleli in bus seriali:

SAS (Serial Attached SCSI, deriva dalo SCSI)SATA (Serial ATA, deriva da ATA)

– A livello di controllore mantengono la compatibilità con i paralleli da cui derivano

DOMANDA: Perché passare da bus paralli

(apparentemente più veloci) a bus seriali ?

(63)

63

SAS

Serial Attached SCSI

• Evoluzione in forma di bus seriale

• Punto-punto

• Compatibile con il SCSI (al controllore), ma è un protocollo a livelli

• Preferito al SATA sui server

• Il cavo corrisponde a 4 collegamenti SATA (vedi avanti)

• Velocità

– 3 Gb/s : 300 MB/s

– 6 Gb/s : 600 MB/s

(64)

64

SATA (introdotto nel 2003)

• Serial Advanced Technology Attachment

Bus Seriale, point to point

• Praticamente ha del tutto rimpiazzato ATA

• I comandi al controllore sono rimasti quelli IDE per compatibilità, ma il protocollo è a livelli

• Preferito a SAS su applicazioni non critiche

• Velocità:

– Rev 1 1,5 Gb/s: 150 MB/s – Rev 3 6 Gb/s: 600 MB/s

– SATA Express: 16 Gb/s: 1,6 GB/s (su bus PCIe)

(65)

65

SATA

• Point-to-point

– A tutti gli effetti un collegamento diretto anche se si continua a chiamarlo “bus” (meglio parlare di interfaccia)

• 7 linee: 3 masse e 4 segnali

Nota: le tre masse hanno contatti

leggermente più lunghi per fare in

modo che si tocchino prima

(66)

66

SATA Protocollo a 3 livelli

• Link Layer – comandi primitivi

– Corrisponde al livello fisico, livello di segnale, caratteri

• Packet Layer – scambio di “frame”

• Application/Command Layer –

– È il livello che presenta un’interfaccia compatibile con i comandi ATA

– Un comando ATA (compresi i dati) viene trasformato in una serie di pacchetti che, a loro volta, si trasformano in una serie di caratteri

Nei bus seriali i protocolli a più livelli sono lo

standard

(67)

67

USB (1995)

Universal Serial Bus

• Nel mondo dei PC è’ diventata l’interfaccia standard per qualunque dispositivo esterno

• Più che un bus è un sistema di interconnessione di periferici che ha al centro un host

– Capacità di collegare più dispositivi sulla stessa porta USB – Periferrici e hub

• Collegamento/scollegamento a caldo

• Protocollo di comunicazione a 3 livelli

• Velocità

– USB 1.1 : 1,5 MB/s

– USB 2.0 : 35 MB/s (effettivi)

– USB 3.0 : 400 MB/s (effettivi)

(68)

68

USB

(69)

69

USB Protocollo/livelli flusso

(70)

70

SSD (Solid-State Drive)

• Usano Memorie Flash

– Ci sono anche SSD RAM (più veloci, ma (ovviamente) volatili)

• Vantaggi

– Silenziosi, meno influenzati da urti

– Più veloci (non ci sono i tempi i seek e di latenza)

• Svantaggi

– Più costosi (almeno per ora….)

• Interfacce

Seriali: SATA; Serial attached SCSI (usualmente sui

server); USB; Fiber Channel (esclusivamente sui server);

PCI Express

Parallele: IDE/ATA; SCSI (tendenzialmente rimpiazzate

dalle corrispondenti seriali)

(71)

G. Bucci - Calcolatori Elettronici 71

Evoluzione tecnologica

(72)

G. Bucci - Calcolatori Elettronici 72

La forbice

Negli anni è cresciuta, e continua a crescere, la differenza di velocità tra CPU e memoria.

(Anche se negli ultimi anni si è leggermente

attenuata)

(73)

G. Bucci - Calcolatori Elettronici 73

Cicli di wait

f: frequenza del clock

N: numero di cicli previsti dalla CPU per l’accesso alla memoria

Tempo di memoria: t = N/f deve essere > t ACC

E se non è verificata?

• Una soluzione è inserire cicli di wait

t = (N + Nw)/f > t ACC

Quanto più la macchina è veloce, tanto più si paga.

(74)

G. Bucci - Calcolatori Elettronici 74

Il caso Intel …..

(75)

G. Bucci - Calcolatori Elettronici 75

... Il caso Intel

A partire dal 486 frequenza interna (f) ed esterna (f bus )sono diverse.

• I cicli di Wait sono improponibili (già dal 386)

• La soluzione sono le CACHE

(76)

G. Bucci - Calcolatori Elettronici 76

Gerarchia

• Località spaziale

• Località temporale

• Non serve una memoria “piatta”. Meglio una gerarchia

Cache

M centr.

(77)

G. Bucci - Calcolatori Elettronici 77

Gerarchia

(78)

G. Bucci - Calcolatori Elettronici 78

Esempio di Gerarchia (Pentium II)

(79)

G. Bucci - Calcolatori Elettronici 79

Organizzazione Memoria

• Elemento indirizzato

– E’ convenzione assegnare gli indirizzi ai byte

• Grado di parallelismo

– Numero di bit del bus dati

• Selezione degli integrati componenti

M

Indirizzi A

n-1

- A

0

Dati: 8, 16, 32, 64 bit

Comandi

(80)

G. Bucci - Calcolatori Elettronici 80

Ordinamento

• Intel: Little Endian

• Motorola: Big Endian

• PowerPC: a scelta

6 5 4 3 3 1 0

2

1 3 4

0 5 6

MSB LSB

(81)

G. Bucci - Calcolatori Elettronici 81

Allineamento in memoria

• Esempio: parole di 32 bit, formate da quattro banchi di 8 byte

• La parola tratteggiata è non allineata; ha il byte meno significativo in i+6 (Little Endian) il più significativo in i+9

• Occorrerebbero due accessi alla memoria

Di so lito n on perm esso

nelle RIS C

(82)

G. Bucci - Calcolatori Elettronici 82

Organizzazione Memoria

• Memoria a 8 bit

Linee Ind: A log(C)-1 …..A 0

(83)

G. Bucci - Calcolatori Elettronici 83

Organizzazione Memoria

• Parole di 32 bit (stile Intel)

(84)

84

LD

(NB: Little endian)

Lo schema è per il caso generale:

LDW LDB LDH

Stile RISC

(85)

85

ST

(NB: Little endian)

Lo schema è per il caso generale:

STW STB STH

Stile RISC

(86)

G. Bucci - Calcolatori Elettronici 86

Indirizzamento

• L’interpretazione del campo IND può essere differente da macchina a macchina

• Indirizzo effettivo (EA): Il valore che risulta dal calcolo dell’indirizzo attraverso i componenti espliciti contenuti nell’istruzione

LD RA, VAR

ST VET(R28), R12 MOV AX, VAR

MOV VET(IS), BX

(87)

G. Bucci - Calcolatori Elettronici 87

Rilocazione Modello lineare

Costruito dal compilatore

Dopo la rilocazione

Deve contenere l’indicazione di

“rilocabile”

(88)

G. Bucci - Calcolatori Elettronici 88

Rilocazione Modello segmentato

• Non c’è bisogno di modifiche

(89)

G. Bucci - Calcolatori Elettronici 89

Modalità di indirizzamento (dati)

Indirizzamento diretto

LD R1, var ; EA= IND R1:= M[EA]

Indirizzamento relativo ai registri

ST var(R3),R6 ; EA= IND + R3 M[EA]:= R6

Indirizzamento indiretto rispetto ai registri

LD R1, (R2) ; EA= R2

Indirizzamento relativo ai registri indiciato e scalato

LD R1, var (R2) (Rx) ; EA= IND + R2 + RX*d

d è la dimensione dell’elemento

(90)

G. Bucci - Calcolatori Elettronici 90

Modalità di indirizzamento (dati)

Indirizzamento indiretto rispetto ai registri con autoincr.

LD R1, (R2)+ ; EA= R2; R2:= R2 + d

Indirizzamento immediato

LD R1, 2346 ; R1:= 2346

Indirizzamento tra registri

LD R16,R8 ; R16:= R8

Indirizzamento porte di I/O

IN R5,Porta ; R5:= porta (di ingresso)

(91)

G. Bucci - Calcolatori Elettronici 91

Modalità di indirizzamento (controllo)

• Salto, salto condizionato, chiamata e ritorno da sottoprogrammi

– Diretto

– Relativo al PC o ad altro registro

• Esempi

JMP DEST ; Diretto o relativo a PC JZ wait ; Di solito relativo a PC

call sub ; PUSH(PC); PC<=Indirizzo sub BR R30 ; EA destinazione = R30

BAL sub ; R30<-PC ; PC<=Indirizzo sub;

RET ; PC<=POP

(92)

G. Bucci - Calcolatori Elettronici 92

Memoria Istruzioni

(93)

G. Bucci - Calcolatori Elettronici 93

Istruzioni e architettura

a= b+c

• Soluzione 1 (macchina a 3 indirizzi)

– ADD A, B, C

• Soluzione 2 (stile RISC)

– LD R1,B – LD R2,C

– ADD R3,R1,R2 – ST A,R3

• Soluzione 3 (un indirizzo)

– LD R1,B

– ADD R1,C

– ST A,R1

(94)

G. Bucci - Calcolatori Elettronici 94

Istruzioni e architettura

a= b+c

• Soluzione 4 (Stack - 0 indirizzi)

– PUSH B – PUSH C – ADD

– POP A

(95)

G. Bucci - Calcolatori Elettronici 95

Programma in memoria

(96)

G. Bucci - Calcolatori Elettronici 96

Controllo del flusso

• JMP DEST

• JE Ra,Rb,DEST

• PSW: Z, S, O, C

CMP R1,R2

JZ DEST

(97)

G. Bucci - Calcolatori Elettronici 97

Verso il repertorio

int s, i;

int v[10];

s= 0; i=0;

while (i<10){s= s+v[i]; i= i+1;}

• Il precedente formato dell’istruzione LD non ci basta.

Vogliamo scrivere

LD R3,V(R2)

(98)

G. Bucci - Calcolatori Elettronici 98

Traduzione

Riferimenti

Documenti correlati

Nel presente lavoro di tesi è stato verificato se nel panello, ottenuto dalla spremitura a freddo dei semi di lino, si mantenessero le caratteristiche salutistiche tipiche del seme e

Andrebbe pertanto sancito che l’impiego della macchina in sede giurisdizionale fosse as- soggettato a un controllo umano significativo rappresentato dalle seguenti imprescindibili

«correttezza e [del]la parità del contraddittorio fra le parti e fra queste ed il giudice» 76 , dovrebbe rinforzarsi la richiesta che la decisione sia resa senza servirsi

Malgrado le associazioni tra queste (ed altre) strutture cerebrali e le alterazioni cognitive osservabili non siano state sufficienti a svelare degli

Ad esempio, mentre nella famiglia Motorola (a 32 bit) i byte sono normalmente numerati da sinistra a destra, al contrario, nella famiglia INTEL (a 32 bit) avviene il contrario,

Ci concentriamo sul modo in cui l’errore dipende dal parametro h e ignoriamo dettagli meno importanti come il valore

In pratica, nella funzione di codifica del messaggio, il bit 0 del primo carattere del messaggio viene memorizzato come bit meno significativo del canale di destra del primo

Rappresenta anche i codici di Latin-1 (e ASCII) mettendoli nel byte meno significativo e usando un byte più significativo posto a zero.. Char ASCII