Volume 3 Unità 3 Il Microprocessore PDF
Document Details
Uploaded by CharismaticPoincare6260
Tags
Summary
This document provides an overview of the architecture of central processing units (CPUs), including buses, registers, and their functionalities. It explains the role of various components and their interconnectedness.
Full Transcript
UNITÀ 3 IL MICROPROCESSORE L’ARCHITETTURA DELLA CPU L’elemento fondamentale di un sistema di elaborazione è la CPU viene realizzata fisicamente attraverso un microprocessore che può essere multicore cioè costituito da più CPU uguali in un unico componente integrato l'e...
UNITÀ 3 IL MICROPROCESSORE L’ARCHITETTURA DELLA CPU L’elemento fondamentale di un sistema di elaborazione è la CPU viene realizzata fisicamente attraverso un microprocessore che può essere multicore cioè costituito da più CPU uguali in un unico componente integrato l'evoluzione delle CPU è stata enorme in termini di capacità di elaborazione e velocità l'architettura, ha mantenuto le caratteristiche e le funzionalità iniziali L’ARCHITETTURA DELLA CPU CU coordina e gestisce le operazioni interne dei vari blocchi in base ai segnali ricevuti dall'esterno e alle (Control Unit) istruzioni da eseguire ALU esegue tutte le operazioni logico-matematiche necessarie richieste dall'unità di controllo (Arithmetic Logic Unit) REGISTERS piccole aree di memoria (le dimensioni massime dipendono da quanti bit può elaborare simultaneamente la CU) molto veloci che conservano i dati da elaborare e le informazioni relative alle operazioni da eseguire durante l'esecuzione delle istruzioni CACHE interna area di memoria nella quale sono inserite le istruzioni successive a quella in corso di esecuzione, velocizzando così le operazioni; è organizzata su più livelli (L1, L2, ecc.) in base alla velocità di accesso e alla frequenza d’uso LCU insieme di circuiti che trasformano gli impulsi elettrici provenienti dall'esterno in segnali utili per l'unità (Logic Control Unit) di controllo e trasformano in impulsi elettrici i comandi provenienti dall'unità di controllo MI insieme di circuiti che da ai bus esterni di comunicazione (dati e indirizzi) gli impulsi necessari per le (Memory Interface) comunicazioni con la memoria e con le periferiche e di trasformare gli impulsi ricevuti dall'esterno in segnali utili per la CU BUS interno insieme di collegamenti elettrici che consente di trasferire dati e indirizzi tra i vari blocchi del (o CPU bus) microprocessore. I BUS La CPU sui cui sono trasferiti i comandi (read, dialoga con le Control write ecc.) della CPU ai dispositivi periferici e le richieste dei dispositivi memorie e bus periferici alla CPU è costituito da un insieme di segnali segnali che escono dalla CPU e quindi sono con le logici. comandi che la CPU invia agli altri dispositivi periferiche Segnali che entrano nella CPU e quindi sono informazioni che gli altri dispositivi inviano alla CPU attraverso tre Il compito fondamentale è quello di sincronizzare i trasferimenti che tipi di bus avvengono su tutti i bus esterni in base esterni che al clock del sistema costituiscono è l'insieme di linee su cui la CPU scrive il System bus Address bus l'indirizzo della cella di memoria a cui vuole accedere (in lettura o in scrittura) l'insieme di linee su da CPU a memoria: la CPU scrive sul bus Data bus e la memoria legge dal bus; cui la CPU o la memoria scrivono il dato che deve essere trasferito da memoria a CPU: la memoria scrive sul bus e la CPU legge dal bus. I REGISTRI Un registro è una piccola e veloce memoria interna alla CPU La dimensione segue le potenze del 2 inizialmente registri a 8 bit, poi 16, 32, fino allo standard attuale a 64 bit I registri fondamentali, presenti in tutte le CPU (pur con nomi differenti a seconda dell'azienda produttrice di microprocessori), sono rappresentati in figura Le linee rosse rappresentano i bus su cui viaggiano i segnali di controllo le linee blu rappresentano i bus su cui viaggiano dati e indirizzi memorizza gli indirizzi per gli accessi in memoria (dunque AR (Address Register) solo dalla CPU verso la memoria). memorizza i dati provenienti: DR (Data Register) dalla memoria diretti alla CPU; dalla CPU diretti alla memoria. memorizza il codice operativo (opcode) dell'istruzione da IR (Instruction eseguire. Sulla base dell'opcode, l'unità di controllo capisce Register) quale operazione deve essere eseguita e ne comanda l'esecuzione. memorizza l'indirizzo iniziale della prossima istruzione da PC (Program Counter) eseguire. memorizza, tramite una serie di flag, lo stato del processore successivo all'esecuzione dell'ultima operazione. I suoi bit SR (Status Register) sono assegnati al risultato delle operazioni svolte dal processore memorizza l'indirizzo top dello stack. Lo stack è un'area della memoria in cui i dati sono letti/scritti in modalità LIFO. SP (Stack Pointer) Di solito si usa per salvare l'indirizzo di ritorno dalle I REGISTRI subroutine chiamate dal main registri di lavoro (o registri generali) che memorizzano i RO,..., Rn: risultati temporanei in ingresso e in uscita dall'ALU. Il set di registri della CPU può comprendere anche registri per contenere indirizzi iniziali (base register), contatori (count register), indici (index register), puntatori (pointer register) e altro ancora IL CICLO MACCHINA La CPU ha il compito di eseguire una sequenza di istruzioni (un programma) Prima preleva l'istruzione insieme a eventuali dati dalla Poi l'ALU elabora l'istruzione e mette a disposizione il memoria esterna (la RAM) e carica tutto negli opportuni risultato in un registro dedicato o in memoria. registri Tutto questo rappresenta un ciclo macchina o fetch-execute cycle. IL CICLO MACCHINA Le fasi del ciclo sono 5 e si ripetono fino al termine delle istruzioni macchina del programma IF (Instruction Fetch); ID (Instruction Decode); EX (Execution); MEM (Memory); WB (Write Back). CICLO MACCHINA FASE 1: IF L'indirizzo della prima istruzione viene caricato nel Program Counter e poi da questo all'Address Register. L'istruzione è prelevata (fetch) dalla memoria e caricata nell'Instruction Register (anche eventuali dati vengono caricati nel Data Register). Il Program Counter viene incrementato per puntare alla successiva istruzione da eseguire. La posizione dell'istruzione successiva è (salvo nelle istruzioni di salto) implicita; il programma è eseguito in sequenza e quindi l’indirizzo dell'istruzione successiva corrisponde all'indirizzo della prima istruzione successiva all'istruzione corrente. FASE 2: ID L'opcode dell'istruzione è decodificato e in base a esso si caricano nei registri di lavoro (RO,..., Rn) gli operandi necessari all'istruzione e si attivano le microcircuiterie necessarie a svolgere l'operazione richiesta. FASE 3: EX Le elaborazioni previste dall'opcode dell'istruzione sono eseguite nell'ALU, sfruttando i registri di lavoro (RO,..., Rn) per eventuali risultati parziali. FASE 4: MEM Consiste nell'eventuale scrittura del risultato di un'operazione in memoria (per esempio in caso di assegnamento di valori a variabili del programma) o verso le periferiche. FASE 5: WB Il risultato dell'esecuzione dell'istruzione viene scritto nel Data Register e lo stato del processore a seguito dell'esecuzione viene settato nello Status Register.