[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