I Bus di Sistema Corso di Laurea Magistrale in Ingegneria Informatica

Slides:



Advertisements
Presentazioni simili
L’organizzazione della comunicazione di I/O G. Vercelli
Advertisements

Il livello analogico digitale Lezione 3_4 Chip delle CPU e Bus.
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
Giuseppe Andronico CCR-WS10 Santa Tecla, 18 Maggio 2010 Introduzione MPI & GPU.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
I dispositivi di rete. La Scheda Di Rete La scheda di rete, o LAN adapter è un circuito stampato che collega il cavo per il collegamento internet al PC.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Internet Internet è conosciuta come la "rete delle reti". E' una grande rete di comunicazione che si estende in tutto il mondo che collega tra loro computer.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
“Non c’è nessun buon motivo per il quale ogni persona nel mondo debba possedere un computer”- Kenneth Henry Olsen. (una delle frasi più sbagliate nella.
Laboratorio di Architettura Degli Elaboratori1 PSPICE – Circuiti sequenziali.
IL PLC Formazione ed informazione su: C ontrollori L ogici P rogrammabili a cura di: Antonio Minio.
13 gennaio Sistema di rilevazione delle temperature all’interno di Personal Computer Industriali Dipartimento di Ingegneria Elettronica SISTEMA.
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A Architettura di un calcolatore Ing. Simona Colucci.
Approfondimento Porte USB e Interfacce In elettronica l'Universal Serial Bus (USB) è uno standard di comunicazione seriale che consente di collegare diverse.
IL SOFTWARE (FPwin 6.0).
modulo 5 Prof. Salvatore Rosta
TCP/IP.
Protocollo di trasmissione tramite tecnologia Barryvox
Sistemi e Applicazioni per l’Amministrazione Digitale
PRESENTAZIONE di RICCARDO
CARATTERISTICHE DI UN DATACENTER
La comunicazione attraverso la rete
Rappresentazione dell’ Informazione Informazione e Comunicazione
Architettura e funzionalità
BUS PCI G. Frosini Bus PCI Slide 1.
Laboratorio II, modulo Conversione Analogico/Digitale (cfr. e
GPIO: General Purpose Input Output I parte
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
TCP/IP. Sommario  Introduzione al TCP/IP  Indirizzi IP  Subnet Mask  Frame IP  Meccanismi di comunicazione tra reti diverse  Classi di indirizzi.
LE ARCHITETTURE NON VON NEUMANN
Microcontrollori e microprocessori
INTRODUZIONE AL NETWORKING
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
I2c.
Il modello ISO/OSI e l’architettura TCP-IP
Animazione su attività del bus di controllo
P. L. C. (Programmable Logic Controller)
Organizzazione fisica
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Architetture non Von Neumann
analizzatore di protocollo
SUBNETTING E SUPERNETTING
Il Computer, come funziona e come è fatto
Informazioni di servizio
Introduzione L’8254 è un interval timer event/counter, progettato per risolvere i problemi del controllo del timing, comuni ad ogni microcomputer. E’ costituito.
IL MODELLO DI VON NEUMANN
Caratteristiche e funzioni della scheda Arduino
Classe III A A.s – 2012 Programma di Informatica
A/D seconda parte.
Programmare.
Azione delle istruzioni
Concetti introduttivi
© 2007 SEI-Società Editrice Internazionale, Apogeo
Lezione 7 Laboratorio 1 Programmazione MIDI (Prof. Luca A. Ludovico)
Corso base per Operatori di Protezione Civile
Processi e thread in Windows 2000
LOGICA DI FUNZIONAMENTO
Azione delle istruzioni
Laboratorio II, modulo “Skype”.
WebSocket Symphony Orchestra
Esercitazione 8 Laboratorio di Architetture degli Elaboratori I
Parti interne del computer
LE PARTI INTERNE DEL COMPUTER
Array e Stringhe Linguaggio C.
Relazioni tra CPU e Memoria e Dispositivi I/O
Utilizzo dei bus interni ad un computer
Transcript della presentazione:

I Bus di Sistema Corso di Laurea Magistrale in Ingegneria Informatica Calcolatori Elettronici II A.A. 2015/2016 I Bus di Sistema

Bus Un Bus è un particolare tipo di rete di interconnessione che consente di condividere un mezzo trasmissivo tra più unità e consente a queste ultime di realizzare un trasferimento di dati Nei comuni calcolatori un bus è costituito da un serie di linee in rame incise su una scheda: Un Bus che collega due (o più) unità, se è stampato sulla stessa scheda, è un INTERNAL BUS. Normalmente gli INTERNAL BUS sono di tipo proprietario Un Bus che collega due (o più) unità, se è stampato su schede diverse è un EXTERNAL BUS. Se un EXTERNAL BUS è l’unico BUS di un sistema allora viene chiamato SYSTEM BUS

Evoluzione dei Bus I primi bus erano soluzioni spesso proprietarie compatibili solo col il processore per il quale erano state concepite Sono state dunque introdotte delle soluzioni standard (es il bus ISA) Aumentando il riuso dei componenti Separando le soluzioni software e hardware

Evoluzione dei Bus Per incrementare l’efficienza dei bus si è agito sia tecnologicamente sia architetturalmente: Nel primo caso riducendo la lunghezza del mezzo fisico Nel secondo caso strutturando l’architettura I Bus Strutturati Vengono usati bus diversi: più veloci per collegare CPU e memoria (cache compresa) meno veloci per le periferiche di I/O I punti di collegamento tra bus diversi vengono chiamati Bridge

Bridge I Bridge consentono di adattare Bus tecnologicamente diversi tra loro adattando la velocità Gestendo la diversa temporizzazione I principali compiti di un Bridge sono: Accettare le richieste da un bus sorgente ad uno destinazione Generazione dei segnali di selezione dei dispositivi del bus destinazione Pilotare il bus sorgente per avviare la lettura di un dati Pilotare il bus destianzione per avviare la scrittura di un dato Gestire la sincronizzazione

Caratteristiche logico-funzionali Struttura Strutturalmente un bus è un insieme di linee suddivise in Indirizzi, Dati e Controllo CPU Memoria I/O Control Bus Address Bus Data Bus

Caratteristiche di un BUS Dimensioni: Rispetto ad un bus indirizzi: con m>1 linee si possono ottenere 2m indirizzi numerati da 0 a 2m-1 Rispetto al bus dati: con n linee si possono trasferire parole da n bit Temporizzazione: Bus Asincrono Bus Sincrono Comunicazione Parallela (PCI, IDE) : ogni bit ha una sua linea di trasmissione meno veloce con bus di maggiori dimensioni) Seriale (USB, SATA): i bit sono trasmessi in sequenza sulle stesse linee Sono più veloci, poiché devono continuamente trasmettere stream di bit Meno ingombranti, e dunque maggiormente diffusi

Caratteristiche di un BUS Allocazione del bus: Meccanismo di arbitraggio del bus Centralizzato Decentralizzato Parametri caratteristici: Td – tempo di trasmissione, ovvero il tempo necessario al trasferimento di un dato elementare Tc – tempo di ciclo, tempo necessario al trasferimento di una sequenza di k dati elementari. Il Tc = k · Td + Δ. Il Δ è il tempo necessario al protocollo di sincronizzazione Banda trasmissiva – numero di informazioni che è possibile inviare sul bus nell’unità di tempo. E’ l’inverso del tempo di trasmissione Latenza – è il tempo che intercorre tra la trasmissione di un dato sul bus e la sua ricezione

Ruoli dei dispositivi All’interno di un bus è possibile distinguere due tipologie di dispositivi: I dispositivi attivi detti Master, sono in grado di avviare dei trasferimenti sul bus - I Dispositivi passivi, detti Slave, sono in attesa aspettando richieste di trasferimento Il ruolo di un dispositivo può cambiare nel tempo In dispositivo può essere sia master che slave Non è detto che un bus abbia un solo master in ogni ciclo Bisogna definire le politiche di gestione o protocolli tra master e slave

Protocolli di comunicazione Per poter gestire l’interazione tra due (o più) unità è necessario definire un insieme di regole. Tali regole rappresentano la definizione di un protocollo Dal punto di vista della temporizzazione un protocollo può essere SINCRONO: è previsto un segnale di clock che permette di gestire la temporizzazione dei trasferimenti sul bus ASINCRONO: La temporizzazione nei trasferimenti è gestita dal protocollo attraverso uno scambio di messaggi

Lo slave recepisce l’indirizzo Protocollo Sincrono La temporizzazione è gestita da un clock Lettura di un dato t1 t2 Il master di bus pone l’indirizzo sul bus e asserisce il segnale di R/W Sul fronte di discesa lo slave recepisce che è richiesta una lettura e l’indirizzo posto sul bus Lo slave pone il dato sul bus Sul successivo fronte di discesa il master legge il dato Clock Address bus R/W Data bus Lo slave recepisce l’indirizzo Il dato è letto

Protocollo Asincrono La temporizzazione è gestita stesso dal protocollo tramite scambio di messagggi E’ necessario definire un protocollo di handshaking L’handshaking si basa su 4 segnali (0-attivi) AS* - Address Strobe, asserito dal master per indicare che l’indirizzo è stabile DS* - Data Strobe, asserito dal master per segnalare che è pronto a leggere il dato DA* - Data Ack, asserito dallo slave per segnalare un ack R/W* - Per segnalare una lettura o scrittura

Protocollo Sincrono Lettura di un dato Il master di bus pone l’indirizzo sul Quando l’indirizzo è stabile asserisce AS* Il master asserisce R/W* e DS* Il DS* fa si che lo slave decodifichi l’indirizzo sul bus, ponga il dato sul bus e asserisca DA* per segnalarne la presenza Il master legge e alza nuovamente DS* per segnalare la lettura Lo slave termina il ciclo alzando DA* Il master ha letto Address bus AS* R/W* DS* Data bus DA* Il master segnala la richiesta di trasferimento Lo slave segnala la presenza del dato

Arbitraggio del bus Su un Bus è possibile che, durante lo stesso ciclo, vi sia più di un master Tali Bus sono chiamati MultiMaster Bisogna quindi gestire le contese attraverso un arbitraggio L’arbitraggio del Bus può essere Centralizzato Decentralizzato

Arbitraggio Centralizzato Vi è un arbitro di bus (o controllore) che decide come assegnare le risorse Tutte le richieste e le linee di ack confluiscono nell’arbitro che decide anche le priorità MASTER MASTER Req Grant Req Grant Arbitro

Daisy chain centralizzato (1/2) Tutti i potenziali master di bus condividono due linee con l’arbitro Busy e Req Un master che vuole usare il bus asserisce sulla linea di richiesta (Req=1) L’arbitro, se il bus è libero (Busy=0) asserisce il grant in ingresso al primo master Se il primo master non ha richiesto il bus lo propaga nella catena

Daisy chain centralizzato (2/2) Lo schema di priorità è fisso Arbitraggio molto semplice (richiede sono 3 linee) Non efficiente se le prime periferiche richiedono spesso il bus Non tollerante ai fault (se la linea di grant si interrompe, non è possibile usare il bus!)

Polling centralizzato (1/2) Simile al daisy chain ma il grant è sostituito da Poll_Req Un master che vuole usare il bus deve asserire la linea richiesta (Req=1) Ogni dispositivo è identificato da un indirizzo Il master ha un contatore modulo n, che consente di generare l’indirizzo del dispositivo che può usare il bus L’indirizzo del dispositivo è posto sul bus di Poll_Req

Polling centralizzato (2/2) Non vi è uno schema di priorità fisso (non sono collegati in catena) Maggiormente tollerante ai guasti rispetto al daisy chain Il controllore ha una logica più complessa

Handshake centralizzato Più flessibile dei precedenti Ogni dispositivo ha un Bus_Req e un Busy L’arbitro decide in base al suo algoritmo interno come gestire le priorità Anche in questo caso, quando il dispositivo ha il grant asserisce busy Aumenta la complessità dell’arbitro!

Daisy chain decentralizzato Non vi è alcun arbitro di bus (dunque i dispositivi hanno una logica più complessa!) I segnali BPRN e BPRO servono a gestire la priorità Caso nominale: Il dispositivo che vuole acquisire il bus deve sempre controllare la linea di Busy e l’ingresso BPRiN Se Busy=0 e BPRN non è asserito, allora può acquisire il bus e asserire BPRoUT per inibire i dispositivi meno prioritari

Daisy chain decentralizzato Caso richiesta da dispositivo a priorità maggiore: Il dispositivo a priorità maggiore (es il primo) trova la linea Busy=1. Essendo a priorità maggiore nega BPRoUT in modo che il dispositivo che utilizza attualmente il bus trovi negato il suo BPRiN Al successivo ciclo il dispositivo meno prioritario campiona l’ingresso negato e rilascia il bus Essendo la catena negata, il dispositivo prioritario può pilotare il bus Alla fine di ogni ciclo il master rilascia il bus (per consentire ai dispositivi meno prioritari di acquisirlo!)

Riferimenti G. Conte, A. Mazzeo, N. Mazzocca, P. Prinetto – Architettura dei calcolatori Cap 6