OldComp.cz

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


Právě je 23.04.2024, 15:55

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 225 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5, 6, 7 ... 15  Další
Autor Zpráva
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 13:07 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2287
Bydliště: Brno
Has thanked: 846 times
Been thanked: 318 times
Pardon za OT, dnes jsem se vzbudil v 1:30 v noci a dostal chuť si zapnout vývojové prostředí v ASM. Skončil jsem ve 3. Na OC se podíval co přibylo :lol: a Panda38 zde před 3.hodinou napsal příspěvek. Tahle skutečnost mne potěšila :thumbup:. Pak jsem se odebral opět k spánku.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 13:52 
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
OldComp nikdy nespí :lol:

_________________
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 MH1020
PříspěvekNapsal: 25.02.2021, 19:13 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 786
Bydliště: Šlapanice
Has thanked: 131 times
Been thanked: 98 times
MH102 je napájená proudem (pro logiku IIL je stanoven jmenovitý proud a napětí je takové jaké vyjde cca 1,2V) takže pokut se bude zapojovat ta MH1020 která bude mít obvody napájené napětím (TTL, ECL, DTL, xMOS, … tak tam je stanoveno jmenovité napětí a proud je takový jaký vyjde) aneb nejde kombinovat tyto dva druhy napájení aneb pro MH1020 se bude muset přemostit ten odpor za předpokladu, že se bude chtít použit patice pro MH102. Ale pokut se bude chtít připojit MH1020 i jiným strojům kde není nachystáno pro MH102 tak se odběr nebude muset nějak extra řešit aneb půjde o napěťové napájení.

Jak už bylo naznačeno AM9511 a AM9512 mají troch moc komplikované připojení a také vznikli před standardizací formátu pro čísla v plovoucí čárce takže mají z dnešního pohledu atypický formát.

Tak se pokusím popsat jak, bych si představoval, co by měla umět ta ATmega … asi mě s tím pošlete do háje ale což, já to přežiju.

Jako základ bych vzal knihovnu viz http://www.sapi.cz/sapi/doku2/smes_doku.php#odkaz5 aby bylo možno co nejjednodušeji překopat starající programy (např. BASICi) na FPU. Ta knihovna by měla odpovídat normovanému stavu také použití dvojité přesnosti by mělo odpoutat normovaném stavu. Daší věc je že ta knihovna je použitá jméně v BASICich z SAPI-1 PMD85, IQ151.

Význam řídícího slova by byl:
Bity 0 až 4 - požadovaná funkce.
Bit 5 – log 0 veškeré operandy se přenášejí, Log 1 bud je použit jen akumulátor v FPU případný druhy operand se přenáší nebo se pracuje z vnitřními registry FPU (záleží na stavu bitu 7).
Bit 6 – Log 0 4 byt aritmetika, log 1 dvojitá přesnost tj. 8 byt aritmetika
Bit 7 - Log 0 přenos všech operandu nebo využití jen akumulátoru zbytek se přenáší dle stavu bitu 5, log 1 práce s vnitrními registry kdy bude následovat druhé řídící slovo které bude uvádět které registry se použijí. U operací se dvěma operandy to bude bit 0-3 první operand a bit 4-7 druhý operand výsledek se uloží do akumulátoru, u operací s jedním operandem bude bity 4-7 udávat do kterého registru se uloží výsledek.

Funkce by byli následující.
FN 0 sčítání
FN 1 odečítaní
FN 2 násobení
FN 3 dělení
FN 4 porovnání
FN 5 sinus DEG.
FN 6 sinus RAD.
FN 7 cosinus DEG.
FN 8 cosinus RAD.
FN 9 tangens DEG.
FN 10 tangens RAD.
FN 11 kotangens RAD
FN 12 obecná mocnina
FN 13 přirozený logaritmus
FN 14 desítkový logaritmus
FN 15 odmocnina
FN 16 exponenciální funkce
FN 17 nastavení hodnoty dle znaménka
FN 18 celočíselná část
FN 19 absolutní hodnota
FN 20 změna znaménka
FN 21 převod z TXT na plovoucí čárku (konec TXT řetězce ukončen 00H)
FN 22 převod z plovoucí čárky na TXT (konec TXT řetězce ukončen 00H)
FN 23 načtení operandu do registru *
FN 24 čtení operandu z registru *
Těch prvních 25 funkci vychází z výše uvedené knihovny pro výpočty v plovoucí řadové čárce.

FN 25 – FN 31 je k dispozici pro další funkce.
Například.
FN 25 přesun mezi registry obdoba instrukce „MOV“ **
FN 26 přehození mezi registry obdoba instrukce „XCHG“ **
FN 27 převod mezi jednoduchou a dvojitou přesností ***

Celkový počet registrů bude 16 kdy registr nula bude akumulátor. (to jestli budou ty registry dvojmo tj. jedny pro jednoduchou přesnost a druhé pro dvojitou přesnost, nebo budou jen jedny ale s délkou pro dvojitou přesnost nechám na uvážení programátora FPU)

*) Dané funkce by byli dostupné jen pokut bude bit 5 v log 1 (pro bit 7 v log 0 se bude pracovat jen s akumulátorem a pro bit 7 v log 1 se bude pracovat se všechny registry).
**) funkce by byli dostupné jen pokut bude bit 5 a 7 v log 1.
***) Převod se provede podle stavu bitu 6 kdy pro log 0 se bude převádět z jednoduché přesnosti na dvojitou. Pro log 1 s bude převádět z dvojité přesnosti na jednoduchou. Funkce bude dostupná pro všechny při stavy bitu 5 a 7.

V základním stavu by kombinace bitu 5 v log 0 a bit 7 v log 1 byl zakázaný takže by bylo k dispozici až 64 dalších funkcí.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Naposledy upravil EC1045.01 dne 25.02.2021, 23:09, celkově upraveno 3

Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 19:27 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1976
Bydliště: Most, Praha
Has thanked: 872 times
Been thanked: 699 times
To je ukázka normalizace :-) - všichni všude používají floaty kdy znaménkový bit je na nejvyšším bitu mantisy (protože je to praktické - při výpočtech se nahradí skrytou '1'), ale kdosi v ISO IEEE754 se rozhodl normalizovat tak, že znaménkový bit umístil na nejvyšší bit nad exponent, což je pro software docela nepříjemnost. Mívám dojem, že normy vymýšlejí lidé kteří to nikdy nepoužívali v praxi.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 20:01 
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
EC1045.01 píše:
Význam stavového slova by byl: ...

Myslím že si pleteš řídící a stavové slovo.

Ale nejdřív byste měli definovat tu základní komunikaci.

_________________
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 MH1020
PříspěvekNapsal: 25.02.2021, 20:12 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 786
Bydliště: Šlapanice
Has thanked: 131 times
Been thanked: 98 times
Aha, máš pravdu, ale předpokládám, že bylo pochopeno, co chtěl básník říct … opravím to.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 20:14 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3669
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
EC1045.01 píše:
Funkce by byli následující.
...
Len tak namatkovo - chyba mi tam:

- modulo (mod)
- zlomkova cast (fract)
- opacna hodnota (1/x)
- druha mocnina (x^2)
- logicka hodnota (x ? true : false)
- kotangens DEG
- a ku vsetkym goniometrickym funkciam aj opacne (arkus*) funkcie.

Kolko bude registrov a ako sa budu pouzivat ?
Panda38 píše:
To je ukázka normalizace :-) - všichni všude používají floaty kdy znaménkový bit je na nejvyšším bitu mantisy
...
Mívám dojem, že normy vymýšlejí lidé kteří to nikdy nepoužívali v praxi.
Suhlasim, pouzivajme to tak aj my, t.j. so znamienkom mantisy v najvyssom bite normovanej mantisy. Vsetci to tak pouzivaju, ZX Spektrum to tak pouziva, tak to robme aj my.

V tejto suvislosti ma napada - basic na PP01 pouziva normovanu mantisu v BCD tvare, tam sa znamienkovy bit nikde moc ulozit neda, preto je tento bit v exponente.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 21:14 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 786
Bydliště: Šlapanice
Has thanked: 131 times
Been thanked: 98 times
Já jen vypsal funkce, co umí ta zmiňovaná knihovna a z toho návrhu co jsem dal tam jsou ještě volné 4 funkce tak jde doplnit, co tam není.
Je to tam napsané aneb jich bude 16 tj. co neadresuje NIBL to a jak budou použité registry budou udávat byty 5 a 7 řídicího slova tj. pokut bude bit 5 a 7 v log 1 tak bude následovat i druhé řídící slovo kde budou udané registr/y, co se použijí, viz popis. ( o těch kopírovacích funkci to bude platný jen bit 0 až 3).

Druhá odmocnina tam je aneb FN 15. Logicmá hodnota tam je taky aneb FN 17

Ten seznam funkcí je jen návrh a případným úpravám nebráním. Ty funkce FN 25 až 27 by se daly přehodit na kombinaci bytů řídícího slova bit 5 v log 0 a bit 7 v log 1 Takže pak to byli funkce FN 0 až FN 3,
A seznam by se doplnil o
modulo (mod)
zlomková cast (fract)
opačná hodnota (1/x)
kotangens DEG

pro lepší pochopení význam bitu 5 a 7
bit 5 log0, bit 7 log0 všechny operandy včetně výsledku se přenášejí (nejde použit funkce pracující s registry)
bit 5 log1, bit 7 log0 při vypočtu je použit akumulátor (registr 0) a výsledek je uložen do akumulátoru (registr 0), případný druhý operand funkce se přenáší. Funkce pracující s registry pracuji jen s akumulátorem (registr 0) tj. načtení a uložení operandu do registru.
bit 5 log0, bit 7 log1 pro manipulace s registry a další funkce které přímo nesouvisí s matematikou v plovoucí čárce
bit 5 log1, bit 7 log1 ‚řídicí slovo má dva byty kdy druhý bit specifikuje o který/é registry jde. U přenosových funkcí pak následuje i operand.

Nova sada funkcí
FN 0 sčítání
FN 1 odečítaní
FN 2 násobení
FN 3 dělení
FN 4 porovnání
FN 5 sinus DEG.
FN 6 sinus RAD.
FN 7 cosinus DEG.
FN 8 cosinus RAD.
FN 9 tangens DEG.
FN 10 tangens RAD.
FN 11 kotangens RAD
FN 12 obecná mocnina
FN 13 přirozený logaritmus
FN 14 desítkový logaritmus
FN 15 odmocnina
FN 16 exponenciální funkce
FN 17 nastavení hodnoty dle znaménka
FN 18 celočíselná část
FN 19 absolutní hodnota
FN 20 změna znaménka
FN 21 převod z TXT na plovoucí čárku (konec TXT řetězce ukončen 00H)
FN 22 převod z plovoucí čárky na TXT (konec TXT řetězce ukončen 00H)
FN 23 načtení operandu do registru *
FN 24 čtení operandu z registru *
Těch prvních 25 funkci vychází z výše uvedené knihovny pro výpočty v plovoucí řadové čárce.

FN 25 modulo (mod)
FN 26 zlomková cast (fract)
FN 27 opačná hodnota (1/x)
FN 28 kotangens DEG


Pomocné funkce pro stav bitu 5 v log 0 a bit 7 v log 1
PF 0 přesun mezi registry obdoba instrukce „MOV“
PF 1 přehození mezi registry obdoba instrukce „XCHG“ **
PF 2 převod mezi jednoduchou a dvojitou přesností

*) Dané funkce by byli dostupné jen pokut bude bit 5 v log 1 (pro bit 7 v log 0 se bude pracovat jen s akumulátorem a pro bit 7 v log 1 se bude pracovat se všechny registry).
**) Převod se provede podle stavu bitu 6 kdy pro log 0 se bude převádět z jednoduché přesnosti na dvojitou. Pro log 1 s bude převádět z dvojité přesnosti na jednoduchou.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 21:25 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 581
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 91 times
no a ještě je tu možnost pracovat s tím jako se zásobníkem, tj. volaná funkce pracuje s 1/2 posledníma hodnotam na vrcholu zásobníku a registry slouží jen k dočasnému odložení, t.j. například chci sčítat a násobit větší množství čísel (nějakou řadu, nebo složitější funkci) tak si je nasypu na zásobník a pak volám jednotlivé funkce (typické řešení x87 nebo SW kalkulátory DC pascal a ZX Spectrum)
tím že nemusím udávat s čím pracuje (vždy vrchol zásobníku) můžu mít víc funkcí


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 21:48 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3669
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
EC1045.01 píše:
Druhá odmocnina tam je aneb FN 15.
Nie druha odmocnina, ale druha mocnina mi tam chybala. To je vec co sa zvykne pouzivat casto.
EC1045.01 píše:
Logicmá hodnota tam je taky aneb FN 17í
Nie, to je SGN (vracia -1,0,+1 podla znamienka) ale ja som myslel nieco ako logicky NOT NOT x
EC1045.01 píše:
Nova sada funkcí
Ono vsetko vyssie napisane sa da rozne nahradit, ale ARCSIN, ARCCOS, ARCTAN nenahradis, tie by tam rozhodne nemali chybat. Uz len preto ze kazdy poriadny basic a vedecka kalkulacka ich maju tiez ;)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 22:43 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 786
Bydliště: Šlapanice
Has thanked: 131 times
Been thanked: 98 times
l00k píše:
no a ještě je tu možnost pracovat s tím jako se zásobníkem, .....

Busy píše:
....
EC1045.01 píše:
Nova sada funkcí
Ono vsetko vyssie napisane sa da rozne nahradit, ale ARCSIN, ARCCOS, ARCTAN nenahradis, tie by tam rozhodne nemali chybat. Uz len preto ze kazdy poriadny basic a vedecka kalkulacka ich maju tiez ;)


Nejsem si jist, jak přesně to s tím zásobníkem funguje, takže jsem něco nastřelil. Nahrávání (čtení) dat do zásobníku bude řešeno přes pomocné funkce

Nové pomocné funkce budou:
PF 3 přepnutí na registrový režim, (výchozí nastavení)
PF 4 přepnutí na zásobníkový režim
PF 5 nahrání operandu na konec zásobníku
PF 6 nahrání operandu na začátek zásobníku


PF 30 do akumulátoru nahraj konstantu …. (můžete doplnit které jestě)
PF 31 do akumulátoru nahraj konstantu Pí


V dané problematice nejsem kovaný, takže těch prvních 25 funkcí bych nechal tak jak jsou (pokut se v té výše zmíněné knihovně najde něco, co jsem přehlédl tak bude vhodné doplnit). do zbytku můžete doplnit co bude vhodné, těch volných funkcí je jenom 7 takže to nechám na vás.

Zatím to je vše jako návrh jak by to mohlo vypadat, takže se dá ladit a pilovat k „dokonalosti“ aneb jsem zvedl rukavic hozenou do ringu …

Ještě jsem zapoměl jaký význam těch třech kombinací bitu 5 a 7 bude v zásobníkovém režimu, aneb nemá představu, jak přesně ten zásobníkový režim funguje.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 23:11 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1976
Bydliště: Most, Praha
Has thanked: 872 times
Been thanked: 699 times
Operace nahrání na začátek zásobníku nemá smysl. Zásobník je jako hromada, položky se kladou na jeho vrchol a odebírají z vrcholu. Operace se provádí mezi 2 nejvyššími položkami v zásobníku (výsledek se uloží do 1. položky, 2. položka se zruší). Užitečné operace pro manipulaci se zásobníkem je duplikace poslední položky na vrcholu a záměna 2 položek na vrcholu (případně ještě to samé s předposlední položkou). I při manipulaci s registry se použije zásobník - uložení položky z vrcholu zásobníku do paměťového registru a načtení registru na vrchol zásobníku. Zásobník je centrum dění. Není potřeba mít samostatný registrový režim, ani používání akumulátoru (ten je nahrazen nejvyšší položkou na vrcholu zásobníku).

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.02.2021, 23:56 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 786
Bydliště: Šlapanice
Has thanked: 131 times
Been thanked: 98 times
Pomocné funkce pro stav bitu 5 v log 0 a bit 7 v log 1 tím pádem budou

PF 0 přesun mezi registry obdoba instrukce „MOV“
PF 1 přehození mezi registry obdoba instrukce „XCHG“ **
PF 2 převod mezi jednoduchou a dvojitou přesností
PF 3 přepnutí na registrový režim, (výchozí nastavení)
PF 4 přepnutí na zásobníkový režim

PF 30 do akumulátoru nahraj konstantu …. (můžete doplnit které jestě)
PF 31 do akumulátoru nahraj konstantu Pí

První položka zásobníku bude akumulátor, takže po přepnutí na zásobníkový režim by se dal plnit zásobník funkci FN 23 (FN21) PF 31 (další konstanty) a alternativně by se dal i zásobník vyčíst pomoci funkcí FN24 (FN22) minimálně se přečte operand z akumulátoru. Pro dočesné odložení mezi výsledkem by se používaly pomocné funkce PF 0 a PF1. Takže pokut to cápu správně bude význam bitu 5 a 7 řídícího slova v zásobníkovém režim pro bit 5 v log 0 a bit 7 v log 1 význam pomocných funkcí ostatní kombinace by znamenali to samé a to práci se zásobníkem s funkcemi FN. Bit 6 řídícího slova by udával, zda jde o operace v základní přesnosti či dvojité přesnosti.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


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

Registrován: 07.07.2019, 22:14
Příspěvky: 3823
Has thanked: 280 times
Been thanked: 457 times
Jak vlastně velký zásobník ta Atmega bude mít, kolik čísel se do něj podle plánu vejde? A co konstanty, ty budou s obslužným programem v EPROM?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 26.02.2021, 11:50 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1201
Has thanked: 366 times
Been thanked: 304 times
V pomocnych funkcich by jeste mohlo byt:
- vlozit Pi na zasobnik
- vlozit e na zasobnik
- popripade i "0", "1", "+nekonecno", "-nekonecno", popripade dalsi konstanty
- je vysledek NaN
- prevod RAD, DEG, GRAD
atd.

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


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ů: 225 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5, 6, 7 ... 15  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 14 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:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz