Dosya Gömülü yazılımlar ve teknolojiler 18 EYLÜL 2015 / 16:10

Gömülü yazılımlar donanımın bir uzantısı değil, donanım yazılımın vücut bulmuş hali

Ali Akurgal

Her ne kadar günümüzde yazılımlar mikroçiplerin bir parçası olarak görülüyor olsa da artık bu mikroçipler, geçirdikleri evrimler sonucun işlevi yazılımlar sayesinde kazanıyor ve buna göre çalışıyor.

Önce FET (field effect transistor) keşfedildi. FET, aslında, bir hortumun içinden geçen suyun miktarının, hortumun ezilmesi ile kontrol edilmesi prensibine dayanıyordu ve o sıralarda kullanılan tek elektronik aktif devre elemanı olan “radyo lambası”nın (vacuum tube) germanyum maddesi üzerindeki kopyası idi. FET, günlük yaşamımızda pek yer bulmadı. Ardından, bir baz plakası üzerinde, ikisi de bazdan dışarı doğru akım akıtan diyottan oluşan (NPN) bipolar transistor keşfedildi. Bunda, diyotun biri, devrede ters kutuplu olarak duruyor ve akım akıtmıyorken, diğer diyottan akıtılan akıma oranlı olarak ters kutuplu diyotun akım kaçırması sağlanmıştı buna “transistor effect”; kolektörden içeri kaçırılan akımın bazdan içeri verilen akıma oranına da beta denildi. Bipolar transistor "transistorlu radyolar" ile günlük yaşamımıza girdi.


Solda FET, sağda pibolar transistor yapısı. Ortada geleneksel görünüm.


Aynı devre elemanı içerisinde birden fazla transistorun yer aldığı çözümlere tümdevre (integrated circuit) diyoruz. Hiç öyle adlandırılmasa bile, bu tanıma uygun ilk devre elemanı,"Darlington transistor". Burada, iki bipolar transistor ardı ardına bağlanarak, betalarının  çarpımı kadar bir kazanç sunmaktaydılar. İlk karmaşık tümdevreler, analog yükselteç (operational amplifier) türü devrelerdi.

Analog yükselteç, “Op-amp”.


Bunları, sayısal mantık devreleri (AND, NAND, OR, NOR gate) izledi. Yüzlerle, binlerle değişik işlev (fonksiyon) içeren devre elemanı yapılmasına karşılık, devre tasarımcılarının özel isteklerinin ardı arkası kesilmeyince, devre elemanı üreticileri, transistor tarlası gibi alanlar oluşturup, bu transistorlar arasındaki devre bağlantılarının kullanıcı tarafından yapılabilmesine olanak tanıyan "uygulamaya özel tümdevre - ASIC" çözümlerini pazara çıkardılar.

Tipik bir ASIC. Tarlalar hazır, metal maskesi ile bağlantıyı kullanıcı yapacak.


Bu tümdevrede, transistorlar arasındaki bağlantılar metal maskesinin devre tasarımcısı tarafından yapılmasıyla elde edilmekteydi. Zamanla, ASIC'lerde, analog ve sayısal karma devreler kurmaya uygun "hazır metal maske şablonları kütüphanesi" bile sunuldu (Flexar library). Bir taraftan da, hepsi sayısal kapılardan oluşan tarlaların komutlarla istenildiği gibi dizilmesine olanak tanıyan sayısal ASICler pazarda yer aldı bunlara “field programmable gate array – FPGA” denildi. Belki ilk gömülü yazılımın bunlar üzerinde yer aldığını söylemek yanlış olmayacak.

FPGA. Bir anlayışa göre ilk gömülü yazılım FPGA’de yer almış oluyor.


Sonunda, devre tasarımcısının bitmez tükenmez isteklerinden bıkan bileşen üreticileri, “sıkıldım artık, al, ne işlev tanımlayacaksan sen tanımla” dercesine PIC’i ürettiler. Burada, tümdevrenin bir ayağı analog mu sayısal mı, giriş mi çıkış mı olacak kullanıcı belirliyor. İsterseniz 40 bacaklı bir tümdevrede 37 giriş 1 çıkış tanımlıyorsunuz, isterseniz, aynı tümdevrede sıfır giriş 38 çıkış tanımlıyorsunuz. İki ayak toprak ve güç kaynağı, geriye kalanı giriş veya çıkış olabiliyor. 5-6 tanesi de analog işaret olabiliyor.

Anlatmaya çalıştığım, “gömülü yazılım”ın, yazılım ana dalının ayrılarak donanım içerisinde yer alan bir uzantısı değil, donanımın geçirdiği evrimler sonucunda işlevini yazılım yardımıyla tanımladığımız devrelerin ortaya çıkmasıyla vücut bulduğu. Burada ilginç olan, evrimde, aşama aşama işlevin nasıl “yüklenebilir” kılındığı. ASIC aşamasında tümdevreye ne işlev yükleyecekseniz, metal maskesi öyle basılıyordu, ve bir daha değiştirilemiyordu. Sonradan metal maskeyi tek tip basmaya, istemedikleri kısmını devre kart üzerine konulduktan sonra yakarak işlev yüklemeye başladılar. Derken, günümüzde, PIC ile artık defalarca farklı işlevler yüklenebiliyor, hattâ sahada, kartın üzerinden sökmeden değiştirilebiliyor. Gömülü yazılım, bu anlamda, bir işletim sistemi bir işlemciye nasıl yükleniyorsa ondan farksız, hattâ daha kolay yüklenir duruma gelmiş bulunuyor.

PIC ve ona işlevini kazandıran gömülü yazılım. Yazılımı (solda), sağdaki PIC’e gömüyoruz.


Gömülü yazılım, bundan böyle artık en beklemediğiniz yerde her cihazın içinde yer alacak. Çünkü, düşük bedeli ile PIC, hemen tüm işlevleri üstüne almaya başladı. Sabah ekmek kızartacaksınız, ekmeğin ne kadar kızaracağını denetleyen bir gömülü yazılım, kızartacağın içinde görünmeden arka planda çalışıyor. Türk kahvesi yapan makineler de pişirme sürecini gömülü yazılımla denetliyor ve yönetiyorlar. Çok yakında, tuvalette işinizi bitirdiğinizde sizin arkanızdan temizliği kendiliğinden yapan rezervuarlar otellere has olmaktan çıkıp her eve girecek. Böylece tuvalete gitmek için değil ama, oradan çıkarken bile gömülü yazılım kullanıyor olacaksınız.

Otomotivde ise iş çığırından çıkmış durumda. Yağmur yağdığında hattâ cam tozlandığında silecekleri çalıştıran bir ECU. Hava karardığında farları yakan bir başka ECU, aracın her lambasını tek tek kontrol eden biri bozulduğunda önünüzdeki ekranda “sol ön gündüz farı arızası” diye uyarı mesajı çıkartan bir başka ECU, radyo ve ses düzenini saymayalım, ama çoğu ile tümleşik, aracın ön ve arkasındaki nesnelere olan mesafeleri ölçen ve radyo ekranında gösteren bir başka ECU. Motoru çalıştıran bir başka ECU, dört tekerleğe ayrı fren basınçları hesaplayarak virajda savrulmayı önleyen bir başka ECU, kaymayı ölçen ve önleyen bir başka ECU, … Sözün özü, önümüzdeki sene, orta sınıf (C sınıfı) bir araçta ECU’ların toplam değeri, metal aksamın toplam değerini geçecek. Peki, o zaman otomotiv’i makine sektöründen silip, elektronik sektörüne mi yazacağız?

Nedir bu ECU derseniz, “electronic control unit”. Bizâtihî “gömülü yazılım”. Türkiye’nin ihracat şampiyonu olan otomotiv, kullandığı ECU’ları baskın biçimde yurt dışından almakta. Hani, bunlar yerli olarak temin edilebilse, yerli katkı oranı birden katlanıverecek. Ama olmuyor. Neden mi? Komik bir şekilde, bu ECU’ları kullandığınızda aracın yeniden sürüş güvenliği sertifikası alması gerekiyor. Buna ilişkin deneyleri yapabilecek laboratuarlar Türkiye’de var ama akredite değil. Özetle, elektronik sektörü olarak ECU yapmaya hazırız da, bunu otomotivde kullanmak için ülke olarak alt yapımız yetersiz.

Yaşamımızı kolaylaştırıcı, yaşam kalitemizi, gönencimizi artırıcı etkileri olan uygulamaların çekirdeğinde, çoğu yerde gömülü yazılım yer almakta. Akıllı binalar, yoğun olarak gömülü yazılım içeren yönetim birimleri (control unit) kullanacak. Bu sâyede, örneğin, günümüze kadar kimselerin söz etmediği bir konfor unsuru, konutlarımızdaki “hava kalitesi” yönetilebilecek. İnsanların yaşam alanlarındaki havanın yalnızca sıcaklığı değil, nem, oksijen ve karbondioksit oranları da denetlenip belli sınırlar içinde tutulabilecek. Uygun ortamda, insanlar yorulmadan daha uzun süreler çalışabilir ve daha kısa sürede dinlenebilir olunca da verimlilik artacak. Tıpkı tavuk çiftliklerinde uygun ortamı sağlayıp 4-5 haftada yumurtadan kesime piliç yetiştirildiği gibi. İşin bu yanını da toplum bilimciler düşünsün!
ETİKETLER : 1039