From 1c0b28711c928987a061cbb47b1f8be73ff561ae Mon Sep 17 00:00:00 2001 From: Filip Znachor Date: Sun, 11 Jun 2023 10:42:45 +0200 Subject: [PATCH] =?UTF-8?q?P=C5=99id=C3=A1n=C3=AD=20pozn=C3=A1mek=20z=20PO?= =?UTF-8?q?T=20k=20perifern=C3=ADm=20za=C5=99=C3=ADzen=C3=ADm=20a=20=C5=99?= =?UTF-8?q?adi=C4=8D=C5=AFm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KIV POT/14. Periferní zařízení a řadiče.md | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 KIV POT/14. Periferní zařízení a řadiče.md diff --git a/KIV POT/14. Periferní zařízení a řadiče.md b/KIV POT/14. Periferní zařízení a řadiče.md new file mode 100644 index 0000000..01caec9 --- /dev/null +++ b/KIV POT/14. Periferní zařízení a řadiče.md @@ -0,0 +1,123 @@ +# Perfiferní zařízení a řadiče + +### Časovací obvody + +- čítací registr - 8bitový registr nebo 16/32bitový čítač + - lze jej nastavit a číst programově nebo z pomocného registru + - počítá od nastavené hodnoty (`0000` -> `FFFF`) + - při přetečení (`FFFF` -> `0000`) může generovat přerušení +- předdělička - snižuje frekvenci systémových hodin dělením zvolenou konstantou + +**Použití** +- měření časových interrvalů +- generování přerušení po určitém čase +- periodické generování přerušení + +**Hodiny reálného času** (RTC) +- obsahují kaskádu čítačů pro sekundy, minuty, hodiny, ... +- registry lze programově číst +- někdy na čipu se SRAM, ve společném pouzdru s krystalem a baterií + +### Diskové paměti + +**Konstrukční principy** +- hlavy jsou na otočeném nosiči + - nastavením polohy hlav vybrán cylindr + - výběrem hlavy zvolena stopa + - záznam v jednotlivých stopách rozdělen na sektory +- klasické adresování sektorů: **CHS** (Cylinder, Head, Sector) +- novější způsob: **LBA** (Linear Block Address) + - všechny sektory jsou průběžně očíslovány jednorozměrnou adresou +- sektor (běžně 0.5 kB) = nejmenší objem dat, který lze číst/zapsat + - při požadavku na změnu 1 bytu + - přečte se celý sektor do paměti, změní se byte, sektor se zovu zapíše + +**Kombinovaná zápisová/čtecí hlava** +- zápis indukční hlavou + - záznam bitů modulací proudu v hlavě, kódování RLL +- čtení magnetorezistivní hlavou + - MR senzor - změna el. odporu v magnetickém poli + +**Zonální záznam** (ZBR, Zone Bit Recording) +- bez ZBR - ve všech stopách stejný počet sektorů (povrch disku není dobře využit) +- se ZBR - v jednotlivých zónách je různý počet sektorů ve stopě + +**Rychlost disku** +- rychlost vystavení hlav + - podle konstrukce vystavovacího mechanismu + - cca 0.5-1.0 ms na sousední stopu + - pro libovolné stopy cca 3-10 ms +- rychlost nalezení sektoru + - podle rychlosti otáčení + - 1/2 otáčky = 4.2 ms při 7200 ot/min +- rychlost přenosu + - podle rychlosti otáčení a kódování + - přenos z povrchu disku cca. 500-2000 Mbit/s + +### Solid State Devices (SSD) + +**Architektura Flash NAND** +- stránka (page) = 2048 + 64 bytů (4 sektory) +- blok = běžně 64 stránek +- při kapacitě 4 Gb 4000 bloků +- AND nemá dělení na bloky +- paměťová matice se čte/zapisuje po stránkách +- ECC slouží k opravě chybně přečtených dat +- mazání + - AND - po stránkách + - NAND - po blocích + +**FTL** (Flash Translation Layer) +- převádí logickou lineární adresu sektoru (LBA) na fyzickou adresu čipu / adresu stránky na čipu + - paralelní činnost banků pro zvýšení rychlosti + - rovnoměrné využívání stránek (Wear Leveling) pro vyšší životnost + - mazání volných stránek pro další zápis (Garbage Collection) + - správa vadných bloků + +**Rozhraní NVMHCI** (Non Volatile Memory Host Controller Interface) +- protokol pro připojení nevolatilních pamětí na PCIe + +### Rozhraní ATA, ATAPI a SATA + +**Rozhraní ATA** +- specifikace definuje + - fyzickou vrstvu + - odvozena od sběrnice ISA + - registry řadiče + - **Command** - příkazový registr - zápis povelu pro zařízení + - **Sector Count** - počet přenášených sektorů + - **LBA Low, Mid, High** - LBA adresa dat + - **Device** - výběr zařízení (č. 0/1), číslo hlavy při adresování CHS + - **Status** - stavový registr + - **Alternate status** - stavový registr + - **Features** - pro zápis různých parametrů (volba Ultra DMA, řízení úsporných režimů, ...) + - **Error** - indikace typu chyby + +**Rozhraní ATAPI** (ATA Packet Interface) +- pro připojení CD/DVD + - do příkazového registru se zapisuje příkaz Packet Command (`0xA0`) + - příkazy pro CD/DVD se předávají v příkazovém bloku (12 bytů) který se zapisuje do **datového registru** +- příkazový packet + - do příkaz. registru se zapíše příkaz Packet Command + - do datového registru se zapíše příkazový packet + - z/do datového registru se čtou nebo zapisují data + +**Rozhraní SATA** (Serial ATA) +- z hlediska aplikačního SW transparentní (používá stejné registry jako u ATA) +- fyzická vrstva + - každá disková jednotka propojena dvojicí jednosměrných signálů + - používá se diferenciální signál + - přenos. frekvence 1.5/3 GHz, rychlost tedy 150/300 MB/s + +**SATA II** +- oproti SATA obsahuje rozšíření + - použití NCQ (Native Command Queuing) + - příkazy zadávány před dokončením předchozího + - vykonány v optimálním pořadí (určuje disk) + - rozvětvení portů (Port Multiplier) + - musí jej podporovat HBA (Host Bus Adapter) + - z jednoho HBA až na 15 portů + - port 15 (0xF) je Control Port + - podpora SES (SCSI Enclosure Services) + - komunikace s napájecími zdroji, ovládacím panelem, ... + - kompatibilita rozhraní se SAS (Serial Attached SCSI) \ No newline at end of file