mikrodenetleyici vs. Çip üzerindeki sistem


24

Mikro denetleyicileri programlamaya başlıyorum ve bazı belgeler ve ders kitapları okuyordum. Mikro denetleyici ile çip üzerindeki bir sistem arasındaki farkın ne olduğu konusunda biraz kafam karıştı?

Bazı belgeler bu iki terimi değişebilir olarak kullanırlar. Ancak ders kitaplarının çoğu, iki terimin değişebilir şekilde kullanılmasının doğru OLMADIĞINI, dolayısıyla dikkate değer bir farkın olması gerektiğini belirtiyor ...

Teşekkürler!


4
Cevabımı kabul ettiğin için teşekkür ederim, ama kabul etmeden önce bir dahaki sefere daha fazla beklemeni tavsiye ederim. Başkalarının muhtemelen farklı görüşleri ve görüşleri vardır, ancak genellikle kabul edilmiş bir cevabı olan bir sorunun üzerinden geçebilirler - Biliyorum biliyorum. Özellikle gri bir alana yönelik bir soru için bir fikir birliği toplamak için biraz zaman ayırmak istiyorsunuz.
Olin Lathrop

@Olin Cool, bir dahaki sefere akılda tutacak!
rrazd,

Yanıtlar:


27

Bir mikrodenetleyici, programına ve veri belleğine yerleşik olarak sahip olan bir işlemcidir. Bu yongalar küçük gömülü kontrol uygulamaları içindir, bu nedenle pinleri G / Ç için bırakmak ve harici bellek veri yolu gerektirmemesi çok yararlıdır. Bazı mikrodenetleyiciler en az 6 pime sahiptir ve faydalı şeyler yapabilir. Bunu bir PC için tasarlanan genel amaçlı bir bilgi işlem işlemcisiyle karşılaştırın. Bu şeylerin bir dizide 100'lü pinleri vardır ve geniş harici devre gerektirir.

Bir çip üzerindeki sistem için, bu daha az iyi tanımlanmış bir terimdir. Kıbrıs, bazı parçalarını PSOC (Chip üzerinde Programlanabilir Sistem) olarak adlandırıyor. Bunlar temelde aynı çip üzerinde küçük FPGA'lı bir mikrodenetleyicidir. Çevresel birimler inşa etmek yerine, FPGA'nın mevcut kaynakları dahilinde istediğiniz şeyi yapabilirsiniz.

Genel olarak, bir çip üzerindeki bir sistemin, onunla bütünleşmiş bir sistem düzeyinde mantığa sahip bir mikrodenetleyici olduğunu düşünüyorum. Elbette, sisteme girmeye çalıştıkça, herhangi bir ekstra donanım setinin daha faydalı olması muhtemeldir, bu yüzden bir çeşit konfigürasyon kabiliyeti çok faydalıdır. Ancak, şu an için "çip üzerindeki sistem" gerçek olandan çok bir pazarlama terimidir.


20

Bir Çip Üzerine Sistem (veya SoC), pazarlamacıların kullandığı ve pek bir şey ifade etmediği her şeyi ifade eder. Gibi birçok varyasyon da vardır:

PSoC: Cypress Semiconductor ile Çip Üzerinde Programlanabilir Sistem.

SOPC: Altera'dan Programlanabilir Çip Üzerine Sistem

Temelde, SOC, çoklu cips almak için kullanılan her şeyi yapan tek bir çiptir. CPU veya RAM içermesi gerektiğini söyleyen hiçbir şey yok. Bu nedenle, bir çip üzerinde daha fazla transistör alabileceğimiz ve çiplerimizde daha fazla işlev görmekte olduğumuzdan dolayı - 10 ya da 20 yıl önce yaptığımıza kıyasla hemen hemen her şey bir SoC olarak adlandırılabilir. !

Sorunları daha kötü hale getirmek için: Yararlı hale getirmek için hala birden fazla çip gerektiren SoC adı verilen birçok örnek var. Çoğu zaman hala harici Flash, RAM ve güçlü şeyler gerektiren bir CPU + Çevre Birimleri formuna sahip olursunuz. Yani, SoC ismi bile yanıltıcıdır.

Bir MCU muhtemelen bir SoC'nin ne olması gerektiğine dair en özlü örnektir - ama çok sınırlı bir örnektir.


@ David-kesner bir pazarlama ifadesi olarak SoC için +1.
Frank,

12

Genel olarak, bir mikroişlemci, belirli bir görevi gerçekleştirmek için dahili olarak programlanmış gömülü bir aygıt olarak kabul edilir. Minimum kullanıcı etkileşimi vardır ve esneklik yoktur veya çok azdır. Bir mikrodenetleyici genellikle az miktarda bellek ve ROM (flaş) ile oldukça düşük güçtedir.

Tersine, bir Çip Üzerine Sistem spektrumun diğer ucudur. Tam esneklik ve kullanıcı etkileşimi için daha fazla tasarlanmıştır. Genellikle daha büyük donanımlar için IO sürücüleri (sabit sürücüler vb. Gibi) ve hatta bazen bir grafik adaptörü içerir. Çip Üzerine Bir Sistem, bir çip üzerindeki evet, tam bir bilgisayar sistemi gibidir.

İkisi arasında oldukça fazla geçit var - ne zaman mikrodenetleyici olmayı bırakıp bir çip sistemi olmaya başlıyor? Karışıklık bir çok nereden geliyor budur.

Temel olarak, bir bilgisayarın yapabileceğini yapabiliyorsa, bu bir Çip Sistemdir. Örneğin, rehber listenizi yöneten bir masa telefonunun içinde veya bir tuş takımı giriş sisteminde otururken veya motorları bir CNC makinesinde çalıştırıyorsa, bu bir mikrodenetleyicidir.

ps, bu konuda bana alıntı yapmayın - dediğim gibi ikisi arasında bir çok geçit var.


5

Bu ayrım bir anlamda teknikten daha pazarlama ile ilgilidir, ancak genel olarak bir mikrodenetleyicinin "programlanabilir" bölümünün tek, nispeten dar bir "bilinç akışı" ile sınırlı olduğunu öne süreceğim. Temel olarak, herhangi bir anda, mikrodenetleyicinin bir sonraki nispeten küçük çalışması nasıl programlandığına bağlı olarak belirlenir, ancak sistemdeki diğer tüm mantık bağlanır ve yapıldığı gibi çalışır. Zamanlayıcılar gibi bazı şeyler bazı konfigürasyon seçenekleri sağlayabilir (örn. Bir girdideki sayım atımlarına karşı sabit hızda sayma) ancak genel olarak sistemin kablolaması sabitlenir. Bazı giriş sinyaline cevaben bazı çıkış sinyallerinin değişmesi isteniyorsa ve bunun için açık bir donanım bulunmuyorsa, programın giriş sinyaline periyodik olarak bakması ve eğer değiştiyse çıkış sinyalini değiştirmesi gerekir. Giriş analog voltajına cevaben bir çıkış analog voltajının değişmesi isteniyorsa, işlemci giriş voltajını örnekleyebilir, istenen cevabı hesaplayabilir ve istenen çıkış voltajını talep edebilir. Pratik olarak istenen uyarıcı / yanıt tipi, işlemcinin girdilere ve çıktıların hesaplanmasına bakılmasıyla üretilebilir, ancak tepki zamanları genel olarak tahsis edilmiş donanım ile üretilenden daha yavaş olan büyüklük dereceleri olabilirdi.

Çip üzerinde bir sisteme sahip olan genel fikir, yeterli sayıda çoklayıcıya ve diğer yönlendirme tesislerine sahip devrelere, böylece sinyallerin işlemci müdahalesi olmadan birçok faydalı tipte uyaran / cevap paterni üretecek şekilde devrelere yönlendirilebilmesini sağlamaktır. Bu tür bir devre bir işlemcinin üretebileceği hızda herhangi bir yere yakın olan uyaran / yanıt kalıpları üretemez, ancak çoğu durumda bir işlemcinin yapabileceğinden daha hızlı büyüklük derecelerinde olabilirler.


2

Benim düşünceme göre, SoC aslında zamanla değişmeye devam edecek bir çok tanım içeren bir terimdir. Diğer taraftan, Mikrodenetleyici, on yıl sonra şu şekilde olduğu gibi tanımlanacaktır. Bir Mikrodenetleyici derken, bellek, IO portları, Zamanlayıcılar ve Sayıcılar ve benzeri gibi tek bir yonga üzerinde bazı temel şeyler gelir ... içermesi gereken devre tipi. Örneğin, SoC'yu getirmeye çalıştıkları birincil uygulama Smartphone'dur. Mevcut senaryoda, bir akıllı telefon gibi bazı temel on-board şeyler içermelidir,

  1. NFC
  2. Küresel Konumlama Sistemi
  3. İvmeölçer ve Gyro
  4. Kablosuz internet
  5. Bir CPU ve bir GPU

Mevcut durumda bir akıllı telefon üretmek istersem, bir CPU ve GPU alıyorum ve her şeye arayüz veriyorum. Ancak SoC, yukarıdakilerin hepsine sahip olacak ve evrim geçirme kabiliyetine sahip olan tek çip kavramına dayanıyor (çok basit olmasına rağmen). Ayrıca, SoC'nin sürekli değişen bir tanımı olduğunu söyledim çünkü bir akıllı telefon, bilgisayar veya herhangi bir elektronik cihaz için temel gereksinimler günden güne artacak ve SoC'un tanımı bu gerekliliklerle değişecek.


0

Evet SoC temelde daha sık kullanılan bir pazarlama terimidir. Cihaz ve Ana Bilgisayar terminolojisi vardır. Ancak Dell, HP, IBM, vb. Büyük bilgisayar üreticileridir. İçlerinde genellikle Intel, AMD, vb. Tarafından üretilen CPU'yu kullanırlar. Temel olarak Ana Kartta CPU veya SoC sağlar (CPU olarak adlandırılır), bazıları CPU + SoC da sağlar (belirli bir amaç için çevre güçleri gibi sensörler veya GPS cihazının aktivitesini, aksi takdirde çok aç kalmışlardı. doğrudan CPU'ya bağlandılar) .SoC da bazen işi daha önce yazdıklarım ile aynı olan bir Eş İşlemci çağırıyor. Şimdi Anakartlara çeşitli çevre birimleri (temel olarak CPU veya SoC'ye bağlı) bağlanmıştır, bu çevre birimleri temel olarak ya toplam veri yolu - i2c, SPI, USB üzerinden doğrudan onlara (SOC veya CPU) veya genellikle Mikrodenetleyicilere bağlanırlar . denetleyici üreticileri) PC ​​üreticilerinin yanı sıra daha iyi aygıtlar alıyorlar (çevre birimi + Mikro denetleyici). SO bütün mesele cihaz tarafında daha sık göreceğiniz mikrodenetleyici terimdir (SoC ile etkileşime giren bir terimdir (Şimdi bir SOC'nin ne olduğunu biliyorsunuz? Siz değil mi) ve Host tarafında (PC Side) CPU'nun, cihazların daha iyi güç yetenekleri için (Micro + çevre birimleri) çalışmalarını SoC'ye devrettiğini söyleyen baba olduğunu söyleyebiliriz. Poşetler, temel olarak en fazla RTO'ları destekleyen bir işletim sistemi unliek Mikrodenetleyicilerini barındırmak için daha fazla belleğe sahiptir.


1
VAOV ! İnsanların çok fazla gereksiz yorumda bulunmadan bunu yaptıkları zamanki olumsuz oyu beğendim!
Raulp

3
Çok net değil. Bu bilinç akışına giriş ve çıkış yapamıyorum.
ivan_pozdeev

0

Yukarıdakileri özetle, bana öyle geliyor:

Bir MCU, çok fazla bellek, VGA gibi arabirimler ve farklı şeyler sağlayan birkaç farklı yonga kullanarak GPU gibi yetenekler sağlar.

Bir MCU, yalnızca minimum bellek, arayüz vb. Sağlayarak tek bir çip üzerindeki her şeye uyar.

Bir SoC, bir çipte yapılabileceklerin sınırlarını zorlayarak tek bir çip üzerindeki her şeye uyar.

MCU'lar maliyeti en aza indirerek değer sağlar, SoC'ler, her ikisi de tek bir yongada işlevselliği en üst düzeye çıkararak değer sağlar. TLL mantığına karşı yarışıyorsa, muhtemelen bir MCU’dur. Mikroişlemcilerle (AMD, Intel) rekabet ederse, muhtemelen bir SoC'dir.

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.