Ana Sayfa
»
Teknoloji
»
Arduino setler içinde Multi thread çalışan model var mı Varsa en iyisi hangisi?
Arduino setler içinde Multi thread çalışan model var mı Varsa en iyisi hangisi?
0 kişi takip ediyor.
Paylaş:
23
Arduino diye işlemci yok. Arduino kartın ve karta yüklenen botloader in adı. Kullanılabilecek İşlemcinin(mimarinin adı ibrahim ve adil beye teşekkürler) bir tanesinin adı arm threade uygun
Multi thread işlemci. Çok çekirdekli işlemcilerde olur yalnızca. Fiziksel threadler. Ama arduino da yalandan threadler oluşturabilirsin. Multithreadid yapbilirsin. ArduOs var bildiğim kadarıyla.
İslemcinin adi arm degil, arm bir mimari yapan firma,
Arm çok çekirdekli değildir threadleri yine de sırayla çalıştırırsın. Sadece pipeline şeklinde çalıştığı için daha hızlı çalışır. Senin üzerinde yazacağın işletim sistemiyle aynı anda birden çok işlem yapıyormuş gibi çalışır. Sevgiler
arduino yani(atmel ) ile yapılacaksa ki sıkıntılı bir durum. Zaten fazla bi ihtiyaç hissedilmeyen bir durum. Arkadaş neden böyle bir ihtiyaç duydu onu anlasam bende bişeyler öğrenirim bu sayede.
Doğru
Multi thread olması için çok çekirdeği ihtiyaç yok Tek çekirdek de multithread çalışmayı sağlayabilir
Arduino da fazla ihtiyac olmayan bişey
Amaç ne
RTOS kullanabilirsin FreeRTOS gibi, doğru anladıysam ihtiyacını.
RTOS ile birden fazla task (thread) oluşturup aralarında senkronizasyon sağlayabilirsin
Amaç daha fazla işlemci gücüyle daha teknik daha fazla performans gerektiren prosesleri çalıştırabilmek
Threading ile tek cekirdekli islemci kapasitesini nasil arttirabilirsiniz? Teoride pek mumkun gelmedi
Timer değil midir bu işi yapacağınız, atmelde
Buğra Zabun, polling ile çalışan bir algoritmayı threading ile daha verimli hale getirebilirsiniz
Arastiracagim
Ok
Tek çekirdekli bir şeyin kapasitesi artmaz ama multithread yapar Belirli zaman aralıklarla çalıştırarak bu işlemi tek çekirdekliler yıllardan beri yapıyor
Onceki yorumunuzda daha fazla islemci gucuyle yazmissiniz, ek bir processor takmafiginiza gore mevcut olanin kapasitesini arttirmayi umdugunuz sonucunu çıkarıyorum o cumleden. Sanirim benim Turkcem kotu, kusura bakmayin...
Performansın artması programlamanın kalitesi ile de olur mesela tek çalışan prosesler beklemek zorundadır ama mu titret çalışanlar Belirli zaman aralıklarıyla çalıştığı için bekleme özelliği yoktur Dolayısıyla programlama kalitesiyle ilgilidir performans birazdan
Arkadaşlar multithread mevzusu yıllardan beri var olan bir şey tek çekirdekli işlemcilerde bu yıllardan beri mevcuttur Windows da değil ama linuxta Fork bile edebilir
Yani multithread çekirdek ile alakalı değildir demek istiyorum
Multithread işlemini belirleyen iki şey var biri işletim sistemi biri yazılım. Arduino nun basit versşyonları işletim sisteminden yoksun oldukları için sizin işi sağlamaz
Yanlissam duzeltin, single core ile multicore islemciler uzerinde yapilan threading islemi ayni degil. Teorik olarak olamaz da zaten. Bilgim kisitli ama kesinlikle multithreadingin ne olduğunu biliyorum https://stackoverflow.com/questions/37226594/whats-the-point-of-multi-threading-on-a-single-core
Bu baglamda tek core processor uzerinde threadlar ile calismanin size yuk dagitimi haricinde performans katkisi oluyor mu? Sorum buydu. Mumkunse bir workbench ile cevaplarsaniz sevinirim
İşlemciyi etkin kullanmanı sağlıyor. Arduino kodları genelde loop fonksiyonu içerisinde işlemciyi bloke ederek verimsiz şekilde sorgulamalar yaparak yazılıyor, RTOS kullanıldığında sadece ilgili olaylar oluştuğunda gerekli komutlar öncelik sırasına göre çalıştırılıyor.
Döngü halinde girişleri okuyup çıkışları sürerken arada interrupt oluştuğunda oluşabilecek kargaşa ve hatta kayıplar önleniyor
Raspery lere bakın derim.
Multithread işlemcinin birkaç işlemi Belirli algoritmalara göre aynı anda yapıyor gibi gözükmesi
Herkese teşekkürler
Mesela intel p4 ler vardı zamanında tek işlemcili aynı anda hem paint hemde winamp çalıştırır dık
Müziği reme bir kısmını yükler sonra painten iki komut işler sonra gider biraz daha müzik ekler reme diye çalışır
Arduino da bu tarz bişeye normal olarak ihtiyaç yok. Kodla kendin düzenlersin. Ama proje büyükse raspery gibi veya arm 32 bitlik büyük işlemciler var onda olablir
aslında yapmayı istediğim sey yapay zeka kulanarak (image processing yapacak) kendiliğinden a noktasından b ye giden mini prototip bir araba. Işığa bakacak. Trafik kuralına uyacak. Bariyere carpmayacak ve yoldaki gorunmeyen degerlere gore yol bulacak. Bu yuzden işlemci gucu için ne kulanabilirim diye merak ettim
16MHz clockspeed ile çalışan bir denetleyici söz konusu, bir işlemciye yönelmeniz daha akıl k^arı
raspberry pi(başka sbc de olur ama başlangıç için rasp iyidir)
yapay zeka yerine sadece opencv yeterli olacaktır diye düşünüyorum
onun için opencv kullanabilirsin