FAV-ZCU/KIV POT/14. Periferní zařízení a řadiče.md

4.8 KiB

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)