Yanıtlar:
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.
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ı
Mikrodenetleyiciler:
Mikroişlemciler:
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 .
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 ?
Ç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.
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).
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;
Ç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.
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ş
Mikroişlemci daha fazla op kodunda, birkaç bit kullanım talimatı. Ancak Mikrodenetleyicide: daha az kod, daha fazla bit kullanma talimatı.
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.
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).