Estratto del documento

OUTPUT

o Stampante

- Casse

- Monitor

-

b. Driver: ogni periferica richiede un driver, ossia un programma che gestisce

l'interazione tra il computer e il dispositivo.

Un aspetto distintivo è che i programmi e i dati sono memorizzati nella stessa memoria. Questo

facilita l'implementazione ma introduce il rischio del collo di bottiglia di Von Neumann, dove la

velocità complessiva è limitata dal tempo di trasferimento tra CPU e memoria.

La CPU è responsabile dell’esecuzione dei comandi e segue un ciclo operativo suddiviso in 5 fasi

principali, strettamente legate al Program Counter (PC) e al principio del programma memorizzato.

1. Fetch dell’istruzione:

La CPU legge dalla memoria l’istruzione successiva da eseguire.

o Il Program Counter (PC) fornisce l’indirizzo di questa istruzione e viene

o automaticamente aggiornato per puntare alla successiva.

2. Decodifica:

L’unità di controllo interpreta l’istruzione e configura l’ALU (Arithmetic Logic Unit)

o per eseguire l’operazione richiesta.

3. Fetch dei dati:

Se l’istruzione richiede operandi, questi vengono recuperati dalla memoria e

o trasferiti all’ALU.

Il PC continua a monitorare la posizione della prossima istruzione.

o

4. Esecuzione:

L’ALU esegue l’operazione richiesta, che può essere un calcolo, un confronto o

o un’operazione logica.

Se necessario, il risultato viene salvato nella memoria o in un registro della CPU.

o

5. Scrittura del risultato (Write Back):

I dati elaborati vengono memorizzati nella RAM o nei registri della CPU.

o Il PC si aggiorna per garantire il corretto flusso delle istruzioni.

o

Grazie a questo ciclo di esecuzione, il principio del programma memorizzato garantisce che le

istruzioni vengano recuperate ed eseguite in modo sequenziale, con la possibilità di effettuare salti

condizionati o incondizionati (JUMP) per modificare il flusso del programma.

• Principio del programma memorizzato e Program counter

Il principio del programma memorizzato è un concetto fondamentale nell’architettura dei

calcolatori, secondo il quale le istruzioni di un programma vengono archiviate nella memoria del

computer e poi recuperate ed eseguite dalla CPU in ordine sequenziale.

Nella maggior parte dei casi (>90%), l’istruzione successiva da eseguire è semplicemente la

prossima nella memoria, quindi viene letta in sequenza. Tuttavia, ci sono situazioni in cui il flusso di

esecuzione può cambiare:

Il comando JUMP <indirizzo> permette di saltare direttamente a una posizione specifica

o della memoria.

Altre istruzioni consentono salti condizionati, che modificano il flusso di esecuzione in base

o al risultato di un’operazione precedente.

Il Program Counter (PC) è un registro speciale dell’unità di controllo della CPU che contiene

l’indirizzo della prossima istruzione da eseguire. Funziona come un puntatore, indicando sempre

l’istruzione successiva.

Poiché le istruzioni occupano tipicamente 4 byte in memoria, il PC viene incrementato di 4 dopo

ogni istruzione eseguita. Quando il ciclo macchina ritorna alla fase di Fetch (prelievo dell’istruzione),

il PC è già impostato sulla prossima istruzione da caricare.

Grazie al Program Counter e al principio del programma memorizzato, il computer può eseguire le

istruzioni in modo ordinato, ottimizzando il flusso di elaborazione e garantendo un funzionamento

efficiente.

Principio programma memorizzato 1. Istruzioni archiviate nella memoria

2. recuperate ed eseguite dalla CPU in ordine

sequenziale.

Program Counter PC viene incrementato di 4 dopo ogni istruzione

eseguita. Quando il ciclo macchina ritorna alla fase di

Fetch (prelievo dell’istruzione), il PC è già impostato

sulla prossima istruzione da caricare

• Algoritmo

È una sequenza finita e ordinata di operazioni necessarie per risolvere un problema o raggiungere

un obiettivo specifico. Gli algoritmi sono alla base dei programmi e del funzionamento del software.

• Programma

Un programma è un'entità statica, descritta in un linguaggio ben definito, che specifica:

l'insieme di istruzioni che il calcolatore deve eseguire

o la sequenza in cui devono essere eseguite

o

Quando un programma viene messo in esecuzione si ha l'attivazione di un processo.

• Software

Un software è una successione delle istruzioni necessarie per svolgere il compito richiesto

all'elaboratore in un linguaggio a lui comprensibile. Questo può essere:

Di sistema: garantisce l'esecuzione delle funzioni base del computer e mette in

o comunicazione le varie parti dell'hardware; viene fornito come corredo hardware;

Applicativo: vengono scelti dall'utente in base alle proprie esigenze; vengono acquistati

o successivamente all'elaboratore e installati nello stesso (Es. Word, Excel, Power point, ecc.)

• Architettura del software

Un approccio comune nell'architettura del software è quello a livelli (o a strati), che suddivide le

funzionalità del sistema in strati gerarchici con ruoli ben definiti. Questo permette:

Per i progettisti: modularità semplicità nella progettazione, nella realizzazione e

à

o nell'estensione (modificabilità); naturale strategia di gestione della complessità

Per gli utilizzatori: virtualizzazione -à fare apparire la realtà in modo diverso più semplice e

o più gradevole

• Sistema operativo

Un Sistema Operativo è un insieme di programmi che servono a gestire le attività fondamentali di

un calcolatore:

Lettura o scrittura di file;

o Caricamento ed esecuzione di programmi carica il programma binario prodotto della

à

o compilazione (e residente su disco) nella RAM,

Gestione della memoria (archiviazione dati e documenti) mette a disposizione dell'utente

à

o una visione astratta della memoria secondaria (il file system basato sulle astrazioni

file/archivi e folder/cartelle). Inoltre, gestisce la realizzazione di queste astrazioni sul

supporto fisico (disco) gestendo tutti i dettagli legati alla lettura/scrittura dei settori

Gestione dei dispositivi di input/output interagisce con le periferiche facendosi carico di

à

o tutti i dettagli fisici (es. modem, reti, video...) e mette a disposizione operazioni di

lettura/scrittura ad alto livello che possono essere usate senza conoscere i dettagli tecnici

della periferica

Comunicazione tra calcolatori (rete);

o Gestione degli utenti;

o

N.B. Le funzioni offerte dal S.O. dipendono dalla complessità del sistema di elaborazione.

Un sistema operativo funziona da intermediario fra l'utente e

l'hardware, con lo scopo di fornire un ambiente nel quale l'utente

possa eseguire i programmi in maniera "sicura" ed efficiente.

Dunque, il compito principale del S.O tradurre le richieste

dell'utente in opportune sequenze di comandi da sottoporre alla

macchina fisica. Il S.O. traduce qualsiasi operazione di accesso a

risorse hardware, implicitamente richiesta dal comando

dell'utente

Ecco alcuni esempi di sistema operativo:

MS-DOS: Un sistema operativo a riga di comando (CLI). Non ha un'interfaccia grafica:

o l'utente interagisce inserendo comandi da tastiera.

Windows: Un sistema operativo con un'interfaccia grafica (GUI) che rende l'uso del

o computer più semplice e accessibile

Linux

o Unix

o

• Classificazione di un sistema operativo

Un sistema operativo (S.O) ha vari parametri di classificazione:

1. In base al numero di utenti:

Monoutente (mono-user)à un solo utente alla volta può utilizzare il sistema

o Multiutente (multi-user) più utenti in contemporanea possono interagire con la

à

o macchina

2. In base al numero di programmi in esecuzione:

Mono-programmato (mono-task) si può eseguire un solo programma per volta

à

o Multi-programmato (multi-task) il S.O. permette di eseguire più programmi in

à

o contemporanea (su una sola CPU) ma comunque il S.O. deve gestire la suddivisione del

tempo della CPU fra i vari programmi (time-sharing)

• Applicativi per software

Un applicativo di un software, noto anche come software applicativo, è un programma progettato

per aiutare l'utente a svolgere compiti specifici o soddisfare particolari esigenze (come fogli di

calcolo, scrittura, comunicazione, svago, ecc.)

Ecco alcuni esempi di applicativi per software:

Software per elaborazione testi Creazione, modifica e stampa di un documento: Word,

à

o Editor, OpenOffice Writer

Foglio elettronico Tabelle di valori e generazione di grafici: Excel, Lotus, OpenOffice

à

o Software per database Sistema per l'archiviazione ed il recupero efficiente di dati in

à

o formato digitale: Access, Oracle, MySQL,...

Software per presentazioni Creazione di testi/immagini per diapositive e prospetti:

à

o PowerPoint, Acrobat, ...

Software per la comunicazione Creazione, invio e ricezione di posta elettronica: Outlook,

à

o Eudora, ...

Navigazione su Web Explorer, Firefox, ...

à

o Software per il calcolo Simbolico e/o numerico: Matlab, Photomath, Geogebra

à

o Software di utilità Antivirus, antispyware, ...

à

o

N.B. Anche i virus informatici ad esempio sono software…

• Formalizzazione dell’informazione

Appena ci si presenta un problema, ci sono diverse fasi da affrontare per poi trovare l’algoritmo che

possa risolverlo:

1. Definizione del problema la risoluzione dei problemi richiede la comprensione delle

à

informazioni disponibili, l’individuazione delle necessità e la formulazione di obiettivi chiari.

2. Comprensione del problema il primo passo è analizzare il problema per identificarne i

à

componenti principali. La scomposizione aiuta a organizzare le informazioni e a definire gli

approcci possibili. Un esempio di scomposizione può essere:

a. Eliminare ogni ambiguità di formazione

b. Focalizzare gli obbiettivi

c. Evidenziare i reali del problema

3. Soluzione del problema una volta compreso il problema, è necessario progettare una

à

soluzione efficiente, traducendo il problema in una sequenza di azioni ben definite

(denominata anche algoritmo risolutivo).

• Algoritmo

Per algoritmo s’intende una sequenza ordinata di azioni che trasformino i dati in un numero finito

di passi per giungere ad una soluzione. Deve essere chiaro, preciso e finito.

Gli algoritmi devono possedere le seguenti caratteristiche:

Definitività: ogni passo deve essere chiaramente definito.

o Efficacia: d

Anteprima
Vedrai una selezione di 10 pagine su 42
Appunti esame Informatica   Pag. 1 Appunti esame Informatica   Pag. 2
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 6
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 11
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 16
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 21
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 26
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 31
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 36
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Appunti esame Informatica   Pag. 41
1 su 42
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher emanuele03 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 Roma Tor Vergata o del prof Vesce Luigi.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community