# 04 — Sběrnice a komunikace periférií
> [!abstract] O tématu
> ==**Sběrnice (bus)**== = sada vodičů, která ==**propojuje komponenty počítače**== a umožňuje jim **vyměňovat data, adresy a řídicí signály**.
> [!info] Maturitní otázka
> **a)** Rozdělení a vlastnosti sběrnic
> **b)** Konektory sběrnic
> **c)** Komunikace periférií
> **d)** Základní systémové prostředky
---
## a) Rozdělení a vlastnosti sběrnic
### Podle účelu
Klasická sběrnice se dělí na **tři části**:
- ==**Datová sběrnice**== — přenáší **vlastní data** (obousměrná). Šířka v bitech (8, 16, 32, 64).
- ==**Adresová sběrnice**== — přenáší **adresu** paměti nebo zařízení (jednosměrná z CPU). Šířka určuje **maximum adresovatelné paměti**.
- ==**Řídicí sběrnice**== — přenáší **řídicí signály** (čtení/zápis, hodiny, přerušení).
### Podle způsobu přenosu
| Typ | Princip | Příklad |
|---|---|---|
| ==**Paralelní**== | více bitů **najednou** po několika vodičích | starší (PCI, IDE, paralelní port) |
| ==**Sériová**== | bity **postupně** po jednom vodiči | moderní (PCIe, USB, SATA) |
> [!info] Proč moderní = sériová?
> ==**Paralelní sběrnice trpí zpožděním**== mezi vodiči (skew) — při vysokých frekvencích nelze synchronizovat. Sériový přenos používá ==**diferenciální páry**== a může běžet na **mnohem vyšších frekvencích**.
### Podle umístění
- ==**Systémové (interní/vnitřní)**== — uvnitř PC: **PCIe, DMI, FSB** (starší), DIMM (RAM), SATA
- ==**Periferní (externí/vnější)**== — pro připojení zařízení: **USB, Thunderbolt, eSATA**
### Přehled hlavních typů sběrnic
| Sběrnice | Typ | Použití |
|---|---|---|
| ==**ISA**== | paralelní, vnitřní | **starší** standard, dnes nepoužívaná |
| ==**PCI**== | paralelní, vnitřní | rozšiřovací karty (zvukovka, síťovka…) |
| ==**PCIe**== | sériová, vnitřní | **moderní**, grafiky, NVMe SSD |
| ==**SATA**== | sériová, vnitřní | HDD, SSD, optické mechaniky |
| ==**USB**== | sériová, vnější | univerzální periferie |
| ==**FireWire (IEEE 1394)**== | sériová, vnější | multimédia (kamery) |
### Parametry sběrnic
- ==**Šířka**== (v bitech) — kolik bitů přenese najednou
- ==**Frekvence**== (MHz/GHz) — taktovací rychlost
- ==**Propustnost**== (MB/s, GB/s) — kolik dat za sekundu (= šířka × frekvence / 8)
- ==**Latence**== — zpoždění mezi požadavkem a odpovědí
- ==**Kompatibilita**== — univerzální (USB) vs specifická (SATA jen pro disky)
---
## b) Konektory sběrnic
### Vnitřní — datové (na základní desce)
| Konektor | Použití |
|---|---|
| ==**PCIe**== (x1, x4, x16) | rozšiřovací karty, grafika |
| ==**M.2**== | NVMe SSD, Wi-Fi karty |
| ==**SATA**== | HDD, SATA SSD, optické mechaniky |
| ==**IDE / EIDE (ATA)**== | **starší** ploché konektory pro HDD a CD/DVD |
| ==**DIMM**== | RAM moduly |
### Vnitřní — napájecí
- ==**ATX (24-pin)**== — hlavní napájení základní desky
- ==**ATX12V / EPS (4+4 pin)**== — napájení CPU
- ==**SATA power**== — napájení disků a SSD
- ==**Molex**== — starší 4-pin, ventilátory, staré HDD
- ==**Berg**== — malý 4-pin pro disketové mechaniky
- ==**P8 a P9**== — staré napájení AT (předchůdce ATX)
- ==**Fan konektor**== (3/4-pin PWM) — ventilátory
### Vnější (vyvedené ze skříně)
| Konektor | Použití |
|---|---|
| ==**USB-A**== | klasický obdélníkový, periferie |
| ==**USB-C**== | moderní oboustranný, USB4/Thunderbolt |
| ==**USB-B**== | čtvercový, tiskárny |
| ==**HDMI**== / ==**DisplayPort (DP)**== | digitální video — monitor, TV |
| ==**VGA**== / ==**DVI-A**== | **analogový** video signál |
| ==**DVI**== (DVI-D / DVI-I) | digitální/kombinovaný video |
| ==**Ethernet RJ-45**== | LAN síť |
| ==**RJ-11**== | telefonní linka, modem |
| ==**BNC**== | starší koaxiální síť, monitory |
| ==**Audio jack 3,5 mm**== | sluchátka, mikrofon, reproduktory |
| ==**S/PDIF**== | digitální zvuk (optický TOSLINK / koax) |
| **Thunderbolt** | USB-C s rychlostí 40 Gb/s |
### Starší a historické konektory
- ==**PS/2**== — staré klávesnice a myši (dnes USB)
- ==**DIN**== — předchůdce PS/2 (staré klávesnice)
- ==**Sériový port (RS-232)**== — staré periferie, modemy
- ==**Paralelní port (LPT)**== — staré tiskárny
- ==**FireWire (IEEE 1394)**== — videokamery (90.–2000. léta)
- ==**eSATA**== — externí SATA pro disky
---
## c) Komunikace periférií
### Způsoby komunikace
- ==**Synchronní**== — komunikace **podle společného hodinového signálu**. Rychlejší, ale vyžaduje synchronizaci.
- ==**Asynchronní**== — bez společných hodin, používá **start/stop bity**. Jednodušší, pomalejší.
### Jak procesor zjistí, že má pracovat s periferií
- ==**Polling**== (dotazování) — CPU **pravidelně kontroluje** stav periferie. **Plýtvá výkonem**.
- ==**Přerušení (Interrupt, IRQ)**== — ==**periferie sama upozorní CPU**== signálem, že má data. **Efektivnější**.
- ==**DMA**== (Direct Memory Access) — ==**periferie komunikuje přímo s RAM bez účasti CPU**==. CPU může mezitím dělat jinou práci. Používá se u rychlých zařízení (disky, síťovka, zvukovka).
### Adresace periferií
- Každá periferie má **unikátní adresu**, kterou používá pro komunikaci s CPU.
- Sběrnice **řídí periferie**, aby pracovaly **synchronně** s počítačem.
### Další koncepty
- ==**Plug & Play (PnP)**== — systém **automaticky rozpozná a nakonfiguruje** připojené zařízení.
- ==**Hot swap / hot plug**== — možnost **připojit/odpojit zařízení za chodu** PC (USB, SATA, USB-C).
> [!tip] Budoucnost sběrnic
> Vývoj směřuje k ==**bezdrátové komunikaci**== (Wi-Fi, Bluetooth) a ==**optickým sběrnicím**== s extrémně vysokou rychlostí přenosu.
---
## d) Základní systémové prostředky
Když je periferie připojená, potřebuje **vyhrazené systémové prostředky** ke komunikaci s OS a CPU.
### Čtyři typy prostředků
- ==**IRQ**== (Interrupt Request) — ==**číslo přerušení**==, kterým periferie upozorní CPU. Historicky 16 IRQ linek (IRQ 0–15), dnes APIC s mnohem více.
- ==**I/O adresy**== (porty) — ==**adresy v I/O prostoru**==, přes které CPU komunikuje s periferií (čte/zapisuje registry).
- ==**DMA kanály**== — pro **přímý přístup do paměti** bez CPU. Klasické PC měly 8 DMA kanálů.
- ==**Paměťové rozsahy**== — část **RAM rezervovaná pro periferii** (např. videopaměť, BIOS).
> [!info] Plug & Play přiřazuje automaticky
> Dříve se prostředky nastavovaly **ručně** přes přepínače (jumpery) na kartách — vznikaly konflikty (dvě zařízení na stejném IRQ). ==**Plug & Play s pomocí BIOSu/UEFI a OS přiděluje prostředky automaticky**==.
### Příklad konfliktu
Pokud dvě zařízení dostala stejné IRQ, ==**systém se zasekl nebo zařízení nefungovalo**==. Dnes díky APIC a virtualizaci IRQ je to vzácné.
---
## Shrnutí
> [!summary] Co si pamatovat
> **a) Rozdělení:** Podle účelu = ==**datová, adresová, řídicí**==. Podle přenosu = ==**sériová** (moderní) vs **paralelní**== (starší). Podle umístění = systémová vs periferní. Parametry: šířka, frekvence, propustnost.
>
> **b) Konektory:** Vnitřní datové = ==PCIe, M.2, SATA, IDE/EIDE, DIMM==. Vnitřní napájecí = ==ATX, ATX12V, SATA power, Molex, Berg==. Vnější = ==USB-A/C, HDMI, DP, VGA, RJ-45, audio jack, S/PDIF==. Starší = PS/2, DIN, RS-232, LPT, FireWire, eSATA.
>
> **c) Komunikace:** ==**Synchronní vs asynchronní**==. Způsoby zjištění: ==**polling, IRQ (přerušení), DMA**==. ==**Plug & Play**== + hot swap.
>
> **d) Systémové prostředky:** ==**IRQ** (přerušení)==, ==**I/O adresy** (porty)==, ==**DMA kanály**==, ==**paměťové rozsahy**==. Plug & Play přiděluje automaticky.