OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 20.04.2024, 04:56

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 77 ]  Přejít na stránku 1, 2, 3, 4, 5, 6  Další
Autor Zpráva
 Předmět příspěvku: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 10:25 
Offline
Radil

Registrován: 16.11.2013, 20:07
Příspěvky: 270
Has thanked: 0 time
Been thanked: 103 times
Mám hotový návrh jednoduchého cvičného počítače Claudia-3000, jehož procesor bude sestaven z řezů 3000. Je to osmibit a využívá 4 řezy 3002 a jeden mikrořadič 3001. Aktuálně se pouštím do stavby ověřovacího prototypu. Ale mám dilema ohledně urychlovače přenosu 3003. V prototypu asi nebude, ale co finální verze?

K použití obvodu 3003 není u jednoduchého cvičného počítače absolutně žádný důvod. Vzhledem k malému počtu řezů 3002 (4 ks) a celkově malému výkonu procesoru se bohatě vystačí s postupným šířením přenosu a k jeho urychlování opravdu není žádný důvod. Použití obvodu 3003 vnáší jen zbytečné riziko poruch, zesložitňuje návrh desky a její osazení a desku celkově zbytečně zvětší a prodraží. Navíc se využije jen necelá polovina obvodu 3003, neboť urychlení by bylo pouze přes 3 řezy (jeden obvod umožňuje urychlovat přenos až přes 8 řezů 16-bitového procesoru). Urychlení přes všechny 4 řezy by si vyžádalo další logiku pro zachování třístavového výstupu celkového přenosu a to už fakt ne. Čili bych urychloval jen přes 3 řezy a čtvrtý by pracoval s postupným přenosem a využil by se jeho stávající 3-stavový výstup. Pro použití obvodu 3003 hovoří celková "stylovost" řezového procesoru a ucelení řady použitých obvodů. Nic víc. Ale má to svou váhu.

Proto si dovoluji uspořádat malou anketu č.1 (budou i další):

a) Určitě použít obvod 3003

b) Určitě nepoužít obvod 3003

c) Zachovat obě možnosti
- to znamená osadit patici pro 3003, ale mít možnost jej tam nedávat a přenos šířit postupně, což by si vyžádalo osazení 3 drátových propojek (nebo jumperů). Vzhledem k tomu, že většina oldkompáků trpí syndromem prázdné patice by bylo lepší rovnou hlasovat pro možnost č. 1 :D


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 10:39 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
Bééééééééé!

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 10:53 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1627
Bydliště: Pardubice
Has thanked: 28 times
Been thanked: 247 times
Myslím, že procesor je tak pomalý, že každé urychlení bude fajn, ale ne každý bude ten obvod mít hned k dispozici. Jsem pro variantu c) obě možnosti. Navrhoval bych, aby to nebyl jednodeskový počítač, ale jedna deska CPU-RAM-ROM a druhá přes sběrnici pro in/out, aby se dalo v budoucnosti volit připojení různých periférií (segmentovky/display na monitoru/úložiště/komunikace). Rozhodně osadit rovnou RAM/ROM co bude schopno adresovat, aby se nemuselo rozšiřovat.

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 11:08 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
Myslím, že rychlost u takového počítače je to poslední. Jde o výukový počítač, kde jde o demonstraci základních principů výpočetní techniky a nikoli o jeho výkonové využití. Daleko důležitější by tam byla možnost krokování na úrovni uživatelského kódu. Konečně bude Claudia s 256 Byte adresního prostoru!

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 11:35 
Offline
Radil

Registrován: 16.11.2013, 20:07
Příspěvky: 270
Has thanked: 0 time
Been thanked: 103 times
Microlan - přesně! Tady nejde o to, že malý výkon bude dán použitím řezů. Naopak. Bipolární řezy se používaly pro sestavení daleko výkonnějších procesorů, než byly tenkrát ty klasické (třeba 8080). Malý výkon Claudie-3000 bude z výukových důvodů a aby se nemusely tolik řešit zpoždění návazných obvodů a aby do toho procesoru bylo alespoň trochu "vidět". Z toho důvodu bude takt CPE poměrně nízký, ale bude zase vyšší, než u Claudie-1 a Claudie Lite.
Počítám s vyššími desítkami, resp. nižšími stovkami kHz.

Taktéž řízení rozmanitých periferií není priorita. Claudie-3000 nebude tolik o programování, ale hlavně o mikroprogramování. Sice to bude klasický počítač s RAM, ROM, základními periferiemi a uceleným instrukčním souborem, ale navíc bude možné snadno modifikovat mikrokód a tudíž modifikovat stávající, nebo vytvářet nové vlastní instrukce instrukčního souboru.

Použití urychlovače 3003 tedy z praktických a výkonových důvodů není nutné. Jde jen o to, jestli tam ten šváb s číslem 3003 má být vidět, nebo ne :D

Á propos, 256 adres měla už Claudie-1. To jen Lite měla původně 16 a později 32 kroků. Což pro výukové účely bylo postačující. Jen Danhard pořád prskal :D


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 11:49 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
ROM do uživatelského prostoru bych ani nemusel, stačila by stránkovatelná zálohovaná RAMka. Řekněme 2 kB, kde by mohlo být uloženo 8 projektů. Vrtat se v mikrokódu nebude můj šálek čaje, ale jistě se najdou jedinci, pro které to bude užitečné.

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 12:05 
Offline
Radil

Registrován: 16.11.2013, 20:07
Příspěvky: 270
Has thanked: 0 time
Been thanked: 103 times
Microlan - ROM bude opravdu zvlášť.

V souvislosti s anketou o použití obvodu 3003 bych vypsal anketu č.2, která se týká dalších obvodů v chystané Claudii-3000. Supr čupr stylové by bylo použití dalších obvodů řady 3000. Konkrétně 3205 (výběrové dekodéry), 3216 a 3226 (budiče sběrnic) a 3212 vstupní a výstupní porty. O přerušení a tudíž využití 3214 zatím neuvažuji. Pro jejich použití opět hovoří celková stylovost počítače z řezů 3000.

Proti je toho víc. Obvody 3212 jsou zbytečně veliké a složité. Obvody 3216/26 jsou pouze 4-bitové a musí se dávat dvojmo (platí pro 8 bit). Všechny tyto obvody mají neoptimalizované rozložení vývodů a tudíž složitější návrh desky. Navíc se již dávno nevyrábí a přitom jsou použity v celé řadě jiných československých počítačů, tudíž je lepší je asi schovávat pro jejich případné opravy. Nemají totiž pinový ekvivalent, který by byl stále ve výrobě. S vyjímkou 3205, který je shodný s 74138.

Určitým kompromisem by bylo použití obvodů MHB8282/83 a MHB8286/87. Mají k řadě MH3000 poměrně blízko. Mají příznivé rozložení pinů a jsou celkově mnohem vhodnější. Opět se již nedělají a opět za ně asi není pinově 100% náhrada ze současné produkce. A opět se používají ve starých tuzemských kompech (třeba PMD-85) a je asi lepší je syslit do oprav. V prototypu je ale hodlám použít. Mám jich dost.

Z hlediska budoucnosti je tedy asi nejlepší použít stále vyráběné a pinově optimalizované obvody řady 74xxx. Jedná se především o obvody vyšších řad 74500 a 74600.

Tedy anketa č.2:

a) používat obvody MH32xx
b) používat obvody MHB828x
c) používat jen obvody 74xxx

Nabízí se ještě anketa č.3, ale tu vypisovat nebudu. Zde by šlo o to, jestli u finální verze použít na mikrokód bipolární PROM, ideálně 74S571. S bipolárními PROM ostatně rychlé řezové procesory počítaly. Tím ale padne jeden z hlavních benefitů - snadná změna mikrokódu. Prototyp bude mít EEPROMy 28C64 (nahraditelné za EPROM 2764) v ZIF paticích, protože se počítá s častým přeprogramováváním při vývoji mikrokódu. Sice se využije jen zlomek kapacity, ale jde o to snadné přeprogramování a jejich dobrou dostupnost. Další možností by byla nějaká (zálohovaná) SRAM s možností přímého zápisu, ale to je zase o složitosti.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 12:17 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1627
Bydliště: Pardubice
Has thanked: 28 times
Been thanked: 247 times
Jsem pro 828x.
A když to má tak málo adres co jedna 74670 na stránkování?

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 12:30 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 14.05.2013, 19:10
Příspěvky: 1488
Bydliště: Kurim
Has thanked: 829 times
Been thanked: 582 times
Super počin! Z hlediska pokusničení a laborování se mi nejvíc líbí varianta 1c, velikost/složitost desky a jejího návrhu bych až tak neřešil, při dnešních cenách a výrobních možnostech není nutné se s tímto moc trápit, dá se ušetřit práce klidně 4-vrstvou deskou, všechno je to za pusu, proti tomu ostatnímu. Důležité je nezapomenout na světýlka a možná i nějaké ty pinové lišty, na které se dá napíchnout měřeníčko.

Anketa 2 je zapeklitá, nejvíc se mi líbí 32xx, je to víc stylové, takže za mně asi 2a, ale je mi to celkem jedno. Ony ani ty 745xx 746xx se neshánějí až tak dobře a mám pocit, že postupně všechny TTL více a více mizí.

U ankety 3 se klaním k 28C64, ten mikrokód je dobré mít možnost měnit snadno, zase z hlediska pokusničení, a taky spousta lidí má problém s programováním PROM. Kdyby vzniklo pak nějaké ukázkové počítadlo, tak tam jsem samozřejmě za PROM, ale na hraní to není vhodné.

_________________
http://www.8bity.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 13:09 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
ROM natvrdo umístěná v adresním prostoru, nebo stínovaná? Anketa č. 2 74xx

Jak je to vlastně s tím přenosem bez 3003? Jsou snad jednotlivé řezy nějak fázované?

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 14.10.2022, 13:45 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Pro 8-mi bitovou aritmetiku z 3002 se používal 74S182 :)
Je to dostatečně líný, 16 bit adresa se počítá na 2x a pokud tam budou EPROM 2764, tak nějaké urychlení postrádá smysl.

Plnokrevný procesor 16/16 bit nevyjde o moc složitější.
Ale vždy to bude monstrum :D
Viz třeba Metra M3T 320

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 15.10.2022, 09:36 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Celá ta 3000 stavebnice je rozežraná na bitovou šířku mikrokódu, u plné verze je to běžně 48 bitů.
Protože nezáleží na rychlosti, tak by se dal dát místo řídící paměti šrotovník, který by to načítal seriově do 8bit registrů.

Nebo serioparalelně, na mikroprogram pak stačí jedna 28C64.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 16.10.2022, 12:26 
Offline
Radil

Registrován: 16.11.2013, 20:07
Příspěvky: 270
Has thanked: 0 time
Been thanked: 103 times
Bitová šířka mikroinstrukce je u systému 3000 fakt peklo. Ale těch 48 bitů, co uvádí jako vzor přímo Signetics, je podle mě zbytečně moc i na nějaký supr čupr procesor. Mimochodem, to by bylo buď 6 klasických PROM s 8-bitovou šířkou slova, nebo 12 (!) tehdejších 4-bitových :D Ve většině případů se totiž celá K-sběrnice ovládá jedním bitem a ne 2N, kde N je počet použitých řezů 3002. Takže absolutní minimum je šířka mikroinstrukce 19 bitů, bez ohledu na počet použitých řezů 3002. Čili těch 19 bitů stačí na 4, 8, 12, 16 či jinak bitový procesor. Ale pak by ten procesor dokázal řídit jen sám sebe a negeneroval by další pomocné signály pro přístup k externím pamětem a I/O portům. Čili bychom měli funkční procesor, který by ale nemohl být aktivní součástí žádného počítače, čili k prdu :D

Já vzal nejbližší vyšší (>19) číslo dělitelné 8 a šířka mikroinstrukce tedy je 24 bitů. To jsou 3 klasické EPROM. Na tvorbu externích řídících signálů mám 5 bitů, ale nakonec mi stačí jen 4. Generovaných signálů je ve skutečnosti mnohem více, ale pomáhá dekodér 1zN. Ten jeden ušetřený bit je velmi důležitý. Pak totiž stačí zachytávat jen 16 bitů namísto 17 (7 bitů se nezachytává). Čili stačí dva 8-bitové registry typu 74273 a není třeba to nastavovat o 1 bit. Každý ušetřený integráč se počítá.

Paměť mikrokódu tedy budou tvořit 3ks E(E)PROM 2764(2864). Sice budou využity jen z 1/16, ale na vyšší adresy dám hexapřepínač a budu moci volit jednu ze 16 variant mikrokódu, což bude pro vývoj k nezaplacení. Nachystám si různé varianty pro rozklady instrukcí na mikroinstrukce a pak vyberu tu nejlepší. Bude to podstatně jednodušší, než vytvářet nějakou logiku pro sériový, či sérioparalení přenos s následným zachycením v par. registru.

Plnokrevný 16/16 procesor je v podstatě stejně pracný, jako 4/4, 8/8 nebo 12/12. Bude se měnit jen počet těch 2-bitových řezů 3002. Vlastní řadič zůstane pořád stejný. Ale ta pracnost naroste jinde v "okolním počítači". Dvojité paměti, více zobrazovačů, atd. Já to chci mít co nejjednodušší a co nejméně pracné. Stejně si jen pohraju, napáčkuju pár prográmků a na zbytek života to půjde do skříně. Čili procesor Claudie-3000 bude 2x8/8. Tečka :D

Ohledně obvodu 74S182 jsem to pochopil tak, že se používal původně, ale pak se "objevil" 3003 lépe zapadající a lépe přizpůsobený řadě 3000.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 16.10.2022, 12:36 
Offline
Radil

Registrován: 16.11.2013, 20:07
Příspěvky: 270
Has thanked: 0 time
Been thanked: 103 times
Microlan: ROM/RAM je přepínatelná. Buď program poběží v ROM, nebo v RAM. Vzájemné přeskoky nebudou možné. Ale program běžící v ROM bude moci číst a ukládat data v RAM a program běžící v RAM bude moci číst data (konstanty) z ROM. Je to podobné jako u 8051, ale čistě harvardská architektura to není. Důvodem je, aby programové instrukce byly max. 2-bytové (Opcode, Data/Addr). Pokud bych zvětšil adresový rozsah třeba na 12 či 16 bitů (což by si zdánlivě vyžádalo jen minimum prostředků - jeden záchytný registr a jeden signál na jeho plnění), pravděpodobně bych se s rozkladem tříbytových instrukcí na mikroinstrukce už nevešel do stávajícího pevně daného rozsahu microcode ROM, kterou umí 3001 adresovat a musel bych ji stránkovat. A to si vyžádá další řídící signály, tedy hlavně zvětšení bitové šířky mikroinstrukce, přidání další EPROM a záchytného registru, další logiku... A ruční programování pak bude ještě pracnější. Prostě to nemá praktický smysl, pokud uvažujeme o jednoduchém tréninkovém stroji. Ale ve hře je i jiné řešení. Momentálně pracuji se 2 variantami zapojení řadiče mikroinstrukcí.

V ROM poběží hlavně monitor umožňující programování/editování RAM, protože tady to nebude řešeno hardwarově, jako u Claudie Lite.

Jednotlivé řezy 3002 se taktují ze stejných hodin. Nejsou fázovány zvlášť. Rychlost šíření přenostu je tedy dána fyzikálními možnostmi zvolené TTL technologie. U systémů navrhovaných na maximální výkon (na krev), což bylo tuším 6 MHz, s tím musel konstruktér počítat podle toho volit sled mikroinstrukcí, aby se přenost stačil rozšířit přes jednotlivé řezy až na výstup toho posledního a byl stabilní. Takže se někde musela vložit třeba mikrooperace NOP, nebo použít jiný sled mikroinstrukcí a přenos testovat až za delší dobu. Obvod 3003 dokáže šíření přenosu značně zrychlit, ale fakt má význam jen u vysocevýkonného procesoru, který používá na mikrokód rychlé bipolární PROM. Už samo použití klasických EPROM s podstatně delší přístupovou dobou toto vylučuje.

V našem případě je tedy použití obvodu 3003 jen o tom, jestli se chcete dívat na ucelenou řadu 3001, 3002 a 3003, nebo vám bude stačit že to funguje i bez něj, protože fungovat bude obojí a obojí úplně stejně :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CLAUDIA-3000
PříspěvekNapsal: 16.10.2022, 12:52 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1627
Bydliště: Pardubice
Has thanked: 28 times
Been thanked: 247 times
A co nějaký D klopák na rozšířené instrukce něco jako ED prefix u Z80 ?

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 77 ]  Přejít na stránku 1, 2, 3, 4, 5, 6  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 15 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz