Sei sulla pagina 1di 15

07/04/2016

CPU - Operating systems


Tecnologie informatiche per la comunicazione
Nicola Zeni

Fetch decode - execute


Passo 1 Fetch (16 bit) = 2 celle e incremento PC

Program counter
A0
Instruction reg.

Registri
(memoria)

RAM
Indiriz.

Dati

A0

15

A1

6C

A2

16

CPU
Program counter
A0
Instruction reg.
156C

RAM
Indiriz.

Dati

A0

15

A1

6C

A2

16

A3

6D

CPU
Program counter

RAM
Indiriz.

Dati

A2

A0

15

A1

6C

A2

16

A3

6D

Instruction reg.
156C

A3

6D

A4

50

Control UNIT

A4

50

Control UNIT

A4

50

A5

56

Copia i dati
contenuti nelle
celle A0, A1 nell
Instr. Reg.

A5

56

56

30

Incrementa
Program Counter

A5

A6

A6

30

A7

6E

A7

6E

A6

30

A7

6E

A8

C0

A8

C0

A8

C0

07/04/2016

Fetch decode - execute


Passo 2 - Decode
CPU
Program counter
A2
Instruction reg.
156C
Control UNIT
Op-code 1 = LOAD
5 = register num. 5
6C= indirizzi mem.

Passo 3 Execute
RAM
Indiriz.

Dati

A0

15

A1

6C

A2

16

A3

6D

A4

50

A5

56

A6

30

A7

CPU
Program counter
A2
Instruction reg.
156C

Passo 1 Fetch
RAM
Indiriz.

Dati

A0

15

A1

6C

A2

16

CPU
Program counter

RAM
Indiriz.

Dati

A2

A0

15

A1

6C

A2

16

A3

6D

Instruction reg.
166D

A3

6D

Control UNIT

A4

50

Control UNIT

A4

50

Copia i dati
contenuti nella cella
6C nel registro 5

A5

56

A5

56

A6

30

A6

30

6E

A7

6E

Copia i dati
contenuti nelle celle
A2, A3 nell Instr.
Reg.

A7

6E

A8

C0

A8

C0

A8

C0

Fetch decode - execute


Passo 1- Fetch incrementa PC
CPU
Program counter
A4
Instruction reg.
166D

RAM
Indiriz.

Passo 2 Decode

Dati

A0

15

A1

6C

A2

16

CPU
Program counter
A4
Instruction reg.
166D

Passo 3 Execute
RAM
Indiriz.

Dati

A0

15

A1

6C

A2

16

A3

6D

CPU
Program counter
A4
Instruction reg.
166D

RAM
Indiriz.

Dati

A0

15

A1

6C

A2

16

A3

6D

A3

6D

Control UNIT

A4

50

Control UNIT

A4

50

Control UNIT

A4

50

Incrementa
Program Counter

A5

56

Op-code 1 = LOAD
6 = register num. 6
6D= indirizzi mem.

A5

56

56

30

A6

30

A7

6E

Copia i dati
contenuti nella
cella 6D nel
registro 6

A5

A6

A7

6E

A8

C0

A6

30

A7

6E

A8

C0

A8

C0

07/04/2016

Esercizio
E meglio avere un processore con tanti core o avere pi processori?

Esercizio risp.
E meglio avere un processore con tanti core o avere pi processori?
Dipende dallutilizzo
Tipo

Velocit (rank)

Costi (rank)

Consumi (rank)

Uso

Multi core

Desktop / cell

Multiprocessore

Workstation / Server

07/04/2016

Esercizio
Quale dei seguenti elementi non fa parte della CPU
A. Bus
B. Unit di controllo
C. Unit dei registri

Esercizio risp.
Quale dei seguenti elementi non fa parte della CPU
A. Bus
B. Unit di controllo
C. Unit dei registri

07/04/2016

Esercizio
Quale delle seguenti rappresentazioni esadecimali non e un
istruzione per la CPU?
A. 40F4
B. GA56
C. BADE

Esercizio risp.
Quale delle seguenti rappresentazioni esadecimali non e un
istruzione per la CPU?

A. 40F4
B. GA56
C. BADE

10

07/04/2016

Esercizio
LInstruction register contiene:

A. Lindirizzo della prossima istruzione da eseguire


B. E un registro generico
C. Listruzione corrente

11

Esercizio risp.
LInstruction register contiene:
A. Lindirizzo della prossima istruzione da eseguire
B. E un registro generico
C. Listruzione corrente

12

07/04/2016

[Clock]
La velocit di clock il risultato del tempo che un microprocessore tutti i circuiti logici che lo compongono - impiega ad eseguire una
determinata istruzione in un secondo (1 Hz)
Le CPU odierne operano a velocit comprese tra 2Ghz 5Ghz
Determinate istruzioni possono impiegare piu cicli di clock per
eseguite unistruzione (n Hz)

https://it.wikipedia.org/wiki/Hertz

13

[Velocit della luce]

1044
1024
1021
1018
1015
1012
109
106
103
100
103
106
109
1012
1015
1018
1021
1024

E44 s
yoctosecondo
zeptosecondo
attosecondo
femtosecondo
picosecondo
nanosecondo
microsecondo
millisecondo
secondo
chilosecondo (16,7 minuti)
Megasecondo (11,6 giorni)
Gigasecondo (32 anni)
Terasecondo(32 000 anni)
Petasecondo (32 milioni di anni)
Exasecondo(32 miliardi di anni)
Zettasecondo (32 bilioni di anni)
Yottasecondo (32 biliardi di anni)

300.000 Km/sec
300.000.000.000 mm/sec
300.000.000 mm/millisec (1 millisec = 1 sec/1000)
300.000 mm/microsec (1 microsec = 1 milionesimo di secondo)
300 mm/nanosec. (1 nanosec = 1 miliardesimo di secondo)
30 cm/nanosec.

tP
ys
zs
as
fs
ps
ns
s
ms
s
ks
Ms
Gs
Ts
Ps
Es
Zs

30 cm 1 foglio A4

Tecnologie informatiche per la comunicazione - Nicola Zeni

https://www.ridble.com/migliore-scheda-madre/

14

07/04/2016

Esercizio
Qual il significato dellistruzione 16AB* ?
A. Salva nella memoria di indirizzo AB il contenuto del registro 6
B. Salva nella memoria di indirizzo AB il contenuto del registro 1
C. Carica nel registro 6 il valore contenuto nella memoria di indirizzo
AB
D. Carica nel registro 1 il valore contenuto nella memoria di indirizzo
AB
*Considerando il set di istruzioni della macchina riportata nellappendice C
15

Esercizio risp.
Qual il significato dellistruzione 16AB* ?
A. Salva nella memoria di indirizzo AB il contenuto del registro 6
B. Salva nella memoria di indirizzo AB il contenuto del registro 1
C. Carica nel registro 6 il valore contenuto nella memoria di indirizzo
AB
D. Carica nel registro 1 il valore contenuto nella memoria di indirizzo
AB
*Considerando il set di istruzioni della macchina riportata nellappendice C
16

07/04/2016

Esercizio
Prima dellavvento dello stored-program come venivano
implementati i programmi?
A. Venivano eseguiti dalloperatore della macchina
B. Loperatore riprogrammava la CPU per eseguire il nuovo compito
C. Veniva modificata la CPU per ogni programma da eseguire

17

Esercizio risp.
Prima dellavvento dello stored-program come venivano
implementati i programmi?

A. Venivano eseguiti dalloperatore della macchina


B. Loperatore riprogrammava la CPU per eseguire il nuovo compito
C. Veniva modificata la CPU per ogni programma da eseguire

18

07/04/2016

Esercizio
Quali delle seguenti istruzioni non appartiene alla
categoria delle istruzioni aritmetico/logiche?
A.
B.
C.
D.

AND
ADD
OR
JUMP
19

Esercizio risp.
Quali delle seguenti istruzioni non appartiene alla
categoria delle istruzioni aritmetico/logiche?
A.
B.
C.
D.

AND
ADD
OR
JUMP

logica (AND,OR,NOT,NOR,XOR)
artimetica (ADD,MULT,SUB)
logica (AND,OR,NOT,NOR,XOR)
shift (JUMP, MOV)
20

10

07/04/2016

Esercizio
Quali delle seguenti non una componente di
una istruzione macchina?
A. Op-code
B. Port
C. Operando

21

Esercizio risp.
Quali delle seguenti non una componente di
una istruzione macchina?
A. Op-code
B. Port
C. Operando

operation code
device
operazione su istruzioni

22

11

07/04/2016

Esercizio
Data la seguente configurazione CPU RAM, cosa succede dopo la fase di
execute?
PC
A4
IR
166D

A0

15

A1

6C

A2

16

A3

6D

A4

50

A5

56

A6

30

A7

6E

A8

C0

A9

00

Esercizio
Data la seguente configurazione CPU RAM, cosa succede dopo la fase di
execute?
PC
A6

IR
5056

A0

15

A1

6C

A2

16

A3

6D

A4

50

A5

56

A6

30

A7

6E

A8

C0

A9

00

Nuova fase di fetch:


listruzione nelle celle A4 e A5 viene copiata
nellInstruction Register
Il program-counter viene incrementato allindirizzo
successivo

12

07/04/2016

25

26

13

07/04/2016

Software

Sistema operativo
Il sistema operativo (S.O.)
un insieme di componenti
software che gestisce ed
interagisce direttamente
con il computer,
presentando a tutti gli altri
tipi di software
uninterfaccia che astrae
dalle caratteristiche
dellhardware specifico

Application

Esempi sistemi operativi


(https://en.wikipedia.org/wiki/List_of_operating_systems)
Server:

System
Operating
system

Utility

User
interface

Kernel

Windows Server NT, 2000, 2003, 2008, 2012, 2016


Unix: AIX, Solaris, z/OS, Os X
Linux: Ubuntu, RedHat, Debian,

Client:

Ms-Dos, Windows (3.0, 95, 98, XP, Vista, 7, 8, 10)


Macintosh Os (System 3, 5, 6, 7, 8, 10, 11), Os X (Unix)
Linux: Ubuntu, RedHat, Debian,

Tablet, Smartphone, - embedded systems

Java VM
Android
Chrome Os
iOS
Windows Phone, Windows 10
27

Sistema operativo (2)

Mainframe (100% cpu)


Server
PC, notebook
Tablet
Smartphone
.

Dalloperatore macchina al sistema operativo


Primi computer (mainframe): computer operator
Job (esecuzione programma), batch processing (collezione di programmi da
eseguire), job queue (coda lavori)
Moderni computer (server, pc): system administrator
Interactive processing (utente interagisce direttamente), real-time processing
Time-sharing (multiprogramming) = ambiente multiutente su singolo
computer (programma di contabilit centralizzato)
Load balancing, scaling

Multitasking = utente che esegue pi attivit in contemporanea (scrive,


ascolta musica, stampa)
28

14

07/04/2016

Sistema operativo (3)

Si occupa di gestire:

il processore ed programmi in esecuzione (detti processi)


software applicativi
la memoria principale (RAM) e memoria virtuale, paging
la memoria secondaria (Disco rigido)
i dispositivi di input/output
sicurezza
accesso multiutente

Interagire con lutente, gestendo il sistema a finestre gestione interfaccia


utente
Sistema operativo = System software + Utility software ( format, )
Internet Explorer:
Antitrust vs Microsoft

29

15