cerca
Sistemi Operativi
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Return to Sistemi Operativi  (Edit)

Uni.SO-Mod1-Lez1 History

Hide minor edits - Show changes to output

Changed line 28 from:
* il ''Program Counter'', registro di programma corrente, che contiene sempre l'indirizzo della prossima istruzione da eseguire. Viene generalmente incrementato di 1, salvo eccezioni (quando gli viene data un'istruzione di jump)
to:
* il ''Program Counter'', registro di programma corrente, che contiene sempre l'indirizzo della prossima istruzione da eseguire. Viene generalmente incrementato di 1, caricando in sequenza le istruzioni presenti nelle posizioni successive nella memoria centrale, salvo eccezioni (quando gli viene data un'istruzione di jump)
Changed lines 37-38 from:
# ''FETCH'', prende dalla memoria centrale l'istruzione puntata dal Program Counter e la carica nel registro di istruzione corrente
# ''DECODE'', avviene la decodifica, nella Control Unit
to:
# ''FETCH'', prende dalla memoria centrale l'istruzione puntata dal Program Counter e la carica nel registro di istruzione corrente (CIR)
#
''DECODE'', avviene la decodifica, nella Control Unit. Se l'istruzione è valida viene eseguita, altrimenti viene killata
Added lines 48-51:
Il problema della macchina di Von Neumann è che effetta istruzioni in sequenze. Se devo caricare costrutti non sequenziali devo effettuare una mappatura particolare della memoria centrale.

!!Pag 5
!!!!Attività asincrone
Deleted lines 53-56:
!!Pag 5
!!!!Attività asincrone
...
Deleted lines 62-63:
Changed lines 45-64 from:
to:
...

!!!!Costrutti non sequenziali
...

!!Pag 5
!!!!Attività asincrone
...

!!!!Interruzione
L'interruzione arresta la ciclicità infinita delle tre fasi di acquisizione, ed il processore passa ad eseguire una serie di operazioni di risposta che gestiscano quel tipo di interruzione (ad ognuno dei quali è infatti associato un certo indirizzo da caricare nel PC e che indica dove si trovano in memoria le istruzioni di gestione).

La verifica che ci sia stato un eventuale segnale di interrupt avviene tra la fase di execute e di fetch.

Nella fase di gestione dell'interruzione, il processore diventa "sordo" all'esecuzione (o richiesta di esecuzione) degli altri processi, il che comporta un rallentamento dei programmi. Pur essendo spesso minimo e trascurabile, è da tenere in grande considerazione per tutte quelle applicazioni per cui il tempo è un fattore critico.

L'interruzione è asincrona con la computazione del processo, in parole povere non so quando arriva.

Changed lines 10-11 from:
* Pag 1
to:
!!Pag 1
!!!!Sommario
Changed lines 14-18 from:
* Pag 2
...

...
to:
!!Pag 2
!!!!Architettura del calcolatore
Un sistema di elaborazione delle informazioni è un insieme di dispositivi in grado di eseguire operazioni, il cui numero, scopo e funzionalità dipende dal tipo di processore che stiamo utilizzando
.

Il processore è un esecutore (automa) di tipo generale
. Ciò significa che posso risolvere diversi tipi di problemi, anche se per risolverli, una volta individuato l'algoritmo risolutore, dovrò tradurre le istruzioni in una sequenza di comandi che lui possa comprendere.

!!!!Macchina di Von Neumann
La CPU scandisce ed esegue in modo sequenziale ed una alla volta le istruzioni contenute nella memoria centrale
. E' dunque col caricamento del programma in memoria che il sistema di elaborazione smetterà di essere ''general purpose'' e potrà dedicarsi alla risoluzione del problema specifico.

!!Pag 3
!!!!Processore: architettura e funzionamento
Nella memoria sono contenute sia le istruzioni che i dati necessari al corretto funzionamento del programma
.

Nella CPU abbiamo una serie di registri tra cui:
* il ''Program Counter'', registro di programma corrente, che contiene sempre l'indirizzo della prossima istruzione da eseguire. Viene generalmente incrementato di 1, salvo eccezioni (quando gli viene data un'istruzione di jump)
* il ''Current Instruction Register'', registro di istruzione corrente, dove viene caricata l'istruzione corrente da eseguire
* una serie di registri generici utilizzati dalle Unità Aritmetico Logiche (ALU) come appoggio per i valori temporanei coinvolti nelle varie operazioni

La ''Control Unit'' ha il compito di analizzare e decodificare l'istruzione caricata nel CIR, verificando tra le altre cose la sua leicità.

!!!!!Processore: funzionamento
Il ciclo di un processore è composto da tre fasi, eseguite in ciclo infinito:

# ''FETCH'', prende dalla memoria centrale l'istruzione puntata dal Program Counter e la carica nel registro di istruzione corrente
# ''DECODE'', avviene la decodifica, nella Control Unit
# ''EXECUTE'', prende l'istruzione decodificata ed attiva le ALU opportune in modo - manco a dirlo - opportuno. Terminata questa fase il processore passa a ''fetchare'' la prossima istruzione indicata dal Program Counter.

Queste tre fasi rappresentano il modo classico di operare di un qualsiasi processore, e in generale del sistema in cui vengono acquisite le istruzioni (sia a livello hardware che software).

!!Pag 4
!!!!Espressività dei linguaggi di programmazione
Added lines 1-19:
(:title Sistemi Operativi:)
[[Torna alla pagina di Sistemi Operativi->SistemiOperativi]]
----

%titolo%''':: Appunti caotici ::'''

%center%%sottotitolo%Lezione 1
%center%%sottotitolo%Macchina di von Neumann: architettura e funzionamento

* Pag 1
...

* Pag 2
...

...

----
[[Torna alla pagina di Sistemi Operativi->SistemiOperativi]]