Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

interrupt gecikmesi

Başlatan muhittin_kaplan, 11 Kasım 2016, 12:25:40

muhittin_kaplan

72mhz de çalışan bir stm32f103 un interrupta girmek için geçen süre ne kadardır ?

Zoroaster

O an işlettiğin komuta da bağlı.

En az 12 clk tutuyor.
Seytan deliginden kacti.

muhittin_kaplan

kendimden şüphe ettim, her komut farklı cycle adedinde olduğunda sürede değişken olur. (diye biliyorken) arkadaşın biri, 5us tutuyor çok yavaş dedi. Şimdi 72Mhz olursa 1 cycle süresi nedir ?

Zoroaster

En az 166ns gibi bir gecikme var.

5us mümkün değil.
Seytan deliginden kacti.

Cemre.

@Zoroaster hocam "en az" kelimesini açmanız mümkün mü? Ne olursa daha uzun sürer?

Zoroaster

#5
Mesela bölme komutu işletilirken int geç cevaplanır. Çünkü bölme komutu 12 cycle kadar devam edebilir. 64x64 çarpma işlemi 2 den fazla cycleda tamamlanır. Bazı komutlar ise 2 cycle sürdüğünden +1 cycle bekleme gelir. Memory erişimi için wait state varsa ve o anda memory erişimi yapan komut işletiliyorsa wait state'i eklemek lazım.

Interrupt üretildiğinde zaten bir interrupt rutini işletiliyorsa ve yeni int mevcut rutini kesecek önceliğe sahip değilse bu durumda o anda işletilen int rutini bitinceye kadar int beklemede kalır.

O yüzden üst sınır için kesin bir şey denemez.

Seytan deliginden kacti.

Cemre.

Anladım hocam teşekkürler.

muhittin_kaplan

Alıntı yapılan: Zoroaster - 11 Kasım 2016, 13:27:55
O yüzden üst sınır için kesin bir şey denemez.

nasıl üst sınır için birşey denilemez 1sn de sürer ozaman.

Zoroaster

#8
O zaman o int geldiği anda işlettiğin komutu söyle ona göre üst sınırı net olarak söyleyelim.

Bölme komutu 12 Cycle da biten rakamlarla uğraşıyorsa 24 Cycle da biter.

64x64 işlem yapılıyorsa ve rakamların büyükse 17 Cycle da biter.

Load yada store işleminde erişeceğin bazı registerler byte/halfword/word/ durumuna göre  12...15 cycle da biter.
Seytan deliginden kacti.

muhittin_kaplan

maksimum 12 olabilir dersek daha mı dogru deriz ?
çünkü o an işletilen komutun alabileceği max değer bölmede 12, daha fazla cycle tutan varmı ?

Zoroaster

Mevcut int rutinini kesemediğimiz durumlar önemli değil dersek galiba evet.

Seytan deliginden kacti.