OldComp.cz
http://oldcomp.cz/

Minipočítač TWELVE
http://oldcomp.cz/viewtopic.php?f=75&t=5918
Stránka 56

Autor:  danhard [ 01.06.2018, 16:19 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

faraon píše:
Vlastně je to jenom převod z jedničkové soustavy do dvojkové.

Na tohle mi školy nestačí, co je jedničková soustava ? :D

Autor:  Doda [ 01.06.2018, 18:14 ]
Předmět příspěvku:  Minipočítač TWELVE

Slysim to poprve, ale na wiki to najdes hned.

Autor:  danhard [ 01.06.2018, 18:40 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

" v hospodě ve formě čárek, které vyznačují počet vypitých piv, popřípadě počet kusů u jiných položek na účtence "

Tak tomu rozumím :D

Autor:  faraon [ 01.06.2018, 20:19 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

danhard píše:
co je jedničková soustava ? :D

Vesmír - počítač pracující v jedničkové soustavě. Dá se vyrobit i v kapesním provedení, stačí na to pytel štěrku. Nebo pytel písku, když chceš počítat s větší přesností :lol:

Autor:  danhard [ 01.06.2018, 21:26 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

Jenže u té sčítačky jsou trvale zapojeny tři vstupy a dva výstupy, které mají dva stavy, 0 a 1.

Naopak kuličkové počitadlo je důmyslný počítač pracující v jedničkové soustavě :lol:

Autor:  faraon [ 03.06.2018, 06:54 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

No však jo, sčítačka spočítá kolik má na vstupech kuliček - jedniček, a výsledek nabonzuje ve dvojkové soustavě.

Ale v jedničkové soustavě na školním počítadle počítají jen prvňáčci, dál se na něm dá snadno počítat v jakékoliv soustavě až po jedenáctkovou. A s vhodnými barevnými kombinacemi kuliček i v dalších ;-)

Autor:  danhard [ 03.06.2018, 08:08 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

To, že jsou ty kuličky nějak uspořádané, je už program :lol:

Autor:  faraon [ 03.06.2018, 18:31 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

Ano, mikroprogram.

Autor:  faraon [ 30.06.2018, 22:27 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

Minulé díly seriálu:
Kapitola 1 - Zpátky do roku 1960
Kapitola 1 - Errata
Kapitola 2 - Rat Race
Kapitola 4 - Pomněnkový salát
Kapitola 8 - Ajn, cváj, policáj
Kapitola 16 - Ententýky, dva špalíky



Minipočítač TWELVE

Kapitola 32 - To ostatní



Takže za sebou máme registrovou banku, sčítačku, dekodéry, tedy tři nejdůležitější části počítače, zpracovanou půlku instrukční sady, a co dalšího ještě bude v procesoru potřeba? Co bude provádět ostatní instrukce?



"Rovnou, jó tady rovnou"

Nejjednodušší část TWELVE je přímý kanál DIRECT, kterým prochází dvanáct datových bitů z pomocného registru DATA rovnou do STORE SELECTORu, do vstupu D, k uložení do paměti. Je to vlastně jen dvanáct drátů:

Obrázek

Přímý kanál používají instrukce COPY a NUMBER. Zbývající čtyři bity výsledku - příznaky - se vezmou ze SHIFTERu přímo v LOAD SELECTORu.



"Tak kopni do tý bedny"

Operaci dělení provádí SHIFTER - posuvník, a to měla být druhá nejjednodušší část TWELVE. Ve skutečnosti jde o rotaci přes CARRY, a tahle část ALU byla jen o trochu složitější než DIRECT. Bity 1C všechny spadnou o jednu úroveň níž, bit 0 naopak vyskočí až do C. Vyšší příznaky DF zůstávají nezměněné, a celý šestnáctibitový výsledek putuje opět do STORE SELECTORu, do vstupu H:

Obrázek

Posuvník používá instrukce HALT. SHIFTER má ještě sedmnáctý - speciální - výstup X, ve kterém zůstává "neposunutý" bit C. Ten si vypůjčuje předchozí jednotka DIRECT, i s ostatními příznaky. Příznaky D a F si vypůjčuje také ADDER, který sám nastavuje jenom CARRY a ERROR.



"Jednou, dvakrát"

Pokud se použije Kubikova konstanta i pro velikost posunu, bude posuvník trochu složitější. Teda trochu víc, protože z druhé nejjednodušší se stane druhá nejsložitější část počítače - po registrové bance. BARREL SHIFTER provede rotaci přes CARRY o 0 až 12 bitů, bude-li hodnota konstanty 13 až 15, neotevře se žádný z průchodů a na výstupu budou v bitech 0 až C samé nuly. Příznaky D až F se přitom nezmění, takže se to dá využít pro rychlé vynulování libovolného registru nebo místa paměti včetně CARRY:

Obrázek

Všechno ostatní zůstává beze změny, pro vložení téhle jednotky stačí jenom připojit třináct bitů ze šestnácti, které kolem ní vedou od dekodéru k přepínači a I/O kanálům. BARREL SHIFTER dokáže dělit 2, 4, 8, atd, stejně tak i násobit, při posunu opačným směrem - posun 12 odpovídá posunu -1, tedy násobení 2, atd...



"Šup sem, šup tam"

Operace s bity provádí SWITCH - přepínač. Dokáže libovolný bit nastavit na 0 nebo 1, dokáže zjistit jeho stav a podle výsledku přeskočit následující instrukci, podobně jako to dělají instrukce porovnání dvou čísel (EQUAL, LESS, GREAT). Dekodérem vybranému bitu se jednoduše vnutí hodnota bitu 8 z registru OPCODE, ostatní bity zůstanou tak jak jsou, a celý výsledek - také šestnáctibitový - putuje do STORE SELECTORu, na vstup S:

Obrázek

Pokud se provádějí instrukce ZERO nebo ONE, uloží se výsledek do paměti. Při instrukci TEST se neuloží nic, ale zjistí se jestli je vybraný bit 0, v takovém případě se signálem STEP inkrementuje R7 - PROGRAM COUNTER, a tím se přeskočí jedna instrukce. Při stavu příslušného bitu 1 se následující instrukce normálně provede:

Obrázek



Tím by byla dokončená Aritmeticko-logická jednotka - ALU, v procesoru zbývá vyřešit ještě dekodér instrukce a řadič. A z instrukcí chybí už jen READ a WRITE, obsluhující I/O kanály.

Autor:  danhard [ 01.07.2018, 07:49 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

Na co je to dobrý ? má, nebo měl takovou potřebu nějakej jinej procesor ?
Pamatuju si, že kromě shiftu +/- 1 byl ještě +4, ten byl dobrej na posuv o nible.

Autor:  faraon [ 01.07.2018, 08:23 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

Myslíš BARREL SHIFTER? Dneska je to běžná věc, tady to vůbec nemusí být. Na počítání stačí jednoduchý SHIFTER a ten spodní nibble instrukce se prostě ignoruje. Ale když už ta možnost je, a do procesoru se to dá přidat bez jakýchkoliv jiných změn, tak jsem to přidal. Bylo to jednoduší než konstanta u INC/DEC, tam jsem musel udělat pár úprav v LOAD SELECTORu.

Napadá mě využití třeba u pakovaného textu, kdy se do jednoho slova složí dva šestibitové bajty. To ušetří paměť a nebude se muset posouvat šestkrát v cyklu.

Zatím je TWELVE stále ve verzi 0.8f, do jedničky ještě daleko ;)

Autor:  Lisiak4 [ 01.07.2018, 09:21 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

OK, uděláš si počítač, budeš si v něm programovat a budeš si v rámci sebe ohledem Twelve monopolem? :mrblue:

Autor:  faraon [ 01.07.2018, 09:45 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

Ne, programovat budeš ty, protože se učíš assembler. Ale nejdřív musíš najít někoho kdo to postaví :neener:

Autor:  Lisiak4 [ 01.07.2018, 09:47 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

I Ty provokatére ;) :lol:

EDIT:
Jsem si vybral první sólový nástroj, zacyklil jej, protože bude hrát dlouze nahodil do hudby 1.tón a pustil jsem to no a když si ještě ten kanál zapnu, tak ho asi již budu i slyšet, jdu na to :lol:

Autor:  danhard [ 01.07.2018, 10:12 ]
Předmět příspěvku:  Re: Minipočítač TWELVE

A tobě tam jde o rychlost ? Posunutí o několik udělá každej shifter, jen to musí mikroprogram několikrát zopakovat.
Jde o to s jakou četností to někdo použije.
Vymejšlíš procesor s omezenou délkou slova, s omezeným počtem instrukcí, s odrbanou aritmetikou a nasereš si tam celkem zbytečnou a materiálově nákladnou funkci :roll:

Stránka 56 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/