Unità di apprendimento 1: Architetture dei sistemi di elaborazione e CPU

Slide sull'Unità di apprendimento 1, che esplora le architetture dei sistemi di elaborazione e l'unità di elaborazione centrale (CPU). Il Pdf, utile per lo studio universitario di Informatica, presenta diagrammi dettagliati dell'architettura interna della CPU e dei registri interni, facilitando la comprensione dei componenti hardware fondamentali.

Mostra di più

68 pagine

Unità di apprendimento 1
Le architetture dei sistemi di
elaborazione
Unità di apprendimento 1
Lezione 2
L’unità di elaborazione (CPU)

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Le architetture dei sistemi di elaborazione

Unità di apprendimento 1 Le architetture dei sistemi di elaborazione 1110100101 7 1010101000101 POL IO 0110110110101010100110110101010 101010100101 001110101010100101 1012100101Unità di apprendimento 1 Lezione 2 1110100101 L'unità di elaborazione (CPU) IO POL 1010101000101 7 101010100101 1012100101 0110110110101010100110110101010 001110101010100101In questa lezione impareremo:

  • a riconoscere il ruolo di CPU, ALU, Unità di Controllo e BUS
  • a definire il funzionamento e il ruolo del chipset e dei BUS di espansione
  • a connettere una CPU sulla motherboard

Il microprocessore

  • Il microprocessore , è il cuore del sistema, svolge fondamentalmente due funzioni:
    • sovrintende a tutte le operazioni del sistema, generando i segnali necessari al funzionamento dei circuiti a esso collegati;
    • esegue i calcoli aritmetici e logici.
  • Le tre unità fondamentali della CPU:
    • l'unità di controllo (CU, Control Unit), che governa e impartisce gli ordini di esecuzione all'unità aritmetico-logica;
    • l'unità aritmetico-logica (ALU, Arithmetic-Logic Unit), che esegue i calcoli elementari;
    • Registri di memoria (registri di appoggio per memorizzare provvisoriamente i dati usati per l'esecuzione dei calcoli).

Ciclo macchina

  1. fase di Fetch dell'istruzione;
  2. fase di Decode dell'istruzione;
  3. fase di Fecth degli operandi;
  4. fase di Execute.

Boot Fetch Op Code Fetch Decode Op Code Fetch Operand Address Execute Execute Instruction

Il ciclo macchina

. Ogni ciclo macchina viene eseguito molto velocemente e in maniera ciclica a sua volta con altri cicli macchina, fino a un reset Completamento della decodifica dell'istruzione attuale Reset Fetch Execute Completamento dell'esecuzione dell'istruzione precedente

Fetch dell'istruzione

  • Fecht significa «prelevamento» e identifica la fase in cui la CPU deve reperire l'istruzione da eseguire.
  • I questa fase la CPU dialoga con la memoria centrale per ottenere il codice dell'istruzione da eseguire.
  • Il prelevamento avviene in questo modo:
    • La CU legge la cella di memoria il cui indirizzo è memorizzato in un apposito registro chiamato contatore di programma (PC, Program Counter).
    • Dopo aver letto il codice dalla memoria, incrementa in contenuto del PC, in modo che «punti» all'istruzione successiva.

Decode dell'istruzione

. In questa fase il codice macchina dell'istruzione viene codificato in operazioni da seguire da parte della CPU, tutto questo attraverso circuiti logici predisposti (prefissate fisicamente) o mediante microistruzioni (sequenze di passi elementari) contenute nella ROM secondo la logica microprogrammata.

Fecth degli operandi

· Operazione di lettura, dalla memoria o da un registro nel caso in cui la CPU riconosce se è necessario prelevare dalla memoria o da un registro interno un altro dato per completare l'esecuzione.

Execute dell'istruzione

Nella fase di execute la Control Unit invia segnali che rappresentano opportuni comandi per l'esecuzione.

Ciclo d'istruzione

Fase fetch (1) Fetch istruzione (2) Calcola l'indirizzo della prossima istruzione Fase decode (3) Decodifica l'istruzione (4) Calcola l'indirizzo dell'operando (5) Fetch operando Operandi multipli Fase execute (6) Esegui l'istruzione (7) Calcola l'indirizzo del risultato (8) Memorizza il risultato Istruzione completata, estrai la prossima istruzione

Esempio: Operazioni svolte dalla CPU

  • Supponiamo di voler effettuare la somma tra il contenuto della cella di memoria di indirizzo [000Ah] e il contenuto del registro AL ( registro accumulatore, AX: AH+AL, è quello che coinvolge quasi tutte le operazioni logico-aritmetiche) il processore deve eseguire la seguente istruzione in assembly: ADD [000Ah], AL

La memory dump

. La memory dump identifica lo stato in cui si trovano le celle della memoria in un determinato momento · In alcuni casi viene anche mostrato il corrispettivo ASCII del contenuto della singola cella di memoria

Esempio di memory dump

  • il valore 05h è memorizzato nella cella di indirizzo 000Ah, due celle più a destra rispetto all'indirizzo base 0008h indirizzo base di memoria contenuto delle singole celle di memoria +1 +2 +3 +4 +5 +8 +7 0000h ... 0008h 05 ... 00F8h 0100h 00 OA 08 00 00 L'indirizzo che contiene 05 è dato da: 0008 + 2 = 000A + istruzione ADD [000Ah], AL Dump della memoria RAM

La CPU esegue: ADD [000Ah],AL

1 Fetch · Viene prelevata l'istruzione presente all'indirizzo contenuto nel registro PC (0100h · Si tratta di una sequenza di 6 byte che rappresentano il codice macchina dell'istruzione (00 05 0A 00 00 00) ● Il codice operativo dell'istruzione viene inserito nel registro IR (Instruction Register)

La CPU esegue: ADD [000Ah],AL

2) Decode · Viene decodificata l'istruzione il cui codice macchina è presente nel registro IR

La CPU esegue: ADD [000Ah],AL

(3) Fetch degli operandi · Viene prelevato il contenuto della cella 000Ah, cioè 05h

La CPU esegue: ADD [000Ah],AL

(4) Execute ● Il valore recuperato dal passo precedente (05h) viene sommato con il contenuto del registro AL (poniamo che contenga 0Fh) ● Il risultato viene posto nuovamente nella cella di indirizzo 000A che conterrà 14h al termine dell'esecuzione dell'istruzione . L'operazione richiede più cicli di data path

Data Path

● data path è una sezione della CPU che raggruppa l'ALU e i registri ● passaggio di due operandi attraverso l'ALU e la memorizzazione del risultato in un nuovo registro viene detto ciclo di data path A+ B A Registri B BUS di Input della ALU A B Registri di Input della ALU ALU A + B C Registro di Output della ALU

Il clock

● Ogni ciclo macchina è scandito da un temporizzatore (clock), oscillatore al quarzo che emette segnali a intervalli di tempo regolari ● Il numero di cicli macchina eseguiti in un secondo di tempo prende il nome di Hertz (Hz) ● Il clock è un segnale in ingresso alla CPU, maggiore è la frequenza del clock, maggiore sarà la velocità di lavoro della CPU. 7 Tempoclock La CPU è un sistema a tempi discreti, in quanto si prendono in considerazione lo stato del sistema in un certo istante t e poi all'istante successivo (t+1) è privo di significato; quello che succede nel periodo compreso tra t e (t+1) è privo di significato. La CPU è un circuito digitale sincrono; il suo stato cambia ogni volta che riceve un impulso da un segnale di sincronismo, detto clock, che ne determina la velocità operative, detta velocità di clock.

Architettura interna di una generica CPU

indirizzi dati controllo scrivi leggi memoria MAR scrivi bus interni registro registro ALU MDR registro esecuzione BUS Central Processor Unit unità di controllo PC IR PSW bus interni stato leggi I/O

Architettura interna della CPU

BUS di controllo CPU (Unità centrale di elaborazione) UC (Unità di Controllo) esegui operazione PC [registro Contatore di programma) Memoria Centrale BUS indirizzi MAR registro dell'indirizzo dimemoria) IR (registro dell'istruzione PSW (registro del flag) BUS dati MDR (registro del dato di memorla) Registro 1 stato Registro 2 ... ALU (Unità aritmetico logica) Registro "T"

I registri interni

  • Memoria di piccole dimensioni, ad accesso veloce, temporanea e volatile. · Sono utilizzati per consentire l'esecuzione dell'istruzione corrente o per aumentare la velocità di esecuzione di un programma. · Si dividono in registri di uso generale (general purpose register) e registri di uso speciale (special purpose register)
  • I nomi dei registri sono generici e si riferiscono alla loro funzione; ogni microprocessore è dotato di registri che svolgono la funzione indicata, ma il nome di ciascun registro è specifico di ogni processore.

I registri interni

  • È importante distinguere i registri accessibili dal programmatore ed altri che invece risultano inaccessibili
  • Sono presenti nella CPU e servono per trasferire dati tra celle di memoria, dato che non è possibile trasferire dati tra memoria e memoria . La dimensione dei registri si esprime in bit e dipende dall'architettura specifica della CPU (ISA - Instruction Set Architecture

Registri di uso speciale

Program Counter (PC)

· Registro interno (nelle CPU Intel è IP - Instruction Pointer) che contiene, in ogni fase di avanzamento del programma, l'indirizzo (e non l'istruzione) di memoria in cui si trova l'istruzione successiva da eseguire Indirizzi di memoria 000FFh 00100h 00100h Registro puntatore 00101h Memoria

Program Counter (PC)

  • È un registro interno accessibile parzialmente dal programmatore. . Normalmente il suo contenuto viene incrementato automaticamente dalla CU ogni volta che l'esecuzione di un istruzione è completata, in modo da poter leggere l'istruzione successiva.

Registro delle flag (PSW -Process Status Word)

. Anche chiamato Status register o registro dei flag (bandiere). · A differenza degli altri registri, il significato del valore contenuto in questo registro non è dato dall'intera configurazione dei bit, ma il valore di ogni singolo bit, in base alla posizione che occupa, ha un significato ben preciso e determina il funzionamento del processore.

Registro delle flag (PSW -Process Status Word)

  • Alcuni bit sono di stato e il loro valore può essere modificato in seguito all'esecuzione di un istruzione aritmetico-logica per segnalare informazioni sul risultato ottenuto; altri bit invece sono di controllo e il loro valore determina il funzionamento della CPU. L'ALU, a ogni operazione aritmetico-logica,
  • aggiorna il contenuto del registro PSW · Le informazioni del PSW sono essenziali per effettuare la selezione all'interno programmi

Registro delle flag (PSW)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF |TF SF ZF AF PF CF Carry Flag Parity Flag Auxiliary Flag Zero Flag Sign Flag Trap Flag Interrupt Flag Direction Flag Overflow Flag

I bit di stato

Le operazioni aritmetico-logiche sono le somme, l'AND, l'OR, .. I bit di stato sono chiamati anche Flag di stato e possono assumere solo i valori 0,1. I bit di stato sono. -Carry Flag (CF), assume valore 1 se il risultato dell'ultima operazione aritmetico-logica ha generato un riporto (o prestito); - Parity Flag (PF) . Vale 1 se il numero di 1 negli ultimi 8 bit meno significativi del risultato è pari, 0 altrimenti. - Zero Flag (ZF), assume valore 1 se il risultato dell'ultima operazione aritmetico-logica è zero). - Sign Flag (SF), assume valore 1 se il risultato dell'ultima operazione aritmetico-logica ha generato un valore il cui bit più significativo è 1 (se la codifica è in complemento a 2 allora si può dedurre che il numero è negativo) ,coincide con il MSB del risultato dopo un'operazione aritmetica

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.