[OSy] Pasivni cekani

Petr Tuma petr.tuma at dsrg.mff.cuni.cz
Fri Oct 12 14:46:04 CEST 2007


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

-- 
Petr Tuma
Distributed Systems Research Group
Department of Software Engineering
Faculty of Mathematics and Physics
Charles University, Czech Republic
   http://dsrg.mff.cuni.cz/~ceres




More information about the NSWI004 mailing list