Anteprima
Vedrai una selezione di 8 pagine su 33
Appunti Informatica Pag. 1 Appunti Informatica Pag. 2
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Appunti Informatica Pag. 6
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Appunti Informatica Pag. 11
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Appunti Informatica Pag. 16
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Appunti Informatica Pag. 21
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Appunti Informatica Pag. 26
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Appunti Informatica Pag. 31
1 su 33
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

CONTROL UNIT

È la aprte del processore che coordina le attività del processore, permette l’esecuzione dei programmi

La control unit ripete ciclicamente 3 fasi Ciclo di fetch-decode-execute (o ciclo della machcina)

Fetch: recupero della prossima istruzione da eseguire

Decode: decodifica, cerca di capire cosa deve fare

Execute: esecuzione dell’operazione

L’eseguzione comporta l’invio di dati e comandi opportuni all’unità interssata

Per i calcoli viene coinvolta l’arithmetic logic unit, per lettura/scrittura dei dati viene coinvolta la memoria

La frequenza con cui è eseguito il ciclo di fetch-decode-execute è scandita dal clock (orologio interno)

Ad ogni impulso di clock la CU esegue un ciclo

La velocità di elaborazione di una CPU dipende dalla frequenza del suo clock

Arithmetic logic unit (alu)

-Esegue operazioni aritmetiche e logiche

-preleva gli operandi dai registri e deposita il risultato delle operazioni in uno (o più) registri.

Registri

I registri sono un'altra componente della cpu e sono spazi di archiviazione.

-Sono piccole celle di memoria con tempi di accesso molto più bassi rispetto alla memoria primaria.

-Mantengono le informazioni necessarie per eseguire l’istruzione corrente

-Hanno dimensioni di 16,32 o 64 bit

- si dividono in registri:

● Generali: sono registri ad uno generale, servono a memorizzare temporaneamente informazioni

elaborate dalla cpu.

Contengono gli operandi e i risultati delle istruzioni in esecuzione.

In alcune architetture, alcuni registri hanno funzioni privilegiate ad es. l’accumulatore in genere

contiene il risultato delle operazioni

● Speciali (pc, ir):

● Program Counter: è un registro speciale che conserva l’indirizzo in memoria principale della

prossima istruzione da seguire. Va a prendere dalla memoria centrale (ram) la prossima istruzione

da eseguire e la manda in esecuzione

La ram è grande quindi PC porta info alla Control Unit

Ad ogni giro, quando c’è la fetch, la Control Unit va a vedere cosa c’è nella program counter.

PC elabora il flusso di informazioni da e verso la memoria centrale, va a prelevare la sequenza di bit

che ci sono in quella locazione di memoria, la porta al suo interno ed esegue l’operazione

Da qualche parte al suo interno Instruction register

● Instruction register (IR)

-Contiene l’istruzione attualmente in esecuzione

-è un registro speciale

Esempio di ciclo fetch-decode-execute

Programma viene caricato in RAM => viene trasferito dal disco alla ram

Codice macchina del programma viene copiato in memoria ram

Nella CPU, nel momento in cui il programma viene caricato in memoria, il PC assume il valore di indirizzo di

caricamento del programma. Viene tenuta traccia nel PC di qual è il punto della memoria in cui il

programma è stato messo.

CPU fa la fetch, va a vedere qual è la prossima istruzione da eseguire (quella riferita dal PC), prende

l’istruzione e la mette nel Instruction register

Il pc viene incrementato unitariamente (prende l’istruzione dopo)

Avviene la fase di decode control Unit cerca di capire l’istruzione, se è un operazione aritmetica usa

l’arithmetic logic unit che poi manda il risultato all’accumulatore

Memoria secondaria

È una memoria aggiuntiva rispetto alla ram che serve a superare i limiti della ram stessa. I limiti della ram

dipendono dal fatto che è volatile e poco capiente perché costosa.

Le applicazioni sono installate nella memoria secondaria, anche il sistema operativo.

- è molto più ampia

-costa meno di molti altri componenti

-non volatile

-lenta

La CPU può eseguire (ed elaborare) esclusivamente programmi ( e dati) che risiedono in memoria

principale.

I programmi e i dati risiedono in memoria secondaria perciò devono essere copiati in memoria principale

Quando si esegue un programma, il sistema operativo lo copia da memoria secondaria in RAM.

L’operazione si chiama loading o caricamento

La memoria secondaria è composta da due elementi:

● Supporti di memorizzazione: componenti fisici in cui vengono immagazzinati i dati

● Dispositivi di memorizzazione: leggono/scrivono dati dal/sul supporto di memorizzazione.

La memoria secondaria ha tecnologie diverse:

- Magnetica

- Ottica

- Magnetico-ottica

- Flash (o allo stato solido)

Fanno riferimento a fenomeni fisici differenti, per ciascuna abbiamo un fenomeno fisico che viene

implementato per sfruttare l’idea dello 0 e dell’1

Gerarchia di memoria

Ordina le memorie in base ai parametri che sono legati tra loro: dimensioni, capacità, velocità e costo e

tempo di accesso

Memorie sono in ordine decrescente per quanto concerne velocità e costo( in alto i più veloci e

costosi),in ordine crescente per dimensioni e capacità

Il bus

Serve a collegare tra loro vari componenti. È una linea di comunicazione per la trasmissione di informazioni

tra i vari componenti del sistema

Fisicamente è un insieme di collegamenti in rame.

Tutti i componenti sono collegati al bus.

IL SOFTWARE

L’hardware da solo e soltanto un insieme di ferro, plastica e silicio e non è sufficiente per il funzionamento

dell’elaboratore. Occorre utilizzare un software: un insieme di programmi che permettono di trasformare

un insieme di circuiti elettronici in un oggetto in grado di svolgere funzioni di varia natura

I computer sono programmabili: possono svolgere compiti diversi in base a istruzioni contenute nei

programmi

Il sistema operativo

Il sistema operativo è un insieme di programmi che interagiscono e cooperano tra di loro per:

-gestire efficacemente il computer e le sue periferiche

-creare un ambiente virtuale per facilitare l’interazione uomo-macchina.

Esempio: stampa di un file che si chiama ‘documento’. A livello fisico questa operazione è complessa e

richiede operazioni coordinate dalla cpu. Il sistema operativo fornisce all’utente un comando di stampa, per

l’utente quindi non c’è nulla di complesso.

Il sistema operativo esegue un comando seguendo i seguenti passi:

1. Verifica se si tratta di un programma valido

2. Lo traduce per la macchina fisica, lo trasforma in un comando effettivo, in una serie di operazioni

sulla macchina fisica

3. Esegue il comando e una volta concluso fornisce un riscontro all’utente e si pone in attesa di un

nuovo comando da parte dell’utente

Funzioni svolte dal sistema operativo

● Accensione e configurazione della macchina (bootstrap)

● Gestione del processore

● Gestione della memoria (principale e virtuale)

● Linguaggio ad alto livello per interazione con l’utente, è un linguaggio virtuale che fa da tramite tra

utente e macchina

● Gestione e accesso alle informazioni su memoria secondaria (file system)

● Gestione e uso ottimale delle risorse di input/output (dischi, stampanti...)

● Fornisce un supporto per la comunicazione tra elaboratori

IL BOOTSTRAP (accensione e configurazione macchina)

È l’avvio dell’elaboratore

Primo problema: -la CPU esegue esclusivamente programmi in memoria principale

- RAM volatile vuota quando si accende il computer

Come fare?

Dove sta il problema operativo?

Prima soluzione: -mettere i programmi e il sistema operativo in memoria secondaria in modo da averli a

disposizione appena si accende il computer

Secondo problema: dobbiamo caricarli dalla memoria secondaria alla ram

Pe ricaricare i programmi da memoria secondaria usiamo il file system (cioè il sistema operativo)

MA il sistema operativo per poter andare in esecuzione deve stare in ram, la ram è volatile quindi è vuota

quando si accende il computer

Come fare?

Seconda soluzione: sfruttiamo la ROM che si occupa proprio dell’avvio della macchina, è una memoria non

modificabile.

Sulla rom si trova un programma che si chiama BIOS con il compito di caricare una parte del sistema

operativo dalla memoria secondaria alla ram

Quando arriva il pprimo impulso elettrico alla CPU, la CPU va a prendere il BIOS che sta nella ROM e lo

esegue. Esegue il BIOS, quindi esegue operazioni che permettono di prendere dalla memoria secondari ail

sistema operativo. Il trasferimento del sistema operativo avviene per effetto del bios.

A questo punto CPU è in grado di eseguire istruzioni presenti nella ram, caricherà il resto del sistema

operativo e potrà eseguire programmi.

Perché non si memorizza direttamente il sistema operativo nella ROM? Il sistema operativo sta sul disco, va

portato dal disco alla ram, per farlo usiamo la rom. Il sistema operativo non può stare sulla rom perché la

rom è di sola lettura.

Dovremmo costruire una rom già con le istruzioni del sistema operativo. Non sarebbe aggiornabile.

Sulla ROM ha senso memorizzarvi esclusivamente programmi/dati che non è necessario cambiare.

GESTIONE DEL PROCESSORE

Multitasking: i moderni sistemi operativi sono multitasking, cioè è possibile eseguire più programmi allo

stesso tempo, contemporaneamente.

Problema: spesso gli elaboratori hanno una unica CPU. Come possono eseguire più programmi

contemporaneamente?

Soluzione: il sistema operativo alterna i programmi assegnando la CPU a turno. In ogni istante un solo

programma è eseguito dalla CPU. Se l’alternanza è frequente si ha l’impressione che i programmi vengano

eseguiti contemporaneamente.

PROCESSI

Sono programmi in esecuzione

Un programma può trovarsi in uno dei 3 stati:

-in esecuzione: in esecuzione nella CPU (Può esserci massimo in processo in esecuzione per ogni cpu)

-in attesa: attende che un’operazione di I/O termini (o qualche altro evento esterno si verifichi)

-pronto: può andare in esecuzione, ma la CPU è occupata ad eseguire un altro processo

I programmi vanno eseguiti in ordine, l’ordine può essere in base all’ordine con cui arrivano le richieste o in

base prioritaria (i programmi più importanti vengono eseguiti per primi).

Il sistema operativo ha il compito di scegliere quale tra i programmi pronti mandare in esecuzione in modo

da usare l’elaboratore in modo efficiente (no sprechi) ed efficace (tempi di attesa limitati)

Il criterio per la scelta dei programmi da eseguire deve essere equo e snello, veloce, efficiente. Non deve far

sprecare tempo e risorse.

GESTIONE DELLA MEMORIA

Un programma per essere eseguito deve stare nella ram, noi mandiamo in esecuzione più programmi

contemporaneamente. La ram è limitata => il sistema operativo gestisce una memoria virtuale, è una

memoria non fisica, è un modo per gestire la memoria predisposto dal sistema operativo per dare

l

Dettagli
Publisher
A.A. 2021-2022
33 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Just Work di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Torino o del prof Pozzato Gian Luca.