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

1. L’Unità di controllo si occupa di controllare tutte le operazioni del

calcolatore, interpretare le istruzioni prelevate dalla memoria e inviare alle

altre unità i segnali per l'esecuzione delle operazioni

2. L’Unità aritmetico-logica, detta ALU (Arithmetic & Logic Unit), permette di effettuare operazioni aritmetiche di base

(somme, sottrazioni, ecc.) e di prendere decisioni

Queste due unità sono spesso integrate in una CPU, Central Processing Unit – Unità di Elaborazione Centrale (che contiene

anche una serie di registri, simili alla memoria)

3. La Memoria conserva le istruzioni e i dati da elaborare e i risultati ottenuti dalle elaborazioni*;

4. L’Unità di ingresso (Input) immette le informazioni nel calcolatore per farle elaborare;

5. L’Unità di uscita (Output) riceve le informazioni dalla memoria del calcolatore per renderle pronte all’uso; le unità di

ingresso e uscita sono anche dette periferiche

6. Il Bus, vero e proprio canale di comunicazione che consente ai dati di transitare fra diversi componenti del calcolatore.

7. Registri della CPU

La CPU contiene diversi registri

• Registro Istruzione (IR): memorizza l’istruzione da eseguire

• Contatore di Programma (PC): memorizza l’indirizzo in memoria della prossima istruzione da eseguire

• Registri Dati (in numero variabile): contengono dati utilizzati per i calcoli

I registri della CPU sono aggiornati dall’esecuzione dell’istruzione

Funzionamento della CPU

Tipi di istruzioni

• aritmetiche e logiche —> es. somma di due registri, risultato in un terzo

• lettura e scrittura da memoria: –

– mem reg reg mem

→ →

• input/output: – dispositivo reg – reg dispositivo

→ →

• salti (condizionati e non) Istruzioni di controllo: di norma, dopo una istruzione si

esegue la successiva

– alterano l'esecuzione lineare del programma es. dopo l'istruzione alla locazione 133 si esegue quella

– permettono di implementare condizioni, cicli, ecc. alla locazione 134

esistono solo due tipi di istruzioni per alterare quest'ordine:

– salti incondizionati

– salti condizionati

entrambi scrivono un valore in PC

Il Programma

• nell'architettura di Von Neumann, si trova in memoria assieme ai dati

• è rappresentato da una sequenza di codici numerici (e.g., 56 = somma)

• vengono letti ed eseguiti uno per volta

Esecuzione del programma (esempio):

la sequenza 1921 - 992 - 10063 - 56 rappresenta un programma di quattro istruzioni

(codificate, per comodità, in base 10)

l'unità centrale legge 1921 e la esegue poi legge 992 e la esegue

poi legge 10063 e la esegue

poi legge 56 e la esegue

PC = l'indirizzo (132, 133, 134,...)

IR = l'istruzione (1921, 992, 10063, ...)

• Nota: se l’istruzione da eseguire è una istruzione di “salto”, il PC viene aggiornato

all’indirizzo di memoria che contiene l’istruzione a cui saltare

Esecuzione generale del programma in pseudocodice

sequenza di passi:

PC=132 IR=...

lettura da memoria della locazione 132 incremento PC

PC=133 IR=1921

controllo esegue l'istruzione 1921 lettura da memoria della locazione 133 incremento PC

PC=134 IR=992

controllo esegue l'istruzione 992

...

! Nota: se l’istruzione da eseguire è una istruzione di “salto”, il PC viene aggiornato all’indirizzo di memoria che contiene

l’istruzione a cui saltare

Il linguaggio della macchina

• La CPU è in grado di eseguire solo istruzioni molto semplici.

• Queste sono espresse in linguaggio macchina (o codice binario), dipendente dall’elaboratore.

• Il linguaggio assemblativo consente di esprimere istruzioni in forma simbolica (comprensibile da un umano). Queste

sono in corrispondenza 1-1 con le istruzioni in linguaggio macchina.

• Nel seguito consideriamo un esempio di processore semplice (non esistente nella realtà), con quattro registri (R1, R2,

R3, R4) ed un insieme semplificato di istruzioni, espresse in forma simbolica.

Nota: Linguaggi come Python, Java, C, C++,.. sono linguaggi di alto livello: si basano su costrutti non elementari,

comprensibili da un umano. Ogni istruzione corrisponde in genere a molte istruzioni in linguaggio macchina. In larga

misura questi linguaggi sono indipendenti dallo specifico elaboratore.

Dettagli
A.A. 2022-2023
25 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher gabrieleemeloni di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e programmazione 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 La Sapienza o del prof Santucci Giuseppe.