1.2 Les timers
Les timers
Programmable Interrupt Timer (PIT)
– compteurs programmables en mode one-shot ou p´
eriodique
– r´
esolution temporelle : µs
– un des compteur est utilis´
e comme ”timer syst`
eme”
– le timer syst`
eme g´
en`
ere l’INT de plus haute priorit´
e : l’INT timer (IRQ 0)
– Ex : puce intel 825x, inclus dans le southbridge `
a l’adresse I/O : 0x40-43
Time Stamp Counter (TSC)
– compteur (registre) 64 bits interne au CPU ix86
– incr´
ementation de 1 `
a chaque signal d’horloge CPU
– 190 ans pour le remplir `
a 3GHz, r´
esolution : nanosecondes (ns)
– accessible par une instruction processeur (asm) ”RDTSC”
Timers
Linux : usage des timers
– variable kernel xtime
– initialis´
ee `
a partir de la Real Time Clock
– fr´
equence de rafraˆ
ıchissement 1000Hz
– usage : gettimeofday()
– variable kernel jiffies
– variable 32 bits
– incr´
ement´
ee `
a chaque interruption timer (100 ou 1000Hz pour linux, d´
efini `
a
la compilation du kernel)
– utilis´
ee par le noyau et pour la fr´
equence de r´
eordonnancement des threads
– usage : void init timer (struct timer list* timer) et scheduler tick()
– registre TSC
– la meilleur r´
esolution (ns)
– usage : rtdsc(low,high), lecture en 2 variable 32 bits du TSC
– utilis´
e par le Linux temps r´
eel Xenomai sur architecture intel386
2 Interruption
Interruption
D´
efinition d’une interruption mat´
erielle
– signal sur une broche (INT) du CPU d´
eclenchant l’ex´
ecution d’une routine
– notification au CPU d’´
ev´
enements asynchrones en provenance des p´
eriph´
eriques
(ex : touche enfonc´
ee, fin d’un transfert m´
emoire)
–´
economie pour le CPU du temps de scrutation des p´
eriph´
eriques
4