Jojo, autor má zřejmě na mysli knihu
"Od logických obvodů k mikroprocesorům",
autoři Jean-Michel Bernard a Jean Hugon.
Tato knížka mi dala tenkrát strašně moc, myslím že
na svou dobu je výborná.. Jo to byly časy ...
To jsou moc pekne vecicky, podle me se docela dobre hodi na vyuku (i kdyz sam autor priznava, ze je to docela drahe), protoze prubeh jednotlivych funkci je "videt". Jinak je take zajimave navstivit releove telefonni ustredny, dokud se nezrusi a nenahradi digitalem. Par se jich jeste v republice najde.
Žil jsem v domění, že poslední dvě (jedna z nich byla Praha 2) byly vyřazeny někdy kolem roku 2002. Pokud se nepletu, tak neuměly časový tarif místních hovorů.
No treba jeden velky dopravce releovky jeste nedavno mel :-) Mozna by se jedna nasla ve Znojme, byl jsem tam naposledy pred cca 2 lety a krasne fungovala. Pekne jsou centralni hodiny od IBM, to uz se dnes jen tak nevidi :-)
Kdysi mi kolega v praci ukazoval clanek, kde nekdo navrhnul komp z asi 64 hradel. Umelo to jenom 4 instrukce (myslim ze NOR, vstup, vystup a nejaky JMP nebo tak nejak, proste totalni minimum), 5 bitu adresy a dal nevim. Mozna ze to bylo tak, ze z bajtu byly 2 bity opcode, 1 bit urcujici, co se vstupem/vystupem/vysledkem a 5 bitu operand? Je to davno a tenkrat jsem vubec nechapal kolegovo nadseni z tohoto clanku. Od te doby jsem uz poznal ruzne platformy, i s relatky i stykaci jsem se sblizil, rad bych na to nekde zase narazil.
Super článek.. 8 kapitola nádherně doplňuje celkový obraz.. Je to nádhera číst..
Jenom by mě zajímalo to hradlo NAND v TTL, to složitější, jak funguje.. Nějak sem to z toho nerozpoznal. Ale mam pocit, že ty tmavé trandíky jsou jakoby zapnuté a ten dvouemitorovej trandík na začátku musí fungovat nějak spešl, že když na emitorech má 1čky tak zapne ten blízký trandík.
Mate pravdu, veskerou tu "logickou funkci" vykonava ten tranzistor na vstupu. Libovolna nula (nebo dve nuly) zpusobi, ze se zavre ten prostredni tranzistor, coz naplno otevre horni tranzistor v "totemu" a naopak uplne uzavre spodni tranzistor. Diky tem trem tranzistorum napravo je hrana prechodu strma a na obvod lze zapojit vice dalsich obvodu (zisk).
Pokud jsou na vstupu dve jednicky, je prostredni tranzistor otevreny, coz spusobi vzestup napeti na bazi spodniho "totemoveho" tranzistoru (otevre se) a naopak pokles napeti na bazi horniho "totemoveho" tranzistoru (uzavre se).
Dioda pouze (?) snizuje uroven logicke jednicky o 0,7 V.
Diky za pochvalu, dneska vlastne trosku slavim kulatym cislem clanku :-)
Tranzistory jsou skutecne aktivni prvky. Tim pojmem "diskretni soucastka" mam na mysli, ze je to klasicky tranzistor se tremi nozickami :-) ne integrac, ve kterem je nekolik hotovych NANDu a takovych 16-20 tranzistoru.
Na ATARI 800XE jsem měl programek "6502 tutor" (nebo tak nějak), který ukazoval jak funguje 6502 CPU. Byly tam rozkresleny a propojeny moduly CPU a paměť. Na začátku se zadala adresa odkud se má začít vykonávat program a pak už po zběrnicích běhala kulička a vše se názorně zobrazovalo. Naučil jsem se podle toho všechny instrukce 6502-ky. Pak jsem přešel na x86 a hledal jsem něco podobného, ale nenašel.
Ano, ten programek jsem taky mel (sice ne na XE ale XL, coz je jedno). V dalsich castech se budu snazit neco podobneho predvest, uz mam udelany toolik na vytvareni animovanych GIFu :-)
To co se tu prezentuje jako D klopak je co ja vim latch.
Doufal jsem, ze bude vysvetlen pinnacle vsi geniality - zavedeni hranove citlivosti v logice. Dela se to tak, ze se zacne multiplexerem a tomu se da zpetna vazba. Tim vznikne latch. Pak se daji 2 takove kramy za sebe s invertovanymi hodinami a vznikne klopak D, ktery reaguje na hranu, ac je sestaven z veci, ktere na hranu nereagujou.
Pravda je, ze jsem to mohl jeste vice rozvest, ale nechtelo se mi timto tematem "ztratit" dva dily. Ale kdyz jsme u toho, tak se te zeptam jako cloveka v techto vecech kovaneho. Kdysi davno jsme jeste v elektrokrouzku delali znamou tehdy dost popularni hru "ano"-"ne". V podstate se jednalo o 7400, tlacitko, dve LEDky a par odporu. Byl z toho sestaveny klopny obvod RS na jehoz primy a negovany vystup byly LEDky zapojeny.
Kdyz bylo pustene tlacitko, tak obvod prekmitaval a svitily obe LEDky, po stlaceni zustala zapnuta jen jedna podle toho, ve kterem stavu se prave RS nachazel - to je vlastne vysledek "elektronickeho hodu minci".
Trosku jsme tehdy dumali nad tim, jestli se napriklad trosku odlisne parametry jednotlivych NANDu mohou podilet na tom, ze vysledek nebude uplne nahodny. Osobne mam pocit, ze treba rozdilne zpozdeni by na vysledek vliv mit nemelo - proste se treba dele zpozdi jak stav I tak i 0. Ale urcite to zcela nahodne nebude, to by se prece kvuli tomu nedelaly slozite obvody na bazi sledovani nejakych atomickych procesu (tusim tepelny sum?), ale pouzil by se kmitajici RS jehoz vystup by sel do posuvneho registru. Tak jednoduche to ale nebude ze?
To byl asi nejaky oscilator. Ten obecne nebude kmitat se stridou presne 50% kvuli tolerancim soucastek takze to uz tak dokonale nahodne nebude.
Jak v tom neni schmitt, tak jsou tyhle oscilatory podle me nespolehlive. Napr. se muzou rozkmitat na sto MHz nebo tak neco (dejte do googlu nervous neurons) nebo se nerozkmitaj vubec - jednou jsem takove "zarucene zapojeni z Amara" stavel a nechodilo.
Chce-li clovek solidni oscilator, musi pouzit napr. 74HC14 s RC lowpass vazbu a na vystup delicku 2 a to necim samplovat.
Pro kazdy oscilator a prubeh nahodneho sumu z principu musi existovat pocatecni pozice, kdy kmitat nebude. Ale ta pravdepodobnost je u schmittu tak neuveritelne mala...
Ale stejne to neni nahodne. Je to deterministicke tim kdy se tlacitko zmackne/pusti. S tepelnym sumem to nema spolecneho temer vubec nic. Ten se mozna spoluucastni na pocatecni fazi oscilatoru. Ale spis ji urcuje asi sum na napajeni.
Kdo chce nahodne bity, musi pouzit vystrelovy sum PN prechodu
(ne tepelny - da se predikovat z poloh molekul v odporu, to neni kryptograficky secure!), dokonalou filtraci napajeni a radiovych interferenci zvenku a jeste to manglovat nejakou hashovaci funkci jak se to dela v kernelu (bleaching nebo whitening se tomu rika).
Neda se pouzit ani nahodny generator z procesoru Intel, protoze to je untrusted binary, nikdo nevi, jestli v tom neni backdoor, ze kdyz se na sbernici objevi nejaky klicovy kod (z ping paketu treba) tak ze se generator neprepne do rezimu neodhalitelne kvalitnich, ale Intelem dobre predikovatelnych pseudonahodnych dat.
Nestacilo by ani, kdyby Intel publikoval zdrojaky procesoru. To by totiz mohl vyrabet procesory podle jinych zdrojaku. To by se musel kazdy procesor nejak mikroskopicky zrentgenovat a overit ze tem zdrojakum opravdu presne odpovida. Jestli to vubec jde.
Jedina moznost jak mit opravdu nahodny generator je vzit trafopajku, pocinovany plech, tranzistory odpory a kondenzatory.