Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: muhittin_kaplan - 11 Kasım 2016, 12:25:40

Başlık: interrupt gecikmesi
Gönderen: muhittin_kaplan - 11 Kasım 2016, 12:25:40
72mhz de çalışan bir stm32f103 un interrupta girmek için geçen süre ne kadardır ?
Başlık: Ynt: interrupt gecikmesi
Gönderen: Zoroaster - 11 Kasım 2016, 12:30:49
O an işlettiğin komuta da bağlı.

En az 12 clk tutuyor.
Başlık: Ynt: interrupt gecikmesi
Gönderen: muhittin_kaplan - 11 Kasım 2016, 12:34:49
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 ?
Başlık: Ynt: interrupt gecikmesi
Gönderen: Zoroaster - 11 Kasım 2016, 13:02:23
En az 166ns gibi bir gecikme var.

5us mümkün değil.
Başlık: Ynt: interrupt gecikmesi
Gönderen: Cemre. - 11 Kasım 2016, 13:08:46
@Zoroaster hocam "en az" kelimesini açmanız mümkün mü? Ne olursa daha uzun sürer?
Başlık: Ynt: interrupt gecikmesi
Gönderen: Zoroaster - 11 Kasım 2016, 13:27:55
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.

Başlık: Ynt: interrupt gecikmesi
Gönderen: Cemre. - 11 Kasım 2016, 13:41:00
Anladım hocam teşekkürler.
Başlık: Ynt: interrupt gecikmesi
Gönderen: muhittin_kaplan - 11 Kasım 2016, 13:44:19
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.
Başlık: Ynt: interrupt gecikmesi
Gönderen: Zoroaster - 11 Kasım 2016, 13:48:04
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.
Başlık: Ynt: interrupt gecikmesi
Gönderen: muhittin_kaplan - 11 Kasım 2016, 13:52:27
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ı ?
Başlık: Ynt: interrupt gecikmesi
Gönderen: Zoroaster - 11 Kasım 2016, 14:00:11
Mevcut int rutinini kesemediğimiz durumlar önemli değil dersek galiba evet.