pripajam sa. dakujem. didaktik uz ma klavesnicu znicenu, tak ho asi nevytiahnem, ale zapominal som si na casy, ked sa este bojovalo o bajty... (trosku som si na to spomenul, ked teraz kodim na nDS)
Pocitac nepracuje, pouze se v nem uzivaji obvody, do kterych bud nejde proud (0), nebo jde proud (1) a to vse v pravidetlnem casovem intervalu, cim rychleji se testuje zda nejde proud, ci zda jde proud, tim vice jednicek a nul se stihne urcit. Ja tomu nerikam pracovani, je to jen nekolik tupych obvodu, ktere marketingovi neznalci cim dal casteji nazyvaji Smart, Intelligent, Clever, etc., aby o 360 degrees otocili realitu a zmatli technicke analfabety, tedy takove, jakym je pomateny autor tohoto clanku, ktery v nadpisu slibuje to, co v zadnem pripade nema s vyse uvedenym principem nic spolecneho. Zacina se u low-level, nikoliv u ZX spectra a casti jako northbridge ci rom.
No proud nekam nechodi, ale proteka, kdyz uz jsme u toho. Hradla ani tranzistory pokud vim nic netestuji. Existuji dokonce pocitace, ktere nepracuji pouze na bazi dvojkove soustavy. ZX81 neni v zadnem pripade ZX Spectrum. Slova jako Smart, Intelligent a Clever jsem v tom clanku nenasel. Otoceni o "360 degrees" vlastne zadne otoceni neni, ze? A vubec, nechces napsat dalsi dil? Je videt, ze tomu jako fakt dost rozumis.
Protekani je ceske slovo, elektricky proud cech nevymyslel, muzu proto klidne rikat, ze proud chodi od kladneho polu k zapornemu a budu mit pravdu, o hradlech ani tranzistorech jsem se pokud vim nezminoval vubec a o pocitacich, ktere neuzivaji binarni soustavu take ne, ZX Spectrum neni ZX81, dobre. Zminena slova v tomto clanku sice nejsou, ale ve vetsine clanku dnesnich vendoru ano a hodne. Otoceni o (int) degrees je otoceni kolem dokola, nechces prestat trpet syndromem BNC ? Brain-not-connected.
V pohode, hadat o slovicka se nebudu, protoze ja zas muzu rikat ze pocitace pracuji, taky je zadny cech nevymyslel. V kazdem pripade ale urcite nepujde o vendor-like clanky, to muzu slibit a mam dojem, ze jsem ani zadny takovy dosud nenapsal. Pokud se budeme v dalsich dilech bavit napriklad o pipeliningu ci superskalarnich procesorech, vzdy se pokusim vysvetlit princip a NEbudu opisovat zadne reklamni letacky.
Rikat si muzes co chces, ale napriklad podle http://cs.wikipedia.org/wiki/Elektrick%C3%BD_proud nebo jakekoli knihy o elektronice proud zasadne tece a nechodi. Jinak to vysvetleni principu pocitacu v tvem prispevku je fakt dobre - tos rikal u maturity nebo statnic? :-)))
atarist: Z ceske wiki mi vubec linky nezasilej, nejsem na ne zvedav. Tady se podivej jak se vecem rika ve vyspelem zapadnim svete: "Electric current – a movement or flow of electrically charged particles, typically measured in amperes. The amount of electric current (measured in amperes) through some surface, e.g., a section through a copper conductor, is defined as the amount of electric charge (measured in coulombs) flowing through that surface over time."
Nyni si atarist navstiv http://slovnik.cz a vyhledej si *vsechny* ceska slova, ktera se ti vypisi po zadani slova flow a uvidis vsechny mozne preklady. Ten, ktery ti bude pripadat nejblizsi si vyber, nebo bez s davem a rikej, ze elektricky nabite castice tecou, je mi *ukradene* ze se to tak v cechach vyucuje, at si tomu zaostali cesi rikaji jak chteji.
Jednicky a nuly, nebo-li nejde proud / jde proud zavisi samozrejme nejvice na tranzistorech, ktere se museji byt schopny spinat co nejrychleji a musi jich byt co nejvice, protoze kazda logicka kombinace tech jednicek a nul umoznuje aktivovat jiny obvod tzn. ziskat potencialne rozdilny vysledek.
Chlape, jestli takhle otrocky prekladas z anglictiny vse doslova, tak uz tvuj problem chapu. Jinak kdyz uz, tak se nepise "*vsechny* slova" ale "*vsechna* slova".
Jinymi slovy, ty budes ignorovat vsechny zavedene ceske vyrazy a budes si vse otrocky prekladat sam? Tak preji uspesnou diskusi napriklad s obchodnimi partnery :-)
To co se rika o podobnosti paralympiady s diskusemi na netu je, jak se zda, uz pravda.
To jsem kdysi luštil ruský návod k jednomu měřáku, a v popisu byl nějaký "istočnik pytanija". Podle slovníku to znamená pramen výživy, a měly se tam dát dva... Chvilku mi trvalo než jsem přišel na to že tím myslí monočlánky :-D
Vy jste, ale tady toho pána s připojeným mozkem vůbec nepochopili. On se tu, chudák, snaží vysvětlit, že všechno je naprosto stupidní, jen proud má dostatek inteligence a ještě k tomu mu narostly nožičky. Proto může chodit!
si nevšiml, že bychom nedávno slezli ze stromů! Takže si laskavě ty vaše úvahy o "zaostalých Češích" nechte na slezinu Pospolitosti. Československo bylo (a bez přívěsku je) členem mnoha mezinárodních institucí. Svoji odbornou terminologii mají Němci, Rusové, Francouzi, Italové, Britové,...
Zkuste nazvat Němce zaostalci, protože neužívají anglickou terminologii. Jak známo, tak jsou Němci proslulí svojí brutalitou, však i jejich opery trvají několik dnů...
Vždy mne iritovalo spojení "Křižík" a "Prešov", zvláště při produkované "kvalitě" výsledných produktů.
Pokud se nemýlím, pak v číslicové technice se uvažují především napěťové úrovně...
btw: Tesla se sice schovavala za oznacenim TEchnika SLAba (pardon SLAboprouda), ale stejne vime, proc si zvolila tento nazev - kdo taky ve svete umi cesky a naopak kolik lidi zna Nikolu Teslu :-)
"ze proud chodi od kladneho polu k zapornemu a budu mit pravdu" - obavam se ze pravdu mit nebudes (elektrony maji zaporny naboj a tudiz se pohybuji od zaporneho polu ke kladnemu ;)
Clovek je taky jenom nekolik tupych bilkovin spojenych dohromady. Finta je v tom propojeni a komplexnosti vzajemne komunikace (ovsem v tom jsou pocitace slabym odvarem). Tudiz nezalezi na tom, z jakych stavebnich casti se to sestava, ale jak se to v konecnem dusledku chova. I kdyz, v pripade nekterych diskutujicich na rootu, je vysledek miliard let trvajici evoluce ponekud tristni, jak to tak vypada.
to bude asi tim ze evoluci zalezi jen na jedne veci
-preziti
a neni predem jasne jaka strategie je nejvhodnejsi pro preziti.
muze se stat ze inteligentnejsi forma zivota (tak ji chapeme) diky sve inteliginci ktera ji dala vyhodu nakonec na tu samou inteligenci zajde. napriklad znicenim sveho prostredi nuklearni valkou, nejakym prima fyzikalnim pokusem aj.
prilis uspesne bakterie tez dokazi vycerpat na Petriho misce zdroje a dusledne nasledne vychcipat.
Jo, jo ... Starý dobrý ZX. Člověk musí mimoděk zatlačit nostalgickou slzičku :'-)
Ale rád bych se zeptal, zda náhodou nevíte kde se dají najít podobná schémata. A to nejen na mikropočítače. Potřeboval bych schémata na některé radiopříjmače Grundig, které se mi tu válí a rád bych je ještě zprovoznil...
Nevim. Ja shanel kompletni schema Didaktika Gama a pry neexistuje. Tak jsem vzal multimetr a gEDA a kreslim. Hlavne ty veci kolem video koderu a modulatoru jsou dost tajuplne.
Je to tak, ale složitější je ta část ještě před ním: http://mmm.webz.cz/didaktik/gamavideo.jpg Ten modrý drát sloužil k "nahazování" barev na staré ruské televizi, musel jsem s ním škrtnout o výstup Video, jinak televize zobrazovala jen černobíle :-)
Tak to by mě také zajímalo, v paticích mám i procesor a EPROM, zatímco třeba tenhle http://electronics.mysteria.cz/didaktik_gama/didaktik_gama.htm má všechno natvrdo v desce a navrch dederonský UA880D, já tam mám Zilog Z0840004PSC. Tipnul bych si že ten můj je spíš nějaké porevoluční provedení, bohužel nevím kdy byl vyrobený, nejsem první majitel.
No prave, ja si treba pamatuju, ze pred 89 byl problem v Brne sehnat i pitomy konektor DE-9: byl na starsich mysich (COM) a take se tim mj. pripojovaly joysticky do Atarka a C64, takze jsem ho potreboval pro pripojeni BT-100. Nakonec jsme rozrezali pracne sehnany DA-25 a draty zalili do Dentakrylu :-) A i s paticema na 40nozickove obvody byl problem, proto jsem se divil, ze se neco takoveho davalo do Didaktiku. Ale je mozne, ze jde opravdu o novejsi edici.
No jo, klasika - LM1889. Předpokládám, že v nějakém doporučeném katalogovém zapojení ;-) Kdysi jsem s ní zkoušel stavět TV kartu, ale pak jsem zvolil radši MC1377, s kterým se pracovalo lépe (LM k sobě vyžadovalo ještě D-A matici LM1886 na převod z RGB)
Mam schema Yacht Boy 400 PE, shanim schema Yacht Boy 80, Prima Boy 75 L, City Boy 400 - pokud byste se k nekterym z nich dopracoval nebo chtel na toho YB400, ozvete se, diky.
Velice vítám uváděné "školení" , které prospěje všem kteří pracují s počítačem.
Většina těchto lidí má mlhavé nebo žádné představy o základních funkcích a nezná ani definici základních pojmů (stále se pletou bity s byty , neodlišují se druhy pamětí a pod.). Je dobré, že autor uznává a vychází z historie výpočetní techniky a upozorňuje na detailní znalosti, které museli mít tehdejší programátoři.
Článek je psán velmi přístupnou formou a já se těším na další pokračování, keré by se mohlo zaobírat také technickým vysvětlením principů moderních periferií na př. tiskáren, monitorů, komunikačních prostředků, modemů......
mate na mysli klasicka PC, ktera v posledni dobe maji vicejadrove procesory nebo skutecne paralelni architektury (NUMA atd.)? Ty skutecne architektury by bylo jiste zajimave probrat, zejmena v dnesni dobe, kdy se za jakysi etalon berou prave "dvoujadra" a "ctyrjadra".
Tez se primlouvam za probrani paralelnich architektur. Zajimave by mohlo byt i srovnani a zjisteni odlisnosti a inspirace mezi architekturami superpocitacu a "super *PU" (napr. GPU).
Muj nazor je ze superpocitace smeruji jako architektura do miniaturni formy v podobe ruznych "SuperPU", hlavne proto me zajimaji ony paralelni superpocitace.
Tez me zajima problematika navrhu a programovani pro masivne paralelni pocitacove architektury, o GPU se jde bezne ledasco docist kdezto o superpocitacich zalozenych na mnoha pocitacich a mnoha jadrech uz tak moc ne.
Jde o principy jakoz i o prakticke problemy. Tedy samozrejme spise z duvodu zvedavosti a touhy o pochopeni nez ze by mi slo o realne vytvareni aplikaci pro nejaky salovy superpocitac :o)
Mel jsem na mysli "skutecne paralelni architektury". Ale mozna by nebylo na skodu zacit, jak rikate s klasickymi PC s vicejadrovymi procesory a pak postupne prejit na paralelni architekury.
Dekuji za pripomenuti Sinclair ZX-81 :-)
Tak jste me inspirovali, ze jej zase o vikendu po nejakem tom roce vytahnu z krabice a pustim.
Ja osobne bych ale jako "model" pro objasneni principu pouzil spis Sinclair ZX-Spectrum. Proc ? Protoze ZX Spectrum zvlada i jednoduchou grafiku a k "idealnimu" skolnimu pocitaci se blizi vic (mimo jine treba i proto, ze primo na zakladni desce ma dynamicke RAM, ktere se v ponekud modifikovane podobe pouzivaji dodnes). V ZX-81 bylo pouzito daleko vice netypickych triku, aby byla zachovana maximalni jednoduchost hardwaru, coz - pokud pujdete do podrobnosti - zacatecnika bude ponekud mast (viz. napr. to, ze je procesor angazovan pri generovani obrazu).
Jest ejsem si vsiml chyby na obrazku zakladni desky ZX-81
Konektory k magnetofonu jsou pouze 2 - MIC a EAR. Ten spodni je konektor pro pripojeni napajeni z externiho ss zdroje - kousek od nej je videt stabilizator 7805 s chladicem.
Muze se zeptat, jake povolani ma a kde pracuje (nemusi byt jmeno firmy) pan Tisnovsky? Ted jsem kouknul do profilu a ma tam 395 clanku!!! Ma snad nekdo lepsi skore na rootu? Klobouk dolu.
Pozor! Nejen, že jich napsal hodně, ale jsou v drtivé většině i velmi kvalitní. To je nutno dodat: je tozdíl psát hodně a psát hodně a zároveň dobře. A tento článek není výjimkou. :-)
Pavel Tišnovský je ve skutečnosti pseudonym autorského kolektivu. Ten tvoří pan Spock, poručík Dat a duch Alana Turinga (prostřednictvím média). Dali si jednoduchý cíl: Než skončí vesmír, napsat na Rootu nekonečno článků. Dvakrát! (Protože jednou by to nebyla taková sranda. :-))
Ne, on zatim umi po jedne pocitat od nuly do nekonecna, k tomu, aby to zvladl od minus nekonecna do nekonecna, mu jeste par tydnu treninku chybi, sam to neprimo priznal. A jak ho znam, tak potom to zacne zkouset s realnymi a dale komplexnimi cisly.
Jen si dovolím podotknout, že by možná bylo vhodné začít (pokračovat) ještě více od podlahy. Vysvětlit pojmy kombinační obvod ->klopný obvod a stav ->automat a jeho kanonická dekompozice (na kombinační a klopný obvod)->řadič, procesor.
Popsat jako automat třeba hodiny s kukačkou.
Bez těchto základů se mi poznatky jak funguje počítač jeví stále jako trochu abstraktní.
Ale nenechte se zprudit, mne který nic nenapsal se to snadno mluví, v žádném připadě nechci snižovat hodnotu vašeho článku
To je zajimavy nazor, diky za nej. Ja jsem prave presne nevedel, odkud zacit - jestli od PN prechodu+trosku te kvantove fyziky :-) nebo vzit jako zaklad uz hotove tranzistory, hradla, jednoduche IO (treba pro me osobne to zacina byt zajimave az u tech hotovych klopnaku, niz je to moc low-level, ale zase se jedna o oblast, na ktere mnozi naopak konci - udelaji skvelej HW, ale uz ho neprogramuji). Trosku se to budu snazit rozvest u vysvetlovani funkci ALU a radice, uvidime, jaky bude ohlas.
Taky jsem z nadpisu článku myslel, že to bude jako předměty INC, INP, resp. IPZ z FITu. Ale nakonec to je klasika "kam strčit procesor" a "kam se strkal kdysi". Ale jinak dobré počtení. :-D
Ale nemusi to byt klasika, zalezi predevsim na ctenarich, kam se serial ubere. Uz tady byly naznaceny tri cesty: paralelni architektury (hi-level), vysvetleni zakladu (typy pameti atd.) nebo jit jeste nize pod jednotlive bloky typu scitacka apod.
btw: co znamenaji ty zkratky? Za nas se ucil LOS (logicke systemy), vystavba pocitacu apod.
INC = návrh číslicových systémů (hradla, logické obvody, paměti, ...)
INP = návrh počítačových systémů (sčítačky, násobičky, děličky, různé algoritmy)
IPZ = periferní zařízení (sběrnice PCI, ISA, řadiče, rozhraní)
Asi v podstatě to samé. :-)
No, hodně lidí vlastně neví jak funguje (třeba) procesor. Takže by možná pro ně bylo přínosné vědět, že tam je nějaká ALU a jak funguje (a jak fungují sčítačky, násobičky, děličky...), registry. Ale vznikl by z toho asi hodně velký seriál. :-)
Možná s vaší znalostí nejrůznějších jazyků by mohlo být pro čtenáře přínosné i jak by se dal procesor napsat ve VHDL.
Ajo, Periferni zarizeni jsme taky meli, to byl tak pohodovej predmet, ze jsem na nej zapomel.
O vnitrnostech procesoru samozrejme jeden ci dva dily budou, dneska to byla jenom takova rozcvicka :-). Asi takhle - dneska to byl odrazovy mustek, zakladni architektura, potom se to bude odvijet trosku "dolu" (ALU - scitani, logicke operace, posuvy, nasobicka, radic), jeste uvidime, jak moc dolu. A potom opet trosku nahoru - sbernice, dalsi zarizeni, strojak, assembler, dal nevim, podle ohlasu. Resp. presneji, vim, kam by ten serial mel dospet, ale prani mohou byt jina.
Ja jsem jeste nikdy nevidel ukazkovy priklad "dekompozice&krokovani na cele pipeline" a to na konkretnim vzorku program+data. A nasledne jak tento pripad zapada v kontextu operacniho systemu :-) Rad bych nekdy neco takoveho videl. Kazdy odbornik vzdy jen strasne teoretizuje. Mozna proto ze takove krokovani spis potrebuje poloboha. :-)
Ony ty schémátka s bloky propojenými oboustranýma šipkama jsou strašně matoucí, není jasné co se a kdy kam vlastně posílá. Jak probíhá komunikace. Jediné co z toho jde vidět a co si z toho čtenář veme je že vše "asi nějak" komunikuje se vším.
Tak urcite neni problem vysvetlit a treba i na animacich ukazat zakladni proces zpracovani instrukce: fetch, decode, execute atd. + jak se to da stahnout pomoci pipeline. Tj. kde je ktera cast instrukce v procesoru (treba ze zrovna operand vstupuje do ALU ci je zpracovavana adresa nebo je teprve opkod nacitan z fronty/cache/pameti). Dokonce mam dojem, ze to v cestine jeste podrobne rozpracovano nebylo.
Ovsem takove vychytavky jako preruseni uz z poloviny zpracovane instrukce je dost zavisle na danem procesoru a IMHO je pouze dobre vedet, ze neco takoveho existuje a nekdy i funguje - viz rozdil mezi 386, 486 a Pentii pri krokovani.
O naprostych zakladech, pametech a dalsim "low-lewl" se lze docist dost z jiz existujicich zdroju na internetu (wikipedie a odborne servery venujici se elektrotechnice) nebo z papirovych (zaklady digi dvoulopatovou nicmene presnou formou casopis Amaro napriklad).
IMHO Na tyto zaklady staci davat externi linky, pokud tedy nemate v umyslu budovat kompendium. :-)
Taky chválím, skvělí článek. Myslím si, však, že by bylo dobré pokračovat tak jak jste naznačil už v článku, a naznačené cesty rozpracovat do samostatných volně navazujících
seriálů. Ony ty témata ( paralelní architektury, logické obvody, základy np elektroniky a elektrotechniky, atd..) jsou dost rozsáhlá už sama o sobě. Mimo to si myslím, že je pomalu nutné dobře rozpracovat základy funkce počítačů. Setkávám se stále více s tím, že i lidé, kteří dlouho s počítači pracují pracují, tuší opravdu jen matně jak uvnitř pracují. Konec konců i já se dozvídám ve vašem článku pár věcí, které jsem nevěděl. Takže, přeji spoustu zdaru a, ... super, jen tak dál.
Chtěl bych znovu poprosit o radu ohledně možnosti stáhnutí schémat na některé starší komerční výrobky (hlavně Grunding a Tesla). Všiml jsem si, že vy a třeba pan mm se v této problematice dost orientujete. Nevíte prosím kde by se daly najít? Díky moc
"Setkávám se stále více s tím, že i lidé, kteří dlouho s počítači pracují pracují, tuší opravdu jen matně jak uvnitř pracují"
A čím to je když na internetu je spousta článků o tomto ? To si myslíte že když je nečtou jinde budou je číst zde ? proč ?
Možná je to i námět k zamyšlení na téma: je stále tak důležité jako kdysi znát všechny podrobnosti ? To vede k další úvaze typu pro koho píšu a co chci dosáhnout.
Jeden level se hodí pro BFU dva pro programátora tři pro bastlíře čtyři pro vývojáře HW pět pro architekta ...
To mě vede k zamyšlení nad nějakým znalostním systémem který by poskytoval informace do volitelné hloubky a šetřil tak čas a námahu, fungoval proti zahlzení informacemi a pro rychlou práci.
"A čím to je když na internetu je spousta článků o tomto ? To si myslíte že když je nečtou jinde budou je číst zde ? proč ?"
No, a proč ne? Ono nejde pouze o to že je jich mnoho, ale záleží také na tom kde jsou, v jaké kvalitě a jak aktuální. Neříkám, že je zde budou číst všichni, ale jsem toho názoru že jsou potřeba. Autor je (podle mě) opravdu daných témat znalý, mnohem víc jak já. A když se mě někdo ptá na vysvětlení některých takových věcí, tak jej prostě rovnou nasměruji sem. Mimo to (jak jsem psal) mám zato, že se v těchto článcích sám dozvím spoustu užitečných informací. A hezky pohromadě a v souvislostech.
"Možná je to i námět k zamyšlení na téma: je stále tak důležité jako kdysi znát všechny podrobnosti ? To vede k další úvaze typu pro koho píšu a co chci dosáhnout, atd..."
Do jisté míry s vámi souhlasím. Proto jsem psal, že dle mého názoru by, bylo dobré vytvořit na každý zde navrhovaný námět samostatný seriál, volně navazující na tento. Každý si pak může vybrat co mu libo. Nicméně nezáleží pouze na mě, ale i na ostatních čtenářích, a na autorovy jak se rozhodne.
Ja jsem se vzdycky orientoval predevsim na cislicove systemy, takze treba starsi Teslacke veci sly trosku mimo (teda krome legendarni BT-100 :-). Maximalne bych mohl sehnat schema k televizim, ktere jsme meli, protoze to Tesla dodavala - dokonce i se zobrazenim grafu na osciloskopu po jeho pripojeni na urcite body na plosnaku, to bylo dost dobre.
Aha, to jsem nevěděl. Mimochodem BT-100 mám taky, krásná věcička, uvažujeme s tátou, že jej zkusíme nějak propojit s komplem a přehrát pásky co máme doma do komplu. :o)
PS. když jsme u toho. Tesla svého času vyráběla kazetový magnetofony pro domácí počítače. Nejhezčí na nich byl tehdy krásný 10W zesák (i když na poslech hudby v dnešním smyslu byl nepoužitelný :D ) a elektronicky ovládaná mechanika přehrávače. Pamatujete? Někde bych ještě jeden - možná funkční - prototyp vyhrabal...
Pokud máte na mysli tzv. kazetopáskovou jednotku SP-210, tak jsem rovněž jejím šťastným majitelem, ovšem jsem ji "zprznil" výměnou elektronické části snímacích předzesilovačů za stereofonní. Je zajímavé, že hlava v tomto přístroji byla i původně stereo, ale elektronika samozřejmě mono. Tento technický výdobytek jsem kdysi získal na radioamatérském setkání v Holicích cca za 100 korun. Jinak po mechanické stránce to bylo stejné jako Tesla HIFI SM-260 viz. http://www.oldradio.cz/sm260.htm
Ojoooj. Pripomel jste mi objevitelsky pocit pri programovani vystupu z Commodore C64 na BT100. Nejhorsi byla kompenzace prekmitu toho krokace kdyz bylo treba zabrzdit vozik. Pak jsem udelal font ktery vypadal pekne na BT100, ulozil to na pasku a zapomel. V zivote uz to nikdo nepouzil. Proste excelentni vyukove zarizeni.
Narazil jsem na tvůj článek v diskusním fóru. Rovněž sháním schématka na televize Merkur 2 a Otava, model 3742. Jestli něco objevíš, napiš na e-mail: Spacekarlos@email.cz.
Velké díky. Karel.
Nejvetsi bomba je pak kdyz lidi co tusi jen matne jak pocitace pracuji, programuji. To pak nemaji ahnung co se jak dlouho vykonava a efektivita kodu podle toho vypada. Kdyz si vemou k ruce jeste nejaky bloatizator jako C++ nebo Java, to je potom orchestr.
Ne, on naprosto přesně ví o čem mluví. Vyšší programovací jazyky (jako třeba Cčko, pascal, C++) jsou koncentrovaný zlo. Jenom mi ve světle tohoto není jasný, co je Java. Žeby čtverec koncentrovaného zla?
Diky za linky. Je to dobre, presto... asi bych to lip pochopil od Pavla Tisnovskeho - protoze dokaze v par vetach vystihnout podstatu veci a sdelit to zpusobem, ktery zapadne do kontextu. Asi je jeho styl psani proste kompatibilni s tim, jak chapu veci :)
Kdzy jsem zacal clanek cist a uvidel prvni fotku, tak jsem se lekl co to bude za hroznou vec na urovni zive. Pak se objevil Eniac, rikal jsem si "dalsi popularni clanek". U odstavcu ALU, radic, ... jsem zbystril. A po precteni vety "je totiž výhodnější "obětovat" vývody na rozšíření adresové sběrnice na úkor sběrnice datové" jsem se zacal tesit na dalsi dily.
Jen je skoda, ze se nezacalo od hradel. Jaka jsou, realizace jednoduchy funkci, scitacka,.... Pak registry, design pameti, sbernice,adresace pameti,... No a postupne se dostat az k ALU.
No tesim se na dlasi dlouhy serial a opakovani znalosti z jiz absolvovanych predmetu...
Co furt máte s tím ebenem? Ebenové je maximálně tak dřevo a opravdu nevím, proč by bez něho nebyly počítače. Ta tyč, kterou máte na mysli, je EBONITOVÁ.
To je víceméně to co jsem myslel. Trochu nabourat čtenáři ono dogma, že počítač je základní deska ve které je procesor a spol. a dřív ta deska vypadala takhle, ale trochu pojednat o duchu věci.
To znamená že procesor je automat (stejně jako hodiny, samopal AK42, zámek ve dveřích a vlastně všechno ve světě). Že automat se rozpadá na něco co reprezentuje stav a na soubor pravidel, které popisují stav následující (pozice koleček v hodinkách a jejich stavba udávající kam a za jakých podmínek se pohnou -> klopný a kombinační obvod).
Že počítače jsou povedený pokus, jak množinu stavů a hodnot diskretizovat(stav počítače je dán "hodnotou bitů v pamětech", hodnoty jsou kvantizovány na důležité hodnoty(např. u sekundovky nás zajímají jen celé sekundy, stačí tedy 60 stavů a ne nespočetně mnoho jako v reálu) a abstrahovat od formy a soustředit se na podstatu(sekudna 0-59 a ne informace o úhlu ručičky nebo tvaru číslice).
To že jsme to dělali šoupátkama, potom relatama, pak elektronkama ... a nakonec IO je jen "nepodstatný :)" technický detail. Stejně tak jednotlivé architektury už je pouze problém realizace stejně jako zda mám barák z Ytongu nebo Porothermu :)
Takhle bych začal já, ale ješte jednou připomínám: mě se to kecá, nenechte se zprudit
Diky a udani smeru, podobnym smerem by ten serial mohl jit. Jak rikam, urcite se pujde jak "nahoru", tak i "dolu". Jenom se budu drzet cislicovych pocitacu (a vy o nich vlastne taky implicitne mluvite), protoze analogy jsou jak zpusobem zpracovani, tak i celou logikou uplne nekde jinde (treba ta diskretizace tam neprobiha, resp. neprobiha zadoucim zpusobem). Mimochodem, mam dojem, ze AK42 ma byt AK47, ale ve zbranich se jinak vubec nevyznam, takze jen trosku prudim :-)
V tom případě se není za co omlouvat. V naší armádě se používá útočná puška vzor. 58 (tatatatatatata) už desítky let (50? Možná i více.), takže s AK 47 jste určitě do kontaktu nepřišel.
Existuje i vzor 23. To ovšem neznamená, že byl vyroben/zařazen v roce 1923, takže zase tak samozřejmé to být nemusí. :-) Každopádně. Podle wiki byl vz.58 zařazen do výzbroje v roce 1959.
Je pravda, že jsme používali (4x za ten rok) samopal vzor 58, ale vše včetně AK bylo také probíráno teoreticky. Navíc, rozdíl mezi těmahle flintama je asi jako rozdíl mezi starou a novou Fabií
U těch DSP bych jen poznamenal, že ty zmiňované operace obvykle neprovádí ALU, ale specializované výpočetní jednotky - násobení obvykle MAC (Multiplier/Accumulator), posuny Barrel Shifter apod. Tím je umožněna paralelizace výpočtů typická pro DSP.
A jen tak pro zajímavost - když už jde o samotné principy funkce počítačů - tak je dobré zmínit našeho Antonína Svobodu, který se v USA na jejich vzniku nemalou měrou podílel. Populární článek - http://www.vesmir.cz/soubory/1999_V632-635.pdf
Dobrej článek, těším se na pokračování, rád si připomenu, co jsem se učil:) Dovolím si ale jedno malé slovíčkaření (spíše obecné, jen mě to opět napadlo při čtení článku) - taky vás tak provokuje dělení pamětí na RAM a ROM, resp. to, jak většina lidí tyhle zkratky (nesprávně) chápe? Tyhle pojmy se přeci týkají různých vlastností pamětí - způsobu přístupu k datům (RAM) a zapisovatelnosti (ROM). Aneb náhodně lze přistupovat i k datům, která lze jen číst.
Hlavní chybu článku vidím v tom, že popisuje vznik 8-bitových počítačů (a pak jistě budou následovat dokonalejší bakelitové přístroje).
Chzbí ale hlavní podtstat vývoje. Když třeba vznikl ZX81, tak běžně exitovaly počítače, které uměly všechno to, co dnešní nejlepší PC-čka. Pouze zabíraly celou místnost.
Podstatné je ale to, že postupy, algoritmy, architektura byla vymyšlena již tehdy - a ne s dalším rozvojem techniky, jak vyznívá v podtextu tohoto článku.
Konec konců třeba takový DOS na osobní počítače pouze okopíroval nejjednodušší možnosti z VM/IBM, přesněji části CMS. (Bohužel se tvůrci nechápali ochranné funkce části CP, atak máme od té doby viry.)
Současný vývoj jde ale úplně jiným směrem, hrubě řečeno spojováním celých počítačů. Proto mi připadá článek příliš připadá jako historicky matoucí relikt.
Ale ja nikde netvrdim, ze vsechno zacalo na domacich osmibitech, ta ZX81 je jasne uvedena jako IMHO vhodny priklad, se kterym se lide mohou ztotoznit. Kdyz bych tady zacal mluvit napriklad o PDP nebo IBM 360, kolik lidi by se "chytlo"? (krome Rejpala, ten ho snad ma doma :-) Urcite bakelitaky popisovat nebudu, protoze zadne neznam, v te dobe prece uz bylo PVC :-) [viz film Pelisky]
Na jedne myslence ale trvam: teprve osmibity priblizily pocitace i beznym lidem, to je ten hlavni duvod. Mezi salovymi ci "skrinovymi" pocitaci a domacimi osmibity je asi tak stejny rozdil jako mezi vlakem a osobnim autem: to prvni je urceno pro vyvolene spolecnosti, to druhe mohou mit vlastne vsichni a vsichni s tim pracovat (jezdit), coz je propastny rozdil.
Skvely clanek (ostatne p.Tisnovsky jine nepise).
Ale s tim nazorem nahore bohuzel musim souhlasit.
Vsechno zacalo mnohem driv, a "levne 8-bity" a nasledujici PC byly jen dusledkem modernizace. Principy vznikly davno pred tim a temer se nezmenily !
Divil byste se kolik lidi zna(znalo) IBM 360/370 a podobne stroje ...
Dobre, tak jste me presvedcili :-) V nekterem z dalsich dilu se podivame dal do minulosti na salove pocitace, masiny od IBM, mozna i Craye atd. Ted me mrzi, ze jsem se zbavil knizky "Programovani v jazyku strojovych instrukci pocitacu JSEP" - bylo to sice z praktickeho pohledu k nicemu, ale mozna by se to prave do tohoto serialu hodilo.
Ale tak daleko jako napr. k Babagemu (analytical engine, differential engine nebo jak se ty masinky jmenovali) to asi nedojde :-) protoze o nich moc nevim, jen ze existovali. To je mozna spis pro nejakeho strojare :-)
Na obalu to melo svislou radu z nekolika kruhu, knizka krasne vazana v pevnych deskach a jeste s obalem z kridoveho papiru. Nejak takto se v minulosti vydavaly odborne knihy, zadne samozaviratelne paperbacky :-) Jestli se ti chce hledat a jsi z okoli Brna, tak bych byl rad.
ZX 81 s 1KB paměti byl můj první počítač. Nejsem si již jist, ale mám pocit, že šachy fungovaly až s rozšířením na 16KB RAM. On ten 1KB se totiž sdílel i s obrazovou pamětí a tak se volný prostor rychle zmenšoval. Stačilo mít na obrazovce více řádek textu a veškerá paměť byla pryč - 32 x 24 = 768 bytů to zabralo v nejhorší variantě. Tady nepomáhal ani strojový kód, takže ten program by mohl maximálně na 4 znaky vypisovat kam mám přesunout figurku na skutečné šachovnici.
Ono to fungovalo trosicku jinak - pokud nebyl obrazovy radek uplne plny, tak v pameti zabiral min mista, protoze jako posledni znak se vkladal specialni kod (vetsi nez 128), ktery v soucinnosti s ULA zaridil prechod na novy radek. Vykladam to strasne zjednodusene ale vysledek je ten, ze u kratkych radku se vsech 768 bytu nezaplnilo.
Ad sachy na 1kB - je to genialni a docela fungujici vec. Tusim to neumi rosadu, brani mimochodem a jeste neco, ale jinak plne funkcni:
nerikam ze tomu vypisu rozumim, ale je to proste nadhera, dokonce bych rekl jeden z nejdokonalejsich kodu, ktere znam (dalsi hackeri pry nejakym podobnym zpusobem upravili na dalku program pro nejakou druzici letici k Jupiteru tak, ze do par zbyvajicich bytu nacpali dalsi funkce, ale mozna je to jenom urban legend, nevim).
Díky za odkazy, to jsem skutečně neznal a v emulátoru vyzkouším. Se šachy jsem se setkal až na Spectru a ZX81 jsem urychleně rozšířil napřed na 2KB a později na 16. Ono se skutečně do 1KB normálně nedalo vecpat skoro nic a na zmiňované supertriky jsem neměl znalosti. O rozsahu obrazovky jsem psal v souvislosti s normálním programováním a tam stačilo vykreslit na 32 pozici znak a zabralo to 32 bytů paměti. V nejhorším případě tak pro obyčejné programy zůstalo skutečně jen pár bytů.
Jupiter - kniha "Opravdoví programátoři nepoužívají Pascal", jednalo se o Voyager, rozpoznávací program, možno najít na Palm knihách, ale asi je to jen legenda.
Jinak chválím za výborný článek.
Jsem v Didaktiku Gama vymenoval patice za precizni a nejak jsem ho odprask ;/
Vymena patic ROM a CPU byla v pohode, jsem to testoval hrou Exolon a fungoval perfektne. Pak jsem udelal ULA, cervena kontrolka sviti, klavesnice nepipa, obraz se negeneruje.
Takze se do didaktika asi ponorim s multimetrem a kdyz to nepomuze, pujde na osciloskop :]
Jinak - clanek je pro dnesni dobu ponekud zastaraly. Dnes by se spis mel jmenovat "Jak nefunguje pocitac" a mohl by pojednavat o vsech bugach, ktere v pocitaci jsou :)
ULA jsem neodprask. To jsem v dobe letovani mel vyndane. Jinak - kdybych odprask ULA - asi to sletuju z HC hradel. Pry je to na 18 svabu. Ronja je taky na 18 svabu. Nekdo rikal, ze Ethernet trasnceiver ML6552 je zabugovany a zasekava se. Co kdyz je to FPGA taky zabugovane? HCcka urcite zabugovana nejsou.
A navic, na FPGA neexistuje kompletne free toolchain, takze to ponekud saje.
Napadlo me, udelat pocitac se Z80 na 10MHz a strankovanou videoram. Byly by 2 stranky, jedna pro video druha pro CPU. CPU by pripravil snimek gamesy a prepnul. Vyhodu by to melo, ze by se nemusel delat zadny arbitr, stacily by tupe multiplexery. Taky by to automaticky implementovalo double ubuffering. A video generator by byl uz trivka.
Sletoval jsem video generator na VGA http://gnu.ethz.ch/vgalamp/vga-lamp.jpg
Nema to generovani pixelu, umi to jen barevne pole. Ale pixely jsou trivka, navesi se citac na SRAM. Udelal bych z odporu prevodniky 3 bity zelene 2 bity modre 2 bity cervene a clovek by mohl mit tak 256 barev. To by to jeste zjednodusilo, nemusel by byt posuvak na serializaci pixelu.
Jo jeste BLEKu ad ULA: ZX Spectrum ULA je dost odolna. Kdyz jsme byli mali, Didaktik prestal fungovat. Tata to rozebral a promeroval a dosel nejak k nazoru, ze je asi vadna ULA. Tak ji vystipal a naletoval sokl. Objednali jsme novou a zjistili, ze to stejne nefunguje. Pak se ukazalo, ze je zkrat v klavesnici.
Mezitim jsme ostipany svab pouzivali jako "pilku" na drevotrisku a taky jsme ho davali na koberec pod kancelarskou zidli s zeleznymi nozickami a skakali na ni, aby svab prasknul a my videli, co je uvnitr. Svab ale nechtel prasknout.
Pak tata svab dal na sokl, nastrkal do nej dratky a priletoval k pahylum nozicek. ULA chodila jako vinko a tu nahradni jsme zase prodali :)
O tech chybach by to byl dost dlouhej serial, docela cernej humor. Ja jsem napriklad zjistil, ze moje deska nezvlada nove USB Flashky. Je to tim, ze vyrobci chipsetu nedodrzeli casovani signalu (tusim prebeh reset pred daty) a zatimco radice starych Flashek to zvladaly, tak od 2GB (asi se radice vice spolehaji na normu) uz je pocitac nenadetekuje a jadro se z toho neustaleho posilani requestu na typ zarizeni muze zblaznit.
Taktez by bylo dlouhe vypraveni o radicich PCI od AMCC. Jde o cipy, ktere si muzete dat na svoji PCI desku a ktere umi (nebo by mely umet) bus-master prenosy, cely PCI protokol, obsluhu preruseni atd. Skutecnost je jina - v datasheetu je vzdy vypsana funkce, potom co vsechno na teto funkci nepracuje tak jak ma a potom volne misto pro rucni popis dalsich bugu, na ktere vyrobce neprisel. Kdyz doplnim, ze jakykoli chybny byte na PCI automaticky znamena reset pocitace, je jasne, ze ladeni je opravdu chutovka. Tady uz osciloskop nestaci, je zapotrebi analyzator PCI sbernice, bratru tusim za 200 kKc.
V datasheetu Z80 se pise, ze reset musi mit setup time tusim 60 nanosekund pred nabeznou (nebo sestupnou?) hranou hodin a musi trvat aspon 4 tiky.
4 tiky vetsinou trva protoze na RESETu je poveseny elyt (pokud se cloveku nepodari to stisknout na tak mikroskopicky krakou dobu, aby se nestacil nabit), ale ten setup time je sproste znasilneny.
Takze se datasheet porusi a procesor se nemusi dostat do definovaneho stavu. Uz se mi stalo, ze jsem stisk reset a ono se to neresetlo, musel jsem stiknout 2x. Oprava je jednoducha, samplovat ten signal na nabezne (nebo sestupne?) hrane hodin.
V praci mame krabici plnou vyhazenych desek. Na jedne jsem krome SMD RAM 32KiB (jaky to poklad!) nalezl jeste ruzne roztodivne klopaky. Toz klopak vyletuju a vletuju ho do didaktika a pak bude didaktik vic BugFree(TM)! Pimp My Didaktik!
Chci se kouknout jestli bezej hodiny jenze mam problem. Schema je v PDF a ja nemam jeste zkompilovany zadny PDF viewer! Datasheet je taky v PDF. Jak zjistim na kterem pinu jsou hodiny?
Pak mi to docvaklo - mam preci prezdivku Clock a nekdy pisu pod prezdivkou z80pin6. Tudiz je to pin6! Pripojim multimetr na pin 6 a ukazuje 000 Hz. Takze nebezi hodiny!
V pristim dile serialu se dozvite, proc nebezej hodiny. Jdu to propiskavat.
Na pinu 32 ULA hodiny taky nejsou. ULA ma napajeni 5V, zem ma dobrou, pin 39 je pripojen na krystal to prerusene neni a cesta z krystalu pres kond do zeme je taky OK. Ukazuje se ale ze 39 a 40 (GND) jsou prozkratovane! Zdroj zkratu ale zjevny neni. Zkrat trva i kdyz se ULA vytahne ze soklu (tedy trva v tom soklu, ne v te ULA).
Dil treti - vyletovavam krystal, zkrat je stale tam! Pohledem na desku nevidim nic na strane soucastek ani pod soklem na strane spoju. Beru sondy od multimetru a skrabu kolem pinu 39. Nic. Skrabu znova. Zkrat zmizel! Musel to byt kousek cinu od odsavani. Nabiram kalafunu, oblemtavam pin 39 a prohrivam, aby se cin roztekl a z mezery se "stahnul" - tomu kalafuna pomaha.
Telenovela dil ctvrty - Diry po krystalu jsem odsal, krystal znovu zaletoval. Pripojuju napajeni, mackam klavesu, nic. Chvili cekam, nic. Mackam RESET, cervena kontrolka pametove banky neblikne. Spatne znameni. Pak ale mackam klavesu a ozyva se vitezoslavne piskani! Hodiny bezi! V dalsim dilu serialu se pravdpodobne dozvime, proc nefunguje cervena kontrolka pametove banky.
Pane Tišňovský, pamatujete Transmetu a její procesor Crusoe? Jeho běh byl SW záležitost, na rozdíl od konvenčních procesorů, kde je logika "zadrátována" do silikonu. Teprve počítač s procesorem Crusoe bych označil za Von Neumana, ostatní jsou hybridy.
Dovolim si to trosku upresnit - i jine mikroprocesory, vcetne slavne Motoroly 68000 mely mikroinstrukce a nekdy i nanoinstrukce, ale ten princip je starsi nez mikroprocesor, pouzival se i u minipocitacu (ted vynecham HW emulatory od IBM, to je kapitola sama pro sebe).
Crusoe znam, udelali kolem toho docela humbuk a je trosku smula, ze se neprosadili, treba na poli notebooku. Nejvetsi rozdil je v tom, ze se mikrokod dal jednoduse menit, to stejne maji treba i nektera Pentia, ale nikdo do nich stejne nic jineho nez pitomou ISA 86 necpe, ale kdovi, treba na nich jednou nativne pobezi bytekod Javy nebo Parrot.
Ono by se s trochu nadsázky dalo říci že mikroinstrukce měl mít už ten Babbageův Analytical engine, v podobě výměnných válců - instrukcí v mlýně - procesoru.
Mikrokód u Crusoe se nedal jednoduše měnit, protože byl closed-source :-( Stejně tak mikrokód u Intelu a AMD je closed-source. Je to škoda, myslím, že by bylo zajímavé, kdyby někdo z toho mikrokódu pro Pentia odstranil různé legacy-x86 hacky (segmentace, gdt, tss, nezarovnané přístupy...) a pak mohl provozovat operační systém rychleji.
Myslel jsem jednoduse zmenit po technicke strance, tj. mikrokod sel do mikroprocesoru nahrat. To je rozdil od nekterych starsich mikrokodovanych a nanokodovanych instrukci, kde se pro jejich ulozeni pouzila nejaka pamet ROM (v podstate jen bitova maska) umistena primo v mikroprocesoru a zmeny tak mohl provadet pouze vyrobce. Closed-source je samozrejme problem.
Článek je dobře psán a čtivě (měl jsem u toho zapnutou televizi a stejně mě to neodradilo od čtení). Myslím, že na první článek autor obsáhnul vše, co by měl člověk znát na začátek. Ovšem přijde mi, že to až moc zabíhá do historie. Doufám a spíš i věřím, že se autor v dalších článcích bude věnovat i nynější technologii.
chtel bych se zeptat k zapojeni von neumannova schematu podle obrazku v clanku :-)
vzdy sem hop chapal tak, ze ridicim prvkem je alu, na kterou tecou data ze vstupu a vystupu, alu pak spolupracuje s radicem, se kterym tvori precesor a alu take pristupuje k operacni pameti, coz je ovsem v rozporu s vyse uvedenym clankem. mohl by mi nekdo vysvetlit, kde se stala chyba? dekuji
Uplne primo vetsinou ne, v mikroprocesoru je vytvorena interni sbernice, ze ktere si data bere jak radic, tak i ALU a registry (ovsem vsechno to musi ridit radic, jinak by napriklad ALU nevedela, odkud dostane data, ani kam je ma ulozit - ty vstupni registry A a B a vystupni registr C jsou samozrejme pouze docasne). Dobre je to videt na nasledujicich dvou obrazcich. Prvni obrazek je hodne zjednoduseny, protoze nejsou zakresleny datove cesty, kudy radic (instruction decoder+timing and control) ridi jednotlive moduly.
Dekuji za vycerpavajici odpoved, uz zrejme chapu kde je ukryty ten problem. Vy zde popisujete zjednodusene realne reseni, ja sem ovsem mel na mysli neumannovo reseni, ktere bylo presentovano puvodne v roce 1945. Zajimal jsem se predevsim o tenhle abstrakt. Jeste zkusim neco vygooglit az budu mit chvili cas :-)
Budeme se tim zabyvat podrobneji v nekterem dalsim dilu serialu. Ne ze bych vam to ted nechtel rict, ale sam tu latku jeste nemam pripravenou, zatim si v hlave tridim, co vlastne napsat a hlavne v jakem poradi. V kazdem pripade je toto tema docela zajimave (a prave ucebnice zustavaji vetsinou pouze u zakladniho schematu), takze bych nachystal i nejake ilustracni obrazky, jak vlastne ty trpajzlici prenasi bitiky mezi jednotlivymi moduly :-)
Zajimave je, ze von Neumannova koncepce vlastne nic nerika o tom, ze se musi jednat o procesory s vnitrni sbernici a vlastne ani to, ze musi jit o "binarni" procesory takove, jake zname dnes, tj. procesory (vetsinou) taktovane vetsinou hodinami - ta koncepce je z tohoto pohledu hodne obecna.
Mimochodem, kdyz uz jsme u tech ilustracnich obrazku - nezna nekdo utilitku, ktera dokaze ze sekvence bitmap sestrojit GIF animaci se specifikaci zpozdeni mezi jednotlivymi snimky? Idealne OS. Sam moc dobre vim, jake problemy mel GIF kvuli patentum (http://www.root.cz/clanky/pripad-gif/), ale treba neco existuje.
Dostaneme se k tomu v nekterem z dalsich dilu, ale pokusim se zkracene odpovedet uz ted:
ALU je ve sve podstate pomerne jednoducha az primitivni vec (samozrejme uvnitr je to slozitejsi, treba nasobicky uz jsou celkem vychytane, ale ted myslim pohled zvenku) - predstavme si napriklad ALU takovou, jaka se vyrabela v rade integrovanych obvodu 7400, tj. jako jednoduchy integrovany obvod (cislo vam uz presne nereknu, ale vyrabelo ji treba i nase Tesla Eltos, urcite se to da vsude mozne po katalozich najit).
Ten integrac ma na vstupnich nozickach dve binarni cisla o dane sirce (4, 8, 16 popr. 32 bitu podle typu soucastky, v 7400 to jsou 4 bity) a na vystupu jedno binarni cislo (opet o stejne ci vetsi bitove sirce). Potom jeste nekolik vodicu, na ktere se posila kod pozadovane matematicke ci logicke operace: napriklad +, -, negace (unarni), rotace doleva/doprava, and, or, xor.
ALU zvolenou operaci jako spravna hloupoucka a poslusna soucastka provede, tj. precte si ta dve slova ze vstupnich nozicek, dale (paralelne) precte kod pozadovane operace a po par taktech se na vystupnich nozickach objevi vysledek. Nic dalsiho se od ALU ocekavat neda, veskere rizeni, tj. odkud se maji data do ALU vzit, kam se ulozi vysledek, co udelat s priznakem preteceni ci priznakem nuly a dalsi veci ridi prave radic.
1) musi zaridit, aby se z pameti precetla dalsi instrukce, resp. jeji operacni kod
2) na zaklade operacniho kodu treba musi zajistit, aby se dalsi slovo prectene z pameti preneslo do nejakeho registru nebo aby se ALU prestala flakat a secetla dve cisla, co ma na vstupu
3) taky muze dojit ke skoku na jinou adresu, treba k podminenemu skoku, skoku do podprogramu, navratu z podprogramu. Takze radic zajistuje to, aby se ukazatel na dalsi instrukci (IP) spravne zmenil.
4) vysledky ALU operaci je taky zapotrebi nekam ulozit, takze radic ridi "vyhybku" na interni sbernici procesoru, ktera data presune do pozadovaneho registru nebo do pameti
5) atd. - zalezi na instrukcni sade a vlastni architekture procesoru
Takze je rizen castecne svou konstrukci a castecne programem stejne jako ALU nebo dalsi jednotky. Jenom toho do nej a z nej vede trochu vic a je mnohem slozitejsi stejne jako forma programu pro nej urcena. Hlavni cast vnasejici rad do chaosu. Chapu to dobre ?
Procez kdyz budu procesory stosovat serio-paralelne zacnou se mi pri navrhu software vynorovat ty same problemy ktere mam pri navrhu a rizeni hardware procesoru slozeneho z ruznych ruzne spolupracujicich s-p pospojovanych jednotek. ?
Presne tak, zakladni vlastnosti radice mu da vyrobce daneho procesoru. Z uzivatelskeho hlediska je to vlastne instrukcni sada, tj. to, co procesor "umi". Uvnitr to muze byt trosku slozitejsi, ale ne moc (zacina se nekde u 2000 ekvivalentu tranzistoru). Pro nas ostatni je to cerna skrinka s jasne definovanym rozhranim, funkci popsanou jak seznamem instrukci, tak i casovanim a vlivem na ostatni casti mikroprocesoru.
Praveze vyhoda mikroprocesoru a mikroradicu je v tom, ze se ta slozitost "schova" do programu, ktery je vetsinou lip upravovatelny nez cisty hardware. Nekde na puli cesty mezi cistym programovanim a obvodovym navrhem HW je VHDL a podobne jazyky.
Samozrejme pokud slozitost reseneho problemu roste, tak je zapotrebi se presunout na vyssi uroven abstrakce. Priklad: slozity dotaz do databaze se resi pomoci vysokourovnoveho SQL a ne ceckovym nebo assemblerovskym programem a uz vubec ne navrhem zapojeni obvodu, ktery tento dotaz v HW implementuje. Jinymi slovy: pokud se pri propojovani uz dostavate na tezko zvladatelnou uroven (treba ze zmena v jedne casti vede k velkym zmenam celeho systemu), muze presun od HW k SW pomoci, ale je to samozrejme mysleno obecne.
Nechci do toho panu Tišnovskému příliš kecat, ale řekl bych, že FPGA a VHDL už je poměrně vzdálené od tematiky tohoto serveru. Nejde o to, že by to s tím nesouviselo, to v žádném případě. Ale ono je opravdu zapotřebí stanovit si nějaký základ, který se předpokládá, a od toho vyjít. VHDL a FPGA už je čistě elektronická záležitost a člověk by tam zase narazil na pojmy jako klopný obvod, hradlo a pod., pak by se mohla řešit problematika tranzistoru atd. I když je fakt, že když už se někdo vrhne na popis činnosti počítače, tak buď musí předpokládat elektronické vzdělání, nebo je třeba to všechno vysvětlit, protože bez toho se to pochopit nedá.
Na druhou stranu bych poznamenal, že za našich začátečnických let se postupovalo skutečně od základů - tj. elektronika, tranzistory a vše kolem, pak logické obvody a vše kolem - hradla, klopné obvody, registry, multiplexery atd., základy booleovské algebry, konstrukce čtyřbitové sčítačky s pomocí TTL obvodů, LEDek a trafopáječky, ta se pak použila ke konstrukci primitivní ALU (sčítání, bitové posuvy a porovnávání; ALU se sice vyráběla jako jeden šváb MH74181, ale jednak nebyl z nejlevnějších a jednak obsahoval operace, které nikdo nikdy k ničemu nepotřeboval, ale neobsahoval operace, které potřebné jsou - například tam byl posun doleva, ale už tam nebyl posun doprava, místo toho tam byla jakási obskurní kombinace asi tří logických funkcí), vysvětlení (poměrně podrobné) procesoru, a pak teprve jsme "byli připuštěni", samozřejmě po dlouhém školení, k zázraku moderní techniky - k počítači. Ale dá se říci, že jeho funkci jsme měli zmáknutou ještě dříve, než jsme se ho vůbec směli dotknout. A dokonce se našli blázni, kteří chtěli mít počítač doma, tak využili znalostí a začali si pomocí TTL obvodů (!) pájet vlastní procesor pro svůj budoucí počítač. Na vlastní oči jsem viděl jen fungující čtyřbitový prototyp - a nutno dodat, že ho měl ten maník koncipován dost pokrokově - dvoustupňovou pipeline, instrukce zadrátované - takže čistá RISC architektura :-) V 80. letech :-) A tomu hošíkovi mohlo být tak kolem 15 let! Jestli se mu to nakonec podařilo, to už jsem se nikdy nedozvěděl, protože se dotyčný odstěhoval.
P.S.: zákaznické obvody se v PC využívají téměř odnepaměti. Rozdíl mezi FPGA a zákaznickým obvodem bych zhruba přirovnal k rozdílu mezi přepisovatelným a lisovaným CD. Takže je to asi na stejné úrovni, jako bude-li nějaké hudební nakladelství vydávat písničky na přepisovatelném CD :-)
FPGA bylo použito v open HW (grafická karta) jsou tu na rootu o ní články. FPGA patří k tematu a přišla na ně řeč zde i když nepřímo ("Nekde na puli cesty mezi cistym programovanim a obvodovym navrhem HW je VHDL a podobne jazyky."), tak se JEN PTÁM (...), nebijte mě prosím :-)
Proti základům nic nemám. Jenomže o základech jsou mraky dokumentů kdežto o pokročilejších věcech ne. To ovšem zároveň neneguje probírání základů v článcích. Ty si rád přečtu i když něco už znám.
Přemýšlím proč vás můj dotaz tak nastartoval. Setkáváte se často s chabou znalostí základů ?
Mě nic nenastartovalo, jen jsem přidal komentář :-)
Nicméně proti tomu, že VHDL je na půli cesty mezi HW návrhem a programováním bych se dost ostře ohradil. Při pohledu na VHDL by se to zdát mohlo, ale je to zásadní omyl! Z něhož, pokud se na tomhle předpokladu staví, vedou zásadní vývojové chyby. VHDL je jen jazyk určený k popisu HW a to musí mít člověk v každém okamžiku na vědomí. Vynecháme-li simulace, pak si je třeba uvědomit, že ve VHDL se nepíše program! Ve VHDL "slovně" popisujete to, co byste mohl klidně udělat s páječkou v ruce a hrstí obvodů. Ve chvílích, kdy se člověk nechá unést a začne využívat různých cyklů, funkcí a procedur, začne ze syntezátoru proudit čím dál horší, náročnější a nespolehlivější popis, až nakonec přestane být řešení syntetizovatelné zcela. Pokud někdo nemá znalosti z oblasti digitální elektroniky, ale umí programovat, měl by si je nejdříve doplnit, než se pustí do hraní si s VHDL. Protože, jak už jsem řekl, ač to tak na první pohled vypadá, přesto nemá syntetizovatelný VHDL popis s programováním téměř nic společného (o nic víc, než obvodový návrh). Umění programovat vám ve VHDL nijak nepomůže, skoro naopak, může spíše uškodit při neopatrnosti.
Jinak řekl bych, že člověk si dnes může sestudovat cokoli ho napadne, aniž by se musel zvednout od počítače. Literatury je dost jak elektronické, tak papírové, jak v angličtině, tak v češtině. Ale nemám samozřejmě nic proti novým článkům a knížkám (i když je fakt, že poslední dobou mívám pocit, že ty nové knihy obvykle nedosahují kvalit starší literatury). Jde ale o to, že nemůžete chtít, aby se v článku o počítačích vysvětlilo všechno - počínaje takřka Ohmovým zákonem :-) To by pak musel býti dost rozsáhlý seriál :-)
A pokud jde o váš poslední dotaz - ano, bohužel se setkávám s tím, že znalosti jsou čím dál mizernější. Jak už jsem naznačil - před nějakými 20 lety měli i 15tiletí kluci, kteří se o to zajímali, znalosti na takové úrovni, že dokázali napsat vlastní překladač (v Assembleru) nebo si ubastlit vlastní procesor. To dnes v podstatě nehrozí. Navíc ale, právě díky těm svým komplexním znalostem, dokázali s danými prostředky dosahovat mnohem větších výkonů, než dnešní generace. Já vím, že je to dnes nesnadné, ale v té osmibitové a šestnáctibitové éře jste počítač, s kterým jste pracovali, znali doslova do posledního šroubku a tyhle znalosti vůbec nebyly zbytečné, jak si dnes spousta lidí myslí. Umožňovaly větší nadhled a větší výběr možností při řešení problému. Podívejte se dnes na vývojářská diskusní fóra, co se tam v 80% případů řeší - triviality, plynoucí z neznalosti, plynoucí z lenosti otevřít učebnici a kódy zkušených programátorů a studovat, učit se, zkoušet. A bohužel, když se podíváte i na řadu profesionálních řešení, tak zjišťujete, že jsou na velmi mizerné úrovni, jak po analytické, tak po programátorské stránce. Vytrácí se elegance, software je čím dále více splácanina a la Pejsek a kočička. A to samé se dá vlastně říci i o hardwaru a procesorech...
S tim poslednim odstavcem se neda nez souhlasit - jak v oblasti HW, tak i programovani. Ony ty osmibity a jeste tak sestnactibity (v podstate vsak 32 bity, narozdil od PC) v tomto ohledu byly dost dobre.
FPGA bylo použito v open HW (grafická karta) jsou tu na rootu o ní články. FPGA patří k tematu a přišla na ně řeč zde i když nepřímo ("Nekde na puli cesty mezi cistym programovanim a obvodovym navrhem HW je VHDL a podobne jazyky."), tak se JEN PTÁM (...), nebijte mě prosím :-)
Proti základům nic nemám. Jenomže o základech jsou mraky dokumentů kdežto o pokročilejších věcech ne. To ovšem zároveň neneguje probírání základů v článcích. Ty si rád přečtu i když něco už znám.
Přemýšlím proč vás můj dotaz tak nastartoval. Setkáváte se často s chabou znalostí základů ?
hledam manual nazvany prirucka pre uzivatelov didaktik m. naviete o niecom?
chcel by som prepojit syntezatory s didaktikom a bez tej prirucky sa ani nepohnem. neviem totiz ktory vystup je na co.