• Non ci sono risultati.

Principi operativi dei computer

N/A
N/A
Protected

Academic year: 2021

Condividi "Principi operativi dei computer"

Copied!
53
0
0

Testo completo

(1)

Principi operativi dei

computer

Capitolo 7

(2)

I soliti sospetti

Processore Sistema operativo Software Istruzioni Ciclo macchina Memoria Hardware componente

(3)
(4)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

tastiera mouse touchscreen microfono camera scanner monitor stampante altoparlanti vibrazione disco rigido memoria USB scheda flash rete CPU Bus

(5)

Ciclo Macchina

RAM➞CPU CPU RAM➞CPU CPU CPU➞RAM

Fetch istruzione (IF)

Decodifica istruzione (ID)

Fetch Dati (DF)

Esecuzione Istruzione (EX)

(6)

RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

(7)

RAM

Contiene

il programma in esecuzione

(8)

Caratteristiche della

RAM

Locazioni discrete

ogni locazione è di 1 byte Indirizzi

(9)

Caratteristiche della

RAM

Valori

le locazioni di memoria memorizzano valori Capacità finita

sia nel numero di locazioni

(10)

locazioni come rettangoli

indirizzo

valore

100 C i a o ! $ * ( b d a )

(11)

Locazioni da un byte

Ogni locazione contiene una sequenza di 8 bit Parola di memoria

(12)

RAM

Accesso Causale o diretto

il computer può accedere direttamente a qualsiasi locazione di memoria

Ordine di grandezza: gigabyte (GB) Avere molta memoria è preferibile

(13)

Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

(14)

CPU

Controllo + ALU

(15)

controllo CPU

controllo

ALU

controllo

Fetch istruzione (IF)

Decodifica istruzione (ID)

Fetch Dati (DF)

Esecuzione Istruzione (EX)

(16)

Istruzione esempio

ADD 4000, 2000, 2080

somma i numeri nelle locazioni 2080 e 2000

scrive il risultato nella locazione di memoria 4000

riferimento indiretto

(17)

Istruzione esempio

Il passo di Fetch Dati

deve estrarre i due valori

Il passo Restituzione Risultato

(18)

ALU

Arithmetic Logic Unit Esegue tutti i calcoli

il passo esecuzione istruzione Circuito della ALU per la somma Si sono altri circuiti

(19)

Risultati operazione

ADD 4000, 2000, 2080 4000 2080 2000 48 2 50 4000 2080 2000 9 0 9 4000 2080 2000 14 14 28

(20)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

tastiera mouse touchscreen microfono camera scanner monitor stampante altoparlanti vibrazione memoria USB disco rigido scheda flash rete

(21)

Input e output

Le periferiche

si collegano alle porte di input/output

non sono parti vere e proprie del computer

specializzate per codificare o decodificare i dati scambiati col mondo esterno

(22)

Hard disk

Periferica alfa

Chiavi USB e hard disk

hanno entrambe le funzioni di input e output archivio “permanente” di dati

vita “attesa”

Obsolescenza della

tecnologia

(23)

Le periferiche

La tastiera

trasforma le battute sui tasti in formato binario Il monitor

(24)

Driver delle periferiche

Le periferiche sono “stupide” Driver

traduzione tra fenomeno fisico e segnale binario Il computer fa tutto il resto

interpreta il segnale binario riportato dalla periferica prepara l’output

(25)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

Bus

(26)

BUS

Tutti i trasferimenti di dati passano attraverso il bus Come una autostrada a più corsie

ampiezza velocità

(27)

Un “PC” nel PC

Program Counter

Qual’è la prossima l’istruzione da eseguire?

(28)

Aggiornamento del PC

Al fetch di una nuova istruzione il PC è incrementato di 4

Al prossimo fetch

(29)

Decodifica delle

istruzioni

Esecuzione di un programma

il computer interpreta i nostri comandi espressi nel suo proprio linguaggio

(30)

ADD 800, 428, 884

Esecuzione di ADD 800, 428, 884 somma indirizzo risultato indirizzo 1º addendo indirizzo 2º addendo

(31)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

2000 2080 4000 800 Bus 800 800 30 12 ADD 4000, 2000, 2080

(32)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

2000 2080 4000 800 Bus ADD 4000, 2000, 2080 800 800 30 12 ADD 4000, 2000, 2080

(33)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

2000 2080 4000 800 Bus 800 2000 30 12 ADD 4000, 2000, 2080 ADD 4000, 2000, 2080 2080 + 4000 804

(34)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

2000 2080 4000 800 Bus 804 30 12 ADD 4000, 2000, 2080 2000 2080 30 + 4000 12

(35)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

2000 2080 4000 800 Bus 804 30 12 ADD 4000, 2000, 2080 30 + 4000 12 42

(36)

Input Output Controllo istruzione IF ID DF EX RR program counter ALU dato 1 dato 2 [ ] risultato indirizzo risult. RAM indirizzo dato 1 indirizzo dato 2 indirizzo istruzione

indirizzo contenuto memoria

2000 2080 4000 800 Bus 804 30 12 ADD 4000, 2000, 2080 30 + 4000 12 42 42

(37)

Velocità del ciclo

macchina

In un secondo esegue un enorme numero di istruzioni Il clock del computer

determina la velocità del ciclo macchina misurato in Hertz (Hz)

(38)

Software visto dal

computer

Vede un oggetto binario (codice macchina)

una sequenza di parole (word, gruppi di 4 byte) l’unico che comprende e sa eseguire

(39)

Il linguaggio assembly

Alternativa al linguaggio macchina usa lettere e numeri

Di più facile comprensione per le persone

(40)

Assemblare

Il computer scandisce il programma assembly

quando incontra una parole chiave cerca in una tabella la corrispondente sequenza binaria

assembla le varie parti dell’istruzione “costruisce” l’istruzione macchina

(41)

Linguaggi di alto livello

La maggior parte del software è scritta così Prima compilato in linguaggio assembly

(42)

Compilare

Il processo è svolto da un’applicazione

Dai costrutti del linguaggio di alto livello all’assembly Scritto in un linguaggio di alto livello (es. C o Java)

(43)

Eseguire

un’applicazione

Le istruzioni macchina vengono trasferite dal disco nella memoria RAM

Il ciclo macchina esegue le istruzioni

Tutte le istruzioni del computer sono eseguite dai circuiti contenuti nell’ALU

(44)

Sistemi operativi

Offrono le operazioni base per l’uso del computer non supportate direttamente dall’hardware

I tre più usati per personal computer: Microsoft Windows

Apple MacOS X Linux (Unix)

(45)

GUI

Sono “impacchettati” e forniti con l’OS bordi delle finestre,

le barre di scorrimento, i pulsanti,

(46)

Caratteristiche

Multitasking

può eseguire più processi per volta

gestione dei programmi in esecuzione Multiuser

(47)

Time sharing

Suddivide il tempo in intervalli frazioni di secondo

Ad ogni intervallo:

un solo programma è in esecuzione ciclicamente esegue tutti i programmi

(48)

Software Sistema Applicazioni Sistema operativo Utilità Shell Kernel

(49)

Shell

Interfaccia con l’utente contiene anche le GUI

(50)

Kernel

Parte interna del sistema operativo driver

file manager

(51)

File manager

Gestisce i file nella memoria di massa permessi di accesso

allocazione icone

(52)

Memory manager

Gestisce la RAM e i processi in esecuzione Paginazione

(53)

fine

Capitolo 7

Riferimenti

Documenti correlati

ad ogni condition viene associata una coda nella quale i threads possono sospendersi (tipicamente, se la condizione non

o istruzioni da memoria a registro, che permettono il passaggio delle parole dalla memoria ai registri della CPU, dove possono essere usate come input dell’ALU, quali operandi

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl.. Capitolo 7

  Con n processi nella coda e un quanto di tempo = q, ogni processo riceve 1/n di CPU time in blocchi di q unità per

Starvation: si verifica quando uno o più processi di priorità bassa vengono lasciati indefinitamente nella coda dei processi pronti, perchè vi è sempre almeno un processo pronto

Input value (D) bytes mask (access. enable if 1) Write

assembly MIPS in linguaggio macchina in formato esadecimale calcolando prima i valori esadecimali Loc1 e Loc2 che permettono di saltare esattamente all’indirizzo indicato

assembly MIPS in linguaggio macchina in formato esadecimale calcolando prima i valori esadecimali Loc1 e Loc2 che permettono di saltare esattamente all’indirizzo indicato