CPU nedir?
CPU (Merkezi İşlem Birimi), bir bilgisayarın hesaplama ve kontrol merkezidir.
CPU, aritmetik mantık birimi, kontrol birimi, kayıtlar ve bunlar arasındaki iletişimi kolaylaştıran veriyollarından oluşur. Başlıca işlevleri arasında bilgisayar komutlarını yorumlamak ve bilgisayar yazılımındaki verileri işlemek yer alır.

1970'lerden önce, merkezi işlemciler birden fazla bağımsız birimden oluşuyordu. Daha sonra, mikroişlemci olarak bilinen entegre devrelerle üretilen merkezi işlemciler ortaya çıktı. Bu son derece kompakt bileşenlere mikroişlemci diyoruz ve bunların içindeki en karmaşık devreler, genellikle çekirdek olarak bilinen güçlü bağımsız birimler olarak tasarlanmıştır.
Hemen hemen tüm CPU'ların çalışması dört aşamaya ayrılabilir: Getirme, Kod Çözme, Yürütme ve Geri Yazma. CPU, bellekten veya yüksek hızlı önbellekten komutları alır, bunları bir komut kaydına yerleştirir, kodlarını çözer ve ardından komutları yürütür. Bir bilgisayarın programlanabilirliği kavramı, öncelikle CPU'nun programlanmasıyla ilgilidir.
MPU nedir?
MPU (Mikro İşlemci Birimi), mikroişlemci olarak da bilinen, programlanabilir özel bir entegre devredir.
MPU, bir sistem oluşturmak için bellek gibi birçok başka çevre birimiyle eşleştirilmesi gereken bir işlemcidir.
Mikroişlemciler genellikle güçlü CPU'ları temsil eder (geliştirilmiş CPU'lara benzer). Bu yongalar genellikle bilgisayarlarda ve üst düzey sistemlerde ana CPU görevi görür.

1980'lerde mikrobilgisayarlar ve oyun konsollarında MPU'ların kullanılmaya başlanmasıyla birlikte büyük bir popülerlik kazandılar. Zamanla MPU'ların boyutları küçüldü. Günümüzde yalnızca Intel ve AMD'nin x86 serisi CPU'ları MPU olarak kabul edilmektedir. Bu CPU'lar giderek daha karmaşık hale geldiğinden, onlara "mikroişlemci" adını vermek biraz yetersiz kalabilir.
Kişisel bilgisayarlar alanında, yukarıdaki şemaya benzer anakartlar görebilirsiniz. CPU, bellek modülleri, ses kartları vb. bileşenleri takarak eksiksiz bir bilgisayar sistemi oluşturulur. Anakartın tamamı büyük boyutludur ve üretimi karmaşıktır.
MCU nedir?
Mikrodenetleyici olarak da bilinen bir MCU (Mikro Denetim Birimi), büyük ölçekli entegre devrelerin ortaya çıkması ve gelişmesiyle birlikte merkezi işlemci, bellek, zamanlayıcılar/sayaçlar, çeşitli giriş/çıkış arabirimleri vb. bileşenlerin tek bir çip üzerine entegre edildiği bir mikrobilgisayarı ifade eder. Bu cihaz, kod çalıştırabilen minimal bir sistem oluşturmak üzere çok az sayıda bileşenle (dirençler, kondansatörler gibi) çalışabilir.

Kişisel bilgisayarlarda kullanılan genel amaçlı mikroişlemcilere kıyasla, bir MCU kendi kendine yeterliliğe (harici donanıma bağımlı olmamaya) ve maliyet etkinliğine önem verir.
En büyük avantajı, cihazların içine yerleştirilebilmesini sağlayan kompakt boyutudur, ancak sınırlı depolama kapasitesine, basit giriş/çıkış arayüzlerine ve daha düşük işlevselliğe sahiptir.
MCU'ların gelişimi, 8 bit 8051 mikrodenetleyiciler, 16 bit AVR mikrodenetleyiciler ve 32 bit STM mikrodenetleyiciler gibi aşamalardan geçmiştir.
MCU'lar, işlemcileri ve USB denetleyicileri, UART denetleyicileri, bellek, Flash vb. gibi çeşitli modülleri entegre eder. Sadece birkaç harici bileşenle bir elektronik sistem kurulabilir.
SOC ve SOPC nedir?
Bir Sistem Çip (SOC), bir bilgisayarı veya diğer elektronik sistemleri tek bir çip üzerine entegre eden bir entegre devredir.

Karşılaştırma yapmak gerekirse: MCU yonga düzeyindeyken, SOC sistem düzeyindedir. SOC, MCU’ların ve MPU’ların avantajlarını bir araya getirir; dahili RAM ve ROM’a sahip olmakla birlikte bir MPU kadar güçlüdür. Sistem düzeyinde kod depolayabilir ve çalıştırabilir, yani işletim sistemlerini (öncelikle Linux işletim sistemini) çalıştırabilir.
Ayrıca, SOPC de anlaşılması gereken bir kavramdır. Yukarıda bahsedilen kavramlarla karşılaştırıldığında, SOPC o kadar sık rastlanmaz, ancak önemi azalmamıştır.
SOPC (Programlanabilir Çip Üzerinde Sistem), donanım yapılandırmalarının değiştirilmesine olanak tanır; yani kendi çipinizi oluşturabilirsiniz.
MCU ve SoC: Temel Farklılıklar Nelerdir?
Modern gömülü sistemlerde, MCU ile SoC arasındaki sınır belirsiz olabilir, ancak temel farklar karmaşıklık ve uygulama alanlarında yatmaktadır.
1. Temel Mimari ve Entegrasyon
MCU (Mikrodenetleyici): Çip düzeyinde bir bilgisayar. Tek bir yonga üzerinde bir CPU, az miktarda RAM/Flash ve temel çevre birimlerini (GPIO, ADC, PWM) bir araya getirir. Basit görevlerde "kendi kendine yetebilme" amacıyla tasarlanmıştır.
SoC (Çip Üzerinde Sistem): Sistem düzeyinde bir entegrasyondur. Bir MCU'nun sahip olduğu her şeyi ve ayrıca GPU, NPU, DSP ve yüksek hızlı arabirimler (USB 3.0, PCIe) gibi karmaşık modülleri içerir. Esasen tek bir çip üzerinde tam bir bilgisayardır.
2. Performans ve İşletim Sistemleri
MCU: MHz hızlarında çalışır. Yüksek gerçek zamanlı performans ve milisaniyenin altındaki önyükleme süreleri sağlamak için genellikle Bare Metal kodu veya hafif bir RTOS (FreeRTOS gibi) çalıştırır.
SoC: GHz hızlarında çalışır. Linux, Android veya QNX gibi karmaşık işletim sistemlerini çalıştırmak üzere tasarlanmıştır ve çoklu görev ile yüksek performanslı bilgi işlem özelliklerini destekler.

Yazılım Katmanlarının Ayırt Edilmesi:
Temel yazılım farkı, çalışma ortamında yatmaktadır.
MCU: Verimlilik için optimize edilmiştir, Bare Metal veya FreeRTOS gibi hafif bir RTOS çalıştırır, deterministik performans ve düşük önyükleme süreleri sağlar.
SOC: Karmaşık çoklu görevler için tasarlanmıştır, eksiksiz bir BSP (Board Support Package) tarafından desteklenen zengin bir işletim sistemi (Linux, Android veya QNX) çalıştırır ve üst düzey uygulama geliştirmeye olanak tanır.
3. Karşılaştırma Tablosu: MCU ve SoC
| Comparison Dimension | Microcontroller (MCU) | System on Chip (SoC) |
|---|---|---|
| Core Count | Typically Single or Dual-core (e.g., Cortex-M0+/M4F) | Multi-core Heterogeneous (4-8 cores CPU+GPU+NPU) |
| Main Frequency | 48MHz - 300MHz | 1GHz - 2.5GHz+ |
| Computing Power | DMIPS Level (Simple control tasks) | TOPS Level (AI Computing, e.g., NVIDIA Orin 254 TOPS) |
| Memory (RAM/Flash) | Flash: 128KB - 8MB RAM: 16KB - 1MB | Flash: 64GB - 512GB (UFS/eMMC) RAM: 8GB - 32GB (LPDDR) |
| Graphics Processing | No GPU; Simple LCD drive support | Integrated GPU; Supports 4K/8K Display & 3D Rendering |
| AI Acceleration | No NPU; AI tasks rely on CPU software | Integrated dedicated NPU for AI inference |
| Process Node | 40nm - 90nm (Mature/Automotive Grade) | 5nm - 16nm (Advanced Process) |
| Operating System | RTOS (FreeRTOS, uCOS) or Bare Metal | Full OS (Linux, Android, QNX) |
Aradaki temel fark şudur: MCU, basit ve gerçek zamanlı görevler için tasarlanmış bağımsız bir denetleyiciyken, SoC ise ağır işletim sistemlerini ve yapay zeka görevlerini yürütmek üzere çok sayıda işlemciyi (GPU ve NPU gibi) bir araya getiren karmaşık bir sistemdir.
MCU ve MPU
MCU, yonga üzerinde entegre edilmiş çevresel aygıtlara sahiptir ve kodu çalıştırmak için basit çevresel aygıtları (dirençler, kondansatörler) doğrudan ekleyebilirsiniz. Esasen, bu yine de bir işlemci ve çeşitli arayüzlere sahip eksiksiz bir tek yongalı mikrobilgisayardır. Tüm geliştirme çalışmaları mevcut sistem mimarisine dayanmaktadır. Kullanıcının yapması gereken tek şey, yazılım programları geliştirmek ve harici aygıtlar eklemektir.
MPU'da çevre birimleri (bellek dizileri gibi) yoktur; bu, yüksek düzeyde entegre edilmiş genel amaçlı bir işlemcidir ve entegre çevre birimlerini ortadan kaldıran bir MCU'dur. ARM'ın Cortex-A serisi gibi MCU'lar, esasen CPU'nun geliştirilmiş bir versiyonu oldukları için kodu doğrudan çalıştıramazlar ve ilgili RAM ve ROM'un eklenmesi gerekir.
| Feature | Microcontroller (MCU) | Microprocessor (MPU) |
|---|---|---|
| Bit Width | Mainstream: 8-32 bits, Some 64-bit | Minimum: 32 bits, Mainstream: 64-bit |
| Operating Frequency | Several MHz to several hundreds of MHz | Mainstream: From hundreds of MHz to several GHz |
| Architecture | Pipeline or random logic systems are mainstream, with some being superscalar | Superscalar architecture is mainstream |
| Memory Management | Can have some external memory, but main memory is built-in, with some having built-in cache and MMC units | Mainstream to have external memory, with some having built-in cache and MMC units |
| Instruction Set | Basic arithmetic and logic operations, limited DSP and floating-point operation support in high-end versions | Supports a wider range of instructions, including DSP and floating-point operations |
| Price | Low | High |
| Examples | ARM Cortex-M (Designed for small-footprint/low-power controller applications) | ARM Cortex-A (Developed with a focus on high-performance application processors) |
Sık Sorulan Sorular
MCU ile SoC arasındaki temel fark nedir?
Aradaki temel fark şudur: MCU, düşük güç tüketen basit görevler için tasarlanmış yonga düzeyinde bir denetleyiciyken, SoC ise Linux gibi karmaşık işletim sistemlerini çalıştırabilen birden fazla çekirdeği (GPU, NPU) bir araya getiren sistem düzeyinde bir yongadır.




