Adresové cykly u klasické '51

Pavel Troller patrol na sinus.cz
Neděle Červen 21 05:04:26 CEST 2015


Zdravím,
  ano, jistě, to mne také napadlo. Ale myslím, že úplný dekodér instrukcí,
který by na to byl potřeba, tam není. Ono by to šlo snáze, pokud by '51
měla signál M1 jako třeba Z80, ale ten pokud vím nemá a není asi snadné
ho dekódovat.
  "Chytrostí" se zde rozumí jen běžné obvody maximálně úrovně MSI. Nic
programovatelného. Jde o design z 80. let minulého století, kdy to CPU
byla asi největší "chytrost", která v tom je.
  Taky se kloním k závěru, že to asi bez "extrémní chytrosti" nejde a tedy
že pokud chci přistupovat k určité paměti, ze které chci brát instrukcí
MOVC data, tak v ní musím ten program skutečně vykonávat (samozřejmě
pominu-li možnost např. na adrese 1000H mít vybraný jeden čip a na adrese
F000H jiný, ale to je jaksi normání způsob a nesouvisí to s tímto dotazem).

Zdraví Pavel

> "Chytrost" to je co? Programovatelná logika?
>
> Napada mne dekodovat instrukce a pokud se detekuje instrukce MOVC A, na A+DPTR 
> tak v dalsim cyklu to prepnout na jinou pamet.
>
> Ale bude to mazec - nektere instrukce maji jeden byte jine vice.
>
>
> Michal Gregor
>
>
>
>
> Dne 20.6.2015 v 12:08 Pavel Troller napsal(a):
>> Zdravím,
>>    analyzuji tu nějaký kód klasické '51 a potřeboval bych vědět jeden HW
>> detail, který teď přesně nevím:
>>    Lze rozpoznat čtecí cyklus při vykonávání instrukce MOVC A, na A+DPTR
>> od běžného čtení kódu (instruction fetch) ?
>>    Zajímá mne, zda lze při použití nějaké přídavné chytrosti v adresovém
>> dekodéru specificky tento cyklus rozpoznat a poslat na sběrnici data z
>> jiné paměti, než je ta, z níž se aktuálně vykonává program.
>>    Samozřejmě znám instrukce MOVX, které přistupují k externí RAM, ale
>> zde by šlo o ještě jiný, další paralelní adresový prostor.
>>
>> Zdraví Pavel


Další informace o konferenci Hw-list