OldComp.cz
http://www.oldcomp.cz/

Koprocesor a zpracovani floating point aritmetiky
http://www.oldcomp.cz/viewtopic.php?f=133&t=6241
Stránka 14

Autor:  Mikes21 [ 16.04.2018, 11:38 ]
Předmět příspěvku:  Koprocesor a zpracovani floating point aritmetiky

Je to uz fakt hodne dlouho co jsem se, diky clanku od Nostalcompa (diky za nej), nadchl, ze si pripojim ALU (a take CTC) od AMD. Konkretne AM9511A a AM9513. Tak ted jsem se k tomu konecne dostal, nakreslil malou desku a povedlo se mi to i zprovoznit. Muzu poskytnout par pokusnych desek, schema a pod. Muzu taky pridat ovladaci programek v BASICu pro plaformu MZ.
Tim otviram tuhle diskuzi a pripadnym zajemcum prostor pro nejake napady nebo podnety. Nebranim se jakymkoliv informacim.
Hned prvni napad je na pridani AM9512, coz je FP jednotka s mene funkcemi, zato vetsi presnosti. Me by spise zajimaly nejake sw podnety.
V souvislosti se zpracovanim FP aritmetiky se take otevira velke tema na ruzne konverze.

Přílohy:
DSC_1165b.jpg
DSC_1165b.jpg [ 162.56 KiB | Zobrazeno 13110 krát ]

Autor:  suksoft [ 16.04.2018, 23:26 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Pekna prace Mikesi. Rozepis se!

Autor:  faraon [ 17.04.2018, 17:35 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Mohl bys zkusit nějaké porovnání rychlostí různých výpočtů proti assembleru?

Autor:  Mikes21 [ 17.04.2018, 20:45 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Jeste par info okolo:
Vychozi informaci pro me byly stranky od Nostalcompa, predevsim http://www.nostalcomp.cz/am9511.php. Zkousel jsem ruzne pocitani, ale na zadnou chybu jsem (ani v 16-bitove aritmetice) nenarazil. Za me vse pocita, tak jak ma. Tak netusim, kde by mohl byt Nostalcompuv problem ;-) Mam tady presne verzi AM9511A-1DC, coz je trochu pomalejsi provedeni. Proto hodiny Sharpa delim 2 na cca 1.77MHz.
Ja mam zase problem, ze mi ALU docela hodne topi. A kdyz rikam hodne, tak fakt hodne. Po chvili uz na nem neudrzim prst. Mam tu jeste verzi C8231A, tu jsem zatim zkousel jen chvili, ale ta topi taky, tak nevim. Jeste cekam na 4MHz verzi z ebay, mela by to byt pozdejsi revize. No, uvidime.
Rychlost jsem nezkousel a porovnani s nejakou aritmetikou v assembleru taky ne. Nejake takty jsou v dokumnetaci. Zapojeni mam tak, ze signal PAUSE drzi CPU ve WAITu. Pred CMD prikazu testuju status, ale je tak to zkusim 10x a pak nic. Ale zatim nevim, jak moc to 'brzdi' procesor.
Ovladaci a testovaci programek jsem si napsal v BASICu. To by clovek neveril, jak tezce jsem si musel vzpominat na nejvetsi neduhy v tomhle jazyce a jak se jim vyhnout. Obavam se, ze na assembler ted nemam casove moznosti.
ALU jede ve formatu "Intel 8008, 8080 floating point UCRL-51940" a tak bych potreboval vyresit prevod cisla text->bin(float), prevod Sharp float<->UCRL-51940 a podobne.
Kdyby nekdo touzil, muzu poskytnout plsp, dokumentaci a program v BASICu (to klidne zverejnim). Jen upozornuji, ze je to pro Sharpa MZ.

Autor:  Mikes21 [ 20.04.2018, 11:44 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

V souvislosti s mymi pokusy okolo ALU obvody jsem chtel jeste vyzkouset take AM9512A (nebo C8232). Ty maji presnejsi aritmetiku, ale nemaji rozsirene funkce jako trigonometrii, logaritmy a tak. Zkousel jsem je sehnat, ale nasel jsem (pres ebay) jen jednoho prodejce (utsource, kde uz jsem neco objednaval). Jejich cena mi pripada docela velka a na pokus o nejakou slevu mi nereagovali. Urcite jsem chtel pro sebe vzit tak dva kusy, kdyby neco.
Nemate nekdo nejaky tip, kde je sehnat levneji? Nebo, chteli by jste se nekdo pripojit k objednani? Treba by za vice kusu nejakou slevu poskytli. Je samozrejme otazkou, kolik by to bylo. Postovne u tohoto prodejce neni.

Autor:  danhard [ 20.04.2018, 12:31 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Co taková MC68882, ta se dá připojit taky 8-mi bitově.

Autor:  Mikes21 [ 20.04.2018, 13:04 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Pokud to ma 8-bitovy inteface, tak by to melo byt v pohode. Koukam, jestli to uz neni trochu 'jina liga'. Uz jenom treba ty provozni kmitocty, na kterych se vyrabi. Asi by to chtelo zkouset v pouzdre PLCC.
Jeste me zarazi za jakou cenu se to da sehnat. Na ebay je jeden za cca 100,- a jiny az za 2500,- Co to je divny rozdil v cenach? Ty kousky za stovku bych klidne vzal, ale vic asi ne.

Autor:  danhard [ 20.04.2018, 14:02 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

V PLCC od https://www.ebay.com/itm/1pcs-MC68882FN ... Swt4Ra2cFu
Kontrolní nákup zjistil, že jsou přeznačené, takže byly zadarmo. Někdo jiný je testoval a byly na nižší frekvenci funkční, takže můžeš počítat s tím, že jsou to přeznačené 16MHz, netestované na 40Mhz :)
Nemej to acetonem, jinak se to laserování do laku smeje :lol:

Autor:  Nostalcomp [ 20.04.2018, 14:25 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Já myslím, že problém u mě byl v tom, že jsem to neměl připojený na sběrnici klasického procesoru, ale k jednočipu a tu sběrnici jsem emuloval softwarově. Když se někdy dokopu to připojit třeba k tomu PMIčku, tak to určitě fungovat bude ve všech ohledech. Zase jsem tomu tenkrát tolik nedal :-)

Autor:  Mikes21 [ 20.04.2018, 19:23 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Nostalcomp: ja jsem rad, ze jsi to vyzkousel a neco o tom napsal. Alespon me to 'nakoplo'. Ta nefunkcnost operaci v integeru je stejne divna. Kdyby se Ti chtelo, muzu ty tvoje kopraky vyzkouset u sebe (nejak by jsme si je predali). Mam jedno podezreni, ale fakt si netroufam ... znamenalo by to narknout programatora ;-) a na to nemam 'knedlik'. Asi az to budes chtit vyzkouset, tak to probereme. Budu se tesit...
Co se tyka te Motoroly, pro Sharpa nebo jine 8-bity by uplne stacila nejaka 16MHz. verze. Takze preznacovani nevadi a nejakych 60,- je fakt o nicem. Alespon objednat do supliku to muzu ;-)

Autor:  Nostalcomp [ 21.04.2018, 09:14 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Programátora nelze nakrknout, páč programátor má dostatek sebereflexe a tuší, že když 100% nefungovala ta programová emulace sběrnice a obsluha toho kopráku, tak je v programu asi někde chyba:-) Je mi jasný, že jsem něco přehlídnul a budu vděčný za nasměrování. Tak sem s tím. Ale přiznávám, že si to akorát založím do poznámek a nebudu to dále řešit. Pravděpodobnost, že bych se k tomu v dohledné budoucnosti chtěl vrátit, se limitně blíží nule.

Autor:  Mikes21 [ 21.04.2018, 19:57 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Ja bych to radeji videl tak (vzhledem k tomu, ze plati ta limita), ze mi ten koprak posles, ja ho vyzkousim (poctive vratim) a pak budu vynaset nejake teorie. Pokud ne, tak bych to v podstate nechal plavat. Kdyz napises, tak Ti poslu adresu pres SZ.

Jinak mam na te desce i timer a ten uz jsem taky vyzkousel. Alespon zakladni funkce. A vse slape tak jak ma - citace citaji a ledky (jedna) blikaji.

Autor:  Mikes21 [ 09.05.2018, 09:25 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Dorazil mi koprocesor AM9511-4DC, coz je 4MHz. varianta, ktera se delala az v roce 1980 a v manualu o ni neni jeste ani zminka. Chtel jsem ji vyzkouset, hned jak jsem se dozvedel, ze existuje a jestli opravdu jede na ty 4MHz. Hlavni duvod je samozrejme v pripojeni na hodiny Z80 od Sharpa, ktere bezi na cca 3.5MHz. Takze vysledek je, ze slape i na teto frekvenci. Oproti tomu Intelacke C8231A uz na 3.5MHz delaji chyby.
Co je zarazejici, ze vsechny varianty se stale stejne a hodne zahrivaji. Aby jsem je mohl mit delsi dobu zapnute, tak jsem je opatril pridavnym chladicem.
Jeste mi tu 'pristaly' kopraky C8232, ktere maji stejne zapojeni, ale pracuji s jinou presnosti a nemaji pridavne funkce. Ty jsem jeste nezkousel, ale na ne taky dojde.

Autor:  Mikes21 [ 28.05.2018, 19:51 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Tak jsem dokoncil pripravu na novou verzi koprocesorove desky. Mela by obsahovat poradny dekoder, obe ALU (AMD9511 a I8232) a taky citac AMD9513. Protoze se porad zaobiram myslenkou, ze matematika by se dala vyuzivat hlavne v BASICu, jenze ten ma jine kodovani cisel. To byl hlavni duvod, proc jsem si nejdrive chtel vse overit v emulatoru. Nakonec jsem naimplementoval emulaci obou ALU obvodu a jeste k tomu pridal emulaci ALU za zaklade kodovani cisel z BASICu. Vse chodi velice pekne, a protoze to bylo zamerem, tak jsem to jeste prehodil do unikarty. Vlasne by ted slo odzkouset, jak 'patchnout' BASIC a prehodit celou matiku do emulace v unikarte.
A tady se ukazal nejvetsi problem v tomhle projektu. Jestli se to povede a pujde emulovat vsechny typy ALU koprocesoru, vcetne toho 'noveho' (v Sharp formatu cisel), tak asi uz prestane byt jakykoliv zajem poridit si a stavet hw kartu s koprocesory, ze?
K tomu reseni emulace v unikarte. Je to tak, ze zasobnik jsem predelal ze 4-bytoveho na 5-bytovy a pridal konverzni rutiny ze Sharp formatu do double a zpet. Vse ostatni je uplne stejne a jde si s tim neskutecne jednoduse hrat podle potreby. Pridavani jakychkoliv mat. rutin je az trivialne jednoduche ;-)
No nic, jdu zkusit patchnout neco v tom BASICu.
Prida nekdo nejakou poznamku nebo napad?

Autor:  Martin8bity [ 28.05.2018, 23:03 ]
Předmět příspěvku:  Re: Koprocesor a zpracovani floating point aritmetiky

Super. Za mne urcite emulace v Unikarte neni duvod si nepohrat s fyzickym hardwarem.

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