Bus (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
Correzioni e completamento sulle modalità di funzionamento dell'indirizzamento CPU e sui bus
Riga 4:
 
== 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]] e, [[Local Interconnect Network|LIN]], USB.
 
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 (oramai obsoleta), che tra l'altro soffre di maggiori ingombri e spesso anche di maggiori costi.
 
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 impegata, 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 ===
Riga 36 ⟶ 38:
 
== Bus di sistema ==
Il bus di sistema, presente in tutti i microcalcolatori, è composto da 50una ao 100più filipiste in rame incisi sulla scheda madre (di solito da 4 a centinaia, a seconda della tipologia di computer e dell'implementazione della SoC o della mother board) ed è dotato di connettori separati a intervalli regolari per l'innesto dei moduli di memoria e di I/O. Si tratta di una serie di connessioni elettriche ognuna delle quali può trasmettere [[bit|cifre binarie]] (0 o 1) in successione, l'insieme delle quali (che può essere o meno interpretato come un valore numerico) è interpretato dai vari componenti del sistema secondo [[protocollo di rete|protocolli]] prestabiliti.
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 51 ⟶ 53:
 
=== 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.
Naturalmente ilIl bus indirizzi è fruibile in scrittura solo dalla [[CPU]] e anche in lettura dagli altri componenti, inmediante quantol'utilizzo tramitedel questoDMA buscontrollato vienesolo datoparzialmente solodalla l'indirizzoCPU dellae cellapoi dalla DMAC (controller DMA) anche in modo bidirezionale, cheper èdare decisoaccesso dallaa [[CPU]]dischi, schede grafiche ed eventuali altre risorse.
 
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 controllo ===
Il bus controllo è 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]].
 
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.
 
== Tipi di bus dati ==