Bus (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
aggiungo Senza fonte e nuovamente il corsivo; che senso ha avuto la modifica precedente? |
Nessun oggetto della modifica Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Link a pagina di disambiguazione |
||
(47 versioni intermedie di 32 utenti non mostrate) | |||
Riga 1:
{{U|verso=da|Ordine dei bit|informatica|settembre 2023}}
{{F|protocolli di rete|luglio 2009}}
[[File:ST-506 MFM Twin Cables.xcf|thumb|upright=1.4|Esempio di bus o [[trasmissione parallela|collegamento parallelo]] (nastri blu) tra
Il '''bus''' (
== Caratteristiche ==
Diversamente dalle [[connessione (informatica)|connessioni]] punto-punto, un solo bus può collegare tra loro più dispositivi. In pratica è il canale di trasferimento con cui colloquiano le componenti di un [[elaboratore elettronico]]. Le connessioni elettriche del bus possono essere realizzate direttamente su [[circuito stampato]] oppure tramite un apposito [[cavo elettrico|cavo]]. Ciò nonostante, i bus possono essere di due tipi: seriale oppure parallelo. Un bus è di tipo ''parallelo'' quando adotta una [[trasmissione parallela]]. Sono di questo tipo i bus [[Industry Standard Architecture|ISA]], [[Peripheral Component Interconnect|PCI]] e [[Accelerated Graphics Port|AGP]]. Un bus è invece ''seriale'' se adotta una [[trasmissione seriale]]. Esempi di bus seriali sono: [[Serial Peripheral Interface|SPI]], [[I²C]], [[Serial ATA|SATA]], [[PCI Express]], [[USB]], [[LonWorks]], [[KNX (standard)|Konnex]], [[PROFIBUS]], [[Controller Area Network|CAN]]
Principalmente esistono due tipologie di bus in un elaboratore elettronico: il bus interno o FSB ([[front side bus]]), e i bus esterni (bus di espansione, USB, etc.). Ci possono poi essere delle varianti ibride, come le porte [[eSATA]] con prese esterne.
Il progredire della tecnologia sembra preferire la trasmissione ''seriale'' a quella parallela, parzialmente caduta in disuso sui bus esterni, che talvolta soffre di maggiori ingombri e spesso anche di maggiori costi, mentre nei bus interni è ampiamente impiegata, per esempio nel bus PCI Express 4.0, che utilizza uno schema ibrido con un parallelismo di 128 bit (128 linee solo per i dati principali). A livello di connessione e contando le linee di gestione e di alimentazione il totale aumenta, cosicché già una PCI Express da x16 ha 82 pin.
=== Principi di funzionamento ===
In ogni transazione sul bus:
* un dispositivo prende il controllo del bus;▼
* invia una richiesta (I/O) a un secondo dispositivo;▼
Il ruolo di un dispositivo può cambiare nel tempo; un dispositivo può comportarsi da master o da slave in contesti differenti. Lo standard che definisce il bus deve fornire le regole per gestire tali condizioni o vietarle.
▲* un dispositivo prende il controllo del bus
▲* invia una richiesta (I/O) a un secondo dispositivo
▲* svolta la richiesta, il bus viene liberato per un'altra comunicazione.
▲Il ruolo di un dispositivo può cambiare nel tempo; un dispositivo può comportarsi da master o da slave in contesti differenti. Lo standard che definisce il bus deve fornire le regole per gestire tali condizioni o vietarle. Esistono due diversi meccanismi di temporizzazione dei segnali:
Esistono due diversi meccanismi di temporizzazione dei segnali:
* Protocollo sincrono: è previsto un segnale di sincronizzazione (clock) che permette di gestire la temporizzazione delle comunicazioni.
* Protocollo asincrono: tutta la temporizzazione della comunicazione è gestita dal protocollo stesso attraverso lo scambio dei messaggi.
La scelta dipende da:
* Interfaccia del dispositivo;
* adattare interfacce con differenti velocità;
Riga 28 ⟶ 31:
* Uno schema completamente asincrono è affidabile e flessibile ma le interfacce e la logica di controllo sono molto più complicate da realizzare.
Si sente spesso parlare in ambito [[hardware]] della velocità ([[larghezza di banda]]) del '''FSB''', acronimo che sta per [[Front Side Bus]] e identifica
=== Modalità di connessione ===
Riga 36 ⟶ 39:
== Bus di sistema ==
Il bus di sistema, presente in tutti i microcalcolatori, è composto da
Un bus che collega due componenti appartenenti alla stessa scheda integrata è detto ''bus interno'' (''internal bus'') (di solito proprietario), se collega due componenti generici è detto ''bus esterno'' (''external bus''). Se c'è un solo bus esterno è detto ''bus di sistema'' (''system bus'').
Riga 42 ⟶ 45:
* bus dati
* bus indirizzi
* bus
Il motivo per cui gli elaboratori dispongono in genere di un solo bus è semplice: l'architettura a più bus, proposta teoricamente agli albori dell'informatica dall'[[architettura Harvard]] nel [[1943]], non è praticamente realizzabile, visto l'altissimo numero di connessioni che sarebbero necessarie.
Riga 51 ⟶ 54:
=== Bus indirizzi ===
È il bus (unidirezionale) attraverso il quale la [[CPU]] decide in quale indirizzo andare a scrivere o a leggere informazioni; sia le celle di memoria ([[RAM]]) sia le periferiche di I/O (Input/Output) sono infatti divise in zone e porte, ognuna delle quali ha un dato indirizzo. La memoria viene usualmente suddivisa in segmenti, offset, pagine, e locazioni interne o inter-pagina. Dopo aver comunicato l'indirizzo tramite questo bus, la scrittura o lettura avviene normalmente tramite il bus dati.
Tali caratteristiche possono essere accompagnate dalla presenza di un supporto in parallelo per la paginazione della RAM, che tipicamente consta di una o più unità MMU per paging o per sistema ibrido a segmentazione e paging.
=== Bus controlli ===▼
Il bus controlli è un insieme di collegamenti il cui scopo è coordinare le attività del sistema; tramite esso, la [[CPU]] può decidere quale componente deve scrivere sul bus dati in un determinato momento, quale indirizzo leggere sul bus indirizzi, quali celle di memoria devono essere scritte e quali invece lette, etc.▼
Infatti la memoria e tutti gli altri componenti comunicano con la CPU attraverso un unico bus condiviso; questo significa che senza un controllo da parte della [[CPU]] si verrebbero a creare dei [[conflitto (informatica)|conflitti]] e delle [[collisione|collisioni]].▼
===
▲Il bus
il bus dati viene utilizzato per lo scambio di informazioni tra i vari dispositivi. È bidirezionale in quanto l'invio dei dati non è di sola appartenenza alla CPU e si divide:▼
▲Infatti la memoria e tutti gli altri componenti comunicano con la CPU attraverso un unico bus condiviso; questo significa che senza un controllo da parte della [[CPU]] si verrebbero a creare dei
Per agevolare e rendere efficienti i vari processi sui bus, di norma, almeno su computer abbastanza recenti (in passato non era una regola fissa), vengono utilizzati meccanismi di controllo supplementari, quali interrupt hardware (IRQ, ma non NMI, che hanno diversa funzione) e software (int xx, syscall), e soprattutto firmware e device di controllo quali il DMA (Direct Memory Access), gli schemi PIO, la gestione dei PIC in cascata.
=== [[Industry Standard Architecture|ISA]] (Industry Standard Architecture Bus) ===▼
Evoluzione dei bus PC bus e PC/AT bus utilizzati nei primi PC (8086, 80286). Sviluppato da un consorzio in contrapposizione all'IBM Microchannel. Contiene 64 + 36 linee:▼
▲
▲Evoluzione dei bus PC bus e PC/AT bus utilizzati nei primi PC (8086, 80286). Sviluppato da un consorzio in contrapposizione all'IBM Microchannel.
Contiene 64 + 36 linee:
* 20 + 4 linee indirizzi
* 8 + 8 linee dati
Riga 69 ⟶ 78:
Sincrono con clock a 8,33 MHz. Estensione a 32 bit: EISA
Bus di espansione sviluppato per i computer [[Amiga]] prodotti dalla [[Commodore]]. Esistono tre versioni di questo bus, le prime due erano a 16 bit, la terza era a 32 bit. Questo bus è stato fornito nativamente della capacità [[Plug and Play]] fin dalla prima versione risalente al [[1985]]. È un bus parallelo che lavora in modo sincrono ma nella terza revisione poteva lavorare anche in modo asincrono rendendo le comunicazioni più efficienti ma nel contempo rendendo le schede di espansione più costose e difficili da progettare.
Bus di sistema PC, (ma anche Apple, Sun), sviluppato dalla Intel nel 1992 (in sostituzione del bus ISA). Esiste in diverse versioni: PCI, PCI 2.0, PCI 2.1, PCI 2.2, PCI-X, PCI-X DDR. 32 – 64, PCI-E linee dati-indirizzi (sovrapposte) (multiplexed) Clock a 33 – 66 – 133 – 266 MHz. Alimentazione 5 – 3,3 [[Volt]]. Il trasferimento che avviene attraverso un bus PCI è un "burst", composto da una fase di indirizzamento e da una o più fasi di dato, con bassa latenza ed elevato throughput(velocità effettiva).
Bus per il collegamento di periferiche (lente), sviluppato nel 1995 da un consorzio: (Compaq, HP, Intel, Lucent, Microsoft, Nec, Philips). Caratteristiche: flessibilità, semplicità; un unico bus per molte periferiche; non sono necessari dispositivi di controllo e porte dedicate; facilmente espandibile; economico e con possibilità di connessione a caldo; supporto dispositivi tempo reale (audio - telefono).
Riga 86 ⟶ 98:
* USB 3.0: 4,8 Gbit/s.
Collegamento per dispositivi interni o esterni al computer: dischi rigidi (dischi SCSI), ma anche CD - DVD – unità nastro - stampanti - scanner.
Riga 96 ⟶ 109:
Collega sino a 7- 15 controllori (unità) e massimo 2048 periferiche per controllore. Collegamento a cascata, con terminatore. Semplice ed economico. Parte della logica delegata ai controllori. 50 fili - 25 di massa per eliminare disturbi (8 dati — 1 parità — 9 controllo — 7 alimentazione e usi futuri). Asincrono: con protocollo di hand-shake. Arbitraggio decentralizzato: utilizzo linee dati, priorità prestabilita.<br />Il bus SCSI è un bus parallelo, mentre una sua estensione, il [[Serial Attached SCSI]] (SAS), è di tipo seriale.
Ha molte similitudini con l'USB: bus seriale con alimentazione (60 W), sviluppato da un consorzio di aziende (1984 - Apple, 1995 Standard, ma con Royalties); possibilità di connessione a caldo, meccanismi di identificazione, struttura ad albero.
Riga 104 ⟶ 118:
* Non necessita di un calcolatore (Root Hub) di riferimento.
* Alcuni protocolli sono simili a quelli del bus SCSI.
La porta FireWire ha due tipi di standard che differiscono tra loro essenzialmente nella velocità e nel numero di conduttori pin di trasporto dati. Questi standard, stabiliti
L'IEEE 1394a può avere da 4 a 6 conduttori e una velocità di comunicazione non superiore a 400 Mbit/s.
Riga 112 ⟶ 126:
È importante sapere che entrambi i cavi non possono avere lunghezza superiore a 4,5 m
È un bus interno ideato da [[Intel]] per evitare di usare l'obsoleto [[Industry Standard Architecture|ISA]] per collegare il chip [[Southbridge (elettronica)|southbridge]] al [[Super I/O]] nelle [[scheda madre|schede madri]] e ridurre così sia il numero di piedini impiegati (da cui il nome) che il numero di piste di rame nel circuito stampato.
▲=== [[PCI-X]] ===
Il PCI-X è un'evoluzione del PCI. È stata sviluppata dallo stesso consorzio che sviluppò il PCI e fornisce una larghezza di banda fino a 4 [[Byte|GByte]]. Pur avendo prestazioni molto più elevate del PCI è retrocompatibile con le periferiche PCI e quindi permette il riutilizzo delle schede PCI.
Il PCI Express è il successore (seriale) del bus di espansione PCI (parallelo) e ha sostituito il bus AGP precedentemente in uso per le schede grafiche.
Riga 137 ⟶ 153:
* [[Architettura master-slave]]
* [[Bus mastering]]
* [[
* [[Computer]]
* [[IEEE 488]]
* [[Microprocessore]]
Riga 143 ⟶ 160:
== Altri progetti ==
{{interprogetto|preposizione=sui|wikt=bus}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC}}
{{Bus computer|bus = }}
{{Controllo di autorità}}
{{portale|informatica}}
|