• Non ci sono risultati.

Università degli Studi di Udine

N/A
N/A
Protected

Academic year: 2021

Condividi "Università degli Studi di Udine"

Copied!
26
0
0

Testo completo

(1)

FONDAMENTI DI INFORMATICA

Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria

Università degli Studi di Udine

Architettura e funzionamento del

calcolatore

(2)

Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori.

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono

Nota di Copyright

(3)

Modello di calcolatore

• Si farà uso di un modello semplificato di elaboratore di tipo RISC (Reduced

Instruction Set Computer)

• Per esso vengono nel seguito definiti:

– architettura

– linguaggio macchina/linguaggio assembler

(4)

Architettura del processore

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR R0

R1

R15

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags

16 fili

3 fili

16 fili

(5)

Caratteristiche del processore

• Parallelismo: 16 bit

• 16 registri general purpose da 16 bit

• 3 registri special purpose non

direttamente indirizzabili dalle istruzioni

Program Counter (PC) Instruction Register (IR) Stack Pointer (SP)

• flag:

Z (zero) N (negative)

C (carry: Cn) V (overflow: Cn-1 ⊕ Cn)

(6)

Caratteristiche del processore

• Isolated I/O: 16 bit per gli indirizzi di I/O

• Macchina “load & store”:

– le uniche istruzioni che possono accedere alla memoria sono quelle che trasferiscono i dati da e verso i registri

– tutte le altre operazioni operano soltanto sui registri

• Nell’accesso alla memoria l’indirizzo

può essere espresso in tre modi (“modi

di indirizzamento”)

(7)

Modi di indirizzamento

• Operando immediato

– la parola che segue l’istruzione contiene il

dato (e quindi l’indirizzo del dato è contenuto nel PC)

• Indirizzo assoluto

– la parola che segue l’istruzione (indirizzo nel PC) contiene l’indirizzo del dato

• Indirizzo in registro

– l’indirizzo del dato è contenuto nel registro

specificato dal codice dell’istruzione

(8)

Unità di controllo

sequential logic circuits

instruction register clock

status signals from processor

control

signals to processor

...

instruction

decoder

(9)

Unità aritmetico-logica

combinational circuits

data registers and control

signals from control unit

...

status signals to control unit

flags

(10)

Il control bus

R/W

La CU lo pone a 1 per le operazioni di lettura, a 0 per le operazioni di scrittura

M/IO

La CU lo pone a 1 per le operazioni di lettura o

scrittura in memoria, a 0 per le operazioni di lettura o scrittura su dispositivi di input/output

W/B

La CU lo pone a 1 per le operazioni di lettura/scrittura di

(11)

Memoria RAM

0000 0001 0002 0003 0004 0005 0006 0007

...

Address

bus Data

Control bus bus

R/W, M/IO, W/B

address decoder

.. .

(12)

Dispositivi di I/O

Address Control Data

address

decoder R/W, M/IO, W/B

Indirizzo monitor 0000

Indirizzo tastiera

0001

(13)

Address bus

CPU

Control Unit

Arithmetic and Logic 0003 PC Unit

IR

Memoria Dispositivi di I/O

00 10 CF 36 0000 0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

Control

SP

flags

0003

R0 R1

R15

M/IO = 1 (memory), R/W = 1 (read) W/B = 1 (word)

(14)

Instruction fetch (II)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

1000 IR

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags

in cremen t

00 10

1000

CF 36 0005

R0 R1

R15

(15)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

Control

SP

flags 1000

0005 00

10 CF 36

0005

R0 R1

R15

M/IO = 1 (memory), R/W = 1 (read) W/B = 1 (word)

(16)

Operand fetch - op. immediato (II)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR 36CF

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags 1000

00 10 CF 36

36CF

in cremen t

0007

R0 R1

R15

(17)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

Control

SP

flags 2000

0005 00

20 00 00

0005

A8 51

R0 R1

R15

M/IO = 1 (memory), R/W = 1 (read) W/B = 1 (word)

(18)

Operand fetch - ind. assoluto (II)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags 2000

00 20 00 00

0000 0000

in cremen t

0007

A8 51

R0 R1

R15

M/IO = 1 (memory), R/W = 1 (read) W/B = 1 (word)

(19)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR 51A8

Memoria Dispositivi di I/O

A8

0000 51 0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

Control

SP

flags 2000

0007 00

20 00 00

51A8

R0 R1

R15

(20)

Operand fetch - ind. in registro (I)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR

0006

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags

97 22

3001 R0

R1

R15

M/IO = 1 (memory), R/W = 1 (read) W/B = 1 (word)

(21)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR 2297

Memoria Dispositivi di I/O

97 22 0000 0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

Control

SP

flags

2297

0006

3001 R0

R1

R15

(22)

Memory store - ind. assoluto (I)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR 3003

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags 2200

0005 00

22 00 00

0005

R0 R1

R15

M/IO = 1 (memory), R/W = 1 (read) W/B = 1 (word)

(23)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

Control

SP

flags 2200

00 22 00 00

0000 0000

cremen in t

3003

0007

R0 R1

R15

M/IO = 1 (memory), R/W = 0 (write) W/B = 1 (word)

(24)

Memory store - ind. assoluto (III)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR

Memoria Dispositivi di I/O

03

0000 30 0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags 2200

0007 00

22 00 00

3003

3003 R0 R1

R15

(25)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR 2297

0006

Memoria Dispositivi di I/O

0000

0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

Control

SP

flags

3201 R0

R1

R15

M/IO = 1 (memory), R/W = 0 (write) W/B = 1 (word)

(26)

Memory store - ind. in registro (II)

Address bus

CPU

Control Unit

Arithmetic and Logic PC Unit

IR 2297

Memoria Dispositivi di I/O

97 22 0000 0001 0002 0003 0004 0005 0006 0007

...

...

Data bus

SP

flags

2297

0006

3201 R0

R1

R15

Riferimenti

Documenti correlati

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slides.. In ogni caso questa nota di copyright non deve mai essere rimossa e

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in