Pitanje:
Koja je razlika između mikrokontrolera i mikroprocesora?
endolith
2009-12-18 03:18:22 UTC
view on stackexchange narkive permalink

Koja je razlika između mikrokontrolera i mikroprocesora?

Također pogledajte ovaj [članak] (http://www.atmel.com/Images/MCU_vs_MPU_Article.pdf) tvrtke Atmel.
uglavnom cijena :-)
@Hilmar, ponovno je "uglavnom cijena" - pogrešno.
Trinaest odgovori:
#1
+199
JohnC
2009-12-18 03:28:09 UTC
view on stackexchange narkive permalink

Mikroprocesor uglavnom nema RAM, ROM i IO pinove. Obično koristi svoje pinove kao sabirnicu za povezivanje s perifernim uređajima kao što su RAM, ROM, serijski priključci, digitalni i analogni IO. Zbog toga je proširiv na razini ploče.

Mikrokontroler je 'sve u jednom', procesor, RAM, IO sve na jednom čipu, jer kao takav ne možete (recimo) povećati količinu Dostupna RAM memorija ili broj IO portova. Upravljačka sabirnica je interna i nije dostupna dizajneru ploče.

To znači da je mikroprocesor općenito sposoban za ugradnju u veće programe opće namjene od mikrokontrolera. Mikrokontroler se obično koristi za posvećenije programe.

Sve su ovo vrlo općenite izjave. Dostupni su čipovi koji zamagljuju granice.

Mnogi mikrokontroleri čine memorijsku sabirnicu dostupnom za vanjski kod i podatke; te se igle mogu ili ne moraju koristiti u druge svrhe ako se ne koristi vanjska memorija. Po mom mišljenju, definiranje razlike je hoće li uređaj u pravilu (*) moći raditi barem donekle korisno bez vanjske memorijske sabirnice. (*) 8051 je sigurno sposoban, pa je očito "mikrokontroler". 8031 je isti čip kao i 8051, ali s neodređenim sadržajem ROM-a. Nedostatak korisnog ROM-a učinio bi ga mikroprocesorom, ali budući da je to isti čip kao i 8051, mogao bi se nazvati mikrokontrolerom.
"Upravljačka sabirnica je interna i nije dostupna dizajneru ploče." To nije nužno točno. Postoje mikrokontroleri s vanjskom adresom / sabirnicom podataka kako bi se omogućila dodatna memorija.
Pa, bismo li mogli reći da je mikrokontroler u biti računalo, dok je mikroprocesor tek implementacija CPU-a s jednim čipom?
@doubleOrt: Mogli biste to tako reći, ali granice su nejasne.Ovih dana postoji poprilično čipova koji uključuju volatilnu memoriju podataka (SRAM), ali ne i trajnu memoriju koda (Flash).Često ih nazivaju i MPU (mikroprocesor).Stoga se čini da je razlika danas uglavnom povezana s ugrađenim Flashom.NXP prodaje nešto što nazivaju "crossover" procesorom s RAM-om, ali ne i Flashom.To je povezano s rastućom poteškoćom integracije Flash-a u čip sa sve manjim tranzistorima.Čini se da je trenutna granica oko 28 nm.
#2
+29
jluciani
2009-12-18 03:54:18 UTC
view on stackexchange narkive permalink

Kao što je spomenuto, mikrokontroleri su u osnovi sustavi na čipu. Osim za neke specijalizirane periferne uređaje, sve je u jednom paketu. Sučelje s vanjskom perifernom opremom gotovo se uvijek vrši pomoću serijskih veza. To održava male veličine paketa (manje pinova) i veličinu PCB-a (manje pinova za povezivanje između paketa).

Na posljednjem bostonskom Barcampu (MIT 2009) održao sam govor "Uvod u mikrokontrolere". Kopija materijala nalazi se na

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

#3
+25
Clinton Blackmore
2009-12-18 07:01:44 UTC
view on stackexchange narkive permalink

  • su obično 8-bitni, ali mogu biti 4-, 16- ili 32-bitni
  • pokrenuti u brzine manje od 200 MHz
  • koriste vrlo malo snage
  • mogu pružiti dovoljno struje za rad LED diode
  • korisne su za povezivanje sa senzorima i motorima
  • se lako zamjenjuju, jer su jeftini (0,10 do 10 USD)
  • stvarno su ograničeni za RAM, a trajna pohrana (fleš prostor)
  • jako su ugodni za ljubitelje elektronike
    • često su najmanje 16-bitni i obično 32-bitni ili 64-bitni, iako 8-bitni još uvijek imaju veliki udio na tržištu
    • mnogi će moći računati s pomičnim zarezom u hardveru
    • raditi na brzinama izmjerenim u stotinama MHz
    • osmišljeni su kao mozak sustava (i treba im čitav sustav da ih podrži)
    • potreban je poseban hardver za povezivanje sa senzorima, motorima, LED-ima itd.
    • su skupi (mislite 50 - 250 USD za 32 ili 64-bitni)
    • dizajnirani su za vanjske RAM i stalna pohrana (tvrdi diskovi)
    • s hobijem nije lako raditi

    Zanimljivo mi je da LEGO Mindstorms NXT set ima mikroprocesor [32 -bitni AT91SAM7S256 (ARM7TDMI) glavni mikroprocesor @ 48 MHz (256 KB flash memorija, 64 KB RAM)] za razmišljanje i mikrokontroler [8-bitni ATmega48 mikrokontroler na 4 MHz (4 KB flash memorije, 512 bajta RAM-a)] za povezivanje sa senzorima i motorima. Pogledajte tehničke specifikacije na Wikipediji.

    8-bitni je dominantni mikroprocesor, ali daleko je od najčešćeg, pomislio sam kako sam pročitao ranije ove godine da više ne čine više od 50% tržišnog udjela.
    Zapravo, želio bih reći da se ne slažem s velikom količinom popisa mikrokontrolera. Većina jeftinih koje stavljaju u sustave ne koštaju ni jedan dolar, mnogi, ovisno o marki, ne mogu osigurati struju za napajanje LED diode. Također postoji vrlo velika grupa koja razbija 20MHz, ali općenito ispunjava te specifikacije. mislim da su izvrsne i za hobiste.
    Uključio sam neke revizije i svoj odgovor učinio zajednicom wiki - pomozite mi da to ispravim!
    AT91SAM7S256 je definitivno mikrokontroler niti mikroprocesor.
    Počeo sam uređivati ​​ovo, objavljujući, ali mislim da to nije stvarno moguće iskoristiti. Prihvaćeni odgovor na ovo pitanje u osnovi je razlike, koja je u osnovi 'integrirana memorija' ili 'nema integrirane memorije'. Bojim se da je ovo puno popis generalizacija, od kojih su neki sasvim pogrešni.
    Vjerojatno je najbolje da ga samo zapnete.
    #4
    +14
    JustJeff
    2010-07-10 19:13:57 UTC
    view on stackexchange narkive permalink

    Ova je razlika danas mnogo teža za napraviti, jer se između krajnosti pojavio čitav spektar uređaja, ali ako postoji jedan identifikator koji izgleda djeluje, to je pogledati pin-out i pogledajte što su dizajneri radili s iglama . Jesu li to uglavnom pojedinačni I / O? Ili autobusi dominiraju?

    Po mom mišljenju, mikrokontroler je tradicionalno nešto što djeluje kao rješenje s jednim čipom; stavite jedan na PCB s nekoliko neizbježnih diskreta i nekim konektorima, napišite malu količinu softvera i imate sustav. Mikrokontroler sadrži svu memoriju, hlapljivu, a ne potrebnu sustavu, a cijena koja se plaća zbog ove pogodnosti bila je ta da ne bi bilo previše ni jednog ni drugog. Većina pinova posvećena je I / O funkcijama.

    Dok je, s druge strane, mikroprocesor vrsta zvijeri koja se što više rasterećuje kako bi podržala čipove, kako bi silicij posvetio maksimiziranju protok jezgre procesora. Većina pribadača na ovoj vrsti uređaja čine adresne i podatkovne linije, potrebne za povezivanje s memorijom i U / I uređajima kojima jezgra nedostaje.

    Neke je stvari još uvijek moguće nazvati mikroprocesorima i druge stvari mikrokontroleri, kada su se dizajneri očito držali jedne ili druge filozofije. Intel Core i7 očito je procesor, PIC-ovi i AVR-ovi su očito kontrolori. U ovom trenutku, međutim, s količinom logike koja se može staviti u jedan čip, možete lako integrirati čitav mikroprocesorski sustav u jedan čip. Kako nazivate PPC604 od 400 MHz s kontrolerom prekida, SDRAM kontrolerom, podrškom za ethernet i mnoštvom druge periferne opreme, sve na jednom čipu?

    > Kako nazivate PPC604 od 400 MHz s kontrolerom prekida, SDRAM kontrolerom, ethernet podrškom i mnoštvom ostale periferne opreme, sve na jednom čipu? => Nazvao bih ga "masnim mikroprocesorom". Nema ROM-a i RAM-a, tako da definitivno nije mikrokontroler.
    @Wouter van Ooijen - Pretpostavljam da sam trebao spomenuti, nazvao bih to "sustavom na čipu".
    #5
    +6
    supercat
    2011-11-29 22:22:55 UTC
    view on stackexchange narkive permalink

    Predložio bih da je mikrokontroler uređaj koji sadrži dovoljno interne memorije i sklopova koji bi, barem u nekim varijantama, mogao obavljati neku korisnu funkciju bez vanjske memorije. Prema takvoj definiciji, 8051 bi imao dovoljno sklopova da sam po sebi bude koristan, a 8031 ​​ne bi; 8031, međutim, jednostavno je 8051 u kojem sadržaj internog ROM-a nije specificiran (iako je potpuno moguće da neki "ROM-ovi" 8031 ​​čipovi i inačice ostavljaju ROM prostor izvan matrice, očekivao bih da postoje i neki drugi, radi dosljednosti izgleda matrice s verzijama koje uključuju ROM, uključite beskoristan prazan niz ROM-a).

    #6
    +6
    Abhimanyu Efy
    2016-09-05 19:24:03 UTC
    view on stackexchange narkive permalink

    mikrokontroleri vs mikroprocesor

    enter image description here

    Većina ovog grafikona potpuna je glupost.
    #7
    +5
    Jason S
    2009-12-18 04:14:59 UTC
    view on stackexchange narkive permalink

    Uglavnom marketing.

    Postoje i neki drugi čudni pojmovi; Analog Devices ima (ili je imao) nešto što su nazivali "mikro pretvarači", a bili su poput ADC / DAC-ova s ​​ugrađenim mikroprocesorom. TI sada neke od svojih DSP-ova (serija C2000) naziva digitalnim kontrolerima signala.

    Inače što je rekao JohnC.

    Gdje mogu pronaći više o tim "mikro pretvaračima"? Najbliže što sam pronašao je TAS3202.
    možda su ih prestali tako zvati. http://www.analog.com/en/analog-microcontrollers/analog-microcontrollers/products/index.html Nikad me nisu impresionirali ADI-jevi mikroprocesori, njihovi analogni materijali su dobri, a DSP-ovi bi trebali biti dobri ali nemam iskustva s njima.
    Maksimalna brzina uzorkovanja 8 kHz, pa nije korisno za audio. : /
    Ne slažem se da je to uglavnom marketing. Slažem se s odgovorom JohnC.
    #8
    +4
    Swanand
    2012-03-20 14:24:16 UTC
    view on stackexchange narkive permalink

    Samo da dodam sve gore izvrsno napisane odgovore, Analogija: Mikroprocesor je mozak. dok je mikrokontroler cijelo tijelo.

    Mozak je sposoban izvršiti sve upute, ali Moramo vanjski priložiti oči, ruke (tj. periferne uređaje).

    Dok tijelo ima mozak i druge periferne uređaje, tj. Mikrokontroler :)

    Žao mi je što sam ovo naletio 8 godina kasnije, ali smatram da je ova analogija malo kratka.I mikrokontroler se često koristi samo kao mozak, na primjer kada na njega trebate povezati vanjske senzore / aktuatore.Slično stvarnom procesoru.Način na koji su senzori povezani može se razlikovati (recimo PCIe vs I2C), ali čak i ta linija postaje nejasna zbog modernih SoC-a, koji se još uvijek često nazivaju mikroprocesori.Mikrokontroler je IMO rijetko cijelo tijelo.Glavna razlika i dalje je složenost / potreba eksterne RAM memorije procesora.Ipak, radije volim analogiju - softver postaje Soul :)
    #9
    +3
    Igor Skochinsky
    2011-11-29 22:25:45 UTC
    view on stackexchange narkive permalink

    Redak je pomalo nejasan, ali općenito ide ovako:

    • mikroprocesori sadrže jezgru procesora (jedinica za dohvaćanje / dekodiranje, ALU, registri itd.) i možda nekoliko više osnovnih blokova, ali obično ne puno više.

    • mikrokontroleri dodaju RAM (SRAM), obično neki ROM (može biti mask mask ili Flash / EEPROM) za pohranu koda (ali mogu biti i bez ROM-a) i skup osnovnih periferne uređaje (SPI / I2C, UART, GPIO, možda čak i USB ili Ethernet i tako dalje). Ponekad se to naziva System-on-Chip (SoC), ili ponekad SoC nešto još više integrirano. Neke japanske tvrtke također vole izraz " mikroračunalo".

      Međutim, kao što sam spomenuo, linija postaje mutna. Na primjer, nedavni Intel / AMD procesori dodaju memorijski kontroler na čip (prethodno je bio u čipsetu).

      BTW, zapravo bih 8086 nazvao mikroprocesorom (Intelovi mikrokontroleri uključuju na primjer 8051 ili 80186) .

    #10
    +2
    neelam singh
    2012-02-16 12:46:59 UTC
    view on stackexchange narkive permalink

    Razlika između mikrokontrolera i mikroprocesora

    1. Mikroprocesor = cpu; Mikrokontroler = procesor + periferne jedinice + memorijaPeriferne jedinice = portovi + sat + tajmeri + uarts + adc pretvarači + lcd upravljački programi + dac + ostale stvari; Memorija = eeprom + sram + eprom + flash

    2. U mikroprocesoru više op-kodova, nekoliko uputa za rukovanje bitima. Ali u mikrokontroleru: manje optičkih kodova, više uputa za rukovanje bitima.

    3. Mikroprocesor možda neće biti programiran za obradu zadataka u stvarnom vremenu, dok mikrokontroler, poput uređaja koji trebaju kontrola temperature vode ili možda mjerenje temperature u sobi zahtijevaju praćenje u stvarnom vremenu, pa stoga s ugrađenim nizom uputa mikrokontroler radi samostalno.

    Ove su informacije pomalo slučajne i nisu tako dobro formulirane za pitanje s toliko odgovora. Uzmimo primjer: tko kaže da mikrokontroler mora imati upravljačke programe za ADC, DAC i LCD? Mnogi ih imaju, ali to nije pravilo. Isto za rukovanje bitovima i rad u stvarnom vremenu.
    @neelamSingh, Dobro došli na stranicu, vaš post nije dobro formatiran i čini se da je presječen na pola, mogao bi mu poslužiti!
    Vaša treća točka nije valjana. Sposobnost u stvarnom vremenu određuje OS, a ne vrsta procesora. Nema razloga zašto RTOS ne bi radio na mikroprocesoru. A ni mikrokontroleri nemaju nužno više uputa za rukovanje bitovima.
    #11
    +1
    Bibek
    2012-03-20 10:34:50 UTC
    view on stackexchange narkive permalink

    Mikroprocesor je jednostavna središnja procesorska jedinica (CPU) na jednom čipu (sjetite se riječi ‘Single Chip’). Uključuje aritmetičku logičku jedinicu (ALU), upravljačku jedinicu (CU), registre, dekodere uputa, upravljački krug sabirnice itd., Ali sve bi trebalo biti na jednom čipu.

    Mikrokontroler: Mikrokontroler je asocijacija mikroprocesora i periferni I / O uređaji, podržavaju sklopove i memoriju (i podatke i program). Nije potrebno biti na jednom čipu (sjetite se ove točke, ni na jednom čipu).

    1. Mikroprocesor je jedna komponenta mikroračunala.
    2. Mikrokontroler je kompletno računalo slično bilo kojem drugom računalu.
    #12
    +1
    Prakash Darji
    2016-03-23 10:55:14 UTC
    view on stackexchange narkive permalink

    Svi su odgovori točni, jer je ova razlika više blokova u mC i mP, vidi donju tablicu,

    enter image description here

    #13
    -1
    GigaJoules
    2018-02-26 17:12:26 UTC
    view on stackexchange narkive permalink

    Kratki odgovor:
    MicroProcessor - Da li je "razmišljanje" u osnovi sam čip koji obrađuje matematiku.
    Microcontroller - Sustav s uključenim mikroprocesorom, lako sposoban za povezivanje s elektroničkim komponentama za razvoj ugrađenog sustava.(Razmislite o arduinu, PI, PSOC4 itd.

    Ovo je jedan od najgorih odgovora na ovo pitanje.Nazvati mikroprocesor "čipom koji radi matematiku" isto je kao da automobil zovete "uređajem sa sjedalima".Oboje su "lako sposobni za međusobno povezivanje" ili ne bi imali praktičnu vrijednost.


    Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 2.0 licenci pod kojom se distribuira.
    Loading...