OldComp.cz

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


Právě je 27.04.2024, 07:21

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 156 ]  Přejít na stránku Předchozí  1 ... 5, 6, 7, 8, 9, 10, 11  Další
Autor Zpráva
PříspěvekNapsal: 14.02.2020, 14:56 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
Ako na najrychlejsie A->2^A (pre A=0..7)?

...alebo ako z čísla v A urobiť masku nastavením zodpovedajúceho bitu v A?

Zatiaľ som to vyriešil rotáciou, ale ide to rýchlejšie? Ešte by to šlo cez lookup-table.
Kód:
LD      B, A            ; 4T    bude pocitadlo
INC     B               ; 4T    riesenie pre A=0
XOR     A               ; 4T    vycisti A
SCF                     ; 4T    nachystaj CY
RLA                     ; 4T    posun bod na spravnu poziciu (prip, RRA podla smeru)
DJNZ    $-1             ; 13/8T


Nahoru
 Profil  
 
PříspěvekNapsal: 14.02.2020, 19:19 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Martin1 píše:
Ako na najrychlejsie A->2^A (pre A=0..7)
Ked nechcem tabulky, tak pouzivam toto:
Kód:
        add  a,a
        add  a,a
        add  a,a
        cpl
        or   #c7
        ld   (lnset+1),a
        xor  a
lnset   set  0,a


Nahoru
 Profil  
 
PříspěvekNapsal: 14.02.2020, 19:30 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
Presne to isté som chcel napísať aj ja, ale bez CPL, ktorý mení smer z ľava do prava.


Nahoru
 Profil  
 
PříspěvekNapsal: 15.02.2020, 17:29 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Ano, to CPL tam mam preto lebo je to kusok z rutinky na kreslenie pixelu na obrazovke ZX Spektra, a tam siedmy bit je pixel najviac vlavo a preto treba pri adresacii obratit poradie, t.j. A => 2^(7-A).


Nahoru
 Profil  
 
PříspěvekNapsal: 15.02.2020, 20:03 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
Busy píše:
Ano, to CPL tam mam preto lebo je to kusok z rutinky na kreslenie pixelu na obrazovke ZX Spektra, a tam siedmy bit je pixel najviac vlavo a preto treba pri adresacii obratit poradie, t.j. A => 2^(7-A).

Nie je na účel kreslenia vyhodnejsia (rychlejsia) tabulka? Alebo Ti uz nezvysili registre?
M1


Nahoru
 Profil  
 
PříspěvekNapsal: 15.02.2020, 22:13 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2095
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 327 times
Dá sa nejako matematicky odzrkadliť byt? Možnosť s tabuľkou poznám, ale 256 bytov by sa dalo využiť lepšie, a 8 krát RRCA a RL C je pomalé.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
PříspěvekNapsal: 15.02.2020, 23:32 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 169
Has thanked: 25 times
Been thanked: 225 times
PotPalo píše:
Dá sa nejako matematicky odzrkadliť byt? Možnosť s tabuľkou poznám, ale 256 bytov by sa dalo využiť lepšie, a 8 krát RRCA a RL C je pomalé.

nieco taketo?
Kód:
rrca
ld c,a
rrca
rrca
xor c
and 0x55
xor c
ld c,a
rlca
rlca
rlca
rlca
xor c
and 0x33
xor c


Nahoru
 Profil  
 
PříspěvekNapsal: 16.02.2020, 09:51 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Martin1 píše:
Busy píše:
Ano, to CPL tam mam preto lebo je to kusok z rutinky na kreslenie pixelu na obrazovke ZX Spektra, a tam siedmy bit je pixel najviac vlavo a preto treba pri adresacii obratit poradie, t.j. A => 2^(7-A).
Nie je na účel kreslenia vyhodnejsia (rychlejsia) tabulka? Alebo Ti uz nezvysili registre?
Poriadne si precitaj moje predchadzajuce prispevky.
Busy píše:
Ked nechcem tabulky, tak pouzivam toto:


Nahoru
 Profil  
 
PříspěvekNapsal: 16.02.2020, 22:20 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2095
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 327 times
S tým zrkadlením bytu by sa dal pekne použiť hardvér. Stačil by jeden 74LS244, vstupy A8 až A15, výstupy D7 až D0, a ako aktivácia dekódovať z A0 až A7 adresu portu, potom IORQ a RD... Celé zrkadlenie by sa potom robilo cez IN (port),A. Vrchný bajt príkazu IN by bol byt ktorý treba odzrkadliť.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
PříspěvekNapsal: 16.02.2020, 22:43 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
PotPalo píše:
S tým zrkadlením bytu by sa dal pekne použiť hardvér. Stačil by jeden 74LS244, vstupy A8 až A15, výstupy D7 až D0, a ako aktivácia dekódovať z A0 až A7 adresu portu, potom IORQ a RD... Celé zrkadlenie by sa potom robilo cez IN (port),A. Vrchný bajt príkazu IN by bol byt ktorý treba odzrkadliť.
Toto je normalne skvely napad. Uz si predstavujem ten program:
Kód:
A = vstup
IN A,(port)
A = zozrkadleny vystup
Akurat aj napriek krasnej jednoduchosti hardwerovej realizacie a softwerovej obsluhy, toto je typ problemov ktory je neefektivne riesit hardwerom, pretoze ak treba fakt rychlost, tak sa to da velmi dobre urobit tabulkou:
Kód:
ld l,vstupny_bajt
ld h,high tabulka
ld a,(hl)


Nahoru
 Profil  
 
PříspěvekNapsal: 16.02.2020, 23:52 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2095
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 327 times
Tabuľku viem, ale 256 bajtov je 256 bajtov. A tým IN by sa dalo spraviť viac, na viacerých portoch rôzne funkcie. V podstate by to bol taký koprocesor na špeciálne funkcie, rozšírenie inštrukcií Z80. Viem, nápad je to zaujímavý, ale využiteľnosť pre bežné použitie nula percent.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
PříspěvekNapsal: 17.02.2020, 10:57 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
PotPalo píše:
Tabuľku viem, ale 256 bajtov je 256 bajtov. A tým IN by sa dalo spraviť viac, na viacerých portoch rôzne funkcie. V podstate by to bol taký koprocesor na špeciálne funkcie, rozšírenie inštrukcií Z80. Viem, nápad je to zaujímavý, ale využiteľnosť pre bežné použitie nula percent.
256 bajtov je este (obvykle) v pohode, horsie su veci ktore potrebuju dva (alebo viac) vstupnych parametrov. Typicky priklad: nasobenie dvoch bajtov. To je 16 vstupnych bitov = 65536 moznosti, kazda moznost predstavuje dvojbajtovy vysledok, cize tu by to chcelo tabulku o velkosti 128kB. Toto uz ma vyznam riesit nejak hardwerovo, napriklad PP01 ma moznost osadit hardwerovu nasobicku MH102. Staci OUTnut dva bajty ako argumenty, a clovek hned moze IN-ut dva bajty vysledku.


Naposledy upravil Busy dne 17.02.2020, 11:28, celkově upraveno 1

Nahoru
 Profil  
 
PříspěvekNapsal: 17.02.2020, 11:12 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
Busy píše:
Poriadne si precitaj moje predchadzajuce prispevky.
Busy píše:
Ked nechcem tabulky, tak pouzivam toto:

Citam poriadne, len otazka nepriamo smerovala k tomu, preco nechces, ked by to malo zrychlit...


Nahoru
 Profil  
 
PříspěvekNapsal: 17.02.2020, 11:16 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3829
Has thanked: 280 times
Been thanked: 457 times
Jen technická - přesně je to MH102 a myslím že se reálně moc nepoužívala, protože jednak funguje bez problémů jen u kladných čísel, jak se násobí se znamínkem lezou z toho zmaty a za druhé způsob předávání informací a jejich vyčítání není přímočarý, ale data se musí násobičce přežvýkat do jejího formátu a následně zase převést zpět, což v celkovém schématu Vesmíru a světa asi tu výhodu rychlejšího zpracování, zmařenou dlouhým převodem a velmi komplikovaným programováním odsouvá do pozadí.

Tak jak bylo zmiňováno že se pošlou data + instrukce co s tím provést a následně se vytáhne výsledek funguje na poskytované matematické funkce mnohem pokročilejší FPU Am 9511.


Nahoru
 Profil  
 
PříspěvekNapsal: 17.02.2020, 11:40 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Martin1 píše:
Busy píše:
Poriadne si precitaj moje predchadzajuce prispevky.
Busy píše:
Ked nechcem tabulky, tak pouzivam toto:
Citam poriadne, len otazka nepriamo smerovala k tomu, preco nechces, ked by to malo zrychlit...
V tom pripade treba citovat tie casti povodneho prispevku, na ktore sa konkretne pytas :)
Pisal som o pripade, ked tabulky pouzit nie je mozne, napriklad preto, lebo by pre ne uz v pameti nebolo miesto. Samozrejme s tabulkou by to bolo najrychlejsie, ale moznost tabulky spomenul Martin1 uz vo svojej povodnej otazke, preto som sa tomuto pripadu uz nevenoval.


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ů: 156 ]  Přejít na stránku Předchozí  1 ... 5, 6, 7, 8, 9, 10, 11  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 21 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