[OSy] Pasivni cekani

David Matousek david at matousec.com
Fri Oct 12 14:54:26 CEST 2007


Diky! Pokud nevyjde WAIT, tak se uchylim k while(1);

DM


Petr Tuma wrote:
> Zdravim,
> 
> mozna jeste odpovi doktor Holub, ktery psal MSIM, ja bych ale od boku 
> rekl, ze obdoba HLT v podobe instrukce neexistuje. Ve Status registru 
> CP0 je nejaky bit Reduced Power, ale pocitam, ze ten MSIM stejne ignoruje.
> 
> Tedy zaver, NOP to urcite neni a klidne misto HLT udelejte skok sam na 
> sebe, z pohledu simulatoru to vyjde nastejno ...
> 
> Petr Tuma
> 
> 
> David Matousek wrote:
>> Zdravim a dekuji,
>>
>> jen bych prave potreboval vedet tu instrukci HLT pro MIPS :)
>> prave nechci "topit", muj tip je instrukce nop, ale protoze si nejsem
>> jist, tak se ptam. V Kalisto sice vidim neco jako __halt popr. __stop,
>> ale komentar u techto maker mi rika, ze to neni to, co hledam, takze ...
>> je to nop?
>>
>> Ja sice vidim v manualu, ze
>>
>> ----
>> nop
>>
>> Tells the assembler to put in an instruction that
>> has no effect on the machine state. While
>> several instructions cause no-operation, the
>> assembler only considers the ones generated
>> by the nop directive to be wait instructions.
>> This directive puts an explicit delay in the
>> instruction stream.
>> ----
>>
>> coz je jediny duvod, proc si myslim, ze je to nop, ale stale si nejsem jist ...
>>
>>
>>
>> DM
>>
>>
>>
>> Petr Tuma wrote:
>>> Zdravim,
>>>
>>> no jo, to jeste nebylo na prednasce :) obvykle reseni situace, kdy neni 
>>> koho jineho spustit, je to, ze se do planovani zahrne extra proces, 
>>> ktery se v takovem pripade spousti :) s MIPS procesorem to nema moc 
>>> spolecneho, je to proste obecne reseni, ktere dovoluje udelat jednodussi 
>>> planovac (a ano, tenhle extra proces zpravidla vlastne aktivne ceka, 
>>> takze z hlediska vyuziti procesoru se nic nemeni - na nekterych 
>>> architekturach lze ale napriklad udelat to, ze tento proces zastavi 
>>> procesor (neco jako treba na Intelech instrukce HLT) az do zadosti o 
>>> preruseni, to pak zmensuje spotrebu nezatizeneho pocitace)).
>>>
>>> Petr Tuma
>>>
>>>
>>> David Matousek wrote:
>>>> Zdravim,
>>>>
>>>> Nejsem si jist, jestli to neni RTFM question, ale zkusim ...
>>>>
>>>> Jak na MIPSu udelam neaktivni cekani.
>>>> Mam treba getc(), mam cekat, dokud neni znak,
>>>> znak mi prijde z interruptu klavesnice, ale jak na to pockat.
>>>> Reseni typu while(neco) ; je trosku topitko na procesor.
>>>> Jde mi o situaci, kde neni zadne vlakno ve stavu ready (popr. je jen jedno
>>>> vlakno - napr. pri inicializaci v kernel mainu).
>>>> Potreboval bych procesoru nejak rict, ze nechci nic vykonavat
>>>> a jen cekat - treba na preruseni.
>>>>
>>>>
>>>> DM
>>>>
>>>> _______________________________________________
>>>> OSy mailing list
>>>> OSy at dsrg.mff.cuni.cz
>>>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>> _______________________________________________
>> OSy mailing list
>> OSy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
> 




More information about the NSWI004 mailing list