Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


riassunti di informatica, il CPU, Appunti di Informatica Industriale

riassunti di informatica e tecnologie della comunicazione digitale, il CPU

Tipologia: Appunti

2020/2021

Caricato il 17/05/2021

beatricegenoeffa
beatricegenoeffa 🇮🇹

5

(1)

17 documenti

1 / 22

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA E TECNOLOGIE DELLA COMUNICAZIONE
A.A.2020/21
DENTRO LA CPU
Corso di Laurea in Comunicazione,
Tecnologie e Culture Digitali- L20
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16

Anteprima parziale del testo

Scarica riassunti di informatica, il CPU e più Appunti in PDF di Informatica Industriale solo su Docsity!

INFORMATICA E TECNOLOGIE DELLA COMUNICAZIONE

A.A.2020/

DENTRO LA CPU

Corso di Laurea in Comunicazione,

Tecnologie e Culture Digitali- L

Contenuto della lezione

  • Come funziona la CPU?
    • quali operazioni può eseguire?
    • come le esegue? su che tipo di dati?
    • dove vengono memorizzati le istruzioni e i dati?
  • Alcuni brevi e noiosi programmi per illustrare i principi

fondamentali

  • una macchina giocattolo per provare i programmi
    • un programma che simula la macchina giocattolo
    • così possiamo eseguire programmi scritti per la macchina giocattolo
  • architettura dei computer: macchine reali
  • caching: far sembrare le cose più veloci di quanto non

siano

  • come vengono prodotti i chip
  • macchine di Turing

Unità di controllo C.P.U. Unità aritmetico-logica A.L.U. INPUT OUTPUT Programma Contatore d’istruzioni Accumulatore R R R 2 REGISTRI Modello di calcolo

Il modello astratto della macchina di Von Neumann è detta anche RAM-
Random Access Machine o macchina a registri

Legenda^ Periferiche Memoria Processore

Come funziona la CPU

  • Può eseguire calcoli aritmetici (addizioni, sottrazioni,

moltiplicazioni e divisioni).

  • Può eseguire operazioni di trasferimento da /a la RAM

(recupero dalla memoria e memorizzazione)

  • Può controllare e coordinare l’input/output dalle periferiche.
  • Può eseguire operazioni di “ decisione ” ( può operare senza

l’intervento umano)

  • Come disse Von Neumann “ L’intento è che la macchina sia

completamente automatica, cioè indipendente

dall’operatore umano una volta avviati i calcoli.”

Un semplice computer giocattolo: struttura

  • Ogni cella (registro) della RAM è univocamente

identificata da un indirizzo (numero esadecimale)

  • ogni cella della RAM contiene un numero o

un’istruzione

  • La CPU ha un registro “speciale ” l’accumulatore” per

l'aritmetica e l’input & output.

  • un posto per memorizzare temporaneamente un valore
  • esecuzione: la CPU funziona con un semplice ciclo
  • FETCH : recupera la prossima istruzione dalla RAM
  • DECODE : stabilisci che cosa ti chiede di fare
  • EXECUTE : esegui l’operazione
  • torna a FETCH

Un semplice computer giocattolo: linguaggio

  • Linguaggio di programmazione(“set di istruzioni”): poche

istruzioni, tra cui

  • GET prendi un numero inserito da tastiera e mettilo nell’accumulatore
  • PRINT stampa il numero che si trova nell’accumulatore (il contenuto dell'accumulatore non cambia)
  • STORE M memorizza una copia del contenuto dell’accumulatore nella
locazione M della RAM il numero che si trova nell'accumulatore
( l'accumulatore non cambia )
  • LOAD M carica nell’accumulatore il numero che si trova nella
locazione M della RAM (il contenuto originale della RAM non
cambia)
  • ADD M somma il numero che si trova nella locazione M della RAM al
valore dell’accumulatore , metti il risultato nell’accumulatore (il
contenuto originale della RAM non cambia)
  • STOP ferma l’esecuzione

Programma per stampare un numero

  • Per la sperimentazione usarevedere il simulatore:
  • https://www.cs.princeton.edu/courses/archive/fall07/cos109/toysim.html
GET prendi un numero dalla tastiera e mettilo
nell’accumulatore

PRINT stampa il numero che si trova nell'accumulatore STOP Il compilatore esegue

1. Converte queste istruzioni in numeri 2. Memorizza il programma nella RAM a partire dalla prima posizione 3. Ordina alla CPU di iniziare l'elaborazione delle istruzioni dalla prima posizione **La CPU

  1. Elabora GET: la decodifica, la esegue
  2. Elabora PRINT:, la decodifica, la esegue
  3. Elabora STOP** , la decodifica, la esegue

Esempio 2

  • Programma della macchina giocattolo che somma due numeri e stampa la somma GET immetti il primo numero nell’accumulatore STORE FirstNum memorizzalo in una locazione della RAM chiamata FirstNum GET immetti il secondo numero nell’accumulatore ADD FirstNum somma il primo numero al secondo PRINT stampa la somma risultante STOP ferma l’esecuzione del programma N.B****. FirstNum è la locazione della RAM in cui si trova il primo numero in input

Istruzione GOTO

  • Esempio

Top: GET immetti un numero

nell’accumulatore

PRINT stampalo

GOTO Top Ritorna a Top per prendere un

altro numero

Ciclo o loop

Decisione e terminazione

  • Come fermiamo la ripetizione?
  • aggiungiamo un’altra nuova istruzione

IFZERO se il valore nell’accumulatore è

uguale a zero, vai a una posizione specifica

anziché alla successiva

  • L’istruzione GOTO e IFZERO ci permettono di scrivere

programmi che ripetono le istruzioni fino a quando

una condizione specifica diventa vera

  • la CPU può cambiare il percorso di un’elaborazione in

base ai risultati di calcoli precedenti

Diagramma di flusso

get
Acc=0?
Si
NO
stampa
STOP

Esempio Programma della macchina giocattolo per sommare una sequenza di numeri LOAD 0 carica 0 nell’accumulatore STORE Sum locazione di memoria in cui è conservata la somma corrente (inizializzata a 0 all’avvio del programma) Top: GET prendi un numero e mettilo nell’accumulatore IFZERO Bot se è zero, vai a Bot ADD Sum aggiungi alla somma corrente il nuovo numero STORE Sum memorizza il risultato come nuova somma corrente GOTO Top ritorna a Top per prendere un altro numero Bot: LOAD Sum carica la somma corrente nell’accumulatore PRINT stampa il valore di Sum STOP

Processori reali

  • accumulatori multipli (detti “registri”)
  • molte più istruzioni, anche se fondamentalmente degli stessi tipi
    • aritmetiche di vario tipo e dimensione (es. su interi a 8 , 16 , 32 , 64 bit): somma, sottrazione ecc., solitamente operando su registri
    • di spostamento dei dati di vario tipo e dimensioni caricare in un registro un valore presente in memoria salvare nella memoria il valore del registro
    • di confronto, di diramazione : per selezionare l’istruzione successiva in base ai risultati del calcolo - consentono di modificare il normale flusso sequenziale delle istruzioni - normalmente la CPU si limita a seguire le istruzioni nell’ordine in cui sono salvate in memoria
    • di controllo del resto del computer
  • repertorio tipico delle CPU: da decine a poche centinaia di istruzioni
  • le istruzioni e i dati occupano di solito più posizioni di memoria
    • in genere da 2 a 8 byte
  • i processori moderni hanno “core” multipli, cioè più CPU sullo
stesso chip

Caching

  • cache: una piccola memoria molto veloce per informazioni di recente utilizzo - carica un blocco di informazioni vicine alle informazioni richieste
  • la CPU guarda prima nella cache, poi nella memoria principale
    • cache separate per istruzioni e dati
  • il chip della CPU di solito include più livelli di cache
    • le cache più veloci sono più piccole
  • la cache funziona perché è probabile che le informazioni usate di recente vengano usate di nuovo presto - quindi è più probabile che siano già nella cache
  • la cache di solito carica le informazioni vicine insieme
    • è più probabile che le informazioni vicine siano usate presto
    • quindi è più probabile che siano nella cache quando servono
  • questo tipo di cache è invisibile agli utenti
    • tranne per il fatto che la macchina funziona più velocemente di quanto farebbe senza la cache