OldComp.cz

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


Právě je 25.04.2024, 09:11

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 
Autor Zpráva
 Předmět příspěvku: Časování instrukce LD SP,HL u Z80
PříspěvekNapsal: 27.05.2016, 17:55 
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
Nemáte někdo odměřené časování instrukcí
LD SP,HL
PUSH qq
INC qq
DEC qq
DJNZ e
RET cc
v podstatě všechny, které mají M1 cykl delší než 4 takty a MR, MW cykl delší než 3 takty.
Zajímá mě časování signálů, nejak to nemůžu v katalogu najít :(

_________________
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říspěvekNapsal: 31.05.2016, 11:17 
Offline
Kecka

Registrován: 23.05.2013, 19:07
Příspěvky: 26
Has thanked: 2 times
Been thanked: 9 times
Níže odkaz na PDF.
Začátek str. 85, od strany 87 je detailní rozbor časování jednotlivých instrukcí, vysvětlivky zkratek jsou na začátku tabulky, předchozí text vysvětluje na několika příkladech jak se věci mají.

Mostek Z80 PROCESSOR Technical Manual
https://uloz.to/x768wPkX/3880-pdf


Nahoru
 Profil  
 
PříspěvekNapsal: 31.05.2016, 11:42 
Offline
Kecka

Registrován: 23.05.2013, 19:07
Příspěvky: 26
Has thanked: 2 times
Been thanked: 9 times
Chování CPU je detailně rozebíráno např. zde:

http://www.msxarchive.nl/pub/msx/mirror ... 0prg02.htm


Nahoru
 Profil  
 
PříspěvekNapsal: 31.05.2016, 12:22 
Offline
Kecka

Registrován: 23.05.2013, 19:07
Příspěvky: 26
Has thanked: 2 times
Been thanked: 9 times
Stavy signálů a další informace:

http://www.devic.us/files/

konkrétně:
http://www.devic.us/files/xx.html
http://www.devic.us/files/cb.html
http://www.devic.us/files/dd.html
http://www.devic.us/files/ddcb.html
http://www.devic.us/files/ed.html


Nahoru
 Profil  
 
PříspěvekNapsal: 31.05.2016, 12:48 
Offline
Kecka

Registrován: 23.05.2013, 19:07
Příspěvky: 26
Has thanked: 2 times
Been thanked: 9 times
Obecně lze říci, že v době "přidaných" T cyklů nejsou aktivní žádné řídící signály, procesor není vůči okolí aktivní.
Sběrnicové cykly jsou stejné ať již má instrukce v M1 4 nebo 5T, v přidaném taktu se na řídící sběrnici "nic neděje", podobně u MW a MR.


Nahoru
 Profil  
 
PříspěvekNapsal: 28.06.2016, 09:45 
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
Děkuji za informace, šlo mi o to, jestli se nějak prodlužují memory cykly na déle než 4 takty, mrtvé doby navíc mi nevadí.

_________________
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říspěvekNapsal: 29.06.2016, 12:39 
Offline
Kecka

Registrován: 23.05.2013, 19:07
Příspěvky: 26
Has thanked: 2 times
Been thanked: 9 times
V systému kde není Z80 DMA, lze cykly prodloužit pomocí signálu WAIT, to je jediný stav kdy mohou paměťové/IO cykly trvat více T, časování je potom závislé na způsobu generování WAIT a nelze obecně popsat, je to závislé na konkrétní implementaci.

Způsob použitý např. u ZX16/48 a 128/+2 spočívá v zastavení hodinového signálu v úrovni H, tzn. nedochází z pohledu CPU k přidání T, ale procesor "zamrzne" a po uvolnění pokračuje, takže cyklus trvá z pohledu CPU stále stejný počet T.

Pokud je použit Z80 DMA, lze programovat časování řídících signálů v DMA cyklech, jednak počet T, 2-4T, dále je možno upravovat časování dílčích signálů, zkracováním o 1/2 T. Nicméně toto se týká pouze doby kdy je na sběrnici aktivní DMA a CPU je blokovaný, pokud je aktivní CPU je vše beze změny.


Nahoru
 Profil  
 
PříspěvekNapsal: 29.06.2016, 14:38 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3674
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
AIDSoftware píše:
Způsob použitý např. u ZX16/48 a 128/+2 spočívá v zastavení hodinového signálu v úrovni H, tzn. nedochází z pohledu CPU k přidání T, ale procesor "zamrzne" a po uvolnění pokračuje, takže cyklus trvá z pohledu CPU stále stejný počet T.
Presne tak, a tento sposob so zastavovanim hodin sa da tak isto pouzit aj pri DMA prenosoch.
AIDSoftware píše:
Pokud je použit Z80 DMA, lze programovat časování řídících signálů v DMA cyklech, jednak počet T, 2-4T, dále je možno upravovat časování dílčích signálů, zkracováním o 1/2 T.
Len malicke upresnenie - DMA umoznuje pocet taktov nastavit v rozsahu uz od 1T. Ale konkretne na ZX Spektre 1T nefunguje. 2T uz ide pekne, aj v ramci spomalenych adries (videoramka a port #FE).


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ů: 8 ] 

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 22 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