CPU Temelli Yonga Türlerine Göz Atalım.
Gömülü sistemlerin çekirdeğini oluşturan yongalardan kısaca bahsetmek istedim. Sıkılmadan okunması için iki parçada özetleyeceğim. İlki bu yazımın konusu olan, CPU temelli yongalar, diğeri ise PLD (Programlanabilir Logic Device) türü yongalar ve PSoC’ lardır. Aşağıdaki yazıda CPU temelli yongalar üzerinden kısaca geçtim ve farklarından bahsettim. Gömülü sistemlerin sadece elindeki işlemciden ibaret olduğunu düşünen yeni başlayan arkadaşlar ve işin içine gömülüpte bunları unutup giden profesyonellere bir anımsatma mahiyetindedir. Araştırıldığında çok rahat erişilebilecek olan bu bilgileri tümüyle kendi yorumumla anlaşılır olarak özetlemeye gayret ettim. Sıkılmadan okumanız dileğiyle.
İŞLEMCİ- CPU (Central Processing Unit )
ALU, FPU, Registers, DataBus, Adress Bus, Command Bus, CASHs, PC (Program Counter), SC (Stack Counter), SR (Status Reg) gibi birimlerden oluşur. İşlemci içinde sadece makine dili ile işlem yapılır. İşlemleri yapabilmek için belirlenmiş bu komutlar bütününe ise Komut Seti (Instruction Set) adı verilir. Gelişmiş işlemcilerde elbette farklı bileşenler de mevcuttur ancak genel yapı budur. Ram, Program Memory, ADC, Clock Manager, Giriş/Çıkış birimleri, Voltaj Regülatörleri, Display sürücüleri vs. şeyler işlemcide olmaz. Tüm bu çevresel birimleri donanımınızda haricen tasarlamalısınız. İşte bu sebepledir ki 90’lı yıllara kadar gömülü sistemler çok fazla yayılamadı. Ne zaman ki bu çevre birimleri aynı paket içine alınıp MCU kavramı ortaya atıldı, işte o zaman gömülü sistemler konusu artık erişilebilir, yapılabilir bir forma büründü.
İşlemcileri yapısal ve komut seti yapısına göre ayırabiliriz.
Yapısal olarak; Harvard ve Von Neumann mimarileri şeklide ayrılırlar. Temelde Harvard mimarisinde veri ve komutlar ayrı kanallardan bağımsız çalıştırılırken, Von Neumann mimarisinde ise tek kanaldan çalıştırılır. Neredeyse günümüzde tüm işlemciler Von Neumann mimarisine yönelmiştir.
Komut Seti yapısına göre; CISC ve RISC olarak ayrılırlar.
- CISC: (Complex Instruction Set Computer ) Yüksek sayıda komuta sahip bir komut seti yapısıdır. Neredeyse her işlem için bir komut kullanılır. Bu da programlamayı zorlaştırır ancak hızlıdır. MCU, MPU gibi ürün gruplarında tercih edilmez. CPU’lar CISC mimarisinde olabilmektedir.
- RISC: (Reduced Instruction Set Computer) Sınırlandırılmış komut kümesine sahip bir komut seti yapısıdır. Programlamayı kolaylaştırır ancak CISC’e göre yavaştır. MCU, MPU gibi ailelerde bu komut seti yapısı tercih edilir. Popüler olduğu için belirtiyorum, ARM ‘da RISC mimarisinde bir ailedir.
MİKROKONTROLCÜ
MCU ( Micro Controller Unit )
CPU’da bulunmayan, çevre birimler, RAM, Program Memory, ADC, DAC, PWM, Clock Manager, Giriş/Çıkış birimleri, haberleşme bileşenleri, Voltaj Regülatörleri, Reset sistemleri, Display sürücüleri, timer, osilatörler gibi bileşenleri tek bir paket içinde bulunduran akıllı yongalardır. Gömülü sistemlerin en popüler aileleridir. Sınırlı hız, sınırlı bellek ve sınırlı yetenekleri ile erişilebilir cihazlardır. $0,3 ile $20 arasında çok farklı marka ve modelde ihtiyaca uygun ürünler bulunabilir. Kaynak olarak ta oldukça zengindirler. Her üretici neredeyse her sektör ve ihtiyaca uygun modelleri siz geliştiricilerin hizmetine sunmuştur. Intel’in 8051’i ile başlatılmış olan bu kavram , Microchip’in PIC’i ile popüler olup gömülü sistemlerin yayılmasına ve kolay üretilmesine olanak sağlamıştır.
UYGULAMA İŞLEMCİLERİ — MPU ( Mikro Proccesing Unit )
Bazı üreticiler tarafında Application Proccesor veya Advanced Proccesor olarak ta geçer. Özünde MCU ‘nun yetmediği, CPU gibi çok genel ve complex yapılara da ihtiyacın olmadığı uygulamalarda tercih edilen yonga grubudur. Ben daha çok Application Proccesor demeyi seviyorum. Sonuçta uygulama işlemcisi ya bu arkadaşlar. Gerçekten de üreticiler bu arkadaşları otomotiv, medical, savunma, uzay, endüstriyel, bireysel kullanımlar gibi amaçlara göre özel donanımlar ile donatırlar. Yani otomotiv için kullanılacak bir MPU’ da çok güçlü haberleşme özellikleri öne çıkarken, bireysel kullanımlara uygun MPU ‘ larda (cep telefonu, televizyon vs.) görüntü, ses, 3d ,TFT çözümleri vs. içerebilmektedir. MCU’ nun yetmediği yerler diyoruz ya. Temelde fark hız ile başlıyor. Bu arkadaşlara baktığınızda 300MHz, 1000MHz gibi hızlar görebiliriz. Birden fazla çekirdek olanları da artık sık sık kullanılıyor. Diğer bir ayrım ise harici bellek desteği sunuyor olmasıdır. Bu yongaların içinde CASH gibi adlandırabileceğimiz küçük boyutlarda bellekler olur. Program belleği, RAM gibi bellekler işlemcinin dışındadır. Tıpkı CPU’ lar gibi. Kimi zaman bu bellekleri donanımsal olarak işlemcinin hemen üzerine konumlandırırlar. Dışarıdan bakıldığında tek bir yongaymış gibi görünürler ancak temelde ayrıdırlar.(bkz. PoP (Package on Package))
Uygulamalarınızda Embedded Linux, Embedded Windows, Android gibi işletim sistemlerine geçmişseniz MCU normundan çıkıp bu arkadaşlar ile tanışma vaktiniz gelmiş demektir. Bu yongalar ile çalışmaya başladığınızda, hızınız da artacağından PCB tasarımı konusunda daha ciddi bir çalışmaya ihtiyaç olur. Bu sebepledir ki yukarıdaki görselde olduğu gibi MPU+Memory paketini içeren modüller şeklinde piyasada boy gösterebilirler.
Aşağıda popüler MPU üreticisi firmalardan kısaca bahsettim;
RENESAS : Mitsubishi, Hitachi ve sonrasında NEC firmalarının katılımı ile oluşan JAPON Semiconductor Markasıdır. Endüstriyel işlemciler konusunda gözünüz kapalı güvenin. Pahalı olmasına karşın dünyada en fazla kullanılan işlemci markasıdır. Sağlam ve güvenilir, 7/24 çalışacak, EMI/EMC uyumu yüksek cihazlar için biçilmiş kaftandır kendileri. RZ Ailesi de bu markanın MPU gurubudur, incelemenizi tavsiye ederim. https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rz.html
Amerikalı bir semiconductor firmasıdır. Low Enerji MCU ve DSP konusunda popüler bir markadır. OMAP ile popüler olduğu Application Proccesor serisine SITARA yı satın aldıktan sonra bu ad ve aile üzerinden devam etmiştir. http://www.ti.com/processors/overview.html
Amerikalı bir semiconductor firmasıdır. PIC ailesi sayesinde cemi cümlemizi MCU kavramı ile tanıştırmış eli öpülesi şirkettir. Her ne kadar kendilerinden çok haz etmesem de 😊 Şaka şaka, ayrım yok, ayrım yok hepsi güzel 😊. Microchip, ATMEL’in SAM Serisi lisanslarını kendi bünyesine katarak bu aileyi oluşturdu. İncelemek isterseniz: https://www.microchip.com/design-centers/32-bit-mpus
İsviçre merkezli Avrupalı bir semiconductor firmasıdır. ST ‘nin kendi bünyesinde oluşturduğu ve şimdilik içinde Cortex A7+Cortex M4 Co-proccesor barındıran bir MPU ailesi vardır. İncelemek için : https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-arm-cortex-mpus.html
Hollanda merkezli Avrupalı bir semiconductor firmasıdır. Philips ‘ten kaparak kurulmuştur. 2015’te Freescale firmasını satın alarak MPU tarafını güçlendirmiştir. Ürünleri halen aynı seriden devam ettirmektedir. https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors:IMX_HOME
Güney Koreli şirket bu konuda oldukça iddialıdır. Farklı uygulamalara özgü MPU serisine sahiptir. https://www.samsung.com/semiconductor/processor/
SİNYAL İŞLEYİCİLER — DSP ( Digital Signal Proccesor)
Analog sinyallerin hassas bir şekilde dijitalleştirilmesi ve işlenmesi için kullanılan işlemcilerdir özetle. MCU ‘lara göre analog sinyal işleme, zamanlayıcılar, filtreler, sentezleyiciler, dijital analog dönüşümleri gibi konularında çok daha gelişmiş bileşenlere sahiptir. Ses, RF sinyal işleme ve ayrıştırma, uzay ve savunma teknolojileri, parmak izi tanıma, medikal tarama ve teşhis, görüntü tanıma ve işleme gibi analog verilerin işlenmesi gereken her alanda çok daha başarılı sonuçlar çıkartabilir. DSP konusunda TI (TMS Series) ve Michrochip’ in (dsPIC Series) erişilebilir güzel ürünleri mevcuttur. http://www.ti.com/processors/digital-signal-processors/overview.html
Bu başlığı daha fazla uzatıp sıkmamak için aşağıdaki konuları bir başka başlık altında özetleyeceğim.
Programlanabilir-Programlanamaz Logic Devreler:
PLD,PAL, GAL, CPLD, SPLD, FPGA, ASICs ve PSoC
Uğur TARLACI // 2020
ugurtarlaci@yahoo.com