Procesor sestavený z čipů řady Intel 3000

Pavel Tišnovský 19. 4. 2011

Dnes si popíšeme další rodinu bipolárních integrovaných obvodů, která byla navržena tak, aby bylo možné z těchto čipů sestavit plnohodnotný procesor s programovatelným řadičem a volitelnou bitovou šířkou. Jedná se o rodinu čipů Intel 3000, která byla pod označením MH3000 vyráběna i v tuzemském podniku Tesla.

Obsah

1. Procesorové řezy AMD Am2900 a Intel 3000

2. Integrované obvody tvořící rodinu Intel 3000

3. Malá historická odbočka – statické a dynamické paměti firmy Intel

4. Integrovaný obvod Intel 3001 – mikroprogramo­vý řadič

5. Význam klopných obvodů Z a C

6. Integrovaný obvod Intel 3002 – aritmeticko-logická jednotka

7. Integrovaný obvod Intel 3003 – rychlý generátor přenosů pro ALU

8. Obsah následující části seriálu

9. Odkazy na Internetu

1. Procesorové řezy AMD Am2900 a Intel 3000

V předchozí části seriálu o architekturách počítačů jsme si stručně popsali úspěšnou rodinu čipů nesoucích pojmenování AMD Am2900. Jednalo se o sadu přibližně čtyřiceti typů integrovaných obvodů majících různé funkce, z nichž bylo možné sestavit plnohodnotný procesor zpracovávající operandy s volitelnou bitovou šířkou, která mohla dosahovat násobku čísla čtyři – bylo tedy možné zkonstruovat čtyřbitové, osmibitové, dvanáctibitové, šestnáctibitové atd. procesory (jednotlivé čtyřbitové aritmeticko-logické jednotky se nazývají „bitové či procesorové řezy“). Vzhledem k tomu, že takto sestavený procesor byl řízen mikroprogramem uloženým v samostatném paměťovém obvodu, mohli si jeho konstruktéři sami zvolit instrukční sadu takovým způsobem, aby co nejvíce odpovídala požadavkům aplikace, která měla být na procesoru spouštěna. Na základě operačního kódu instrukce se pomocí sekvencéru načítaly z paměti mikroprogramu jednotlivé mikroinstrukce používané jak pro řízení ALU, tak i dalších modulů procesoru, včetně vlastního mikroprogramového řadiče.

Obrázek 1: Čip Intel 3001 (mikroprogramový řadič) umístěný v keramickém pouzdře.

Díky tomu, že čipy z rodiny AMD Am2900 byly vytvořeny s využitím bipolární technologie (byly tedy relativně rychlé) a taktéž díky tomu, že se v čipové sadě Am2900 nacházela i aritmeticko-logická jednotka podporující provádění aritmetické operace násobení, používaly se tyto integrované obvody relativně často pro konstrukci DSP – digitálních signálových procesorů. Ovšem integrované obvody patřící do rodiny AMD Am2900 nebyly jediným procesorovým řezem, který byl na trhu v polovině sedmdesátých let minulého století dostupný. O rok dříve než firma AMD totiž začala svoje vlastní řešení nabízet i společnost Intel – ta přišla v roce 1974 s rodinou integrovaných obvodů pojmenovaných Intel 3000, z nichž taktéž bylo možné sestavit plnohodnotný procesor složený z procesorových řezů. Na tomto místě je možná vhodné poznamenat, že pouze o necelé tři roky dříve než čipová sada Intel 3000 (konkrétně koncem roku 1971) vznikla i čipová sada Intel 4000, jejímž ústředním prvkem byl první mikroprocesor na světě – slavný čtyřbitový Intel 4004.

Obrázek 2: Další varianta integrovaného obvodu Intel 3001.

2. Integrované obvody tvořící rodinu Intel 3000

Mezi základní integrované obvody tvořící čipovou sadu Intel 3000, patřily především integrované obvody nesoucí označení Intel 3001, Intel 3002 a Intel 3003. Tyto čipy budeme v dalším textu pro jednoduchost označovat pouze číslicemi, které byly při pojmenovávání obvodů používány i některými dalšími výrobci klonů těchto čipů, což mj. znamená, že integrovaný obvod Intel 3001 je po funkční stránce prakticky totožný s tuzemským integrovaným obvodem MH3001. Podobně jako u minule popsané čipové sady AMD Am2900, se i u rodiny Intel 3000 používal samostatný integrovaný obvod představující aritmeticko-logickou jednotku o malé bitové šířce, druhý typ integrovaného obvodu zabezpečoval generování příznaků nutných pro to, aby při sčítání a odečítání operandů mohly operace probíhat paralelně se všemi bity. Třetím integrovaným obvodem byl mikroprogramový řadič, který musel být doplněn pamětí mikroprogramu a popř. i dalšími podpůrnými obvody. Jednotlivé obvody budou podrobněji popsány v navazujících kapitolách.

Obrázek 3: Postupný růst kapacity dynamických pamětí v průběhu dvaceti let. Všimněte si, že na vertikální ose je logaritmické měřítko.

V tabulce zobrazené pod tímto odstavcem jsou vypsány základní typy integrovaných obvodů tvořících čipovou sadu Intel 3000:

Označení čipu Stručný popis
3001 mikroprogramový řadič, který je ústřední částí celé čipové sady
3002 dvoubitová aritmeticko-logická jednotka doplněná o pracovní registry
3003 obvod pro výpočet příznaků přenosu používaný při paralelním zapojení ALU
3212 záchytný registr
3214 obvod pro řízení přerušení
3216 řídicí obvod pro sběrnici
3226 řídicí obvod pro sběrnici, ovšem s negací signálů na výstupu
3301 bipolární paměť ROM (programovaná maskou při výrobě) s uspořádáním 256×4 bity
3304A bipolární paměť ROM (programovaná maskou při výrobě) s uspořádáním 256×8 bitů
3601 programovatelná paměť ROM (PROM) s uspořádáním 256×4 bity
3604 programovatelná paměť ROM (PROM) s uspořádáním 256×8 bitů

Obrázek 4: Postupný pokles cen dynamických pamětí a porovnání těchto cen z cenami za jednotku kapacity pevných disků a pamětí typu FLASH. Na vertikální ose je opět logaritmické měřítko – jedná se o cenu za jeden megabajt paměťové kapacity.

3. Malá historická odbočka – statické a dynamické paměti firmy Intel

Paměti Intel 3301 a Intel 3601 (uvedené v předchozí tabulce) mezi sebou byly pinově kompatibilní a lišily se pouze tím, zda se programovaly přímo maskou při výrobě, nebo je bylo možné jednorázově naprogramovat až při vývoji procesoru (toho se využívalo u menších sérií výrobků). Totéž platí i pro dvojici paměťových integrovaných obvodů Intel 3304A a Intel 3604. Tyto paměťové čipy jsou ve skutečnosti ještě o tři roky starší než celá rodina Intel 3000 – začaly být totiž vyráběny již v roce 1971, tj. rok poté, co světlo světa spatřily dva velmi důležité integrované obvody – statická paměť RAM realizovaná na čipu Intel 1101 (kapacita 256 bitů, obrázek 6) a zejména pak dynamická paměť DRAM, jejíž čip nesl označení Intel 1103 (kapacita 1024 bitů se šířkou jeden bit, takže se nemuselo provádět multiplexování adresy). Právě tato dvojice paměťových obvodů dokázala nahradit až do té doby intenzivně používané paměti s feritovými jádry, které byly takřka nedílnou součástí mainframů první i druhé generace, stejně jako první generace minipočítačů (viz též informace uváděné v paralelně běžícím seriálu o (pre)historii výpočetní techniky).

Obrázek 5: Technologický vývoj dynamických pamětí. Vynesena je plocha jedné buňky, plocha celého čipu a kapacita „kondenzátorů“ (v podstatě parazitní kapacity tranzistorů) představujících jednotlivé bity. Zajímavé je, že kapacita zůstává téměř konstantní, a to i tehdy, když se plocha jednotlivých paměťových buněk razantně zmenšuje.

Teprve dostupnost statické a zejména dynamické paměti RAM realizované formou relativně levných čipů (cenu je nutné počítat při přepočtu na jeden bit) znamenala revoluci umožňující – současně s mikroprocesory – vznik mikropočítačů a tím pádem i moderní informatiky. Ostatně není bez zajímavosti, že se na samotném vzniku paměťového čipu Intel 1103 nepřímo podílela i firma Honeywell (jeden z tehdejších významných hráčů na poli mainframů), která již v roce 1969 začala s tehdy poměrně neznámou a malou společností Intel spolupracovat na návrhu čipu s paměťovými buňkami tvořenými třemi tranzistory. Výsledkem této spolupráce byl neúspěšný čip 1102, který pravděpodobně ani nebyl komerčně vyráběn. Mnohem úspěšnější však byl integrovaný obvod Intel 1103 navržený již samotnou firmou Intel. I přes určité technologické problémy (požadavek na vysoké napájecí napětí atd.) právě tento obvod způsobil to, že výrobci mainframů a minipočítačů přešli z technologie feritových pamětí na používání pamětí DRAM (jedním z prvních počítačů používajících novou technologii byl HP9800), což ve svém důsledku znamenalo, že původně maličká firma Intel (v podstatě startup z roku 1968) se již v roce 1972 stala největším výrobcem polovodičových čipů na světě.

Obrázek 6: Paměťový čip Intel 1101.

4. Integrovaný obvod Intel 3001 – mikroprogramový řadič

Vraťme se nyní k čipové sadě Intel 3000. Ústřední částí procesoru sestaveného z integrovaných obvodů této čipové sady byl mikroprogramový řadič Intel 3001. Podobně jako další obvody řady Intel 3000, používal i řadič bipolární technologii TTL se Schottkyho diodami. Díky použití této technologie se společnosti Intel podařilo snížit interval jednoho strojového cyklu (přesněji řečeno mikrocyklu) na 85ns, což znamená, že se jednalo o rychlejší obvod, než samotné aritmeticko-logické jednotky Intel 3002 s intervalem cyklu 100ns. Mikroprogramový řadič dokázal v součinnosti s pamětí programu (ta se však nepoužívala příliš často) a pamětí mikroinstrukcí generovat řídicí signály určené pro sadu teoreticky neomezeného počtu paralelně zapojených aritmeticko-logických jednotek Intel 3002 – řadič totiž obsahoval i logiku pro vytváření devítibitových adres, pomocí nichž se načítaly mikroinstrukce z paměti mikroinstrukcí (maximálně 512 adresovatelných mikroinstrukcí), přičemž sedm bitů načtených z této paměti bylo přímo nebo přes záchytný registr přiváděno na řídicí piny ALU a zbývajících jedenáct bitů (7+4 bity) se přivádělo zpět do řadiče.

Obrázek 7: Použití mikroprogramového řadiče v jednoduchém procesoru.
(ofoceno z katalogu podniku Tesla).

Způsob adresování mikroinstrukcí v paměti i rozdělení mikroinstrukčního slova na tři části je zobrazeno na ilustračních obrázcích umístěných nad i pod tímto odstavcem („trojrozměrné schéma“ pochází přímo od firmy Intel, „dvojrozměrné schéma“ pak od tuzemské Tesly). Mikroinstrukce je rozdělena na adresovou část AC0AC6, dále pak na řídicí část určenou pro ovládání samotného řadiče FC0FC3 a konečně pak na řídicí část aritmeticko-logických jednotek F0F6. Samotný mikroprogramový řadič byl rozdělen do několika modulů. Nejdůležitějším modulem mikroprogramového řadiče byla logická síť, která na základě stavu řadiče, hodnot některých vstupních signálů a taktéž na základě adresy přečtené z mikroprogramové paměti (viz též zmíněná adresová část mikroinstrukce AC0AC6) generovala adresu další mikroinstrukce – tím se ovlivnila další činnost samotného řadiče i ALU.

Obrázek 8: Použití mikroprogramového řadiče v jednoduchém procesoru.
(ofoceno z technické dokumentace firmy Intel).

5. Význam klopných obvodů Z a C

Další důležitou součástí řadiče byl modul obsahující dvojici klopných obvodů nazvaných C (carry) a Z (zero), které byly doplněny záchytným jednobitovým registrem F. Oba klopné obvody mohly být nastaveny přes vstupní pin FI programového mikrořadiče a interní demultiplexor (v tomto případě se jednalo o signály přečtené z ALU). Pomocí funkcí STZ a STC se mohl nastavit jeden z těchto klopných obvodů na logickou hodnotu přivedenou na pin FI, popř. se funkcí SCZ nastavily oba klopné obvody současně. Naopak se stav obou klopných obvodů přes multiplexor přenášel na výstupní pin FO; funkce FFC sloužila pro výstup stavu klopného obvodu C, funkce FFZ pro výstup stavu obvodu Z a funkce FF0 či FF1 nastavovaly výstupní pin F0 na úroveň logické nuly či logické jedničky. Kromě překlápění obou obvodů a přepínání jejich výstupů na pin FO se však oba stavové klopné obvody používaly pro implementaci podmíněných skoků, což je ostatně primární funkce těchto stavových klopných obvodů i v moderních mikroprocesorech (kde se hodnoty těchto klopných obvodů mapují do dvou bitů stavového registru).

Obrázek 9: Další schéma procesoru vytvořeného z integrovaných obvodů rodiny 3000. Pravděpodobně omylem jsou signály FI a FO označeny na tomto schématu symboly F1 a F0.

Všechny zmíněné operace byly vybírány na základě čtveřice řídicích signálů FC0FC3, které byly načítány z paměti mikroinstrukcí (viz též předchozí kapitolu). V následující dvojici tabulek jsou pro ilustraci všechny operace vypsány i s příslušnou bitovou kombinací řídicích signálů FC0FC3. Povšimněte si, že vstupní a výstupní operace mohly probíhat současně:

Operace Význam FC1 FC0
SCZ nastav CZ podle hodnoty na vstupu FI 0 0
STZ nastav Z podle hodnoty na vstupu FI 0 1
STC nastav C podle hodnoty na vstupu FI 1 0
HCZ neměň ani stav C ani stav Z 1 1
Operace Význam FC3 FC2
FF0 výstup FO se nastaví na 0 0 0
FFC výstup FO se nastaví na stav obvodu C 0 1
FFZ výstup FO se nastaví na stav obvodu Z 1 0
FF1 výstup FO se nastaví na 1 1 1

Obrázek 10: Zapojení vstupních a výstupních pinů mikroprogramového řadiče MH3001.
(ofoceno z katalogu podniku Tesla)

6. Integrovaný obvod Intel 3002 – aritmeticko-logická jednotka

Druhým důležitým integrovaným obvodem patřícím do rodiny Intel 3000 byla aritmeticko-logická jednotka kombinovaná s maticí pracovních registrů. Tento čip nesl označení Intel 3002 a byl vytvořen, podobně jako výše popsaný mikroprogramový řadič, pomocí bipolární technologie TTL se Schottkyho diodami. Na rozdíl od většiny dalších procesorových řezů, které byly zkonstruovány a prodávány dalšími společnostmi, byla aritmeticko-logická jednotka 3002 pouze dvoubitová, tj. v jednom kroku dokázala zpracovat pouze dvojici dvoubitových operandů. Většina dalších procesorových řezů (AMD, Motorola, …) využívala čtyřbitové ALU, které měly tu výhodu, že počet těchto čipů zůstal relativně malý i při konstrukci šestnáctibitového procesoru (nemluvě o procesorech 24bitových a 32bitových). Nicméně volba „pouze“ dvoubitové ALU v případě čipu Intel 3002 přinášela některé výhody – celý čip byl například umístěn do pouzdra s pouhými 28 vývody, na rozdíl od 40 vývodových pouzder u jiných procesorových řezů (jediným čipem řady 3000, který měl 40 vývodů, byl programový mikrořadič).

Obrázek 11: Integrovaný obvod Intel 3002 v keramickém pouzdře.

Aritmeticko-logická jednotka Intel 3002 pracovala s cyklem pouhých 100 ns, což odpovídá mezní frekvenci hodinových cyklů 10 MHz, avšak u některých odvozených typů se doporučovalo používat frekvenci do 6 MHz (v první polovině sedmdesátých let minulého století se jednalo o poměrně vysoké frekvence). ALU dokázala na základě sedmibitových mikroinstrukcí (přiváděných po sedmi vstupních pinech) provádět jak součet a rozdíl operandů (navíc s možností detekce nuly), tak i základní bitové operace AND, OR, NOT a XOR, popř. bitové posuny operandů doleva a doprava. Vzhledem k tomu, že při bitových posunech musely být jednotlivé bity přesouvány mezi sousedními ALU, byly pro tento účel vyhrazeny dva piny. Kromě vlastní ALU se v čipu Intel 3002 nacházela i matice pracovních registrů R0R9, které mohly sloužit jako první z operandů vybrané aritmetické či bitové operace. Dále čip obsahoval trojici vstupních sběrnic a dvě sběrnice výstupní – vzhledem k tomu, že se vždy pracovalo pouze se dvěma bity, nezabíraly tyto sběrnice velký počet pinů integrovaného obvodu, jak by se z jejich celkového počtu (5 sběrnic) mohlo zdát.

Obrázek 12: Klon obvodu Intel 3002 – MH3002 tuzemského podniku Tesla.

7. Integrovaný obvod Intel 3003 – rychlý generátor přenosů pro ALU

Třetím integrovaným obvodem řady Intel 3000, který byl využíván pro konstrukci plnohodnotného procesoru, byl čip nesoucí označení Intel 3003. Jednalo se o pomocnou logickou síť, která sloužila pro rychlé generování příznaků přetečení (carry) takovým způsobem, aby tento příznak získaly všechny paralelně zapojené aritmeticko-logické jednotky bez toho, aby se příznak musel šířit sériově – což by ostatně bylo při použití pouze dvoubitových ALU po časové stránce velmi zdlouhavé. Integrovaný obvod Intel 3003 byl umístěn v pouzdru s 28 piny a dokázal na základě osmi dvojic příznaků propagate a delegate (zde však označovaných odlišným způsobem) odvodit osm příznaků přetečení carry. Vzhledem k tomu, že každá aritmeticko-logická jednotka Intel 3002 zpracovávala dvoubitové operandy, znamená to, že se s využitím jednoho čipu Intel 3003 dal sestrojit šestnáctibitový procesor (dva bity na jednu ALU krát osm příznaků přetečení).

Obrázek 13: Způsob zapojení většího množství čipů Intel 3003 za účelem zvýšení bitové šířky operandů.

Ovšem v případě, že konstruktér procesoru z procesorových řezů využívajících integrované obvody řady Intel 3000 potřeboval navrhnout takový procesor, který by dokázal zpracovávat operandy o větší šířce než šestnáct bitů, bylo nutné použít i větší množství obvodů Intel 3003. Způsob jejich zapojení je naznačen na předchozím schématu (obrázek číslo 13). Povšimněte si zejména toho, jak je pomocí vstupu ECn+8 určena pozice obvodu Intel 3003 v „baterii“ aritmeticko-logických jednotek. Na tomto schématu je taktéž zobrazeno vzájemné propojení aritmeticko-logických jednotek takovým způsobem, aby bylo možné provádět bitové posuny i rotace. Taktéž je zde naznačeno, jak jsou příznaky přetečení posílány do mikroprogramového řadiče na vstup FI (spodní šipka na levém okraji schématu), i to, jak je naopak výstup FO z mikrořadiče přiváděn přímo na vstup C první aritmeticko-logické jednotky (tato ALU je na schématu umístěna zcela vpravo).

Obrázek 14: Schéma sčítačky se zrychleným přenosem. Povšimněte si, že se zvyšující se bitovou šířkou sčítaných operandů roste i počet vstupů do hradel typu AND.

8. Obsah následující části seriálu

V dnešní části seriálu o architekturách počítačů jsme dokončili dvoudílnou (i když poměrně stručnou) exkurzi do poněkud svébytného světa procesorů sestavených z bitových řezů. I když se jedná o velmi zajímavé integrované obvody, které by i v současnosti našly svoje využití například při výuce mikroprocesorové techniky, jedná se z technologického hlediska pravděpodobně o již dále nerozvíjenou vývojovou větev. Jednou z příčin je i to, že jednotlivé čipy mají poměrně nízký počet hradel (a tím i tranzistorů), což při dnešním stavu technologií znamená, že plocha čipu není dostatečně využita a cena zařízení je zbytečně zvyšována kvůli většímu počtu integrovaných obvodů. Navíc je tvorba mikroprogramů sestavených z mikroinstrukcí složitější, než běžné programování v assembleru, které je již dnes stejně nahrazováno vyššími programovacími jazyky.

Obrázek 15: Klon čipu Intel 3002 pocházející ze SSSR.

V následující části seriálu se proto již vrátíme k popisu plnohodnotných digitálních signálových procesorů. Popíšeme si jak první čipy spadající do této kategorie, které byly navržené a vyráběné firmou NEC, tak i digitální signálové procesory zkonstruované společností Texas Instruments, které v oblasti digitálního zpracování signálů způsobily díky svým schopnostem téměř revoluci.

Obrázek 16: Paměťový čip Intel 1103A.

9. Odkazy na Internetu

  1. CPU World: Intel 3000 bit-slice processor family
    http://www.cpu-world.com/CPUs/30­02/
  2. Intel3000 – Schottky Bipolar LSI Microcomputer Set
    http://datashe­ets.chipdb.or­g/Intel/3002_Fa­mily/3001/Intel3001­.pdf
  3. Katalog součástek TESLA: MH3000
    http://www.ama­pro.cz/datove_zdro­je/katalogy/ka­talog_tesla/ka­talog_tesla127­.php
  4. MH3001 (Tesla)
    http://katalo­gy.ic.cz/MH3001­.html
  5. MH3002 (Tesla)
    http://katalo­gy.ic.cz/MH3002­.html
  6. MH3003 (Tesla)
    http://katalo­gy.ic.cz/MH3003­.html
  7. Russian and USSR (CPU, MCU, BSP and Multipliers)
    http://www.cpu­collection.ca/Rus­sian_and_ussr­.htm
  8. CPU-zone: 3001
    http://www.cpu-zone.com/3001.htm
  9. CPU-zone: 3002 3002 Support Chips
    http://www.cpu-zone.com/3002.htm
  10. CPU-zone: 3003 Look-Ahead Carry Generator
    http://www.cpu-zone.com/3003.htm
  11. CPU-Zone: RAM History
    http://www.cpu-zone.com/RAM_His­tory.htm
  12. Bit slicing
    http://en.wiki­pedia.org/wiki/Bit_sli­cing
  13. Bitslice DES
    http://www.dar­kside.com.au/bit­slice/
  14. Great Microprocessors of the Past and Present: Part VII: Advanced Micro Devices Am2901, a few bits at a time …
    http://www.cpushac­k.com/CPU/cpu­1.html#Sec1Par­t7
  15. Great Microprocessors of the Past and Present: Part IX: Signetics 8×300, Early cambrian DSP ancestor (1978):
    http://www.cpushac­k.com/CPU/cpu­2.html#Sec2Par­t9
  16. Introduction to DSP – DSP processors:
    http://www.bo­res.com/courses/in­tro/chips/index­.htm
  17. The Scientist and Engineer's Guide to Digital Signal Processing:
    http://www.dspgu­ide.com/
  18. Digital signal processor (Wikipedia EN)
    http://en.wiki­pedia.org/wiki/Di­gital_signal_pro­cessor
  19. Digitální signálový procesor (Wikipedia CZ)
    http://cs.wiki­pedia.org/wiki/Di­gitální_signá­lový_procesor
  20. Digital Signal Processing FAQs
    http://dspguru­.com/dsp/faqs
  21. Reprezentace numerických hodnot ve formátech FX a FP
    http://www.ro­ot.cz/clanky/fi­xed-point-arithmetic/
  22. IEEE 754 a její příbuzenstvo: FP formáty
    http://www.ro­ot.cz/clanky/nor­ma-ieee-754-a-pribuzni-formaty-plovouci-radove-tecky/
  23. Aritmetické operace s hodnotami uloženými ve formátu FP
    http://www.ro­ot.cz/clanky/a­ritmeticke-operace-s-hodnotami-ve-formatu-plovouci-radove-carky/
  24. Výpočet goniometrických funkcí pomocí algoritmu CORDIC
    http://www.ro­ot.cz/clanky/vy­pocet-goniometrickych-funkci-algoritmem-cordic/
  25. Použití CORDICu pro výpočet dalších funkcí
    http://www.ro­ot.cz/clanky/me­toda-cordic-a-vypocet-funkci-tan-atan-a-length/
  26. Čtyři základní způsoby uložení čísel pomocí FX formátů
    http://www.ro­ot.cz/clanky/bi­narni-reprezentace-numerickych-hodnot-v-fx-formatu/
  27. Základní aritmetické operace prováděné v FX formátu
    http://www.ro­ot.cz/clanky/za­kladni-aritmeticke-operace-provadene-ve-formatu-fx/
  28. Implementace algoritmů pro aritmetické operace
    http://www.ro­ot.cz/clanky/im­plementace-aritmetickych-operaci-s-fx-formatem-v-cecku/
  29. Algoritmus CORDIC s hodnotami uloženými ve formátu FX
    http://www.ro­ot.cz/clanky/al­goritmus-cordic-s-hodnotami-ulozenymi-ve-formatu-fx/
  30. Algoritmus CORDIC v FX formátu a goniometrické funkce
    http://www.ro­ot.cz/clanky/al­goritmus-cordic-v-fx-formatu-a-goniometricke-funkce/
  31. FIR Filter FAQ
    http://dspguru­.com/dsp/faqs/fir
  32. Finite impulse response (Wikipedia)
    http://en.wiki­pedia.org/wiki/Fi­nite_impulse_res­ponse
  33. DSPRelated
    http://www.dspre­lated.com/
  34. Uzebox project home page
    http://code.go­ogle.com/p/Uze­box/
  35. The AVR Eclipse Plugin home page
    http://source­forge.net/pro­jects/avr-eclipse/
  36. The AVR Eclipse Plugin description
    http://avr-eclipse.source­forge.net/wiki/in­dex.php/The_AV­R_Eclipse_Plu­gin
  37. AVRDUDE – AVR Downloader/UploaDEr
    http://www.non­gnu.org/avrdu­de/
  38. AVRDUDE-gui (nadstavba nad AVRDUDE)
    http://source­forge.net/pro­jects/avrdude-gui/
  39. USBtiny
    http://www.xs4a­ll.nl/~dicks/a­vr/usbtiny/
  40. USBtinyISP
    http://www.la­dyada.net/make/us­btinyisp/
  41. Uzebox pages: Introduction
    http://belogic­.com/uzebox/ho­witsmade.htm
  42. Uzebox pages: Hardware Description
    http://belogic­.com/uzebox/har­dware.htm
  43. Uzebox pages: Video primer
    http://belogic­.com/uzebox/vi­deo_primer.htm
  44. Uzebox pages: Schemas
    http://belogic­.com/uzebox/dow­nloads.htm
  45. AVRFreaks Wiki
    http://www.avrfre­aks.net/wiki/in­dex.php/Main_Pa­ge
  46. Atmel AVR 8-bit and 32-bit
    http://www.at­mel.com/produc­ts/avr/
  47. tinyAVR
    http://www.at­mel.com/dyn/pro­ducts/devices­.asp?category_id=163&fa­mily_id=607&sub­family_id=791
  48. AT-Mini
    http://www.mi­kroe.com/eng/pro­ducts/view/649/at-mini-board/
  49. Arduino
    http://www.ar­duino.cc/
  50. AVR Microcontroller
    http://www.en­gineersgarage­.com/articles/a­vr-microcontroller
  51. Atmel AVR – Wikipedia
    http://en.wiki­pedia.org/wiki/At­mel_AVR
  52. AVR instruction set
    http://avr.hw­.cz/architektu­ra/instukce.html
  53. Porovnání jednotlivých procesorů (mikrořadičů) AVR
    http://avr.hw­.cz/architektu­ra/porovnani.html
  54. 68HC11 Instruction Set
    http://www.cs­.uaf.edu/2007/fa­ll/cs441/proj1no­tes/sawyer/in­st.html
  55. 68HC11 OpCode Map
    http://home.e­arthlink.net/~tdic­kens/68hc11/68h­c11_opcode_map­.html
  56. A Simple Robot Using the 68HC11 Processor
    http://home.e­arthlink.net/~tdic­kens/68hc11/trp­2/trp2.html
  57. 68HC11 C-Compiler (Imagecraft)
    http://microcon­trollershop.com/pro­duct_info.php?pro­ducts_id=188
  58. GNU Development Chain for 68HC11&68HC12
    http://www.gnu­.org/software/m68hc11/
  59. GNU C for 68HC11 – documentation
    http://www.gnu­.org/software/m68hc11/m­68hc11_doc.html
  60. The P-Brain tm Microcontroller Kit
    http://www.fu­turebots.com/bra­in.htm
  61. Wikipedia: Motorola 68HC05
    http://en.wiki­pedia.org/wiki/Mo­torola_68HC05
  62. Wikipedia: Freescale 68HC08
    http://en.wiki­pedia.org/wiki/68HC08
  63. Wikipedia: Freescale 68HC11
    http://en.wiki­pedia.org/wiki/68HC11
  64. Wikipedia: Freescale 68HC12
    http://en.wiki­pedia.org/wiki/Fre­escale_68HC12
  65. HC05 Processor Families
    http://www.fre­escale.com/we­bapp/sps/site/o­verview.jsp?no­deId=016246844­98633
  66. HC08 Processor Families
    http://www.fre­escale.com/we­bapp/sps/site/o­verview.jsp?no­deId=016246844­97663
  67. Digital Core Design 68HC08 – HDL IP Core
    http://www.dcd­.pl/acore.php?id­core=82
  68. Freescale 68HC11
    http://www.fre­escale.com/we­bapp/sps/site/ta­xonomy.jsp?no­deId=016246844­98635
  69. Lifecycle of a CPU:
    http://www.cpushac­k.net/life-cycle-of-cpu.html
  70. Most wanted CPU of the world:
    http://www.cpu-galaxy.at/CPU/In­tel%20CPU/3002–8008/4004%20G­rey.jpg
  71. Wikipedia: 6502:
    http://en.wiki­pedia.org/wiki/6502
  72. The Western Design Center, Inc.:
    http://www.wes­terndesigncen­ter.com/
  73. Apple II History Home:
    http://apple2his­tory.org/
  74. www.6502.org:
    http://www.6502­.org/
  75. Stránky firmy Microchip Technology
    http://www.mi­crochip.com/
  76. Výběr z různých modelů (osmibitových) mikrořadičů PIC
    http://www.mi­crochip.com/ste­llent/idcplg?Id­cService=SS_GET_PA­GE&nodeId=2661
  77. Řada (rodina) osmibitových mikrořadičů PIC 10
    http://www.mi­crochip.com/Pa­ramChartSearch/char­t.aspx?branchID=1009&mi­d=10&lang=en&pa­geId=74
  78. Řada (rodina) osmibitových mikrořadičů PIC 12
    http://www.mi­crochip.com/Pa­ramChartSearch/char­t.aspx?branchID=1001&mi­d=10&lang=en&pa­geId=74
  79. Řada (rodina) osmibitových mikrořadičů PIC 14
    http://www.mi­crochip.com/Pa­ramChartSearch/char­t.aspx?branchID=1008&mi­d=10&lang=en&pa­geId=74
  80. Řada (rodina) osmibitových mikrořadičů PIC 16
    http://www.mi­crochip.com/Pa­ramChartSearch/char­t.aspx?branchID=1002&mi­d=10&lang=en&pa­geId=74
  81. Další výběr z různých modelů mikrořadičů PIC
    http://www.mi­crochip.com/map­s/microcontro­ller.aspx
  82. PIC microcontroller (Wikipedia EN)
    http://en.wiki­pedia.org/wiki/PIC_mi­crocontroller
  83. Mikrokontrolér PIC (Wikipedia CZ)
    http://cs.wiki­pedia.org/wiki/Mi­krokontrolér_PIC
  84. FLASHFORTH for the PIC18F and the dsPIC30F
    http://flashf­orth.sourcefor­ge.net/
  85. FlashForth
    http://www.sou­rceforge.net/pro­jects/flashfor­th
  86. Free Pic software tools
    http://softwa­repic.50webs.com/fre­esoft.html
  87. What is Amicus?
    http://www.pic­basic.org/pro­ton_lite.php
  88. Amicus FAQ
    http://www.my­amicus.co.uk/faq­.php?s=2e8d12e7f4c23e775­776f4916876354b&
  89. Microcontrollers development tools
    http://www.gnu­pic.dds.nl/
  90. gpsim (Wikipedia EN)
    http://en.wiki­pedia.org/wiki/Gpsim
  91. gpsim home page
    http://gpsim.sou­rceforge.net/gpsim­.html
  92. The FreeRTOS Project
    http://www.fre­ertos.org/
  93. FreeRTOS (Wikipedia)
    http://en.wiki­pedia.org/wiki/Fre­eRTOS
  94. Serial EEPROM (93C46 / 93CS46) Routines
    http://www.pjrc­.com/tech/8051/se­rial-eeprom.html
  95. Great Microprocessors of the Past and Present (V 13.4.0)
    http://jbayko­.sasktelwebsi­te.net/cpu.html
  96. SPI interface tutorial
    http://www.best-microcontroller-projects.com/spi-interface.html
  97. Serial Peripheral Interface Bus
    http://en.wiki­pedia.org/wiki/Se­rial_Peripheral_In­terface_Bus
  98. EUSB to SPI bus Kit
    http://www.ei­dusa.com/Elec­tronics_Kits_E­USB_To_SPI_BUS­.htm
  99. SPI Block Guide V03.06, Freescale Semiconductor
    http://www.fre­escale.com/fi­les/microcontro­llers/doc/ref_ma­nual/S12SPIV3­.pdf
  100. What is SPI?
    http://www.fpga4fun­.com/SPI1.html
  101. SPI – A simple implementation
    http://www.fpga4fun­.com/SPI2.html
  102. Bit-banging
    http://en.wiki­pedia.org/wiki/Bit-banging
  103. Joint Test Action Group
    http://en.wiki­pedia.org/wiki/JTAG
  104. I2C
    http://en.wiki­pedia.org/wiki/I2C
  105. Seriál o programovacím jazyce Forth:
    seriál o programovacím jazyce Forth
  106. Display Data Channel
    http://en.wiki­pedia.org/wiki/Dis­play_Data_Chan­nel
  107. I2 Background
    http://www.mi­croport.tw/blog­new.php?blog_no­=7#theory
  108. PIC16F87X, 28/40-pin 8-Bit CMOS FLASH Microcontrollers
    Microchip Technology Inc.
    http://www.mi­crochip.com
Našli jste v článku chybu?
DigiZone.cz: Digi Sport 4 HD na Digi TV a Magio Sat

Digi Sport 4 HD na Digi TV a Magio Sat

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

120na80.cz: Bonbon si schovejte na přistání

Bonbon si schovejte na přistání

DigiZone.cz: Kauza technik: oficiální vyjádření Novy

Kauza technik: oficiální vyjádření Novy

Měšec.cz: Banky umí platby na kartu, jen to neříkají

Banky umí platby na kartu, jen to neříkají

Podnikatel.cz: Fotogalerie: Jesenka už má skoro 50 let

Fotogalerie: Jesenka už má skoro 50 let

Podnikatel.cz: Český zákazník nakupuje v čínských e-shopech

Český zákazník nakupuje v čínských e-shopech

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

Vitalia.cz: Dermatolog radí: Pozor na citrusové vůně

Dermatolog radí: Pozor na citrusové vůně

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

Vitalia.cz: Sobotní masakr žrádla, chlastu a zábavy

Sobotní masakr žrádla, chlastu a zábavy

120na80.cz: Jaké plavecké pomůcky vaše dítě ochrání?

Jaké plavecké pomůcky vaše dítě ochrání?

DigiZone.cz: Přechod na DVB-T2? Kolem miliardy...

Přechod na DVB-T2? Kolem miliardy...

Měšec.cz: Investice do drahých kovů - znáte základní chyby?

Investice do drahých kovů - znáte základní chyby?

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta

DigiZone.cz: Loewe Subwoofer 300 pro televizory

Loewe Subwoofer 300 pro televizory

Podnikatel.cz: Místa, kde hází podnikání klacky pod nohy

Místa, kde hází podnikání klacky pod nohy

Měšec.cz: Co s reklamací, když e-shop krachuje?

Co s reklamací, když e-shop krachuje?

Podnikatel.cz: Přerušil SVČ, nic nehlásil. Dál musí platit

Přerušil SVČ, nic nehlásil. Dál musí platit

DigiZone.cz: Markíza HD a Dajto? U Digi TV asi minulost

Markíza HD a Dajto? U Digi TV asi minulost