OldComp.cz

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


Právě je 25.04.2024, 01:33

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 370 ]  Přejít na stránku Předchozí  1 ... 12, 13, 14, 15, 16, 17, 18 ... 25  Další
Autor Zpráva
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 28.02.2021, 13:00 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3677
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Kup si jinej, nic to nestojí :D

_________________
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: HW násobička MH102
PříspěvekNapsal: 28.02.2021, 13:17 
Offline
Profík

Registrován: 28.07.2018, 14:37
Příspěvky: 930
Has thanked: 43 times
Been thanked: 414 times
To je fakt. Dají se sehnat po necelých 8Kč a to byla první firma, na kterou jsem se podíval. To je silný argument i v případě, že to úlohy nakonec urychlí jen o pár procent :) Ale aspoň si člověk očuchá tu technologii. Až naše civilizace dojde takového úpadku, že zbudou jen sklady plné historických I2L obvodů, budeš za kinga. Bohužel, asi k tomu spějeme. Tož, šecko nélepší s tém pertinaxem.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 08.03.2021, 12:29 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 582
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
dodělávám rutinu na FP násobení a potřebuji poradit lehce s exponentama (násobení mantis vyřešeno)

exponenty jsou posunuty o 80h

jak jednoduše určit:
1) výsledné číslo je příliš velké - pro čísla větší než 1 -> (1exp-80h) + (2exp -80h) > 80h
2) výsledné číslo je příliš malé a mělo by být 0 - při násobení 2 čísel v intervalu (0,1) -> (1exp+80)+(2exp+80h) > 80h

předpokládám že když násobím číslo s exponentem >= 80h a číslo s exp.<80 tak mi žádný extrémní případ nenastane


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 08.03.2021, 12:38 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3671
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
l00k píše:
dodělávám rutinu na FP násobení a potřebuji poradit lehce s exponentama (násobení mantis vyřešeno)
Exponenty normalne scitaj, potom odpocitaj #80 a ak je vysledok stale vecsi ako 255 tak je cislo prilis velke, a ak to pri odcitani #80 dojde az na nulu alebo pod nulu, cislo je prilis male.

Pozor, exponent sa moze este posunut kvoli normalizacii mantisy, takze test ci prekroci 255 alebo dojde na nulu alebo az pod nulu treba aj pri normalizacii vyslednej mantisy.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 08.03.2021, 13:53 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 582
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
třeba takhle? :

Kód:
        ld   a,(FACPO+3)   ;exponent 1. čísla, druhý je v D
       ld   h,0
       ld   l,a
       ld   e,d
       ld   d,h         ;0 do D
       add  hl,de
       ld   a,b         ;korekce z normalizace mantisy
       cpl
       inc  a
       ld   e,a
       dec  d            ;FF do D
       add  hl,de         ;"odečteny" korekce mantisy
       ld   e,128         ;v DE je -80h
       add  hl,de         ;"odečten" 1x offset exponentu
;tady je ještě třeba zkontrolovat přetečení/podtečení exponentů
       jp   c,nula1      ;podtečení -> číslo je příliš malé
       ld  a,d
       or  a
       jp  nz,E10         ;číslo je příliš veliké
       ld  a,e
         ld  (FACPO+3),a   ;ulož výsledný exponent


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:08 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 582
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
tak se mi to nakonec vše podařilo dotáhnout a vznikla nová verze BasicG pro IQ151 pracovně nazvaná BasicG 2021, zatím je implentovaná jen funkce akcelerace násobení pomocí MH102 s testem přítomnosti. Pokud násobička není tak se to chová jako normální BasicG...

no a ještě výsledek celého snažení - počítal jsem několik výrazů (pokud by měl někdo něco co bych chtěl ověřit dejte vědět) - jednou jako smyčku 1-1000 krok 1 podruhé jako 0-10 krok 0.01 jestli s tím zacvičí ty desetinná čísla.

je vidět obrovský přínos u SIN/COS/mocniny,LOG - u obyčejného násobení to už taková hitparáda není...


Přílohy:
bg2021.JPG
bg2021.JPG [ 13.76 KiB | Zobrazeno 3646 krát ]
basmh2.JPG
basmh2.JPG [ 39.27 KiB | Zobrazeno 3646 krát ]
basmh1.JPG
basmh1.JPG [ 48.22 KiB | Zobrazeno 3646 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:11 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Zkusil bych aplikovat to na nějakou grafiku, třeba nedávno řešenou Bublinu, ta se SINusem a mocninami hemží. Nebo vykreslovat Bézierovy křivky, to je taky samá mocnina :-). Mělo by to dost nakopnout rychlost kreslení...

A co velká čísla na konci rozsahu, jak to funguje tam?

A to urychlení je náhodou dobré, průměrně se to urychlí na 75% potřebného času origo Basicu v rozpětí 55% až 92%. Tedy všechny operace se viditelně nebo výrazně urychlí, v průměru o čtvrtinu. Na to, že jen přiletuješ jeden čip co stojí méně než ta precizní patice, do které ho dáš to je myslím velmi dobré :-). A pořád je to Basic, násobky výkonu CPU se dají čekat jen u optimalizovaného assembleru jak tu už bylo vidět. Podle mě se teď viditelně urychlí vykreslování grafiky.


Naposledy upravil Czech Human dne 10.03.2021, 11:24, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:20 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 582
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
zkusím ještě tu grafiku, ono to zrychlí i prosté vykreslování čar (algortimus je plný násobení FP čísel), ne jen výpočty...

chová se to jako úplně klasická BASIC násobící rutina, pokud číslo přeteče zařve chybu, jede ve stejném rozsahu FP čísel jako klasický BASIC


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:27 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Mě šlo o to, zda když se používají velká čísla na hranici rozsahu zda ta násobička co to číslo musí mnohokrát rozdělit, díky té režii neumazává vyšší rychlost výpočtu než u malých čísel nebo naopak zda CPU se dlouhými čísly nezapotí víc tak to trvá jemu déle než s čísly malými :-). Zda to je prostě lineární nebo ne.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:33 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 582
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
násobičce je to putna jestli to je malé/velké číslo -> pracujeme s FP čísly ve formátu mantisa 24bitů a exponent 7 bitů takže pořád dělá 24 bitové násobení, změny v rychlosti jsou jen pokud dojde k míň přetečení při součtech nebo pokud se nemusí moc normalizovat mantisa


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:35 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Aha, díky za vysvětlení :-).

A klobouk dolů za dokončení toho, co autoři toho Basicu nezvládli ani po 30 letech po vydání :-). Škoda že PP má takový pro počítání nevhodný styl uložení čísel a PMD zase nemá na násobičku patici.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:46 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 582
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
Basic6 vznikl někdy 82-84 předělávkou něčeho co fungovalo, BasicG o 1-2 roky později. Vsadím se že tehdy šli cestou nejmenšího odporu a použili jen to nejnutnější. Klasická násobící rutina má nějakých 80 bajtů, ta co používá MH102 350 bajtů, + nějaký test, proměnné... prostě neměli 400 bajtů volného místa v EPROMkách, navíc ve školním počítači... Takže vyvinuli a konec, navíc se vykašlali uG verze na kompatibilitu s AMOS, a od roku 1987/88 se už moduly nepoužívaly a vše se jelo přes CP/M po síti


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 11:55 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Však já to chápu, tehdy to znamenalo drahý nedostatkový čip navíc (navíc využitý sotva z poloviny nebo čtvrtiny kapacity) a neméně drahou násobičku, jejíž cena v roce 85 asi taky nebyla 8 Kčs a i její reálná dostupnost byla určitě mizerná. A před školstvím měly prednost jiné organizace. Velký dík za takové urychlení a první fungujcí sw podporu MH102 v Basicu u čs počítače, byť IQ-151 ve sbírkách sám nemám, tak si ho nemůžu reálně užít.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 12:47 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 582
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
takže grafika - 3x test (BasicG 2021 s a bez MH102 versus klasika BasicG) - vítězí MH102 verze s náskokem 278 sekund :)


Přílohy:
basMH-3.JPG
basMH-3.JPG [ 94.41 KiB | Zobrazeno 3623 krát ]
basMH+3.JPG
basMH+3.JPG [ 90.74 KiB | Zobrazeno 3623 krát ]
basG3.JPG
basG3.JPG [ 91.89 KiB | Zobrazeno 3623 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH102
PříspěvekNapsal: 10.03.2021, 12:56 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Pěkných 22% navíc, neber to zadarmo. Máš novější model IQ-152 :mrgreen: Samozřejmě výkon absolutně to je pořád nula nic ale skoro o čtvrtinku větší nic, mít to v té době tak by všichni okolo na to koukali a škrábali se na hlavě jak to sakra dělá když program je stejný :mrgreen:


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ů: 370 ]  Přejít na stránku Předchozí  1 ... 12, 13, 14, 15, 16, 17, 18 ... 25  Další

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


Kdo je online

Uživatelé procházející toto fórum: jirka_holub a 19 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