02-Architettura del calcolatore-v2024 modificato.pdf

Full Transcript

ARCHITETTURA DEL CALCOLATORE v2024 - 23/09/2024 - Bella Enrica 1 INDICE  Introduzione  Il modello di Von Neumann  Il modello di Harvard  La CPU  Le memorie  I BUS v2024 - 23/09/2024 - Bella Enrica 2 INTRODUZIONE...

ARCHITETTURA DEL CALCOLATORE v2024 - 23/09/2024 - Bella Enrica 1 INDICE  Introduzione  Il modello di Von Neumann  Il modello di Harvard  La CPU  Le memorie  I BUS v2024 - 23/09/2024 - Bella Enrica 2 INTRODUZIONE v2024 - 23/09/2024 - Bella Enrica 3  Con il termine computer intendiamo un dispositivo fisico che implementa il funzionamento di una macchina di Turing.  Vi sono alcune caratteristiche che accomunano tutti i computer, per esempio essi possiedono almeno una memoria e una CPU, o microprocessore.  Un computer, così come una macchina di Turing, svolge come compito principale l’esecuzione di programmi. v2024 - 23/09/2024 - Bella Enrica 4  Possiamo effettuare una prima distinzione:  General purpose: computer riprogrammabili dall’utente per diverse applicazioni. Per esempio un notebook;  Special purpose: computer rappresentati da sistemi dedicati a una sola applicazione specifica. Per esempio un microcontrollore.  Una seconda distinzione è basata sull’accesso condiviso o meno alle risorse hardware:  un computer general purpose può essere monoutente oppure multiutente sfruttando il cosiddetto timesharing delle risorse e l’utilizzo di diversi sistemi operativi. Un computer monoutente può essere monotasking oppure multitasking ovvero può eseguire più processi in contemporanea (come avviene, in pratica, in tutti i computer moderni). Ovviamente un computer multiutente è anche multitasking v2024 - 23/09/2024 - Bella Enrica 5 LEGGE DI MOORE  “La complessità di un microcircuito, misurata ad esempio in numero di transistor per chip, raddoppia ogni 18 mesi“ v2024 - 23/09/2024 - Bella Enrica 6 IL MODELLO DI VON NEUMANN v2024 - 23/09/2024 - Bella Enrica 7  Il modello di Von Neumann descrive il comportamento di una macchina che il suo inventore chiamò stored-program computer (esecutore sequenziale dotato di programma memorizzato).  Questo modello è in parte valido ancora oggi come punto di partenza per comprendere, in estrema sintesi, la struttura e il funzionamento di una moderna CPU (Central Processing Unit). v2024 - 23/09/2024 - Bella Enrica 8  Possiamo così sintetizzare il significato dei nomi della macchina chiamata stored- program computer:  Computer rappresenta la CPU che compie azioni di elaborazione. La CPU è in grado di eseguire le proprie azioni in modo sequenziale, cioè una alla volta  Stored-program indica le istruzioni che la CPU deve eseguire. Tali istruzioni sono collocate (stored) nella memoria del computer e l’insieme delle istruzioni rappresenta il programma (program) che deve essere eseguito v2024 - 23/09/2024 - Bella Enrica 9  La misura della velocità della CPU è strettamente legata alla frequenza del clock che indica il numero di azioni al secondo che essa deve compiere.  La frequenza del clock è un’unità di misura che identifica quanti cicli macchina esegue la CPU (microprocessore) in un secondo. Tuttavia non dobbiamo commettere l’errore di confonderla con il numero di istruzioni al secondo eseguite dalla CPU (MIPS - Million Instructions Per Second). Quest’ultima unità di misura ci indica il numero di istruzioni codificate ed eseguite (cioè elaborate) in un secondo. Possiamo affermare che la CPU impiega diversi cicli macchina per eseguire ciascuna istruzione in linguaggio assembly.  Non vi è una diretta comunicazione tra memoria e dispositivi di I/O; ogni trasferimento di informazioni dovrà necessariamente passare attraverso la CPU. v2024 - 23/09/2024 - Bella Enrica 10  Le dimensioni di questi elementi variano in relazione alla struttura fisica della CPU.  Il BUS dati (data BUS) consente la trasmissione dei dati dalla CPU agli altri elementi e viceversa (bidirezionale).  Il BUS indirizzi (address BUS) contiene l’indirizzo della cella di memoria o del dispositivo di I/O sul quale o dal quale la CPU ha deciso di operare (monodirezionale).  Il BUS di controllo (control BUS) trasporta gli ordini dalla CPU e restituisce i segnali di condizione dai dispositivi v2024 - 23/09/2024 - Bella Enrica 11  Con il termine memoria vengono comprese diverse tipologie:  Memoria principale (o centrale): necessaria per il funzionamento immediato del computer, utilizzata per eseguire i programmi e gestire le operazioni in corso;  Memoria secondaria (o di massa): utilizzata per archiviare i dati dell'utente e i file a lungo termine, mantenendo le informazioni anche quando il computer è spento.  Fanno parte di questo tipo di memorie: hard disk, SSD (Solid State Drive), chiavette USB. v2024 - 23/09/2024 - Bella Enrica 12 MEMORIA CENTRALE  La memoria centrale o main memory e può essere sostanzialmente di due tipi:  La memoria RAM è ad accesso casuale (o programmato), è volatile (non permanente) ed è riscrivibile. Viene usata per dati e programmi temporanei.  La memoria ROM è di sola lettura, è permanente e i dati in essa contenuti vengono memorizzati dal produttore oppure mediante la scrittura assai più lenta e costosa della lettura. Viene usata per memorizzare programmi non modificabili e per dati di avviamento (BIOS). v2024 - 23/09/2024 - Bella Enrica 13  La memoria è il dispositivo fisico che ha il compito di immagazzinare le istruzioni e i dati.  È organizzata a locazioni o celle, ciascuna delle quali è in grado di memorizzare un byte.  L’accesso alle celle di memoria avviene attraverso indirizzi numerici (memory address) che identificano la casella in cui si trova il dato.  Il tempo necessario per leggere o scrivere un dato su una cella di memoria si definisce tempo di accesso. v2024 - 23/09/2024 - Bella Enrica 14 IL MODELLO DI HARVARD v2024 - 23/09/2024 - Bella Enrica 15  A differenza del modello di Von Neumann nel quale i dati e le istruzioni condividono la stessa memoria, il modello di Harvard dedica due memorie distinte per i dati e per le istruzioni.  Si tratta di una soluzione più efficiente ottimizzabile, ma tuttavia molto più costosa.  L’architettura Harvard è un modello applicato alla progettazione di processori specializzati come i DSP (Digital Signal Processor) che vengono utilizzati per il trattamento dei dati audio o video. v2024 - 23/09/2024 - Bella Enrica 16 LA CPU CENTRAL PROCESSING UNIT v2024 - 23/09/2024 - Bella Enrica 17 MICROPROCESSORE  Il microprocessore è un circuito integrato (chip), che costituisce l'unità centrale di un computer.  Il microprocessore svolge diverse 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 v2024 - 23/09/2024 - Bella Enrica 18 L’ARCHITETTURA INTERNA DELLA CPU v2024 - 23/09/2024 - Bella Enrica 19 L’ARCHITETTURA INTERNA DELLA CPU: ALU (ARITHMETIC LOGIC UNIT)  È il blocco che esegue le trasformazioni sui dati. Poiché i dati, indipendentemente dal loro significato sono codificati attraverso numeri binari, qualsiasi trasformazione da fare sui dati si riduce a un’operazione aritmetica o logica.  L’ALU è la parte della CPU dedicata alle operazioni:  Aritmetiche: addizione, sottrazione, moltiplicazione, divisione  Logiche: confronti, and, or … v2024 - 23/09/2024 - Bella Enrica 20 L’ARCHITETTURA INTERNA DELLA CPU: REGISTRI  I registri sono delle sequenze di celle di memoria, in cui si possono leggere e scrivere dati.  Diversamente dalle celle di memoria i registri non possiedono un indirizzo ma un nome specifico.  La dimensione dei registri si esprime in bit e dipende dall’architettura specifica della CPU. In generale la funzione dei registri è quella di memorizzare temporaneamente dei dati. v2024 - 23/09/2024 - Bella Enrica 21  Vi sono registri accessibili dal programmatore e altri che invece risultano inaccessibili al programmatore, in quanto vengono usati direttamente dalla CPU per le proprie operazioni di controllo.  I registri generali sono registri non specializzati, destinati a ospitare temporaneamente i dati in corso di elaborazione.  Sono accessibili al programmatore e ciascun processore possiede una propria architettura e di conseguenza una propria organizzazione dei registri v2024 - 23/09/2024 - Bella Enrica 22 L’ARCHITETTURA INTERNA DELLA CPU: IR (INSTRUCTION REGISTER)  È invisibile al programmatore e contiene temporaneamente il codice operativo dell’istruzione che deve essere eseguita. v2024 - 23/09/2024 - Bella Enrica 23 L’ARCHITETTURA INTERNA DELLA CPU: PC (PROGRAM COUNTER)  È un registro interno accessibile parzialmente dal programmatore che lo può usare per modificare il flusso sequenziale del programma.  Il registro PC (nelle CPU Intel si chiama IP, Instruction Pointer) contiene, in ogni fase di avanzamento del programma, l’indirizzo di memoria in cui si trova l’istruzione successiva da eseguire.  È un registro di tipo puntatore.  Normalmente il contenuto di questo registro viene incrementato automaticamente dalla CU ogni volta che l’esecuzione di un’istruzione è completata, in modo da potere leggere in memoria l’istruzione successiva. v2024 - 23/09/2024 - Bella Enrica 24 L’ARCHITETTURA INTERNA DELLA CPU: CU (CONTROL UNIT)  Durante ogni intervallo di tempo la CU, stabilisce le operazioni da eseguire  È il blocco che invia i comandi esecutivi all’ALU in base alla decodifica dell’istruzione, e decide l’incremento dell’indirizzo di memoria contenuto nel registro PC in modo da predisporsi all’esecuzione dell’istruzione. v2024 - 23/09/2024 - Bella Enrica 25 L’ARCHITETTURA INTERNA DELLA CPU: PSW (PROCESS STATUS WORD)  Questo registro interno, chiamato anche registro dei flag, non ha un significato nel suo complesso;  ciascun bit che lo compone si comporta come una bandierina di segnalazione che fornisce informazioni sul risultato delle operazioni aritmetico-logiche dell’ultima istruzione eseguita.  L’ALU, a ogni operazione aritmetico-logica, aggiorna il contenuto del registro PSW.  Grazie ai flag possiamo infatti realizzare le strutture fondamentali della programmazione (condizione, iterazione, sottoprogrammi) v2024 - 23/09/2024 - Bella Enrica 26  Esempi di alcuni flag:  ZF (Zero Flag): segnala se il risultato dell’ultima istruzione aritmetico-logica era zero;  CF (Carry Flag): segnala se l’ultima istruzione aritmetico-logica aveva un riporto. v2024 - 23/09/2024 - Bella Enrica 27 L’ARCHITETTURA INTERNA DELLA CPU: BUS INTERNO  Si tratta di un BUS che collega tutti gli elementi che fanno parte della CPU; nello schema sono individuabili dal colore nero delle frecce.  Si tratta di un BUS generalmente di controllo, senza distinzione tra dati e indirizzi e non è da confondere con i BUS esterni o di sistema. v2024 - 23/09/2024 - Bella Enrica 28 IL CICLO MACCHINA  l funzionamento di una CPU inizia con il prelevamento dalla memoria del codice macchina dell’istruzione da eseguire; tale operazione viene eseguita dalla Control Unit.  L’istruzione prelevata viene trasferita in un registro specifico (IR) e quindi codificata. Dopo aver codificato, cioè tradotto l’istruzione, la CPU emette i segnali necessari all’esecuzione dell’istruzione. v2024 - 23/09/2024 - Bella Enrica 29  Il procedimento appena descritto, attraverso il quale la CPU esegue un’istruzione, prende il nome di ciclo macchina, che può essere idealmente suddiviso in quattro parti:  fase di Fetch dell’istruzione;  fase di Decode dell’istruzione;  fase di Fecth degli operandi;  fase di Execute v2024 - 23/09/2024 - Bella Enrica 30 IL CICLO MACCHINA: FETCH DELL’ISTRUZIONE  Il termine Fetch significa prelevamento e identifica la fase in cui la CPU deve reperire l’istruzione da eseguire.  In questa fase la CPU deve dialogare con la memoria RAM per ottenere il codice macchina dell’istruzione da eseguire.  Il prelevamento avviene in questo modo:  La Control Unit legge il PC(Program Counter), che contiene l’indirizzo della prossima istruzione da eseguire. Recupera l’istruzione e la memorizza nell’IR.  Dopo aver letto il codice dalla memoria, incrementa il contenuto del registro Program Counter in modo che esso “punti” all’istruzione successiva v2024 - 23/09/2024 - Bella Enrica 31 IL CICLO MACCHINA: DECODE  La fase di decode rappresenta una fase interna alla CPU durante la quale avviene l’interpretazione dell’istruzione e la preparazione dei dispositivi necessari.  Il codice macchina dell’istruzione viene codificato in operazioni da eseguire da parte della CPU. v2024 - 23/09/2024 - Bella Enrica 32  L’interpretazione può avvenire:  attraverso circuiti logici già predisposti al momento di costruzione del processore secondo la logica cablata dal circuito. Le funzioni eseguibili sono prefissate fisicamente e il sistema comporta una certa rigidità  attraverso microistruzioni contenute in un’apposita parte della ROM secondo la logica microprogrammata. L’interpretazione avviene cercando nella ROM la sequenza di passi elementari di cui è composta l’istruzione da interpretare. v2024 - 23/09/2024 - Bella Enrica 33 IL CICLO MACCHINA: FETCH DEGLI OPERANDI  In base alla codifica dell’istruzione il processore riconosce se è necessario o meno prelevare dalla memoria o da un registro interno un altro dato per completare l’esecuzione dell’istruzione.  In tal caso viene eseguita un’operazione di lettura, dalla memoria o da un registro, chiamata appunto Fetch degli operandi. v2024 - 23/09/2024 - Bella Enrica 34 IL CICLO MACCHINA: EXECUTE  Nella fase di execute la Control Unit invia segnali che rappresentano opportuni comandi per l’esecuzione. v2024 - 23/09/2024 - Bella Enrica 35 IL CICLO MACCHINA: SINTESI  L’esecuzione di ogni istruzione da parte della CPU richiede una serie di passi che, in linea di massima, possono essere così riassunti.  Preleva il codice macchina dell’istruzione di indirizzo uguale al contenuto del registro PC e inseriscilo nel registro IR.  Incrementa il contenuto del registro PC per “puntare” all’istruzione seguente.  Decodifica l’istruzione appena prelevata.  Se l’istruzione necessita di operandi, determina dove si trovano (memoria oppure registri).  Se necessario, preleva dalla memoria gli operandi e ponili nei registri della CPU.  Esegui l’istruzione.  Salva il risultato in un registro o in una cella di memoria.  Torna al primo punto. v2024 - 23/09/2024 - Bella Enrica 36 ARCHITETTURE RISC E CISC  Le due tecnologie di riferimento per la costruzione di microprocessori sono:  CISC (Complex Instruction Set Computer);  RISC (Reduced Instruction Set Computer.) v2024 - 23/09/2024 - Bella Enrica 37 CISC RISC  CISC sono nati con la necessità di avere un  RISC è invece la forte riduzione del numero di numero elevato di istruzioni diverse, di tipo anche istruzioni in modo da poter conciliare la velocità del complesso, per semplificare il compito dei microprocessore con l’esecuzione di queste. Il fine programmatori e per disporre di programmi più principale della struttura RISC è quello di produrre compatti che utilizzino minore memoria. processori ad alta velocità e dal costo ridotto, data la minore complessità del progetto.  All’interno delle CPU realizzate secondo tale architettura è presente una memoria di tipo ROM che  Una conseguenza dell’architettura RISC è la maggiore contiene una serie di microcodici ciascuno dei complessità dei programmi: se i processori riconoscono quali permette di eseguire all’interno del una quantità molto bassa di istruzioni, il programmatore microprocessore stesso, un’azione elementare. deve sopperire con il software per far svolgere a essi operazioni complesse. v2024 - 23/09/2024 - Bella Enrica 38 MOTHERBOARD  La scheda madre è la base che permette la connessione di tutti gli elementi essenziali del computer.  La scheda madre è una scheda master, a forma di un grande circuito stampato che ha soprattutto dei connettori per le schede d'estensione, le barrette di memoria, i processori, ecc. v2024 - 23/09/2024 - Bella Enrica 39 LE MEMORIE v2024 - 23/09/2024 - Bella Enrica 40  La memoria contiene informazioni espresse in binario, cioè formate da bit che possono essere 0 oppure 1.  Dal punto di vista fisico il bit viene immagazzinato in un dispositivo elettronico chiamato flip-flop, ossia un componente in grado di memorizzare un’informazione binaria. v2024 - 23/09/2024 - Bella Enrica 41  Ciascun bit di una cella di memoria è collegato a un diverso filo conduttore del data BUS in modo tale che tutti i bit vengano trasferiti contemporaneamente. Quando la cella viene letta ogni elemento impone il suo contenuto sul rispettivo filo conduttore del data BUS. Allo stesso modo, quando ciascun elemento viene memorizzato nella cella, carica al suo interno il valore del rispettivo bit ricevuto dal filo conduttore del data BUS. v2024 - 23/09/2024 - Bella Enrica 42 GLI INDIRIZZI DELLE CELLE DI MEMORIA  L’indirizzo di ciascuna cella è definito dalla posizione relativa della cella rispetto alla prima cella.  Possiamo definire spiazzamento o displacement, lo spostamento necessario per raggiungere la cella desiderata iniziando dalla prima, che normalmente ha, per definizione, indirizzo 0. Lo schema grafico è riportato a lato. v2024 - 23/09/2024 - Bella Enrica 43  La quantità di celle presenti nella memoria viene chiamata spazio di indirizzamento e il suo valore dipende dalle caratteristiche della CPU, dei BUS e della scheda madre.  La quantità di celle presenti nella memoria centrale si misura in byte o nei suoi multipli, in quanto ciascuna cella contiene 1 byte.  Il calcolo dello spazio di indirizzamento si ottiene a partire dal numero di fili (chiameremo n) conduttori del BUS indirizzi individuando tutte le possibili disposizioni con la ripetizione di due elementi (0 e 1). 𝑆𝑝𝑎𝑧𝑖𝑜𝐼𝑛𝑑𝑖𝑟𝑖𝑧𝑧𝑎𝑚𝑒𝑛𝑡𝑜 = 2𝑛 𝐼𝑛𝑑𝑖𝑟𝑖𝑧𝑧𝑜𝑈𝑙𝑡𝑖𝑚𝑎𝐶𝑒𝑙𝑙𝑎 = 2𝑛 − 1 v2024 - 23/09/2024 - Bella Enrica 44 PRINCIPIO DI LOCALITÀ  "Durante l'esecuzione di una data istruzione presente in memoria, con molta probabilità le successive istruzioni saranno ubicate nelle vicinanze di quella in corso. Nell'arco di esecuzione di un programma si tende a fare riferimenti continui alle stesse istruzioni."  Come si può notare esistono due località che compongono tale principio:  Località spaziale  Località temporale v2024 - 23/09/2024 - Bella Enrica 45 GERARCHIE DELLE MEMORIE DEL PC  Nell’architettura Von Neumann il canale di comunicazione tra la CPU e la me- moria è il punto critico del sistema ed è chiamato collo di bottiglia.  La tecnologia consente di realizzare processori sempre più veloci e memorie sempre più capienti, tuttavia la velocità di accesso delle memorie non è adeguata alla crescita repentina delle CPU. v2024 - 23/09/2024 - Bella Enrica 46  La soluzione ottimale per un sistema di gestione della memoria dovrebbe garantire costi minimi con capacità massime e bassi tempi di accesso al dato.  La soluzione che è stata escogitata prevede l’uso di memorie con tempi di accesso diversi, organizzate secondo gerarchie: con l’uso di tecnologie differenti possiamo soddisfare al meglio ciascuno dei requisiti.  La memoria all’interno della scheda madre di un PC è organizzata in livelli gerarchici: ogni livello è caratterizzato da una dimensione crescente e da un tempo di accesso decrescente v2024 - 23/09/2024 - Bella Enrica 47  La memoria RAM è molto più lenta della CPU, per cui per migliorare le prestazioni vengono combinati tipi di memoria veloce con tipi di memoria più capienti ma lente.  Questa tecnica prende il nome di cache. v2024 - 23/09/2024 - Bella Enrica 48 Cache miss Cache hit  Quando la cache riceve una richiesta  Quando invece il dato viene trovato dalla CPU, potrebbe non possedere i nella cache si parla di cache hit , per dati necessari: si parla in questo caso di indicare il successo nella lettura. cache miss , cioè di dato mancato nella  In questo caso non sarà necessario cache. andare a recuperare il dato in memoria  In questo caso occorrerà andare a RAM che avrebbe avuto tempi di leggere il dato dalla memoria RAM. accesso più elevati. v2024 - 23/09/2024 - Bella Enrica 49  Quindi, le memorie cache fanno da tramite tra la CPU e la memoria RAM compensando il deficit legato alla lentezza della RAM.  Esistono diversi livelli di cache, denominate di primo livello, che spesso risiedono all’interno del microprocessore e sono più potenti e veloci della versione integrata sulla motherboard. v2024 - 23/09/2024 - Bella Enrica 50  Hit Ratio (H): percentuale di celle trovate nella cache rispetto al totale degli accessi in memoria.  Il tempo medio di accesso in memoria si calcola facendo una media ponderata tra il tempo di accesso della memoria cache e quello della memoria centrale. 𝑇𝑀 = 𝐻 ∗ 𝑇𝑐𝑎𝑐ℎ𝑒 + 1 − 𝐻 ∗ 𝑇𝑅𝐴𝑀 v2024 - 23/09/2024 - Bella Enrica 51 ESEMPIO  Si ipotizzi di avere un calcolatore con una memoria cache con tempo di accesso pari a 20ns e hit ratio pari al 60 %. Il tempo di accesso della memoria RAM è di 80ns.  Calcolare il tempo di accesso medio: 𝑇𝑀 = 𝐻 ∗ 𝑇𝑐𝑎𝑐ℎ𝑒 + 1 − 𝐻 ∗ 𝑇𝑅𝐴𝑀 = 0.6 ∗ 20𝑛𝑠 + 0,4 ∗ 80𝑛𝑠 = 12𝑛𝑠 + 32𝑛𝑠 = 44𝑛𝑠 v2024 - 23/09/2024 - Bella Enrica 52 ESEMPIO  Si ipotizzi di avere un calcolatore con una memoria cache con tempo di accesso pari a 20ns e hit ratio pari al 80 %. Il tempo di accesso della memoria RAM è di 80ns.  Calcolare il tempo di accesso medio: 𝑇𝑀 = 𝐻 ∗ 𝑇𝑐𝑎𝑐ℎ𝑒 + 1 − 𝐻 ∗ 𝑇𝑅𝐴𝑀 = 0.8 ∗ 20𝑛𝑠 + 0,2 ∗ 80𝑛𝑠 = 16𝑛𝑠 + 16𝑛𝑠 = 32𝑛𝑠 v2024 - 23/09/2024 - Bella Enrica 53 RIASSUMENDO Cosa contiene Registri Piccolissima memoria all’interno della CPU. Contengono dati necessari per l’esecuzione della singola istruzione. Cache Sono contenute le informazioni che si potrebbero usare nel breve periodo (una copia parziale di quello che si trova in RAM). RAM (Random Memoria volatile. Contiene tutti i programmi in esecuzione. Access Memory) ROM (Read Memoria di sola lettura. Contiene le operazioni necessarie per l’avvio del computer BIOS (Basic Only Memory) Input-Output System). Hard Disk Memoria permanente. Contiene sistema operativo, programmi e file. SSD (Solid Può sostituire l’hard disk in quanto è più veloce. v2024 - 23/09/2024 - Bella Enrica 54 State Disk) I BUS v2024 - 23/09/2024 - Bella Enrica 55  Il BUS può essere identificato da un insieme di linee che conducono elettricità, ciascuna delle quali collegata a un pin di un dispositivo.  I BUS si possono dividere in due categorie:  BUS interno alla CPU, trasporta dati verso e dall’ALU;  BUS esterno alla CPU, trasporta dati da e verso la memoria e i dispositivi di I/O. v2024 - 23/09/2024 - Bella Enrica 56  Si definisce protocollo del BUS l’insieme di regole precise che consentono ai vari dispositivi, rappresentati anche da schede particolari, di comunicare attraverso il BUS di sistema.  l dispositivo che intende inviare un segnale sulla linea del BUS non fa altro che attivare un voltaggio particolare che identifica il dato inviato, secondo le specifiche definite dal protocollo. Il segnale viaggia sulla linea e può essere ricevuto da tutti gli altri dispositivi collegati al BUS. v2024 - 23/09/2024 - Bella Enrica 57  In generale possiamo affermare che il dispositivo in grado di iniziare un trasferimento dei dati è denominato master, mentre un dispositivo che inizia la comunicazione solo su comando del master assume il nome di slave. Alcuni dispositivi sono in grado di comportarsi sia come master sia come slave.  In un certo istante può esistere un solo master per cui è necessario regolare l’accesso a un BUS attraverso un’operazione chiamata arbitraggio. v2024 - 23/09/2024 - Bella Enrica 58  Il numero di linee di un BUS è detto larghezza del BUS ed è direttamente proporzionale alle prestazioni: con n linee a disposizione un BUS può infatti indirizzare 2𝑛 diverse locazioni di memoria.  Per aumentare le prestazioni dei BUS i costruttori hanno adottato due tecniche che presentano tuttavia degli inconvenienti:  diminuzione della durata del ciclo di BUS aumentando in tal modo il numero di bit trasferiti al secondo. È di difficile implementazione perché i segnali di linee diverse si muovono a velocità diverse, presentando incompatibilità con i modelli precedenti;  aumento della larghezza del BUS, ottenendo in tal modo un numero maggiore di linee a discapito della velocità. In realtà questo finora è l’approccio più diffuso. v2024 - 23/09/2024 - Bella Enrica 59  Possiamo sintetizzare le caratteristiche principali di un BUS in termini prestazionali:  bit rate: numero di bit al secondo (b/s) trasmessi attraverso il canale;  larghezza: numero di linee indipendenti per la trasmissione di dati;  velocità: frequenza del ciclo di BUS per un BUS sincrono;  banda: numero (massimo) di Byte al secondo (B/s) che si possono trasmettere attraverso il canale. v2024 - 23/09/2024 - Bella Enrica 60  I bus si possono suddividere in due categorie in base alla modalità di sincronismo:  Bus sincrono  Bus asincrono v2024 - 23/09/2024 - Bella Enrica 61 BUS SINCRONO  Possiede in ingresso un segnale proveniente da un oscillatore che ne sincronizza le operazioni al microprocessore.  Il segnale su questa linea è un’onda quadra generata dal clock di sistema.  Ha una struttura più semplice, grazie alla discretizzazione indotta dai cicli di clock, tuttavia rende difficile sfruttare al massimo le prestazioni dei dispositivi a esso connessi, rendendo le prestazioni globali vincolate al dispositivo più lento che lo utilizza v2024 - 23/09/2024 - Bella Enrica 62 BUS ASINCRONO  l BUS asincrono non è dotato di un clock principale.  I cicli del BUS possono essere della lunghezza necessaria e non devono essere uguali per tutti i dispositivi.  Esso è caratterizzato da una semplicità strutturale in quanto non esiste un segnale di clock del BUS, e sfrutta al meglio le prestazioni di ciascun dispositivo che lo utilizza.  Possiede una circuiteria di corredo complessa che deve gestire la sincronizzazione: MSYN (Master SYNchronization) e SSYN (Slave SYNchronization) v2024 - 23/09/2024 - Bella Enrica 63  È necessario regolare l’accesso a un BUS attraverso un’operazione chiamata arbitraggio che può essere di tre tipi:  Arbitraggio centralizzato a un livello  Arbitraggio centralizzato a più livelli  Arbitraggio distribuito  Nei primi due, la concessione dell’accesso al BUS avviene per un solo dispositivo alla volta ed è gestita da un dispositivo chiamato arbitro del BUS. v2024 - 23/09/2024 - Bella Enrica 64 ARBITRAGGIO CENTRALIZZATO A UN LIVELLO  La sequenza delle operazioni dello schema è così sintetizzata:  il dispositivo master che vuole utilizzare il BUS attiva la linea BUS request;  quando la linea BUS request viene attivata, l’arbitro attiva la linea BUS grant appena è disponibile;  la linea BUS grant viene propagata da un dispositivo a quello successivo solo se esso non ha attivato la linea BUS request;  il dispositivo che ha attivato la linea BUS request deve attendere che la linea BUS grant diventi attiva prima di poter utilizzare il BUS. v2024 - 23/09/2024 - Bella Enrica 65 ARBITRAGGIO CENTRALIZZATO A PIÙ LIVELLI  La sequenza delle operazioni dello schema è così sintetizzata:  ciascun livello è indipendente e funziona come descritto in precedenza tranne quando le due (o più) linee BUS request sono attive contemporaneamente perché, in tal caso, l’arbitro attiva solo la linea BUS grant di livello più basso (di priorità più alta) v2024 - 23/09/2024 - Bella Enrica 66 ARBITRAGGIO DISTRIBUITO  Non esiste l’arbitro del BUS: tutti i dispositivi regolano da soli l’accesso esclusivo al BUS.  La sequenza delle operazioni dello schema è così sintetizzata:  il dispositivo master che vuole utilizzare il BUS nega la linea arbitration out;  il dispositivo master che vuole utilizzare il BUS attende che la linea arbitration in diventi attiva e che la linea busy venga negata, quindi attiva la linea busy, attiva la linea arbitration out e utilizza il BUS;  il dispositivo master che utilizza il BUS nega la linea busy quando termina v2024 - 23/09/2024 - Bella Enrica 67  Questo tipo di arbitraggio utilizza solo 3 linee:  Linea di Richiesta, che effettua la richiesta del bus.  Busy, è attivata dal master che ne fa richiesta.  Linea di arbitraggio, che collega tutti i dispositivi, è usata per arbitrare il bus ed è alimentata a 5 volt. v2024 - 23/09/2024 - Bella Enrica 68  Quando nessuno richiede il bus, la linea di arbitraggio si propaga per tutti i dispositivi, mentre se un dispositivo lo richiede, dovrà controllare se il bus è libero e se il segnale della linea di arbitraggio (IN) è attivato; in questo caso nega OUT in modo che tutti i dispositivi successivi vedranno IN negato e a loro volta negheranno OUT. In questo modo il dispositivo con priorità maggiore che ha fatto richiesta, avrà il possesso del bus, attiverà la linea di Busy e OUT, e inizierà il proprio trasferimento. Questo schema è simile a quello Daisy Chaining a differenza che è privo di arbitro, questa differenza lo rende più economico, veloce e non soggetto a eventuali guasti da parte dell'arbitro. v2024 - 23/09/2024 - Bella Enrica 69 ALTRE COMPONENTI v2024 - 23/09/2024 - Bella Enrica 70 ALIMENTATORE  L’alimentatore è il dispositivo che ha il compito di fornire energia a tutti i componenti del PC.  Dovrà essere scelto in modo di garantire sufficiente energia a tutti i dispositivi.  È bene scegliere un alimentatore più potente (W, Watt) del necessario, in modo da essere tollerante ad eventuali sbalzi di consumi ed essere utilizzabile anche con eventuali sostituzioni di componenti. v2024 - 23/09/2024 - Bella Enrica 71 SISTEMA DI RAFFREDDAMENTO  Il flusso di corrente attraverso i componenti del PC genera calore. Se il calore non viene dissipato, i componenti potrebbero danneggiarsi.  Per questo motivo sarà necessario avere un sistema di raffreddamento, il cui compito è quello di mantenere costanti le temperature di tutte i componenti.  I sistemi di raffreddamento possono essere:  Raffreddamento ad aria  Raffreddamento a liquido v2024 - 23/09/2024 - Bella Enrica 72 SCHEDA VIDEO  GPU (Graphics Processing Unit)  una scheda video o scheda grafica è un componente hardware del computer che ha lo scopo di elaborazione del segnale video ovvero generare, a partire da un segnale elettrico in ingresso dal processore, un determinato segnale elettrico in uscita che possa essere poi inviato in input a video (display o monitor) per essere tradotto da quest'ultimo in immagine e mostrato all'utente. v2024 - 23/09/2024 - Bella Enrica 73  Slide realizzate seguendo il seguente libro: Nuovo Sistemi e Reti volume 1 – Hoepli – L. Lo Russo, E. Bianchi v2024 - 23/09/2024 - Bella Enrica 74

Use Quizgecko on...
Browser
Browser