Portál AbcLinuxu, 5. června 2024 01:17
Já jsem ten NAND bral z matematického hlediska
Pokud se tu oháníte matematikou (v tomto případě předpokládám matematickou logikou), určitě by vám měly být známy pojmy úplná disjunktní/konjunktní normální forma logické funkce. V podstatě jde o to, že libovolnou logickou funkci vyjádříte pouze pomocí operátorů NAND nebo NOR. Zpětná vazba nebo rekurze je pouze zahrnutí času do logické funkce.
je pouze zahrnutí časuCož, ale v případě implementace emulátoru znamená dost velké přidání kódu (výchozí hodnoty, výpočet může pokračovat tepve až se vypočítají všechny větve ústící do zpětné vazby, braní v potaz rychlost obvodu... takovej invertor zapojený do smyčky bez omezení maximální frekvence, dává opravdu realistické údaje ). Ad všepoužitelnost NANDu. Schválně mě z NANDu postav DRAM paměť, nebo třeba EEPROM. Proto taky tvrdím, že pokud nezávisí na zpětné vazbě, tak je lepší říkat tranzistor jako univerzální prvek (a i to imho nemusí stačit, viz MRAM, diodové PROM, nebo kvantové hradlo). Jinak je to jen moje šťouralství. Blogpost se mě samozřejmě líbil.
Já jsem ten NAND bral z matematického hlediska.Tady někdo neví, co chce
Samozřejmě že stačí. Znovu opakuji, že libovolnou logickou funkci lze vyjádřit za pomoci pouze jediného logického operátoru a to buď NAND nebo NOR. Důkaz najdete v každé učebnici matematické logiky, Booleovy algebry, nebo základů číslicové techniky. Napájení je pouze konstanta vstupující do logické funkce. S časem je to tak, že pro kombinační logickou funkci ho nepotřebujete (viz dále) a synchronní sekvenční logické funkce pracují s diskrétním časem, kdy výsledek v čase T se vyjadřuje jako funkce vstupů, vnitřních stavů a výstupů v čase T-1. Asynchronní sekvenční obvody jsou pak speciální kapitola sama pro sebe. Znalost nějakých časových závislostí je potřeba až mnohem později pro statickou časovou analýzu konkrétní fyzické implementace, ale ne pro vlastní funkční návrh.
Ve vašich argumentech máte problém udržet konstantní úroveň abstrakce. Pletete dohromady logickou funkci a fyzickou implementaci. Co třeba začít diskuzi o pneumatických logických členech nebo o logickém obvodu realizovaném mechanicky? Mimochodem, buňka DRAM nebo EEPROM není logickým operátorem! Z hlediska binární logiky je buňka DRAM podle dané situace buď konstanta nebo paměťový element stejně tak jako třeba klopný obvod. Z hlediska obvodové analýzy je to samozřejmě jinak, ale tam pak už zase nikoho nezajímá (do značné míry) logická funkce.
Samozřejmě že stačí. Znovu opakuji, že libovolnou logickou funkci lze vyjádřit za pomoci pouze jediného logického operátoru a to buď NAND nebo NOR. Důkaz najdete v každé učebnici matematické logiky, Booleovy algebry, nebo základů číslicové techniky. Napájení je pouze konstanta vstupující do logické funkce. S časem je to tak, že pro kombinační logickou funkci ho nepotřebujete (viz dále) a synchronní sekvenční logické funkce pracují s diskrétním časem, kdy výsledek v čase T se vyjadřuje jako funkce vstupů, vnitřních stavů a výstupů v čase T-1. Asynchronní sekvenční obvody jsou pak speciální kapitola sama pro sebe. Znalost nějakých časových závislostí je potřeba až mnohem později pro statickou časovou analýzu konkrétní fyzické implementace, ale ne pro vlastní funkční návrh.To ale není NAND, ale NAND + čas . A to jsem celou dobu měl na mysli. Protože bez toho času bys dostal u zpětné vazby nesmysly. Schválně si skus bez časových závislostí vyčíslit logický výraz třeba Q=Q NAND Q.
Mimochodem, buňka DRAM nebo EEPROM není logickým operátorem!
Z hlediska binární logiky je buňka DRAM podle dané situace buď konstanta nebo paměťový element stejně tak jako třeba klopný obvod.Tak buď je nebo není . Doufám, že je, protože buněk DRAM mám v počítači víc než NANDů. Každopádně když nad tím uvažuju, tak se vlastně opravdu hádáme o tom drátu . Jinak je jedna věc, která NANDem postavit nelze, ale je to extrém. Tím je například tepelný šum. Můžeš sice postavit z NANDu automat, který ho bude emulovat, ale výstupní sekvence bude pouze pseudonáhodná.
Poslední reakce, protože tahle diskuze nikam nevede. Sice se budu opakovat, ale znovu zdůrazňuji, že máte problém udržet se v jedné úrovni abstrakce.
To ale není NAND, ale NAND + čas .
Ještě jednou a naprosto vážně (a bez urážek) odkazuji na libovolnou učebnici matematické logiky. Čas skutečně není logický operátor. Je to pouze jedna ze vstupních proměnných.
Tak buď je nebo není . Doufám, že je, protože buněk DRAM mám v počítači víc než NANDů.
Analýza libovolného obvodu se provádí s ohledem na okrajové podmínky a pracovní bod. Na vyšším úrovni abstrakce (logická simulace) tedy můžete v některém případě považovat buňku DRAM za konstantu (za daných podmínek nemění hodnotu) nebo za paměťový element. Vlastní funkce buňky DRAM vás začne zajímat na mnohem nižší úrovni (tranzistorový model nebo ještě níže obvodová simulace).
Jinak je jedna věc, která NANDem postavit nelze, ale je to extrém. Tím je například tepelný šum. Můžeš sice postavit z NANDu automat, který ho bude emulovat, ale výstupní sekvence bude pouze pseudonáhodná.
Opět mícháte dohromady různé úrovně. Tepelný šum je analogová veličina. V diskrétní oblasti ji můžete pouze simulovat. Mimochodem, převést tepelný šum do diskrétní oblasti není zase až tak složité a skutečně vám na to stačí pouze pár hradel NAND: 2x kruhový oscilátor, komparátor, LFSR. Díky tepelnému šumu budou výstupy kruhových oscilátorů vykazovat odchylky ve frekvenci, fázi a především jejich nekorelované náhodné změny v čase. Výstupem komparátoru je pak náhodná (nikoli pseudonáhodná) binární řada, která se v LFSR převede na paralelní slovo s požadovanou charakteristikou. Abych předešel další diskuzi... skutečně jsem toto řešení použil v návrhu několika integrovaných obvodů, je plně funkční s ověřenými parametry.
Čas skutečně není logický operátor. Je to pouze jedna ze vstupních proměnných.Však jsem taky nikde nepsal, že by měl být. Jen jsem oponoval, že jen tak zapojit dva NANDy libovolně každý drát s každým není dobrý (dva výstupy najednou) a že pro obvod tedy platí určitá omezení. Například jen výstupy na vstupy bez zpětné vazby, ale to na popis všeho nestačí a tak je nutné přidělat zpětnou vazbu a tím získat sekvenční obvod.
Analýza libovolného obvodu se provádí s ohledem na okrajové podmínky a pracovní bod. Na vyšším úrovni abstrakce (logická simulace) tedy můžete v některém případě považovat buňku DRAM za konstantu (za daných podmínek nemění hodnotu) nebo za paměťový element. Vlastní funkce buňky DRAM vás začne zajímat na mnohem nižší úrovni (tranzistorový model nebo ještě níže obvodová simulace).Hmm tady jsem zřejmě blbě začal diskuzi. Neměl jsem začít mluvit o matematice. Faktem je, že pomocí
vypáleny do křemíku ve tvaru obrazce NANDnejsou určité části počítače tvořeny. Proto jsem pak dále v diskuzi uvedl, že z tohodle popisu je lepší brát jako základní prvek tranzistor. I když na matematické úrovni by šel udělat model jen ze vstupů, času a NANDů.
Opět mícháte dohromady různé úrovně. Tepelný šum je analogová veličina. V diskrétní oblasti ji můžete pouze simulovat. Mimochodem, převést tepelný šum do diskrétní oblasti není zase až tak složité a skutečně vám na to stačí pouze pár hradel NAND: 2x kruhový oscilátor, komparátor, LFSR.Mě nejde tak o převod hodnot, jako spíš o simulaci tepelného šumu. Imho neumíš udělat generátor opravdu náhodných čísel, aniž bys použil pravé náhodné hodnoty zvnějšku (kvantovou mechaniku). Což souvisí s tím, že vesmír nemusí jít simulovat turingovým automatem (tedy ani NANDem), protože může mít silnější třídu. Jinak samozřejmě z NANDů nepostavíš nic co řeší halting problém (a ostatní).
Pointa spis byla, ze to rozlisuje ani ne tak masovost znalosti, ale masovost vyroby a uziti.Prave to jsem myslel taky. Nebo ti nerozumim
Otazka je, zda magie z principu dovoluje masovou vyrobu tech svitku nebo lektvaru. Pokud ano, pak uz je to spis asi technologie.Tak to tezko rict...
Source Mage is a source-based GNU/Linux distribution based on a Sorcery metaphor of "casting" and "dispelling" programs, which we refer to as "spells", and a package manager called "Sorcery".
ping
, nmap
a tcpdump
jsou "hackerské nástroje"
Pravá jména Aby mág mohl vyvolat nějaké kouzlo, musí znát jeho jméno, aby mohl působit na nějakou věc, musí znát její pravé jméno, většinou v prastarém, a těžko vyslovitelném jazyce, takže musí trávit nemalou část života čtením rozličných grimoárů. Aby mág povolal démona, musí při obřadu pronést jeho pravé jméno, které je často zcela nevyslovitelné, alespoň ne s lidskou sadou hlasivek.
No a programátor, aby zavolal jakoukoliv funkci, nebo modifikoval nějaký objekt, musí znát jeho jménou - nemusí to být pravé jméno (a.k.a. GUID), protože naštěstí máme jmenné prostory a lokalitu (bez nich by to bylo v některých případech opravdu drsné), nicméně znát ho musí (nebo alespoň masí vědět, kde a jak ho najít). A zkuste si přečíst nahlas některá API, mnoho funkcí i konstant si ve vyslovitelnosti názvu nezadá s nezemskými obludnostmi z románů H. P. Lovecrafta. A když už jsme u těch démonů,
Vyvolávání Pokud chce mág vyvolat nějakého démonam, musí znát nejen jeho pravé jméno, ale musí připravit obřad a rozličná jiná prerekvizita typu spousta svíček z černého vosku, beraní lebky, pentagram, mločí oko, černý kouhout nebo dokonce neposkvněná panna. Pak teprve může provést samotné vyvolání a i při tom musí dávat pozor a démona nenaštvat, obvlášť pokud se nedrží zásady "Nikdy nevyvolávej nic většího, než tvoje hlava".
Programátor se sice obejde bez pentagramů, lebek a podobných serepetiček, ale pokud chce volat třeba nějakého unixového démona, řekněme přes BSD socket, tak musí znát jeho jméno (tj. adresu, port a protokol), musí připravit komplikovaný obřad (nikdo mi nevymluví, že nastavení BSD socketu není těžká magie ), provést samotné přivolání (fce. connect()
) a řídit se při tom příslušným protokolem. Naštěstí má narozdíl od mágů výhodu, že pokud udělá něco špatně, tak ho démon nesežere, ale vynadá mu chybovou hláškou a zavře socket. A také k tomu nepotřebujete žádné mločí oči a panny, což se dnes velmi, ale opravdu velmi těžko shání
Nektromancie Tato téměř vždy černá magie je považována většinou za velmi mocnou disciplínu, s jejíž pomocí mohou být postaveny neméně mocné armáty poslušných služebníků, které je velmi, ale opravdu velmi těžké zlikvidovat, leda s vyjímkou zabití řídícího nekromanta.
I v IT jsou "nekromanti", vládci botnetů, ovládající statisícové armády zombifikovaných PC, ale naštěstí místo nastolení Příchodu Druhé Temnoty je využívají na rozesílání viagru propagujícího spamu a DDoS útoky. A ano, i tady je jedním z mála účiných metod odstřižení řídícího kanálu.
A pokud by nebyly skoro dvě v noci, určitě by mně napadly i další příklady, takže pokud to někoho zajímá a ovládá angličtinu, doporučuju pro celou přehršel podobných příkladů (převážně bez IT části, tu si pečlivý čtenář dodá osobně) navšívit příslušné položky indexu Magic And Powers na TVTropes, ale pozor, opatrně
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.