Krádež cyklu - Cycle stealing

Ve výpočetní technice je tradičně krádež cyklu metoda přístupu k paměti počítače (RAM) nebo sběrnici bez zásahu do CPU. Je to podobné jako přímý přístup do paměti (DMA), který umožňuje řadičům I / O číst nebo zapisovat RAM bez zásahu CPU. Chytré využití konkrétního načasování CPU nebo sběrnice může umožnit CPU běžet plnou rychlostí bez jakéhokoli zpoždění, pokud externí zařízení přistupují k paměti, která se aktivně nepodílí na aktuální činnosti CPU, a dokončit operace před jakýmkoli možným konfliktem CPU. Takové systémy jsou téměř dvouportové RAM bez nákladů na vysokorychlostní RAM. Většina systémů zastaví CPU během krádeže , což v podstatě dělá formu DMA pod jiným jménem.

Například systém se samostatnými bankami instrukcí a datových pamětí může umožnit externím zařízením přístup k jedné paměti do datové banky, zatímco CPU načítá instrukci z banky instrukcí, pokud jsou inicializovány oba přístupy současně. Jednotka správy paměti není podstatné, například Z80 s M1 linka může být použita k odlišení pokyny od přístupu k datům, takže zatímco procesor čte instrukce z instrukční-RAM nebo ROM, data RAM je jiný k dispozici zařízení bez zásahu do zpracování CPU.

Moderní architektura

V moderních systémech je obtížné dosáhnout krádeže cyklu kvůli mnoha faktorům, jako je pipelining , kde prvky předběžného načtení a souběžné prvky neustále přistupují k paměti, což ponechává několik předvídatelných prostojů, aby se vplížily do přístupu k paměti. DMA je jediná formální a předvídatelná metoda přístupu externích zařízení do paměti RAM.

Tento termín je méně běžný v moderní architektuře počítačů (nad 66-100 MHz), kde různé externí sběrnice a řadiče obecně běží různými rychlostmi a vnitřní operace CPU již nejsou úzce spojeny s provozy I / O sběrnice.

Příklady ve skutečných počítačových systémech

Neočekávaný cyklus krádeže setkávacím radarem během sestupu téměř způsobil přerušení přistání Apolla 11 , ale konstrukce naváděcího počítače umožnila pokračování přistání tím, že upustil od úkolů s nízkou prioritou.

IBM 1130 je‘cyklus krást" je ve skutečnosti DMA protože procesor hodiny se zastaví při přístupu do paměti. Několik I / O řadičů tímto způsobem přistupuje k RAM. Samy rozhodují prostřednictvím schématu s pevnou prioritou. Většina řadičů záměrně tempuje přístup k RAM, aby minimalizovala dopad na schopnost systému spouštět instrukce, ale jiné, například grafické grafické adaptéry, pracují vyšší rychlostí a mohou systém zpomalit.

Koncept krádeže cyklu 1130 umožňuje programu CPU zahájit operaci na I / O zařízení a poté pokračovat v programu hlavní řady, zatímco I / O zařízení provádí svou činnost. Každé I / O zařízení, které pracuje tímto způsobem, vezme (ukradne) cyklus z CPU, když je to potřeba.

CPU je "vázáno" pouze na jeden cyklus, zatímco je přenášen datový znak. Frekvence, při které zařízení krade cykly, závisí na typu zařízení.

Vzhledem k tomu, že CPU je mnohem rychlejší než jakékoli I / O zařízení v systému, může CPU současně provádět jinou funkci, jako je aritmetika, současně se provádí I / O operace. Ve skutečnosti se může několik I / O operací navzájem překrývat a s jinými funkcemi CPU.

Ukradení cyklu bylo příčinou velkého snížení výkonu na strojích, jako je Sinclair QL , kde z ekonomických důvodů videopaměť RAM nebyla dvojím přístupem . V důsledku toho byl procesoru M68008 odepřen přístup k paměťové sběrnici, když „hlavní řadič“ ZX8301 přistupoval k paměti, a stroj fungoval špatně ve srovnání se stroji používajícími podobné procesory při podobných rychlostech.

Reference