Bir mikrodenetleyici ile bir mikroişlemci arasındaki fark nedir?


Yanıtlar:


191

Bir mikroişlemci genellikle RAM, ROM ve IO pinlerine sahip değildir. Genellikle pinlerini RAM, ROM, Seri portlar, Dijital ve Analog IO gibi çevre birimlerine arayüz olarak kullanır. Bu nedenle tahta seviyesinde genişletilebilir.

Bir mikrodenetleyici 'hepsi bir arada' işlemcisidir, işlemci, ram, hepsi bir yonga üzerindedir, çünkü mevcut RAM miktarını veya IO portlarının sayısını artıramazsınız. Kontrol otobüsü dahilidir ve pano tasarımcısı tarafından kullanılamaz.

Bu, bir mikroişlemcinin genellikle bir mikrodenetleyiciden daha büyük genel amaçlı uygulamalara yerleştirilebileceği anlamına gelir. Mikrodenetleyici genellikle daha özel uygulamalar için kullanılır.

Bunların hepsi çok genel ifadelerdir. Sınırları bulanıklaştıran cipsler var.


4
Birçok mikrodenetleyici, harici kod ve veriler için bir bellek veri yolunu kullanılabilir duruma getirir; harici bellek kullanılmazsa, bu pinler başka amaçlar için kullanılabilir veya olmayabilir. Aklıma göre tanımlayıcı ayrım, bir cihazın tipik olarak ( ) harici bir bellek veriyolu olmadan en azından bir şekilde yararlı bir şekilde çalışıp çalışamayacağıdır. ( ) 8051 kesinlikle yetenekli, bu yüzden açıkça "mikrodenetleyici". Bir 8031, 8051 ile aynı çiptir, ancak ROM içeriği belirtilmemiş. Yararlı ROM'un eksikliği onu bir mikroişlemci yapar, ancak 8051 ile aynı yonga olduğundan, bir mikrodenetleyici olarak adlandırılabilir.
supercat

2
"Kontrol otobüsü dahilidir ve pano tasarımcısı tarafından kullanılamaz." Bu mutlaka doğru değil. Fazladan belleğe izin veren harici adres / veri tabanına sahip mikrodenetleyiciler vardır.
stevenvh

Öyleyse, bir mikroişlemci bir işlemcinin sadece bir yonga uygulaması olduğu halde bir mikrodenetleyicinin bir bilgisayar olduğunu söyleyebilir miyiz?
doubleOrt

@doubleOrt: Bu şekilde koyabilirsin, ama sınırlar bulanık. Bu günlerde, geçici veri belleği (SRAM) içeren ancak geçici olmayan kod belleği (Flash) içermeyen birkaç yonga var. Genellikle MPU (mikroişlemci) olarak da adlandırılırlar. Bu yüzden, bu ayrımın esas olarak bugünlerde çip üzerindeki Flash ile ilişkili olduğu görülüyor. NXP, RAM'lı "geçişli" bir işlemci olarak adlandırdığı, ancak Flash içermeyen bir şey pazarlar. Bu, Flash'ı daha küçük transistörlere sahip bir çip içine entegre etme zorluğunun artmasıyla ilgili. Mevcut sınır 28 nm civarında gibi görünüyor.
SH-

29

Belirtildiği gibi, mikrodenetleyiciler esasen bir çip üzerindeki sistemlerdir. Bazı özel çevre birimleri hariç her şey bir pakette. Harici çevre birimlerine arabirim hemen hemen her zaman seri bağlantılar kullanılarak yapılır. Bu, paket boyutlarını küçük (daha az pim) ve PCB boyutunu küçük tutar (paketler arasında bağlanmak için daha az pim).

Son Boston Barcamp'ta (MIT 2009) "Mikrodenetleyicilere Giriş" konuşması yaptım. El ilanının bir kopyası

http://www.luciani.org/not-quite-ready/doc/intro-to-uC.pdf


25

Mikrodenetleyiciler:

  • tipik olarak 8 bit, ancak 4-, 16 veya 32 bit olabilir
  • 200 MHz'den daha düşük hızlarda çalıştır
  • çok az güç kullan
  • LED'i çalıştırmak için yeterli akım sağlayabilir
  • sensörler ve motorlarla arayüz oluşturmak için faydalıdır
  • kolayca değiştirilir, ucuzdur (0.10 ila 10 $ arası)
  • RAM ve kalıcı depolama için gerçekten sınırlıdır (flaş alanı)
  • elektronik hobileri için gerçekten çok hoş

Mikroişlemciler:

  • genellikle en az 16 bit ve tipik olarak 32 bit veya 64 bit, ancak 8 bit hala büyük bir pazar payına sahip
  • birçoğu donanımda kayan nokta matematiği yapabilecek
  • yüzlerce MHz'de ölçülen hızlarda koş
  • bir sistemin beyni olacak şekilde tasarlanmıştır (ve onları desteklemek için bütün bir sisteme ihtiyaç vardır)
  • sensörler, motorlar, LED'ler vb. ile arabirim oluşturmak için özel bir donanıma ihtiyaç duymak
  • pahalıdır (32 veya 64-bit için 50 - 250 dolar arası düşünün)
  • harici RAM ve kalıcı depolama (sabit sürücüler) için tasarlanmıştır
  • Bir hobi tarafından kolayca çalışılmıyor

LEGO Mindstorms NXT setinin düşünme yapmak için bir mikroişlemciye [32-bit AT91SAM7S256 (ARM7TDMI) ana mikroişlemci (48-bit AT91SAM7S256 (ARM7TDMI)) ve mikrodenetleyiciye [8-bit ATmega48] sahip olduğunu ilginç buluyorum algılayıcı ve motorlarla arabirim oluşturmak için mikrodenetleyici @ 4 MHz (4 KB flash bellek, 512 Bayt RAM)]. Wikipedia'daki teknik özelliklere bakın .


2
8-bit baskın bir mikroişlemci, ama en yaygın olanı değil, bu yılın başlarında artık pazar payının% 50'sinden fazlasını oluşturmadıklarını okudum.
Kortuk

3
Aslında, çok sayıda mikrodenetleyici listesine katılmayacağımı söylemek isterim. Sistemlere koydukları ucuz olanların çoğu, bir markayı bağımlı tutan bir dolara mal olmaz, bir LED'e güç sağlamak için akımı sağlayamaz. Ayrıca 20 MHz'i kıran çok büyük bir grup var, ancak genel olarak bu şartı yerine getiriyor. Bence hobiler için de harikalar.
Kortuk

Bazı düzeltmeler yaptım ve cevabımı bir topluluk wiki yaptım - düzeltmeme yardım et!
Clinton Blackmore

3
AT91SAM7S256 kesinlikle bir mikroişlemci veya mikroişlemci değildir.
jpc

4
Bunu düzenlemeye başladım, gönderiyorum, ancak gerçekten kullanılamaz olduğunu sanmıyorum. Bu sorunun kabul edilen cevabı, temelde “entegre hafıza” veya “entegre hafıza yok” olan farkın özüne sahiptir. Korkarım bu parti büyük ölçüde bir kısmı sadece yanlış olan bir genellemeler listesi.

13

Bu ayrım, bugünlerde yapılması daha zor olanıdır, çünkü aşırı uçlar arasında bir dizi cihaz ortaya çıkmıştır, ancak işe yarayan bir tanımlayıcı varsa, pin-out'a bakmak ve tasarımcıların ne olduğuna bakmaktır. pimleri ile yaptı . Çoğunlukla bireysel G / Ç mi? Yoksa otobüsler hâkim midir?

Benim görüşüme göre, bir mikrodenetleyici geleneksel olarak 1 çipli bir çözüm olarak çalışan bir şey olmuştur; birkaç tane kaçınılmaz takdir hakkına sahip bir PCB'yi ve bazı konektörleri koyun, az miktarda yazılım yazın ve bir sisteminiz var. Mikrodenetleyici, sistemin ihtiyaç duyduğu tüm geçici, kalıcı olmayan bellekleri içerir, bu kolaylık için ödenen bedel, her ikisinde de çok fazla olmaz. Pimlerin çoğu, G / Ç işlevlerine adanmıştır.

Oysa diğer uçta, mikroişlemci, silikonun CPU çekirdeğinin iş hacmini maksimuma çıkarmasına yardımcı olmak için çipleri desteklemek için mümkün olduğu kadar boşaltma yapabilecek türden bir canavardır. Bu tür bir cihazdaki pimlerin çoğu, çekirdeğin bulunmadığı hafıza ve I / O cihazlarına bağlanmak için gerekli olan adres ve veri hatlarıdır.

Tasarımcılar açıkça bir felsefeye veya diğerine açıkça bağlı kaldıklarında, bazı şeylere mikroişlemciler ve diğer şeyleri mikrodenetleyiciler olarak adlandırmak hala mümkündür. Bir Intel Core i7 açıkça bir işlemci, PIC'ler ve AVR'ler açıkça denetleyicileri. Bununla birlikte, zamanın bu noktasında, tek bir çipe yerleştirilebilecek mantık miktarı ile, 1990'lı bir mikroişlemcili sistemi kolayca tek bir çipin içine yerleştirebilirsiniz . Kesinti kontrolörü olan bir 400MHz PPC604'ü, SDRAM denetleyicisini, ethernet desteğini ve bir çipte başka çevre birimlerini ne denir ?


> Bir kesme denetleyicisi, bir SDRAM denetleyicisi, ethernet desteği ve bir dizi başka çevre birimiyle bir çip üzerinde 400MHz PPC604'ü ne denir? => Ben "şişman mikroişlemci" diyeceğim. ROM ve RAM yok, bu yüzden kesinlikle bir mikrodenetleyici değil.
Wouter van Ooijen,

2
@Wouter van Ooijen - Sanırım söylemeliydim, buna "çip üzerindeki bir sistem" derdim.
JustJeff


5

Çoğunlukla pazarlama.

Başka garip terimler var; Analog Cihazlar, “mikroişlemciler” olarak adlandırılan ve yerleşik mikroişlemcili ADC / DAC'lere benzeyen bir şeye sahiptir (veya sahipti).

Aksi halde JohnC’un söylediklerini.


Bu "mikro dönüştürücüler" hakkında daha fazla bilgiyi nerede bulabilirim? Bulduğum en yakın şey TAS3202.
Endolith

onlara öyle demeyi bırakmış olabilirler. analog.com/en/analog-microcontrollers/analog-microcontrollers/… ADI'nin mikroişlemcilerinden hiç bu kadar etkilenmedim, analogları iyi ve DSP'lerinin iyi olması gerekiyor ama deneyimlerim yok. .
Jason S

Maksimum örnekleme hızı 8 kHz, bu nedenle ses için kullanışlı değil. : /
16’daki

2
Çoğunlukla pazarlama olduğu konusunda hemfikir değilim. JohnC cevabı ile katılıyorum.
Daniel Grillo

5

Bir mikrodenetleyicinin, en azından bazı değişkenlerde, harici bellek olmadan bazı yararlı işlevler gerçekleştirebilecek yeterli dahili bellek ve devre içeren bir cihaz olduğunu öneriyorum. Böyle bir tanımla, 8051 kendi başına yararlı olacak kadar yeterli devreye sahip olacak ve 8031; Bununla birlikte, 8031, iç ROM'un içeriğinin belirtilmediği bir 8051'dir (bazı "ROMsuz" 8031 ​​yongalarının ve çeşitlerinin, ROM alanını kalıptan terk etmesi tamamen mümkün olsa da, bazılarının da olmasını beklerdim. kalıp düzeninin ROM içeren sürümlerle tutarlılığı için, boş bir boş ROM dizisi içerir).


4

Yukarıdakilerin tümüne mükemmel yazılmış cevapları eklemek için, Analoji: Mikroişlemci bir Beyindir. Mikrodenetleyici Tüm Vücut ise.

Beyin tüm talimatları yerine getirme yeteneğine sahip ancak Gözler, Eller (örneğin Çevre Birimlerini) dışarıdan eklemeliyiz.

Vücudun Beyin ve Diğer Çevre Birimleri, Mikrodenetleyici;


3

Çizgi biraz bulanık ama genellikle şöyle gider:

  • mikroişlemciler işlemci çekirdeğini (alma / kod çözme birimi, ALU, kayıtlar vb.) ve belki birkaç temel bloğu içerir, ancak genellikle çok daha fazla değildir.

  • mikrodenetleyiciler RAM (SRAM), genellikle bazı ROM'lar (mask rom veya Flash / EEPROM olabilir) kod depolaması için ekler (ancak aynı zamanda ROMsuz olabilir) ve temel çevre birimleri (SPI / I2C, UART, GPIO'lar, hatta USB veya Ethernet ve benzeri). Bazen buna Çip Üzerine Sistem (SoC) denir veya bazen SoC daha da entegre bir şeydir. Bazı Japon şirketleri " mikrobilgisayar " terimini de seviyor .

    Ancak, dediğim gibi, çizgi bulanıklaşıyor. Örneğin, en son Intel / AMD işlemciler yonga üzerinde bir bellek denetleyicisi ekler (daha önce bu yonga kümesindeydi).

    BTW, aslında 8086'ya bir mikroişlemci (Intel'in mikro denetleyicileri örneğin 8051 veya 80186'yı dahil eder) derdim.


2

Mikrodenetleyici ve mikroişlemci arasındaki fark

  1. Mikroişlemci = işlemci; Mikrodenetleyici = cpu + çevre birimleri + bellek Çevre birimleri = portlar + saat + zamanlayıcılar + çıkışlar + adc dönüştürücüler + lcd sürücüler + dac + diğer şeyler; Bellek = eeprom + sram + eprom + flaş

  2. Mikroişlemci daha fazla op kodunda, birkaç bit kullanım talimatı. Ancak Mikrodenetleyicide: daha az kod, daha fazla bit kullanma talimatı.

  3. Bir mikroişlemci aynı zamanda gerçek zamanlı görevleri yerine getirmek için programlanmayabilir, oysa suyun sıcaklığını kontrol etmek için gereken cihazlarda veya bir odanın sıcaklığını ölçmek için gereken cihazlarda olduğu gibi bir mikrodenetleyici için gerçek zamanlı izleme gerekir ve bu nedenle mikrodenetleyici çalışır. kendi başına.


3
Bu bilgiler biraz rastgele ve çok iyi cevaplanamayan bir soru için formüle edilmemiş. Örnek alın: bir mikrodenetleyicinin ADC, DAC ve LCD sürücüleri olması gerektiğini kim söylüyor? Birçoğunda onlara sahip, ancak bu bir kural değil. Bit işleme ve gerçek zamanlı işlem için aynıdır.
clabacchio

@neelamSingh, Siteye hoş geldin, gönderiniz iyi biçimlendirilmedi ve yarı yolda kesik görünüyor, bazı işleri kullanabilir!
Kortuk

2
Üçüncü puanın geçerli değil. Gerçek zamanlı yetenek, işlemci tarafından değil, işletim sistemi tarafından belirlenir. Bir RTOS'un mikroişlemcide çalışmamasının bir nedeni yok. Mikrodenetleyicilerde mutlaka daha fazla bit kullanma talimatı da bulunmuyor.
stevenvh

1

Mikroişlemci, tek bir yonga üzerinde basit bir merkezi işlem birimidir (CPU) ('Tek Çip' kelimesini hatırlayın). Aritmetik mantık birimi (ALU), kontrol birimi (CU), kayıtlar, komut çözücüler, veri yolu kontrol devresi vb. İçerir ancak her şey tek bir yonga üzerinde olmalıdır.

Mikrodenetleyici: Bir mikrodenetleyici, mikroişlemci ve çevresel G / Ç aygıtları, destek devresi ve hafızanın (hem veri hem de program) birleşimidir. Tek bir çip üzerinde olmak gerekli değildir (tek bir çipte bu noktayı unutmayın).

  1. Mikroişlemci mikrobilgisayarın bir bileşenidir.
  2. Mikrodenetleyici, diğer herhangi bir bilgisayara benzer tam bir bilgisayardır.

1

Tüm cevaplar doğrudur, çünkü bu fark mC ve mP'de daha fazla blok içerir, aşağıdaki tabloya bakınız.

görüntü tanımını buraya girin


0

Uzun cevap kısa:
Mikroişlemci - 'Düşünme' temelde matematiği idare eden bir çiptir.
Mikrodenetleyici - Dahili mikroişlemci içeren ve kolayca gömülü sistemler geliştirmek için elektronik bileşenlerle etkileşime girebilen bir sistem.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.