• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
36
0
0

Testo completo

(1)

17/10/19 1

Fondamenti di Informatica

Prof. Fenza Giuseppe

(2)

Fondamenti di

Informatica

Prof. Fenza Giuseppe

Riepilogo

(3)

Argomenti Principali

• Architettura di un Computer

– CPU

– Bus

– Memorie

– Periferiche

(4)
(5)

Riepilogo

• CPU (ALU, CU)

• REGISTRI

• Gerarchia delle Memorie

– Memoria Centrale

– Memoria Virtuale

– Memoria Cache

• BUS

• Memoria secondaria

• Periferiche di Input/Output

(6)

I tipi di bus

• Bus,

di sistema

oppure

locale

= connessione fisica tra CPU e le altre componenti del computer; trasporta i dati da un dispositivo all'altro.

• Si possono distinguere:

– bus dei dati (data bus): è di tipo bidirezionale (comunicazione cpu > dispositivi, dispositivi > cpu) e su di esso viaggiano dati ed istruzioni;

– bus degli indirizzi ( address bus ): è di tipo unidirezionale (comunicazione cpu > memoria centrale) e serve alla cpu per indicare alla memoria centrale le locazioni interessate dalle operazioni;

(7)

La macchina a registri a programma

memorizzato

– unità centrale di elaborazione (CPU – Central Processing Unit)

• esegue istruzioni per l’elaborazione dei dati

• svolge anche funzioni di controllo memoria centrale

– Memoria

• memorizza e fornisce l’accesso a dati e programmi in esecuzione

– interfacce di ingresso e uscita

• componenti di collegamento con le periferiche del calcolatore

– bus

• svolge funzioni di trasferimento di dati e di informazioni di controllo tra le varie componenti funzionali

La macchina di Von Neumann è composta da 4 tipi di componenti funzionali:

(8)

Il processore

• C.P.U. o unità centrale di elaborazione o

Processore, è un circuito integrato (Chip), che

effettua l’elaborazione vera e propria dei dati,

delle operazioni di calcolo e di controllo.

• Sulla superficie della CPU sono presenti:

– Miliardi di piccoli interruttori elettronici

miniaturizzati, di tipo acceso/spento, i transistor, – Altre componenti elettriche.

(9)

Coprocessori

• La CPU principale “delega” ai processori specializzati (Coprocessori) il trattamento di particolari tipologie di dati (es. filmati o suoni).

– Un coprocessore è un processore “dedicato” che, sotto il controllo della CPU e del Sistema Operativo svolge elaborazioni specialistiche che richiederebbero alla CPU un notevole dispendio di tempo

• Processore scheda video • Processore scheda audio

(10)

Processori Paralleli

• Più processori che collaborano, paritariamente, all’esecuzione di un programma.

– I processori possono cooperare

• Come in una catena di montaggio

• Processando contemporaneamente parti

diverse di una stesso dato (nelle previsioni del

tempo, ad esempio, ogni processore elabora una specifica zona geografica)

(11)

La CPU: Miglioramenti

Migliorare la velocità

• Una CPU con un clock alto è sicuramente veloce

• Attenzione:

– La velocità dipende anche, anzi soprattutto, dalla

velocità delle singole istruzioni che

compongono il suo insieme di istruzioni…

– ... che dipende dal numero di passi elementari

che le singole istruzioni devono effettuare per

(12)

Unità Centrale di Elaborazione (Central Processing Unit, CPU) e collegamento

con le altre unità funzionali.

La CPU è fisicamente realizzata sotto forma di microprocessore. clock

(13)

• PC (Program Counter): registro contatore delle istruzioni, contiene l’indirizzo della prossima istruzione da eseguire

• IR (Instruction Register): registro delle istruzioni, contiene l’istruzione che deve essere eseguita (codificata)

• MAR (Memory Address Register): registro di indirizzamento della memoria, contiene l’indirizzo della cella di memoria che deve essere acceduta o memorizzata

• MDR (Memory Data Register): registro dati di memoria, dato che è stato prelevato dalla memoria o che deve essere memorizzato

• PSW (Processor Status Word): parola di stato del processore; contiene informazioni, opportunamente codificate, circa l’esito dell’ultima istruzione che è stata eseguita

(14)

IL CICLO fetch/ decode / execute

14

1) FASE DI FETCH: si accede alla prossima istruzione (puntata da PC) e la si

(15)

2) FASE DI DECODE: si decodifica il tipo dell’istruzione in base al suo OpCode,

si individuano i dati usati dall’istruzione, e li si trasferisce nei registri opportuni

3) FASE DI EXECUTE: si esegue l’istruzione

L’esecuzione di un programma avviene eseguendo ordinatamente le istruzioni del programma, svolgendo ripetutamente il ciclo fetch-decode-execute

(16)
(17)
(18)

Principio di Località

• Località spaziale: quando si accede all’indirizzo A,

è molto probabile che gli accessi successivi

richiedano celle vicine ad A.

– le istruzioni vengono in genere lette da locazioni consecutive della memoria;

– gli accessi a vettori o a strutture dati sono “vicini”.

• Località temporale: quando si accede all’indirizzo

A, è molto probabile che negli accessi successivi si

richieda di nuovo la cella A.

– cicli di istruzioni accedono ripetutamente alle stesse locazioni di memoria;

– istruzioni vicine tendono ad utilizzare le stesse variabili.

(19)

Memoria Cache

• Procedimento:

– Si cerca se il dato /istruzione è presente nella cache e se c’è lo si usa (Cache Hit)

– Se invece non c’è (Cache Miss) lo si prende dalla RAM e lo si copia nella cache: la prossima volta verrà ritrovato nella cache

(20)

Memoria Virtuale e Swapping

• La RAM può saturarsi, soprattutto se sono – in esecuzione molti programmi

– aperti documenti molto grandi

• Quando la RAM è satura e l’utente vuole aprire un nuovo programma o un nuovo documento

– Il SO può:

• Impedire l’apertura del documento o del programma • Fare spazio in memoria

– I SO

• Di vecchia generazione adottavano la prima soluzione

(21)

Funzionamento

della Memoria Virtuale

• Il SO per fare spazio all’interno della RAM sposta dati e/o programmi

– dalla RAM – al Disco Fisso

• Questa zona del disco è detta “area di SWAP”, o file di swapping

• La memoria virtuale rallenta l'esecuzione dei programmi, ma

(22)

I diversi supporti

• tipologie di Memorie di massa: • MAGNETICHE

• OTTICHE

(23)

Modalità di Accesso ai Dati

• Accesso sequenziale

: prima di poter leggere una cella, è

necessario leggere quelle che la precedono (es. i nastri magnetici).

• Accesso casuale

: di accedere direttamente a qualunque

indirizzo di memoria ma con lo stesso tempo d'accesso (es. la memoria centrale).

• Accesso diretto o misto

: La memoria ad accesso diretto,

anche chiamata memoria ad accesso misto, è una tipologia di memoria informatica caratterizzata dal permettere l'accesso diretto a qualunque indirizzo di memoria con tempo di accesso variante e dipendente dall'indirizzo di memoria a cui è

avvenuto l'accesso precedente. (es. i dischi magnetici).

• Accesso associativo

: l’accesso a una cella non è guidato

dal suo indirizzo ma dal suo contenuto, che viene ricercato in parallelo su più celle (es. le memorie cache)

(24)

Argomenti Principali

• Sistema Operativo

– Gestione della Memoria

– Gestione dei Processi

– Gestione del File System

– Gestione I/O

(25)

Le funzioni principali del S.O.

Gestisce l’interazione tra utente e computer. Ogni operazione

dell’utente viene intercettata dal S.O.

– direttamente quando l’utente con dei comandi esegue operazioni

predefinite (es: cancellare un documento, …)

– indirettamente quando tramite programmi applicativi (es:

stampa documento tramite word, …)

Gestisce le risorse hardware

– Controlla, ottimizza l’uso e coordina la comunicazione tra le

risorse hardware del computer.

Gestisce le risorse software

– Pilota e controlla l’esecuzione degli altri programmi

– Assegna le risorse ai programmi applicativi e ne controlla

(26)

Le interfacce Grafiche Utente (GUI)

• Primi anni ’80 comparvero le prime interfacce Grafiche

(sviluppate da Xerox e Apple)

GUI (Graphic User Interface, Interfaccia Grafica Utente)

basate sulla Metafora della Scrivania

– Il video è una specie di scrivania (virtuale), il Desktop – L'utente comunica con il PC tramite mouse, e

iconeFinestre

menu a discesa che semplificano la scelta dei comandi. • Le GUI utilizzano la tecnologia WYSIWYG (What you see

is what you get). I documenti cioè vengono visualizzati così

(27)

KERNEL

Struttura del Sistema Operativo

(cont.)

Gestore dei Processi Gestore della Memoria Centrale Gestore degli I/O Gestore del File System

(28)

La Gestione dei Processi

• Un programma in esecuzione è anche detto processo – Programma = lista di istruzioni = nozione statica

(29)

Stato di un processo (1)

• In esecuzione: assegnato al

processore ed eseguito da esso

• Pronto: può andare in esecuzione, se il

gestore dei processi lo decide

• In attesa: attende il verificarsi di un evento esterno per andare in stato di pronto Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto

- Fine quanto di tempo - Interruzione esterna

Interruzione interna

Evento esterno atteso

- Fine esecuzione - Abort per errore

(30)

Allocazione Contigua

• Partizioni fisse

– Frammentazione Interna

– Frammentazione Esterna

• Partizioni variabili/dinamiche

– Frammentazione Esterna

(31)

MEMORIA Processo P

Allocazione Contigua

Sistema Operativo Processo Q Processo R Processo S MEMORIA Sistema Operativo Processo P Processo Q Processo R Processo S (1) Processo S (2)

Frammentazione Esterna

(32)

Cartelle o Directory

• Per rendere più agevole il ritrovamento dei files, il disco è diviso

in cartelle (chiamate directory)

– Una directory è un contenitore logico che, a sua volta, può

contenere altre cartelle o semplici files

– Una directory ha un nome che la contraddistingue dalle altre directory

• La maggior parte dei sistemi operativi adotta un file system

gerarchico: le cartelle sono strutturate ad albero, la cui radice è detta directory principale o ROOT

(33)
(34)

Master File Table (MFT)

• C'è un record nella MFT per ogni file sul disco, in cui troviamo le

seguenti informazioni:

– Nome lungo del file. – Nome in formato 8.3. – numero del file.

– Dimensioni dei file.

– Data e ora di creazione / modifica / accesso. – Attributi del file.

– I diritti di accesso

(35)

La Gestione delle Periferiche di I/O

(Cont.)

• Una caratteristica comune a tutti i dispositivi è quella di operare in

modo asincrono rispetto al processore

– Es.: Tastiera

• Sono pertanto necessarie delle forme di sincronizzazione tra i

dispositivi e il processore

– Un dispositivo di input deve avvertire il processore quando un

dato di input è disponibile

– Un dispositivo di output deve avvertire il processore quando ha

terminato di produrre dati in uscita

– I dispositivi di Input/Output inviano al processore un segnale,

detto interrupt, per richiedere l'attenzione del processore stesso

(36)

Device Dirver

• Il controllo dei dispositivi di I/O avviene attraverso

speciali programmi detti Device Driver;

• I device driver sono spesso realizzati dai produttori

dei dispositivi stessi che ne conoscono le

Riferimenti

Documenti correlati