Názor k článku
Linus Torvalds se naštval na teoretické bezpečnostní chyby v CPU od KarelE - Bohužel nikoliv, digitální obvod není deterministický stroj. Je...

  • 22. 10. 2024 10:38

    KarelE

    Bohužel nikoliv, digitální obvod není deterministický stroj. Je to mimo jiné důsledkem toho, že digitální obvody nemáme. Všechno to jsou analogové obvody. Komplikuje se to dál díky parazitním kapacitám, zvýšené spotřebě při změně stavu. Sekvenční obvody navíc vytváří přechodové jevy, díky kterým se vám objevují stavy, které nemohou existovat. Ale existují, protože ačkoliv k obvodu třebas vždy putují dvě stejné hodnoty, tak jedna má cestu delší a tak změna z 0 na 1 nebo naopak dorazí o nanosekundu později, což stačí kombinačnímu obvodu na to, aby si myslel, že má na každém vstupu hodnotu jinou. Takže třebas obvod (A xor (not(not(A))) je docela hezký generátor krátkých pulzů.

    Prostě je zázrak, že cokoliv složitějšího vůbec funguje. Je to důsledek dodržování celé řady návrhových zásad, aplikace "nesmyslných" pravidel, nekonečného zástupu různých kódování, samoopravných kódů a hlavně neustálého testování a simulací. Ty zásady a pravidla jsou výsledkem desítek let zkušeností z průšvihů a neustále se na nich pracuje, vylepšují a přibývají nové.

    Návrh obvodů je magie. A pokud si vezmete nějaký kus HW a začnete to zkoumat s osciloskopem, tak zjistíte, že to všechno jsou analogové signály. A s rostoucí frekvencí vypadají méně a méně hezky. Digitálního tam není nic. Když se vám to "špatně" potká, tak tam determinismus selhává.