Kysymys:
Mitä eroa on mikrokontrollerilla ja mikroprosessorilla?
endolith
2009-12-18 03:18:22 UTC
view on stackexchange narkive permalink

Mitä eroa on mikrokontrollerilla ja mikroprosessorilla?

Katso myös tämä Atmelin [artikkeli] (http://www.atmel.com/Images/MCU_vs_MPU_Article.pdf).
enimmäkseen hinta :-)
@Hilmar, "enimmäkseen hinta" - väärä.
Kolmetoista vastused:
#1
+199
JohnC
2009-12-18 03:28:09 UTC
view on stackexchange narkive permalink

Mikroprosessorissa ei yleensä ole RAM-, ROM- ja IO-nastoja. Se käyttää yleensä nastojaan väylänä liitäntänä oheislaitteisiin, kuten RAM, ROM, sarjaportit, digitaalinen ja analoginen IO. Se on laajennettavissa korttitasolla tämän vuoksi.

Mikrokontrolleri on 'kaikki yhdessä', prosessori, ram, IO kaikki yhdessä sirussa, sellaisenaan et voi (sanoa) lisätä Käytettävissä oleva RAM-muisti tai IO-porttien määrä. Ohjausväylä on sisäinen eikä se ole piirilevyn suunnittelijan käytettävissä.

Tämä tarkoittaa, että mikroprosessori voidaan yleensä rakentaa isompiin yleiskäyttöisiin sovelluksiin kuin mikrokontrolleri. Mikrokontrolleria käytetään yleensä tarkemmin omistettuihin sovelluksiin.

Kaikki nämä ovat hyvin yleisiä lausuntoja. Saatavilla on pelimerkkejä, jotka hämärtävät rajat.

Monet mikro-ohjaimet tarjoavat muistiväylän saataville ulkoisille koodeille ja tiedoille; näitä nastoja voidaan käyttää tai olla käyttämättä muihin tarkoituksiin, jos ulkoista muistia ei käytetä. Mielestäni määrittelevä ero on se, pystyisikö laite tyypillisesti (*) toimimaan ainakin jonkin verran hyödyllisesti ilman ulkoista muistiväylää. (*) 8051 on varmasti kykenevä, joten se on selvästi "mikro-ohjain". 8031 on sama siru kuin 8051, mutta ROM-levyn sisältöä ei ole määritelty. Hyödyllisen ROM-levyn puuttuminen tekisi siitä mikroprosessorin, mutta koska se on sama siru kuin 8051, sitä voitaisiin kutsua mikrokontrolleriksi.
"Ohjaava väylä on sisäinen eikä se ole piirilevyn suunnittelijan käytettävissä." Se ei välttämättä ole totta. On olemassa mikro-ohjaimia, joilla on ulkoinen osoite / tietokanta lisämuistin mahdollistamiseksi.
Voisimmeko siis sanoa, että mikrokontrolleri on pohjimmiltaan tietokone, kun taas mikroprosessori on vain yhden sirun CPU: n toteutus?
@doubleOrt: Voisit sanoa niin, mutta rajat ovat hämärät.Nykyään on olemassa muutama siru, jotka sisältävät haihtuvaa datamuistia (SRAM), mutta ei haihtumatonta koodimuistia (Flash).Niitä kutsutaan usein myös MPU: ksi (mikroprosessori).Joten ero näyttää liittyvän pääasiassa sirun Flashiin näinä päivinä.NXP markkinoi jotain, jota he kutsuvat "crossover" -prosessoriksi, jossa on RAM-muistia, mutta ei Flashiä.Tämä liittyy Flashin integroinnin kasvavaan vaikeuteen sirussa yhä pienempien transistoreiden kanssa.Nykyinen raja näyttää olevan noin 28 nm.
#2
+29
jluciani
2009-12-18 03:54:18 UTC
view on stackexchange narkive permalink

Kuten mainittiin, mikrokontrollerit ovat lähinnä sirun järjestelmiä. Joitakin erikoistuneita oheislaitteita lukuun ottamatta kaikki on pakkauksessa. Liitäntä ulkoisiin oheislaitteisiin tehdään melkein aina sarjayhteyksiä käyttämällä. Tämä pitää paketin sizessmall (vähemmän nastoja) ja piirilevyn koon pienenä (vähemmän nastoja pakettien väliseen yhteyden muodostamiseen).

Viimeisessä Boston Barcampissa (MIT 2009) tein "Intro to Microcontrollers" -puheen. Kopio monisteesta on osoitteessa

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

  • Mikrokontrollerit :
    • ovat tyypillisesti 8-bittisiä, mutta voivat olla 4-, 16- tai 32-bittisiä
    • suoritetaan alle 200 MHz: n nopeudet
    • kuluttaa hyvin vähän virtaa
    • saattaa tuottaa riittävästi virtaa LEDin käyttämiseen
    • ovat hyödyllisiä liitettäessä antureihin ja moottoreihin
    • ne on helppo korvata, ne ovat halpoja (0,10 dollaria - 10 dollaria).
    • RAM-muistia ja pysyvää tallennustilaa (flash-tilaa) on todella rajoitettu
    • ovat todella mukavia elektroniikan harrastajille.

    Mikroprosessorit :

    • ovat usein vähintään 16-bittisiä ja tyypillisesti 32- tai 64-bittisiä, vaikka 8-bittisillä on vielä suuri markkinaosuus
    • monet pystyvät tekemään liukulukematematiikkaa laitteistossa
    • ajaa satoilla MHz mitatuilla nopeuksilla
    • on suunniteltu aivoiksi järjestelmän (ja tarvitsee kokonaisen järjestelmän tukemaan niitä)
    • tarvitsevat erityislaitteita antureiden, moottoreiden, LEDien jne. kanssa vuorovaikutukseen.
    • ovat kalliita (ajattele 50 - 250 dollaria 32 tai 64-bittinen)
    • on suunniteltu ulkoisille Harrastajat eivät voi käyttää RAM-muistia ja pysyvää tallennustilaa (kiintolevyt)
    • niin helposti

    Minusta on mielenkiintoista, että LEGO Mindstorms NXT -sarjassa on mikroprosessori [32 -bitinen AT91SAM7S256 (ARM7TDMI) päämikroprosessori @ 48 MHz (256 kt flash-muistia, 64 kt RAM)] ajattelua varten ja mikrokontrolleri [8-bittinen ATmega48-mikrokontrolleri @ 4 MHz (4 kt flash-muisti, 512 tavua RAM)] antureiden ja moottoreiden liittämistä varten. Katso Wikipedian tekniset tiedot.

  • 8-bittinen on hallitseva mikroprosessori, mutta se ei ole kaukana yleisimmistä, luulin lukenut aiemmin tänä vuonna, että ne eivät enää muodosta yli 50% markkinaosuudesta.
    Itse haluaisin sanoa, että en ole samaa mieltä suuren määrän mikro-ohjainten luettelosta. Suurin osa niiden järjestelmiin asettamista halvoista ei maksa dollaria, monet tuotemerkistä riippuen eivät pysty tarjoamaan virtaa LEDin virran saamiseksi. On myös erittäin suuri ryhmä, joka katkaisee 20 MHz: n, mutta yleensä täyttävät sen. mielestäni ne ovat hyviä myös hobyisteille.
    Olen sisällyttänyt joitain versioita ja tehnyt vastauksestani yhteisön wikin - auta minua tekemään se oikein!
    AT91SAM7S256 on ehdottomasti mikrokontrolleri eikä mikroprosessori.
    Aloin muokata tätä, lähettämistä, mutta en usko, että se olisi todella lunastettavissa. Hyväksytyllä vastauksella tähän kysymykseen on eron ydin, joka on pohjimmiltaan 'integroitu muisti' tai 'ei integroitua muistia'. Pelkään, että tämä erä on suurelta osin luettelo yleistyksistä, joista monet ovat aivan väärässä.
    Luultavasti parasta vain sulkea se.
    #4
    +14
    JustJeff
    2010-07-10 19:13:57 UTC
    view on stackexchange narkive permalink

    Tätä eroa on nykyään paljon vaikeampaa tehdä, koska ääripäiden välillä on syntynyt koko joukko laitteita, mutta jos on yksi tunniste, joka näyttää toimivan, on tarkasteltava pin-outia ja Katso mitä suunnittelijat tekivät nastojen kanssa . Ovatko ne enimmäkseen yksittäisiä I / O: ta? Vai dominoivatko bussit?

    Mielestäni mikro-ohjain on perinteisesti ollut jotain, joka toimii yhden sirun ratkaisuna; laita yksi piirilevylle muutamalla väistämättömällä diskreetillä ja joillakin liittimillä, kirjoita pieni määrä ohjelmistoja, ja sinulla on järjestelmä. Mikrokontrolleri sisältää kaiken muistin, haihtuvan ja ei, mitä järjestelmä tarvitsee. Tästä mukavuudesta maksettu hinta on, että kumpaakaan ei olisi kovin käsillä. Suurin osa nastoista on omistettu I / O-toiminnoille.

    Toisessa ääripäässä mikroprosessori on eräänlainen peto, joka purkaa mahdollisimman paljon sirujen tukemiseksi piin omistamiseksi maksimoimiseksi. suorittimen ytimen suorituskyky. Suurin osa tämäntyyppisen laitteen nastoista on osoite- ja tietolinjoja, jotka ovat tarpeen yhteyden muodostamiseksi ytimeen puuttuviin muistiin ja I / O-laitteisiin.

    Joitakin asioita voidaan silti kutsua mikroprosessoreiksi, ja muut mikrokontrollerit, kun suunnittelijat noudattavat selvästi yhtä tai toista filosofiaa. Intel Core i7 on selvästi prosessori, PIC: t ja AVR: t ovat selvästi ohjaimia. Tällä hetkellä kuitenkin yhdellä sirulle laitettavan logiikan määrällä voit helposti upottaa koko vuoden 1990 mikroprosessori järjestelmän yhdeksi siruksi. Mitä kutsutte 400 MHz: n PPC604: ksi, jossa on keskeytysohjain, SDRAM-ohjain, ethernet-tuki ja joukko muita oheislaitteita, kaikki yhdellä sirulla?

    > Mitä kutsut 400MHz: n PPC604: ksi, jossa on keskeytysohjain, SDRAM-ohjain, ethernet-tuki ja joukko muita oheislaitteita, kaikki yhdellä sirulla? => Kutsuisin sitä "rasvaksi mikroprosessoriksi". Ei ROM-muistia ja RAM-muistia, joten ehdottomasti ei mikro-ohjainta.
    @Wouter van Ooijen - Luulen, että minun olisi pitänyt mainita, kutsuisin sitä "järjestelmäksi sirulla".
    #5
    +6
    supercat
    2011-11-29 22:22:55 UTC
    view on stackexchange narkive permalink

    Ehdotan, että mikrokontrolleri on laite, joka sisältää tarpeeksi sisäistä muistia ja piirejä, jotta se ainakin joissakin muunnoksissa voisi suorittaa hyödyllisiä toimintoja ilman ulkoista muistia. Tällaisen määritelmän mukaan 8051: llä olisi tarpeeksi piirit ollakseen itsessään hyödyllisiä ja 8031: llä ei; 8031 on kuitenkin yksinkertaisesti 8051, jossa sisäisen ROM-levyn sisältöä ei ole määritelty (vaikka on täysin mahdollista, että jotkut "ROM-levytön" 8031-sirut ja muunnokset jättävät ROM-tilan irti muotista, luulisin, että on joitain muita, ROM-elementtien asettelun yhdenmukaisuuden takaamiseksi sisällytä hyödytön tyhjä ROM-taulukko).

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

    mikrokontrollerit vs. mikroprosessori

    enter image description here

    Suurin osa tästä kaaviosta on täysin hölynpölyä.
    #7
    +5
    Jason S
    2009-12-18 04:14:59 UTC
    view on stackexchange narkive permalink

    Enimmäkseen markkinointi.

    On joitain muita outoja termejä; Analogisilla laitteilla on (tai on ollut) jotain, mitä he kutsuvat "mikromuuntimiksi", jotka olivat kuin ADC / DAC: t, joissa oli sisäänrakennettu mikroprosessori. TI kutsuu nyt joitain DSP: itään (C2000-sarja) digitaalisiin signaalien ohjaimiin.

    Muuten mitä JohnC sanoi.

    Mistä löydän lisätietoja näistä "mikromuuntimista"? Lähin asia, jonka olen löytänyt, on TAS3202.
    he ovat saattaneet lakata kutsumasta heitä niin. http://www.analog.com/en/analog-microcontrollers/analog-microcontrollers/products/index.html ADI: n mikroprosessorit eivät ole minuun koskaan vaikuttaneet, heidän analogiset asiat ovat hyviä, ja heidän DSP: nsä oletetaan olevan hyviä mutta minulla ei ole kokemusta heistä.
    Suurin näytteenottotaajuus 8 kHz, joten ei hyödyllinen äänelle. : /
    En ole samaa mieltä siitä, että se on lähinnä markkinointia. Olen samaa mieltä JohnC: n vastauksesta.
    #8
    +4
    Swanand
    2012-03-20 14:24:16 UTC
    view on stackexchange narkive permalink

    Lisää vain kaikki yllä olevat erinomaisesti kirjoitetut vastaukset, Analogia: Mikroprosessori on aivot. kun taas mikrokontrolleri on koko keho.

    Brain pystyy suorittamaan kaikki ohjeet, mutta meidän on kiinnitettävä silmät, kädet (eli oheislaitteet) ulkoisesti.

    Vaikka kehossa on aivoja ja muita oheislaitteita, ts. Mikrokontrolleri :)

    Anteeksi, että löysin tämän kahdeksan vuotta myöhemmin, mutta minusta tämä vertaus on hieman puutteellinen.Myös mikro-ohjainta käytetään usein vain aivoina, esimerkiksi kun siihen on kytkettävä ulkoisia antureita / toimilaitteita.Samanlainen kuin varsinainen prosessori.Anturien kytkentätapa voi olla erilainen (esimerkiksi PCIe vs. I2C), mutta jopa tämä linja hämärtyy nykyaikaisilla SoC: llä, joita silti kutsutaan usein mikroprosessoreiksi.Mikrokontrolleri on IMO melko harvoin koko elin.Suurin erottelija on edelleen prosessorin ytimen monimutkaisuus / ulkoisen RAM-muistin tarve.Pidän kuitenkin pikemminkin analogiasta - ohjelmistosta tulee sielu :)
    #9
    +3
    Igor Skochinsky
    2011-11-29 22:25:45 UTC
    view on stackexchange narkive permalink

    Rivi on hieman epäselvä, mutta yleensä se menee näin:

    • mikroprosessorit sisältävät prosessorin ytimen (haku- / dekoodausyksikkö, ALU, rekisterit jne.) ja ehkä muutaman peruslohkot, mutta yleensä ei paljon muuta.

      oheislaitteet (SPI / I2C, UART, GPIO, ehkä jopa USB tai Ethernet ja niin edelleen). Joskus tätä kutsutaan nimellä System-on-Chip (SoC), tai joskus SoC on jotain vielä integroitua. Jotkut japanilaiset yritykset rakastavat myös termiä " mikrotietokone".

      Kuten kuitenkin mainitsin, linja hämärtyy. Esimerkiksi äskettäiset Intel / AMD-prosessorit lisäävät sirulle muistinohjaimen (aiemmin se oli piirisarjassa).

      BTW, itse asiassa kutsun 8086: ta mikroprosessoriksi (Intelin mikrokontrollerit sisältävät esimerkiksi 8051 tai 80186) .

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

    Ero mikrokontrollerin ja mikroprosessorin välillä

    1. Mikroprosessori = prosessori; Mikrokontrolleri = prosessori + oheislaitteet + muisti Oheislaitteet = portit + kello + ajastimet + uarts + adc-muuntimet + lcd-ohjaimet + dac + muut tavarat Muisti = eeprom + sram + eprom + flash

    2. Mikroprosessorissa enemmän op-koodeja, muutama bittikäsittelyohje. Mutta mikrokontrollerissa: vähemmän op-koodeja, enemmän bittien käsittelyohjeita.

    3. Mikroprosessoria ei myöskään voi ohjelmoida käsittelemään reaaliaikaisia ​​tehtäviä, kun taas mikrokontrolleri, kuten laitteissa, joiden on veden lämpötilan säätäminen tai huoneen lämpötilan mittaaminen vaatii reaaliaikaista seurantaa, ja siksi mikrokontrolleri toimii sisäänrakennetulla ohjeistollaan.

    Nämä tiedot ovat hieman satunnaisia ​​eivätkä ole niin hyvin muotoiltuja kysymykseen, jolla on niin monta vastausta. Otetaan esimerkki: kuka sanoo, että mikro-ohjaimella on oltava ADC-, DAC- ja LCD-ohjaimet? Monilla on niitä, mutta se ei ole sääntö. Sama bittinkäsittelylle ja reaaliaikaiselle toiminnalle.
    @neelamSingh, Tervetuloa sivustolle, viestisi ei muotoiltu hyvin ja näyttää siltä, ​​että se on katkaissut puolivälissä, se voi käyttää työtä!
    Kolmas pisteesi ei kelpaa. Reaaliaikaisen kyvyn määrää käyttöjärjestelmä, ei prosessorin tyyppi. Ei ole mitään syytä, miksi RTOS ei toimisi mikroprosessorilla. Eikä mikrokontrollereilla ole välttämättä enemmän bittinkäsittelyohjeita.
    #11
    +1
    Bibek
    2012-03-20 10:34:50 UTC
    view on stackexchange narkive permalink

    Mikroprosessori on yksinkertainen keskusyksikkö (CPU) yhdellä sirulla (muista sana ”Single Chip”). Se sisältää aritmeettisen logiikkayksikön (ALU), ohjausyksikön (CU), rekisterit, käskydekooderit, väyläohjauspiirin jne., Mutta kaiken tulisi olla yhdellä sirulla.

    Mikrokontrolleri: Mikrokontrolleri on mikroprosessorin yhdistelmä. ja oheislaitteiden I / O-laitteet tukevat virtapiirejä ja muistia (sekä tietoja että ohjelmaa). Ei tarvitse olla yhdellä sirulla (muista tämä kohta, älä yhdellä sirulla).

    1. Mikroprosessori on yksi mikrotietokoneen osa.
    2. Mikrokontrolleri on täydellinen tietokone kuin mikä tahansa muu tietokone.
    #12
    +1
    Prakash Darji
    2016-03-23 10:55:14 UTC
    view on stackexchange narkive permalink

    Kaikki vastaukset ovat oikein, koska tämä ero enemmän lohkoista, joiden mC ja mP, katso alla oleva taulukko,

    enter image description here

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

    Pitkä vastaus lyhyt:
    MicroProcessor - Onko "ajattelu", on pohjimmiltaan itse siru, joka hoitaa matematiikkaa.
    Microcontroller - Mukana oleva mikroprosessorilla varustettu järjestelmä, joka pystyy helposti olemaan vuorovaikutuksessa elektronisten komponenttien kanssa sulautetun järjestelmän kehittämiseksi.(Ajattele arduinoa, PI: tä, PSOC4: ää jne.

    Tämä on yksi pahimmista vastauksista tähän kysymykseen.Mikroprosessorin kutsuminen "siruksi, joka suorittaa matematiikkaa" on kuin autoa kutsutaan "laitteeksi, jossa on istuimet".Molemmat ovat "helposti yhteensopivia" tai heillä ei olisi käytännön arvoa.


    Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 2.0-lisenssistä, jolla sitä jaetaan.
    Loading...