SlideShare a Scribd company logo
1 of 23
Download to read offline
Dispense del corso di
Architettura dei Calcolatori



 Elementi architetturali di base
a.a. 2007/2008
Architettura dei calcolatori



                               Semplici sistemi digitali
 •      Circuiti combinatori e sequenziali possono essere utilizzati per creare
        semplici sistemi digitali.
 •      Questi sono i componenti f d
        Q      ti                  ti fondamentali per l creazione di un calcolatore
                                              t li     la     i             l lt
        digitale.
 •      I sistemi digitali di base sono frequentemente caratterizzati in termini
                    g                      q
          – di registri contenuti
          – operazioni che si possono eseguire
 •      Le operazioni sui dati contenuti nei registri sono dette microoperazioni.
        Queste vengono tipicamente eseguite in un solo ciclo di clock.




                                                                                         2
a.a. 2007/2008
Architettura dei calcolatori


                                       Architettura di Von Neumann (1/2)

           L’architettura di Von Neumann si compone di 3 parti fondamentali:
           1 MEMORIA: unità che mantiene le istruzioni che compongono il programma
               da eseguire e i dati che fungono da operandi per tali operazioni
           2 CPU (central processing unit) o processore: è composto da una unità di
               controllo per gestire le comunicazioni con tutte le unità del sistema e per
               gestire il prelievo delle istruzioni (fetch) e la loro esecuzione e da una
                                                                      esecuzione,
               unità aritmetico logica (ALU) che esegue le istruzioni stesse e che gestisce
               l’accesso agli operandi.
           3.
           3 INPUT/OUTPUT le porte di interfaccia con l’esterno (e con i corrispondenti
               dispositivi periferici) .


                               Input                                       Output
                                                  Memoria



                                                    CPU



                                                                                                 3
a.a. 2007/2008
Architettura dei calcolatori


                               Architettura di Von Neumann (2/2)

 •      L’architettura di Von Neumann prevede una unità di elaborazione
        centrale (CPU Central Processing Unit) che esegue sequenze di
        istruzioni che sono riposte in una struttura di memorizzazione
        (memoria).La memoria contiene anche i dati che sono le informazioni
        che vengono elaborate dalla CPU in base alle istruzioni.
 •      Col termine di “memoria” ci si riferisce alla Memoria centrale,
        direttamente interfacciata alla CPU, mentre la memoria di massa è
        logicamente un sistema di memoria ma fisicamente un dispositivo di I/O
          g                                                        p

 •      Dati ed Istruzioni sono fisicamente codificate come stringhe di bit, che
        però vengono i t
           ò            interpretate differentemente dalla CPU
                                t t diff     t    t d ll

 •      Architettura di Von Neuman: in cui esiste una sola memoria che
        contiene sia dati che istruzioni

 •      Architettura di Harvard: in cui dati e istruzioni sono memorizzati su due
        memorie separate a cui la CPU accede contemporaneamente
                                                                                         4
a.a. 2007/2008
Architettura dei calcolatori


                                                Interfaccia della CPU

 •      I segnali di interfaccia dei processori si dividono in:
          – segnali di indirizzo per lo spazio di indirizzamento in memoria (n
                        2n locazioni di memoria indirizzabili)
            segnali
          – segnali di dato (indica il massimo parallelismo di parola nel
            trasferimento)
          – segnali di controllo

                                                                         Arbitraggio
                                    Indirizzi

                                                                         Coprocessore
                                        Dati            CPU
                                                                         o multiprocessore
                                    Controllo
                                    C t ll
                                                                         Stato interno
                                         del
                               trasferimento
                                                                         Interruzioni



                                                  Reset Clk Ready
                                                              Vcc/ gnd


                                                                                                         5
a.a. 2007/2008
Architettura dei calcolatori


                               Progetto di un calcolatore (1/2)

 Progetto della CPU

 1) definizione dell ISA. Più CPU sono compatibili a livello di ISA ma non di
                  dell’ISA                                        ISA,
    architettura interna (ad es: Intel Pentium , Intel Celeron, AMD, …)

 2) definizione dei blocchi logici della CPU a livello di microarchitettura (come
    realizzare la pipeline, la superscalarità)

 3) definizione di blocchi aggiuntivi per migliorare le prestazioni (ad es branch
                                                                        es.
    prediction table)

 4) come progettare i singoli blocchi (come realizzare le ALU i registri e
                                                          ALU,
    soprattutto l’unità di controllo)

 5) come interfacciare la CPU con l’esterno (interfaccia con la memoria e struttura
                                  l esterno
    dei bus)

 Se poi il sistema è multiprocessor le scelte progettuali sono ancora più numerose
                                                                          numerose.


                                                                                            6
a.a. 2007/2008
Architettura dei calcolatori


                               Progetto di un calcolatore (2/2)

 Definizione dell’architettura del calcolatore

 •      Definizione dell’architettura delle memorie (gerarchia di memorie,
        memorie cache di primo e secondo livello, parallelismo delle memorie,
        interallacciamento, )
        interallacciamento …)

 •      Scelte tecnologiche (
                      g     (RAM,DRAM..)
                                ,      )

 •      Interfaccia di bus con le memorie

 •      Definizione dei bus di I/O (bus PCI, ISA, EIDE, SCSI,…)

 •      Scelta della gestione delle periferiche

 •      Scelta delle periferiche
                                                                                     7
a.a. 2007/2008
Architettura dei calcolatori


                                                  La CPU
 •      Dal punto di vista strutturale la CPU è composta da alcune parti combinatorie:
          – ALU, decodifica degli indirizzi per i registri interni
          – decodifica delle istruzioni,…
 •      e d alcune parti sequenziali
          da l         i        i li
                                                                      Data path
          – REGISTRI di dato e controllo
          – Unità di Controllo (Control Unit)
                                                                 Istruz.         s.contr.
                                                                                            Segnali di
 •      Dal punto di vista funzionale si divide in                         Unità di         controllo nel
                                                                           controllo
          – Data path (o execution unit):                                                   calcolatore
            il percorso dei dati
          – Control unit (l’unità di controllo)
                                                                           Memorie
                                                                             I/O


 •      l’unità di elaborazione acquisisce istruzioni e dati, passa le istruzioni alla unità di
        controllo, esegue le operazioni di ALU, genera i risultati, calcola il prossimo
        indirizzo…
 •      la unità di controllo è una FSM che controlla l’unita’ di elaborazione ed i segnali
        con l’esterno
 •      L’implementazione a livello di reti logiche e la progettazione a livello RTL
        (corrispondente alla microarchitett ra) è dipendente dalla famiglia delle CPU e
                               microarchitettura)
        dalla casa costruttrice

                                                                                                              8
a.a. 2007/2008
Architettura dei calcolatori



                               Organizzazione di un sistema digitale
 •      Definizione dell’organizzazione interna del calcolatore
          – Insieme dei registri e delle loro funzioni
          – Insieme delle microoperazioni consentite
          – Segnali di controllo che controllano la sequenza di microoperazioni necessaria a
            realizzare una certa funzione
 •      Questo livello della descrizione di un sistema digitale viene detto Register
        Transfer Level (RTL) ovvero livello dei trasferimenti tra registri.
 •      Per evitare di specificare i dettagli a parole si utilizza un formalismo apposito
        detto anche Register Transfer Language.
                                         Language
 •      In questo linguaggio le lettere maiuscole (seguite eventualmente da numeri)
        indicano i registri: R0, A, MDR, IP. Alcuni di questi sono acronimi per le funzioni
        svolte.
        svolte
 •      A volte si indicano porzioni di registri, quali singoli bit o gruppi di bit:
                                                         Rappresentazione dei singoli bit
                    Registro
                                    R1                        7   6   5   4    3   2   1    0

                      15                                 15               87                0
                                              0
                                     R2                           PC(H)            PC(L)
                    Numerazione d i bit
                    N      i    dei                      Sotto
                                                         S tt campi
                                                                  i



                                                                                                            9
a.a. 2007/2008
Architettura dei calcolatori



                                       Trasferimenti tra registri
 •      Un trasferimento è la copia del contenuto di un registro in un altro.
        Un trasferimento si indica con: R2 ← R1 e indica di caricare il contenuto di R1 in
 •
        R2 in un solo ciclo di clock
                                clock.
 •      Per realizzare la microoperazione è necessario prevedere un collegamento tra
        l’uscita di R1 e l’ingresso di R2 e di avere delle linee di controllo che consentano
        di comandare la contemporanea abilitazione dell’uscita di R1 e la scrittura su R2
                                                        dell uscita                       R2.
 •      E’ possibile poi indicare una condizione in base alla quale eseguire la
        microoperazione, dove la condizione è un segnale di controllo binario:

        P: R2 ← R1

 •      Questo indica che se P=1 viene eseguito il trasferimento da R1 a R2.
 •      Con uno schema a blocchi:

                               Circuito        Load
                                           P
                                                      R2        Clock
                               di
                                                           n
                               controllo
                                                      R1



                                                                                                 10
a.a. 2007/2008
Architettura dei calcolatori



                                   Altre operazioni
 •      Le operazioni simultanee vengono separate con una virgola:

        P: R3 ← R5, MAR ← IR

 •      In questo caso se la condizione P è vera R5 viene copiato in R3 e il
                                             vera,
        registro IR nel registro MAR.
 •      Con le parentesi tonde si indicano le parti di un registro:

        R4(0-7) ← R6(8-15)

 •      In questo esempio si trasferiscono i bit da 8 a 15 di R6 in quelli da 0 a 7
        di R4. Come sempre si dovranno p
                           p                 prevedere le opportune linee p il
                                                           pp              per
        trasferimento a livello di architettura hardware.




                                                                                         11
a.a. 2007/2008
Architettura dei calcolatori



                               Connessioni tra i registri
 •      In un sistema digitale con molti registri non è possibile avere linee di
        trasferimento da ogni registro ad ogni altro registro. Questo per la
        semplice considerazione che per n registri servirebbero n(n 1) linee di
                                                                    n(n-1)
        connessione ognuna della dimensione del numero di bit dei registri. In un
        processore con 32 registri a 32 bit, si avrebbero 31744 piste!
 •      La soluzione adottata è quella di connettere tutti i registri ad un unico
        sistema di comunicazione controllato da alcuni segnali di controllo che
        decidono quale registro è connesso come sorgente, e q
                   q       g                            g         quale come
        destinazione.
 •      Questo canale di comunicazione è noto con il nome di bus.
 •      Con
        C questa architettura non è possibile trasferire dati
                   t   hit tt                ibil t f i d ti
        contemporaneamente tra più coppie di registri.
 •      Un bus si può realizzare sia con buffer tri-state sia con una struttura a
                    p
        multiplexer.




                                                                                     12
a.a. 2007/2008
Architettura dei calcolatori



                                     Trasferimenti con la memoria
 •      Collettivamente la memoria viene vista come un dispositivo denotato con M.
 •      Dato che esistono numerose celle, è necessario specificare l’indirizzo della cella
        da leggere o scrivere
                     scrivere.
 •      Tipicamente questo indirizzo viene posto in un registro apposito denominato
        Memory Address Register (MAR) che viene inviato alla memoria.

                                                     M
                                                                     Read
                                                  Memory
                               MAR
                                                   unit              Write


                                               Data out    Data in

 •      Esiste poi il registro Memory Data Register (MDR) che è il filtro tra la memoria e
        la CPU. Tutti i trasferimenti avvengono con questo registro:
        MDR ← M[MAR]
        M[MAR] ← MDR
 •      La prima è una operazione di lettura, mentre la seconda è una operazione di
        scrittura.

                                                                                               13
a.a. 2007/2008
Architettura dei calcolatori


                                       Microarchitettura della CPU (1/2)


                               CPU
                                                Control unit
      clock
                                                               Ctrl. sgn.
                                              Instr.
                                              Execution unit
                                                                     Data out
                          Instr.
                          Instr
                                               (data path)
                                               (d       h)
                                Data in

                                   Data bus        Address bus
                                                                     (external) control bus
                                          memory
                                               y




                                                                                                14
a.a. 2007/2008
Architettura dei calcolatori


                                          Microarchitettura della CPU (2/2)

                                                       MEM                 na
                               ctrl bus                                   addr bus
                                                            data bus nd

                                                         MDR

                                           IR
                                                                ALU
                                                                             REG
                                   CTRL
                                                 ctrl signals                 PC
                                   UNIT
                                                                          MAR

         Registri interni ed unità di elaborazione

         IR:         instruction register (ultima istruzione prelevata dalla memoria)
         REG:        register file
         PC:         program counter (indirizzo della prossima istruzione da eseguire)
         MAR:        memory address register
         MDR:        memory data register

         ALU: Arithmetic logic unit

                                                                                                    15
a.a. 2007/2008
Architettura dei calcolatori


                                              Ciclo di istruzione
           •      Il processore esegue ciclicamente le istruzioni che compongono il programma:


                                                                   DECODE
                                  FETCH


                                                         EXECUTE


         1.       MAR   PC
                  MDR M[MAR]
                         [ ]                                       INSTRUCTION FETCH
                  IR  MDR

         2.       PC PC+n; DECODE                                  DECODE

         3.       Execute operation                                EXECUTE (operand fetch)

           •      n è il numero di byte della istruzione
           •      le fasi 1 e 2 sono comuni a tutte le istruzioni; la fase 3 dipende dal tipo di istruzione
                  da eseguire.
           •      La unità di controllo è una macchina a stati che gestisce la temporizzazione e la
                  sequenzializzazione dei 3 macro-stati
                     q



                                                                                                                16
a.a. 2007/2008
Architettura dei calcolatori


                                                         Esempio
 •      IR                     contenuto dell’IR
 •      A,B,ALUout             porte logiche della ALU

 •      Esecuzione dell’istruzione var1=100+var2 che si trova all’indirizzo a0 ( nel PC)
        supponendo che esista una istruzione macchina unica per tutte queste
        operazioni

 MAR PC;
                                      fetch
 MDR M[MAR];
 IR MDR;

                                                                 decode
 DECODE, PC PC+LUNGH ISTR;

 MAR IR[VAR2];                 IL CAMPO DELL’ISTRUZIONE CHE
                                                                                    mem_rd
                                  CONTIENE L’INDIRIZZO VAR2
 MDR M[MAR];
                                                                                               execute
 A MDR B IR[100]
    MDR,   IR[100];  somma
 ALUout A+B;
 MAR IR[VAR1], MDR ALUout;
                                                              scrittura risultato in memoria
 M[MAR] MDR


                                                                                                          17
a.a. 2007/2008
Architettura dei calcolatori


                                                   Instruction fetch


                                                         General Purpose                  ALU
                                                             Register set
                                                                g

                                                              MDR                          Status Reg
                                                                                  (C)
                                                   (B)
                                       Data
                                                                        (B)
                                       Addr
                                       Add
                                      Contr.
                                                                MAR                       IR
     memoria
                                                               (A)          (D)           Control FSM
                                                      PC
                                                                               Address
                                                                              Generator




                 1.            Instruction Fetch

                                  MAR PC            (A)
                                  MDR M[MAR]        (B)
                                  IR MDR            (C)
                 …                PC PC+n           (D)


                                                                                                                   18
a.a. 2007/2008
Architettura dei calcolatori


                                              Instruction decode


                                     General Purpose                 ALU
                                       Register set

                                        MDR                            Status Reg
                                                                     Status Reg

                 Data
                 Addr
                 Add
                Contr.
                                          MAR                        IR IR

                                                                        Control FSM
                                PC
                                                          Address
                                                        Address
                                                         Generator
                                                       Generator




            La Control Unit decodifica l’istruzione corrente prelevandola dall’IR

            Se
            S possibile contemporaneamente viene eseguito il R i t F t h ossia il
                      ibil t                  ti              it  Register Fetch     i
            prelevamento dei dati dai registri per eventuali operazioni di ALU (o per la generazione
            di indirizzi)




                                                                                                         19
a.a. 2007/2008
Architettura dei calcolatori


                                                    Execute (AluOP)


                                                 General Purpose                 ALU
                                                                                ALU
                                                     Register set

                                                       MDR                       Status Reg
                                                                                Status Reg

                                Data
                                Addr
                               Contr.
                                                                                  IR
                                                        MAR

                                                                                  Control FSM
                                             PC
                                                                     Address
                                                                    Generator




                               Execute (AluOP)

                        es
                        es: add r1,r2,r3 (sintassi so g, des r3 r1+r2)
                                  , , 3 (s ass sorg, dest: 3         )
                            add AX, BX sintassi dest sorg AX AX+BX




                                                                                                           20
a.a. 2007/2008
Architettura dei calcolatori


                                               Execute (load)


 memoria                                        General Purpose
                                                                                  ALU
                                                    Register set
                                                                     (C)
                                                      MDR                          Status Reg
                                         (B)
                                Data
                                                               (B)
                                Addr
                                Add
                               Contr.
                                                       MAR                         IR

                                                             (A)                   Control FSM
                                                PC
                                                                       Address
                                                                    Address
                                                                      Generator
                                                                   Generator
            Execute (load)

             es ld R1, ALFA             R1 M[ALFA]

           MAR IR[ALFA]
                 [    ]           ()
                                  (A)
           MDR M[MAR]             (B)
           R1 MDR                 (C)

           caricamento dei dati dalla memoria al registro interno


                                                                                                            21
a.a. 2007/2008
Architettura dei calcolatori


                                                Execute (store)


  memoria                                         General Purpose
                                                                                  ALU
                                                      Register set
                                                         g
                                                                     (B)
                                                                                   Status Reg
                                                        MDR
                                          (C)
                                Data
                                                                 (C)
                                Addr
                                Add
                               Contr.
                                                         MAR                       IR

                                                               (A)                Control FSM
                                                 PC
                                                                       Address
                                                                      Address
                                                                      Generator
                                                                     Generator
           Execute (store)

           es        st ALFA, R1         M[ALFA] R1


           MAR IR[ALFA]            (A)
           MDR R1                  (B)
           M[MAR] MDR              (C)

           scrittura dei dati in memoria da un registro interno

                                                                                                           22
a.a. 2007/2008
Architettura dei calcolatori


                                             Esempio
 Esempio:
 • deve essere eseguita l’istruzione add r1, alfa che si trova all’indirizzo A0 di   memoria
 (contenuto nel PC)

 • r1=r1+alfa dove alfa è locazione di memoria (secondo la sintassi Intel-like, destinazione
 sorgente)
 • siano A e B le porte di ingresso della ALU e ALUout il registro di uscita

 Per eseguire questa istruzione devono essere eseguite tutte le microperazioni seguenti:

 MAR <-PC
 MDR <-M[MAR]                              fetch
 IR<- MDR

 PC<-PC+N ; DECODE (IR)                    decode

 MAR<-IR(opadr)
 MDR<-M[MAR]
 A<-MDR; B<-r1                             execute
 ALUOUT <-A+B
         < A+B
 r1<-ALUOUT

                                                                                                     23

More Related Content

What's hot

Architettura degli Elaboratori
Architettura degli ElaboratoriArchitettura degli Elaboratori
Architettura degli Elaboratorisviciu
 
Architettura degli elaboratori
Architettura degli elaboratoriArchitettura degli elaboratori
Architettura degli elaboratoriservetti
 
Architettura e nozioni di base
Architettura e nozioni di baseArchitettura e nozioni di base
Architettura e nozioni di baseFranco Marra
 
Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08Majong DevJfu
 
Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09Majong DevJfu
 
Architettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnicoArchitettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnicocesarem
 
Architettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 MemorieArchitettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 MemorieMajong DevJfu
 
Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Majong DevJfu
 
Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01Majong DevJfu
 
Architetturacomputer1
Architetturacomputer1Architetturacomputer1
Architetturacomputer1cesarem
 
Architettura dei Calcolatori 10 Input Ouput
Architettura dei Calcolatori 10 Input OuputArchitettura dei Calcolatori 10 Input Ouput
Architettura dei Calcolatori 10 Input OuputMajong DevJfu
 

What's hot (17)

Architettura degli Elaboratori
Architettura degli ElaboratoriArchitettura degli Elaboratori
Architettura degli Elaboratori
 
Architettura degli elaboratori
Architettura degli elaboratoriArchitettura degli elaboratori
Architettura degli elaboratori
 
DHow2 - L4
DHow2 - L4DHow2 - L4
DHow2 - L4
 
Architettura e nozioni di base
Architettura e nozioni di baseArchitettura e nozioni di base
Architettura e nozioni di base
 
Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08
 
Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09
 
Architettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnicoArchitettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnico
 
Architettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 MemorieArchitettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 Memorie
 
Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04
 
Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01
 
Architetturacomputer1
Architetturacomputer1Architetturacomputer1
Architetturacomputer1
 
Personal computer
Personal computerPersonal computer
Personal computer
 
Cpu
CpuCpu
Cpu
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Relazione Progetto cRIO
Relazione Progetto cRIORelazione Progetto cRIO
Relazione Progetto cRIO
 
Architettura dei Calcolatori 10 Input Ouput
Architettura dei Calcolatori 10 Input OuputArchitettura dei Calcolatori 10 Input Ouput
Architettura dei Calcolatori 10 Input Ouput
 
01 Hardware
01  Hardware01  Hardware
01 Hardware
 

Similar to Architettura dei Calcolatori 06 Elementi Architetturali Di Base

Architettura dei calcolatori
Architettura dei calcolatoriArchitettura dei calcolatori
Architettura dei calcolatorikaliaragorn
 
Presentazione microprocessore
Presentazione microprocessorePresentazione microprocessore
Presentazione microprocessoreOleg Stoianov
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiorestJump
 
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratoreserex86
 
Struttura dell'elaboratore (sample)
Struttura dell'elaboratore (sample)Struttura dell'elaboratore (sample)
Struttura dell'elaboratore (sample)Parco nord.
 
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptxssuser62bca5
 
Corso base introduzione pc
Corso base introduzione pcCorso base introduzione pc
Corso base introduzione pcclaudiatti
 
concetti base della tecnologia delle informazioni
concetti base della tecnologia delle informazioniconcetti base della tecnologia delle informazioni
concetti base della tecnologia delle informazioniPaolo Basilio
 
Concetti di base
Concetti di baseConcetti di base
Concetti di baseserex86
 
Modulo1 lezione1
Modulo1 lezione1Modulo1 lezione1
Modulo1 lezione1scipag
 

Similar to Architettura dei Calcolatori 06 Elementi Architetturali Di Base (20)

Cpu Abacus
Cpu AbacusCpu Abacus
Cpu Abacus
 
Cpu abacus
Cpu abacusCpu abacus
Cpu abacus
 
Modulo 1 - Lezione 2
Modulo 1 - Lezione 2Modulo 1 - Lezione 2
Modulo 1 - Lezione 2
 
Architettura dei calcolatori
Architettura dei calcolatoriArchitettura dei calcolatori
Architettura dei calcolatori
 
Presentazione microprocessore
Presentazione microprocessorePresentazione microprocessore
Presentazione microprocessore
 
Assemblare un pc
Assemblare un pcAssemblare un pc
Assemblare un pc
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Tecnologie Di Base
Tecnologie Di BaseTecnologie Di Base
Tecnologie Di Base
 
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratore
 
HARDWARE & SOFTWARE
HARDWARE & SOFTWAREHARDWARE & SOFTWARE
HARDWARE & SOFTWARE
 
Informatica base1
Informatica base1Informatica base1
Informatica base1
 
Struttura dell'elaboratore (sample)
Struttura dell'elaboratore (sample)Struttura dell'elaboratore (sample)
Struttura dell'elaboratore (sample)
 
DHow2 - L5
DHow2 - L5DHow2 - L5
DHow2 - L5
 
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
 
Corso base introduzione pc
Corso base introduzione pcCorso base introduzione pc
Corso base introduzione pc
 
La struttura del pc
La struttura del pcLa struttura del pc
La struttura del pc
 
concetti base della tecnologia delle informazioni
concetti base della tecnologia delle informazioniconcetti base della tecnologia delle informazioni
concetti base della tecnologia delle informazioni
 
Concetti di base
Concetti di baseConcetti di base
Concetti di base
 
Modulo1 lezione1
Modulo1 lezione1Modulo1 lezione1
Modulo1 lezione1
 

More from Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

More from Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
6
66
6
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 

Recently uploaded

Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 

Recently uploaded (9)

Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 

Architettura dei Calcolatori 06 Elementi Architetturali Di Base

  • 1. Dispense del corso di Architettura dei Calcolatori Elementi architetturali di base
  • 2. a.a. 2007/2008 Architettura dei calcolatori Semplici sistemi digitali • Circuiti combinatori e sequenziali possono essere utilizzati per creare semplici sistemi digitali. • Questi sono i componenti f d Q ti ti fondamentali per l creazione di un calcolatore t li la i l lt digitale. • I sistemi digitali di base sono frequentemente caratterizzati in termini g q – di registri contenuti – operazioni che si possono eseguire • Le operazioni sui dati contenuti nei registri sono dette microoperazioni. Queste vengono tipicamente eseguite in un solo ciclo di clock. 2
  • 3. a.a. 2007/2008 Architettura dei calcolatori Architettura di Von Neumann (1/2) L’architettura di Von Neumann si compone di 3 parti fondamentali: 1 MEMORIA: unità che mantiene le istruzioni che compongono il programma da eseguire e i dati che fungono da operandi per tali operazioni 2 CPU (central processing unit) o processore: è composto da una unità di controllo per gestire le comunicazioni con tutte le unità del sistema e per gestire il prelievo delle istruzioni (fetch) e la loro esecuzione e da una esecuzione, unità aritmetico logica (ALU) che esegue le istruzioni stesse e che gestisce l’accesso agli operandi. 3. 3 INPUT/OUTPUT le porte di interfaccia con l’esterno (e con i corrispondenti dispositivi periferici) . Input Output Memoria CPU 3
  • 4. a.a. 2007/2008 Architettura dei calcolatori Architettura di Von Neumann (2/2) • L’architettura di Von Neumann prevede una unità di elaborazione centrale (CPU Central Processing Unit) che esegue sequenze di istruzioni che sono riposte in una struttura di memorizzazione (memoria).La memoria contiene anche i dati che sono le informazioni che vengono elaborate dalla CPU in base alle istruzioni. • Col termine di “memoria” ci si riferisce alla Memoria centrale, direttamente interfacciata alla CPU, mentre la memoria di massa è logicamente un sistema di memoria ma fisicamente un dispositivo di I/O g p • Dati ed Istruzioni sono fisicamente codificate come stringhe di bit, che però vengono i t ò interpretate differentemente dalla CPU t t diff t t d ll • Architettura di Von Neuman: in cui esiste una sola memoria che contiene sia dati che istruzioni • Architettura di Harvard: in cui dati e istruzioni sono memorizzati su due memorie separate a cui la CPU accede contemporaneamente 4
  • 5. a.a. 2007/2008 Architettura dei calcolatori Interfaccia della CPU • I segnali di interfaccia dei processori si dividono in: – segnali di indirizzo per lo spazio di indirizzamento in memoria (n 2n locazioni di memoria indirizzabili) segnali – segnali di dato (indica il massimo parallelismo di parola nel trasferimento) – segnali di controllo Arbitraggio Indirizzi Coprocessore Dati CPU o multiprocessore Controllo C t ll Stato interno del trasferimento Interruzioni Reset Clk Ready Vcc/ gnd 5
  • 6. a.a. 2007/2008 Architettura dei calcolatori Progetto di un calcolatore (1/2) Progetto della CPU 1) definizione dell ISA. Più CPU sono compatibili a livello di ISA ma non di dell’ISA ISA, architettura interna (ad es: Intel Pentium , Intel Celeron, AMD, …) 2) definizione dei blocchi logici della CPU a livello di microarchitettura (come realizzare la pipeline, la superscalarità) 3) definizione di blocchi aggiuntivi per migliorare le prestazioni (ad es branch es. prediction table) 4) come progettare i singoli blocchi (come realizzare le ALU i registri e ALU, soprattutto l’unità di controllo) 5) come interfacciare la CPU con l’esterno (interfaccia con la memoria e struttura l esterno dei bus) Se poi il sistema è multiprocessor le scelte progettuali sono ancora più numerose numerose. 6
  • 7. a.a. 2007/2008 Architettura dei calcolatori Progetto di un calcolatore (2/2) Definizione dell’architettura del calcolatore • Definizione dell’architettura delle memorie (gerarchia di memorie, memorie cache di primo e secondo livello, parallelismo delle memorie, interallacciamento, ) interallacciamento …) • Scelte tecnologiche ( g (RAM,DRAM..) , ) • Interfaccia di bus con le memorie • Definizione dei bus di I/O (bus PCI, ISA, EIDE, SCSI,…) • Scelta della gestione delle periferiche • Scelta delle periferiche 7
  • 8. a.a. 2007/2008 Architettura dei calcolatori La CPU • Dal punto di vista strutturale la CPU è composta da alcune parti combinatorie: – ALU, decodifica degli indirizzi per i registri interni – decodifica delle istruzioni,… • e d alcune parti sequenziali da l i i li Data path – REGISTRI di dato e controllo – Unità di Controllo (Control Unit) Istruz. s.contr. Segnali di • Dal punto di vista funzionale si divide in Unità di controllo nel controllo – Data path (o execution unit): calcolatore il percorso dei dati – Control unit (l’unità di controllo) Memorie I/O • l’unità di elaborazione acquisisce istruzioni e dati, passa le istruzioni alla unità di controllo, esegue le operazioni di ALU, genera i risultati, calcola il prossimo indirizzo… • la unità di controllo è una FSM che controlla l’unita’ di elaborazione ed i segnali con l’esterno • L’implementazione a livello di reti logiche e la progettazione a livello RTL (corrispondente alla microarchitett ra) è dipendente dalla famiglia delle CPU e microarchitettura) dalla casa costruttrice 8
  • 9. a.a. 2007/2008 Architettura dei calcolatori Organizzazione di un sistema digitale • Definizione dell’organizzazione interna del calcolatore – Insieme dei registri e delle loro funzioni – Insieme delle microoperazioni consentite – Segnali di controllo che controllano la sequenza di microoperazioni necessaria a realizzare una certa funzione • Questo livello della descrizione di un sistema digitale viene detto Register Transfer Level (RTL) ovvero livello dei trasferimenti tra registri. • Per evitare di specificare i dettagli a parole si utilizza un formalismo apposito detto anche Register Transfer Language. Language • In questo linguaggio le lettere maiuscole (seguite eventualmente da numeri) indicano i registri: R0, A, MDR, IP. Alcuni di questi sono acronimi per le funzioni svolte. svolte • A volte si indicano porzioni di registri, quali singoli bit o gruppi di bit: Rappresentazione dei singoli bit Registro R1 7 6 5 4 3 2 1 0 15 15 87 0 0 R2 PC(H) PC(L) Numerazione d i bit N i dei Sotto S tt campi i 9
  • 10. a.a. 2007/2008 Architettura dei calcolatori Trasferimenti tra registri • Un trasferimento è la copia del contenuto di un registro in un altro. Un trasferimento si indica con: R2 ← R1 e indica di caricare il contenuto di R1 in • R2 in un solo ciclo di clock clock. • Per realizzare la microoperazione è necessario prevedere un collegamento tra l’uscita di R1 e l’ingresso di R2 e di avere delle linee di controllo che consentano di comandare la contemporanea abilitazione dell’uscita di R1 e la scrittura su R2 dell uscita R2. • E’ possibile poi indicare una condizione in base alla quale eseguire la microoperazione, dove la condizione è un segnale di controllo binario: P: R2 ← R1 • Questo indica che se P=1 viene eseguito il trasferimento da R1 a R2. • Con uno schema a blocchi: Circuito Load P R2 Clock di n controllo R1 10
  • 11. a.a. 2007/2008 Architettura dei calcolatori Altre operazioni • Le operazioni simultanee vengono separate con una virgola: P: R3 ← R5, MAR ← IR • In questo caso se la condizione P è vera R5 viene copiato in R3 e il vera, registro IR nel registro MAR. • Con le parentesi tonde si indicano le parti di un registro: R4(0-7) ← R6(8-15) • In questo esempio si trasferiscono i bit da 8 a 15 di R6 in quelli da 0 a 7 di R4. Come sempre si dovranno p p prevedere le opportune linee p il pp per trasferimento a livello di architettura hardware. 11
  • 12. a.a. 2007/2008 Architettura dei calcolatori Connessioni tra i registri • In un sistema digitale con molti registri non è possibile avere linee di trasferimento da ogni registro ad ogni altro registro. Questo per la semplice considerazione che per n registri servirebbero n(n 1) linee di n(n-1) connessione ognuna della dimensione del numero di bit dei registri. In un processore con 32 registri a 32 bit, si avrebbero 31744 piste! • La soluzione adottata è quella di connettere tutti i registri ad un unico sistema di comunicazione controllato da alcuni segnali di controllo che decidono quale registro è connesso come sorgente, e q q g g quale come destinazione. • Questo canale di comunicazione è noto con il nome di bus. • Con C questa architettura non è possibile trasferire dati t hit tt ibil t f i d ti contemporaneamente tra più coppie di registri. • Un bus si può realizzare sia con buffer tri-state sia con una struttura a p multiplexer. 12
  • 13. a.a. 2007/2008 Architettura dei calcolatori Trasferimenti con la memoria • Collettivamente la memoria viene vista come un dispositivo denotato con M. • Dato che esistono numerose celle, è necessario specificare l’indirizzo della cella da leggere o scrivere scrivere. • Tipicamente questo indirizzo viene posto in un registro apposito denominato Memory Address Register (MAR) che viene inviato alla memoria. M Read Memory MAR unit Write Data out Data in • Esiste poi il registro Memory Data Register (MDR) che è il filtro tra la memoria e la CPU. Tutti i trasferimenti avvengono con questo registro: MDR ← M[MAR] M[MAR] ← MDR • La prima è una operazione di lettura, mentre la seconda è una operazione di scrittura. 13
  • 14. a.a. 2007/2008 Architettura dei calcolatori Microarchitettura della CPU (1/2) CPU Control unit clock Ctrl. sgn. Instr. Execution unit Data out Instr. Instr (data path) (d h) Data in Data bus Address bus (external) control bus memory y 14
  • 15. a.a. 2007/2008 Architettura dei calcolatori Microarchitettura della CPU (2/2) MEM na ctrl bus addr bus data bus nd MDR IR ALU REG CTRL ctrl signals PC UNIT MAR Registri interni ed unità di elaborazione IR: instruction register (ultima istruzione prelevata dalla memoria) REG: register file PC: program counter (indirizzo della prossima istruzione da eseguire) MAR: memory address register MDR: memory data register ALU: Arithmetic logic unit 15
  • 16. a.a. 2007/2008 Architettura dei calcolatori Ciclo di istruzione • Il processore esegue ciclicamente le istruzioni che compongono il programma: DECODE FETCH EXECUTE 1. MAR PC MDR M[MAR] [ ] INSTRUCTION FETCH IR MDR 2. PC PC+n; DECODE DECODE 3. Execute operation EXECUTE (operand fetch) • n è il numero di byte della istruzione • le fasi 1 e 2 sono comuni a tutte le istruzioni; la fase 3 dipende dal tipo di istruzione da eseguire. • La unità di controllo è una macchina a stati che gestisce la temporizzazione e la sequenzializzazione dei 3 macro-stati q 16
  • 17. a.a. 2007/2008 Architettura dei calcolatori Esempio • IR contenuto dell’IR • A,B,ALUout porte logiche della ALU • Esecuzione dell’istruzione var1=100+var2 che si trova all’indirizzo a0 ( nel PC) supponendo che esista una istruzione macchina unica per tutte queste operazioni MAR PC; fetch MDR M[MAR]; IR MDR; decode DECODE, PC PC+LUNGH ISTR; MAR IR[VAR2]; IL CAMPO DELL’ISTRUZIONE CHE mem_rd CONTIENE L’INDIRIZZO VAR2 MDR M[MAR]; execute A MDR B IR[100] MDR, IR[100]; somma ALUout A+B; MAR IR[VAR1], MDR ALUout; scrittura risultato in memoria M[MAR] MDR 17
  • 18. a.a. 2007/2008 Architettura dei calcolatori Instruction fetch General Purpose ALU Register set g MDR Status Reg (C) (B) Data (B) Addr Add Contr. MAR IR memoria (A) (D) Control FSM PC Address Generator 1. Instruction Fetch MAR PC (A) MDR M[MAR] (B) IR MDR (C) … PC PC+n (D) 18
  • 19. a.a. 2007/2008 Architettura dei calcolatori Instruction decode General Purpose ALU Register set MDR Status Reg Status Reg Data Addr Add Contr. MAR IR IR Control FSM PC Address Address Generator Generator La Control Unit decodifica l’istruzione corrente prelevandola dall’IR Se S possibile contemporaneamente viene eseguito il R i t F t h ossia il ibil t ti it Register Fetch i prelevamento dei dati dai registri per eventuali operazioni di ALU (o per la generazione di indirizzi) 19
  • 20. a.a. 2007/2008 Architettura dei calcolatori Execute (AluOP) General Purpose ALU ALU Register set MDR Status Reg Status Reg Data Addr Contr. IR MAR Control FSM PC Address Generator Execute (AluOP) es es: add r1,r2,r3 (sintassi so g, des r3 r1+r2) , , 3 (s ass sorg, dest: 3 ) add AX, BX sintassi dest sorg AX AX+BX 20
  • 21. a.a. 2007/2008 Architettura dei calcolatori Execute (load) memoria General Purpose ALU Register set (C) MDR Status Reg (B) Data (B) Addr Add Contr. MAR IR (A) Control FSM PC Address Address Generator Generator Execute (load) es ld R1, ALFA R1 M[ALFA] MAR IR[ALFA] [ ] () (A) MDR M[MAR] (B) R1 MDR (C) caricamento dei dati dalla memoria al registro interno 21
  • 22. a.a. 2007/2008 Architettura dei calcolatori Execute (store) memoria General Purpose ALU Register set g (B) Status Reg MDR (C) Data (C) Addr Add Contr. MAR IR (A) Control FSM PC Address Address Generator Generator Execute (store) es st ALFA, R1 M[ALFA] R1 MAR IR[ALFA] (A) MDR R1 (B) M[MAR] MDR (C) scrittura dei dati in memoria da un registro interno 22
  • 23. a.a. 2007/2008 Architettura dei calcolatori Esempio Esempio: • deve essere eseguita l’istruzione add r1, alfa che si trova all’indirizzo A0 di memoria (contenuto nel PC) • r1=r1+alfa dove alfa è locazione di memoria (secondo la sintassi Intel-like, destinazione sorgente) • siano A e B le porte di ingresso della ALU e ALUout il registro di uscita Per eseguire questa istruzione devono essere eseguite tutte le microperazioni seguenti: MAR <-PC MDR <-M[MAR] fetch IR<- MDR PC<-PC+N ; DECODE (IR) decode MAR<-IR(opadr) MDR<-M[MAR] A<-MDR; B<-r1 execute ALUOUT <-A+B < A+B r1<-ALUOUT 23