Top secrets sources NedoPC pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

ìûñëè ïðî spi-îáìåí â penteve ìåæäó àâðêîé è ôïãîé.

1. êîãäà /CS (spics_n) =1  - èç àâðêè ïåðåäà¸òñÿ íîìåð ðåãèñòðà (ïîñëåäíèå
ïåðåäàííûå 8 áèò), à â àâðêó - ïåðåäà¸òñÿ áàéò ñòàòóñà (ïåðâûå 8 áèò ïîñëå
ïåðåõîäà spics_n 0->1). 

â áàéòå ñòàòóñà íóæíà òàêàÿ èíôà, êàê íàëè÷èå âàèòà íà ïðîöå è åãî ïðè÷èíà
(êëàâà, ÷àñèêè, åòö.). Êàêàÿ åù¸ èíôà - íåÿñíî/íå ïîìíþ.

2. Êîãäà spics_n = 0 - èäåò îáìåí ñ ðåãèñòðîì, íîìåð êîòîðîãî óñòàíîâëåí ðàíåå.
Ðåãèñòð íà çàïèñü, êàê ïðàâèëî - ñäâèãîâûé íåîïðåäåëåííîé äëèíû, êîòîðûé ìîæåò
áûòü çàïèñàí çà íåñêîëüêî ïðè¸ìîâ. Ýòî íóæíî, íàïðèìåð, ÷òîáû ïðåðûâàòü çàïèñü â
êëàâèàòóðíûé ðåãèñòð (5 áàéò) - ïî ìíîãî÷èñëåííûì ïðîñüáàì ôàíàòîâ òàïîê ;)

 çàïèñûâàåìûå ðåãèñòðû äëèíîé 1 áàéò ìîæíî ñòðîáèðîâàòü èíôó ïðè ïåðåõîäå
spics_n 0->1. Â ìóëüòèáàéòîâûå (ñ âîçìîæíîñòüþ ïðèîñòàíàâëèâàòü èõ çàïèñü)
ñòðîáèðîâàòü íàäî êàê-òî ïî-äðóãîìó. Ïðèìåð - çàëèëè âñå 5 áàéò êëàâèàòóðû
(âîçìîæíî, ñ ïåðåðûâàìè), ïîòîì ñòðîáèðóåì - ýòè 5 áàéò ïåðåïèñûâàþòñÿ â ðàáî÷óþ
êîïèþ, êîòîðóþ ÷èòàåò ç80.

Ïðåäëàãàåìûé ìåòîä ñòðîáèðîâàíèÿ äëÿ ìíîðãîáàéòîâûõ ðåãèñòðîâ: äðóãîé íîìåð
ðåãèñòðà, êîòîðûé íàäî óñòàíîâèòü (ïðè spics_n=1) è ïåðåä¸ðíóòü spics_n ÷åðåç 0.

ðåãèñòðû, êîòîðûå ìîæíî ñòðîáèðîâàòü ïîáàéòíî:

âñå 3 ðåãèñòðà ìûøè (ïîíÿòíî, ÷òî X-êîîðäèíàòà íå çàâèñèò îò êíîïîê è
Y-êîîðäèíàòû).

ðåãèñòð ñáðîñà (îí îäèí, è ïîêà â í¸ì äîñòàòî÷íî ìåñòà äëÿ óêàçàíèÿ
íåîáõîäèìîñòè ñáðîñà è ñòðàíèöû ÏÇÓ, â êîòîðóþ ñáðîñèòüñÿ).


×òåíèå ðåãèñòðîâ èç fpga. ×òåíèå ñòàòóñà óæå îáãîâîðåíî. ×òî åù¸ íàäî ÷èòàòü èç
fpga?
 - Äàííûå, çàïèñàííûå ç80 äëÿ âàèòîâîé ïåðèôåðèè. 1 ðåãèñòð.
 - ÷òî åù¸?

×èòàòü òàê æå. Ñòàâèì íîìåð ðåãèñòðà, îïóñêàåì spics_n, ÷èòàåì äàííûå. Ïðè ýòîì
îïóñêàíèå spics_n (1->0) ìîæåò ñëóæèòü ñòðîáîì êîïèðîâàíèÿ äàííûõ â ðåãèñòð
÷òåíèÿ, êîòîðûé âûäâèãàåòñÿ â avrêó.


Ïðîáëåìà: ÷òî äîëæíî ïðîèñõîäèòü ñ çàäàííûì íîìåðîì ðåãèñòðà, êîãäà ïåðåä¸ðíóëè
spics_n? Åñëè îí íå èçìåíèòñÿ, òî, ê ïðèìåðó, âîçìîæíû òàêèå ãëþêè:
1. ïîñëàëè 5 áàéò êëàâèàòóðû
2. ïîñëàëè ñòðîá êîïèðîâàíèÿ äëÿ êëàâèàòóðû (ñ ïåðåä¸ðãîì spics_n â êîíöå)
3. ÷åðåç âðåìÿ çàõîòåëè ïðî÷èòàòü ñòàòóñ: ïåðåä¸ðíóëè spics_n è íà÷àëè ÷èòàòü.
    ïðîöåññå ïåðåä¸ðãà, åñëè îñòàëñÿ óñòàíîâëåííûì ñòàðûé íîìåð (ðåãèòñð ñòðîáà
   êîïèðîâàíèÿ äëÿ êëàâèàóòðû, ñì. âûøå), äàííûå îïÿòü ñêîïèðóþòñÿ. Ïîêà íè÷åãî
   ïëîõîãî íå ïðîèçîøëî, íî ïîòåíöèàëüíîå çàæîïèå íàëèöî.

Ïîòîìó ïðåäëàãàåòñÿ:
1. ïî spics_n 0->1 îáíóëÿòü íîìåð ðåãèñòðà.
2. ïðè íóëåâîì íîìåðå ðåãèñòðà íèêàêîé ðåàëüíûé ðåãèñò íå äîëæåí áûòü âûáðàí.
3. ïðè íåîáõîþäèìîñòè òîëüêî ïðî÷èòàòü ñòàòóñ áåç óñòàíîâêè íîìåðà ðåãèñòðà,
   íàäî ïîñûëàòü 0.

Ýòî ïðèâåäåò òàêæå ê òîìó, ÷òî ïîñëå êàæäîãî ïåðåäåðãà spics_n íàäî çàíîâî
çàäàâàòü íîìåð ðåãèñòðà, äàæå åñëè çàïèñü âåäåòñÿ â îäèí è òîò æå ìíîãîáàéòîâûé.


...ïðîñüáà òàêæå ñîîáùèòü ñâîè ñîîáðàæåíèÿ.