Apa perbedaan antara mikrokontroler dan mikroprosesor?

189

Apa perbedaan antara mikrokontroler dan mikroprosesor?

endolit
sumber
2
Lihat juga artikel ini oleh Atmel.
Sudoer
kebanyakan harga :-)
Hilmar
1
@Hilmar, ulang "sebagian besar harga" - salah.
cp.engr

Jawaban:

191

Sebuah mikroprosesor umumnya tidak memiliki RAM, ROM dan pin IO. Biasanya menggunakan pin sebagai bus untuk antarmuka ke periferal seperti RAM, ROM, port serial, Digital dan Analog IO. Itu dapat diperluas di tingkat dewan karena ini.

Mikrokontroler adalah 'semua dalam satu', prosesor, ram, IO semua pada satu chip, karena itu Anda tidak dapat (katakanlah) meningkatkan jumlah RAM yang tersedia atau jumlah port IO. Bus pengendali bersifat internal dan tidak tersedia untuk perancang papan.

Ini berarti bahwa mikroprosesor umumnya mampu dibangun ke dalam aplikasi tujuan umum yang lebih besar daripada mikrokontroler. Mikrokontroler biasanya digunakan untuk aplikasi yang lebih berdedikasi.

Semua ini adalah pernyataan yang sangat umum. Ada chip yang tersedia yang mengaburkan batas.

JohnC
sumber
4
Banyak mikrokontroler membuat bus memori tersedia untuk kode dan data eksternal; pin tersebut mungkin atau mungkin tidak dapat digunakan untuk tujuan lain jika memori eksternal tidak digunakan. Menurut saya, perbedaan yang menentukan adalah apakah suatu perangkat biasanya ( ) mampu menjalankan setidaknya agak berguna tanpa bus memori eksternal. ( ) The 8051 tentu mampu, jadi jelas "mikrokontroler". 8031 adalah chip yang sama dengan 8051, tetapi dengan isi ROM tidak ditentukan. Kurangnya ROM yang bermanfaat akan membuatnya menjadi mikroprosesor, tetapi karena chip yang sama dengan 8051, itu bisa disebut mikrokontroler.
supercat
2
"Bus pengendali bersifat internal dan tidak tersedia untuk perancang papan." Itu belum tentu benar. Ada mikrokontroler dengan alamat eksternal / databus untuk memungkinkan memori tambahan.
stevenvh
Jadi, dapatkah kita mengatakan bahwa mikrokontroler pada dasarnya adalah komputer sedangkan mikroprosesor hanyalah implementasi chip tunggal dari sebuah CPU?
dobel
@doubleOrt: Anda bisa mengatakannya seperti itu, tetapi batasannya kabur. Saat ini, ada beberapa chip yang menyertakan volatile data memory (SRAM), tetapi tidak ada memori kode nonvolatile (Flash). Mereka sering juga disebut MPU (mikroprosesor). Jadi perbedaannya tampaknya terutama terkait dengan Flash on-chip hari ini. NXP memasarkan sesuatu yang mereka sebut prosesor "crossover" dengan RAM, tetapi tidak ada Flash. Ini berkaitan dengan meningkatnya kesulitan mengintegrasikan Flash dalam sebuah chip dengan transistor yang lebih kecil. Batas saat ini tampaknya sekitar 28 nm.
sh-
29

Seperti yang disebutkan mikrokontroler pada dasarnya adalah sistem pada sebuah chip. Kecuali untuk beberapa perangkat khusus semuanya dalam satu paket. Antarmuka ke perangkat eksternal hampir selalu dilakukan menggunakan koneksi serial. Ini menjaga ukuran paket kecil (lebih sedikit pin) dan ukuran PCB kecil (lebih sedikit pin untuk menghubungkan antar paket).

Di Boston Barcamp terakhir (MIT 2009) saya melakukan pembicaraan "Pengenalan Mikrokontroler". Salinan selebaran ada di

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

jluciani
sumber
25

Mikrokontroler:

  • biasanya 8-bit, tetapi mungkin 4-, 16-, atau 32-bit
  • berjalan dengan kecepatan kurang dari 200 MHz
  • gunakan sedikit daya
  • dapat memberikan arus yang cukup untuk mengoperasikan LED
  • berguna untuk berinteraksi dengan sensor dan motor
  • mudah diganti, menjadi murah ($ 0,10 hingga $ 10)
  • benar-benar terkendala untuk RAM dan penyimpanan persisten (ruang flash)
  • sangat bagus untuk penggemar elektronik

Mikroprosesor:

  • biasanya paling tidak 16-bit, dan biasanya 32-bit atau 64-bit, meskipun 8-bit masih memiliki pangsa pasar yang besar
  • banyak yang dapat melakukan floating point matematika dalam perangkat keras
  • berjalan pada kecepatan yang diukur dalam ratusan MHz
  • dirancang untuk menjadi otak suatu sistem (dan membutuhkan keseluruhan sistem untuk mendukungnya)
  • perlu perangkat keras khusus untuk berinteraksi dengan sensor, motor, LED, dll.
  • mahal (pikirkan $ 50 - $ 250 untuk 32 atau 64-bit)
  • dirancang untuk RAM eksternal dan penyimpanan persisten (hard drive)
  • tidak semudah dikerjakan oleh seorang hobiis

Saya merasa menarik bahwa set LEGO Mindstorms NXT memiliki mikroprosesor [32-bit AT91SAM7S256 (ARM7TDMI) mikroprosesor utama @ 48 MHz (memori flash 256 KB, 64 KB RAM)] untuk melakukan pemikiran, dan mikrokontroler [ATmega48 8-bit ATmega48 mikrokontroler @ 4 MHz (memori flash 4 KB, RAM 512 Bytes)] untuk berinteraksi dengan sensor dan motor. Lihat spesifikasi teknis di Wikipedia .

Clinton Blackmore
sumber
2
8-bit adalah mikroprosesor dominan, tetapi jauh dari yang paling umum, saya pikir saya membaca awal tahun ini bahwa mereka tidak lagi membuat lebih dari 50% pangsa pasar.
Kortuk
3
Sebenarnya, saya ingin mengatakan bahwa saya tidak setuju dengan sejumlah besar daftar mikrokontroler. Sebagian besar yang murah mereka dimasukkan ke dalam sistem tidak memerlukan biaya satu dolar, banyak, tergantung pada merek, tidak dapat menyediakan arus untuk menyalakan LED. Ada juga kelompok yang sangat besar yang memecahkan 20MHz, tetapi secara umum memenuhi spesifikasi itu. Saya pikir mereka juga bagus untuk penggemar.
Kortuk
Saya telah memasukkan beberapa revisi dan menjadikan jawaban saya sebagai wiki komunitas - bantu saya memperbaikinya!
Clinton Blackmore
3
AT91SAM7S256 jelas merupakan mikrokontroler atau mikroprosesor.
jpc
4
Saya mulai mengedit ini, memposting, tetapi saya pikir itu tidak dapat ditebus. Jawaban yang diterima untuk pertanyaan ini memiliki esensi perbedaan, yang pada dasarnya adalah 'memori terintegrasi' atau 'tidak ada memori terintegrasi'. Saya khawatir lot ini sebagian besar merupakan daftar generalisasi, yang beberapa di antaranya keliru.
13

Perbedaan ini adalah salah satu yang jauh lebih sulit untuk dibuat hari ini, karena seluruh spektrum perangkat telah muncul di antara yang ekstrem, tetapi jika ada satu pengidentifikasi yang tampaknya berfungsi, itu untuk melihat pin-out, dan melihat apa yang para desainer lakukan dengan pin . Apakah mereka sebagian besar I / O individu? Atau bis mendominasi?

Dalam pandangan saya, mikrokontroler secara tradisional merupakan sesuatu yang berfungsi sebagai solusi 1-chip; letakkan satu di PCB dengan beberapa disk yang tidak terhindarkan, dan beberapa konektor, tulis sejumlah kecil perangkat lunak, dan Anda memiliki sistem. Mikrokontroler berisi semua memori, tidak stabil dan tidak, yang dibutuhkan sistem, harga yang dibayarkan untuk kenyamanan ini adalah tidak akan ada banyak yang tersedia. Sebagian besar pin didedikasikan untuk fungsi I / O.

Sedangkan, pada ekstrem yang lain, mikroprosesor adalah jenis binatang untuk melepaskan sebanyak mungkin untuk mendukung chip, untuk mendedikasikan silikon untuk memaksimalkan throughput inti CPU. Sebagian besar pin pada perangkat jenis ini adalah garis alamat dan data, yang diperlukan untuk menghubungkan ke memori dan perangkat I / O yang tidak dimiliki core.

Masih mungkin untuk menyebut beberapa hal mikroprosesor, dan hal-hal lain mikrokontroler, ketika para desainer dengan jelas berpegang pada satu filosofi atau yang lain. Intel Core i7 jelas merupakan prosesor, PIC dan AVR jelas merupakan pengontrol. Namun, pada saat ini, dengan jumlah logika yang dapat dimasukkan ke dalam satu chip, Anda dapat dengan mudah menanamkan seluruh sistem mikroprosesor 1990 ke dalam satu chip tunggal. Apa yang Anda sebut PPC604 400MHz dengan pengontrol interupsi, pengontrol SDRAM, dukungan ethernet, dan sejumlah periferal lain, semuanya dalam satu chip ?

JustJeff
sumber
> Apa yang Anda sebut PPC604 400MHz dengan pengontrol interupsi, pengontrol SDRAM, dukungan ethernet, dan sejumlah periferal lain, semuanya dalam satu chip? => Saya akan menyebutnya "mikroprosesor lemak". Tidak ada ROM dan RAM, jadi jelas bukan mikrokontroler.
Wouter van Ooijen
2
@Wouter van Ooijen - Saya kira saya seharusnya menyebutkan, saya akan menyebutnya "sistem pada sebuah chip".
JustJeff
5

Sebagian besar pemasaran.

Ada beberapa istilah aneh lainnya; Perangkat Analog memiliki (atau memiliki) sesuatu yang mereka sebut "mikrokonversi" yang seperti ADC / DAC dengan mikroprosesor bawaan. TI kini memanggil beberapa Pengendali Sinyal Digital DSP (seri C2000).

Kalau tidak, apa yang dikatakan JohnC.

Jason S
sumber
Di mana saya dapat menemukan lebih banyak tentang "mikrokonversi" ini? Hal terdekat yang saya temukan adalah TAS3202.
endolith
mereka mungkin berhenti memanggil mereka begitu. analog.com/en/analog-microcontrollers/analog-microcontrollers/... Saya tidak pernah terkesan dengan mikroprosesor ADI, barang analog mereka bagus, dan DSP mereka seharusnya bagus tapi saya tidak punya pengalaman dengan mereka .
Jason S
Laju pengambilan sampel maksimum 8 kHz, jadi tidak berguna untuk audio. : /
endolith
2
Saya tidak setuju bahwa itu adalah pemasaran. Saya setuju dengan jawaban JohnC.
Daniel Grillo
5

Saya akan menyarankan bahwa mikrokontroler adalah perangkat yang mengandung cukup memori internal dan sirkuit yang, setidaknya dalam beberapa varian, dapat melakukan beberapa fungsi yang berguna tanpa memori eksternal. Dengan definisi seperti itu, 8051 akan memiliki sirkuit yang cukup untuk berguna dengan sendirinya dan 8031 ​​tidak akan; 8031, bagaimanapun, hanyalah sebuah 8051 di mana isi ROM internal tidak ditentukan (sementara sangat mungkin bahwa beberapa chip dan varian "ROMless" 8.031 meninggalkan ruang ROM dari cetakan, saya berharap ada beberapa yang lain, yang untuk konsistensi tata letak cetakan dengan versi yang menyertakan ROM, sertakan susunan ROM kosong yang tidak berguna).

supercat
sumber
4

Untuk menambahkan semua jawaban yang ditulis dengan sangat baik di atas, Analogi: Mikroprosesor adalah Otak. sedangkan Mikrokontroler adalah Seluruh Tubuh.

Otak mampu Melaksanakan semua instruksi tetapi Kita perlu melampirkan Mata, Tangan (yaitu Periferal) secara eksternal.

Sedangkan Tubuh memiliki Otak dan Periferal Lain yaitu Mikrokontroler :)

Swanand
sumber
3

Garisnya agak buram tetapi umumnya seperti ini:

  • mikroprosesor berisi inti prosesor (fetch / decode unit, ALU, register dll) dan mungkin beberapa blok yang lebih mendasar, tetapi biasanya tidak lebih.

  • mikrokontroler menambahkan RAM (SRAM), biasanya beberapa ROM (bisa berupa rom rom atau Flash / EEPROM) untuk penyimpanan kode (tetapi juga bisa ROMless), dan satu set periferal dasar (SPI / I2C, UART, GPIO, bahkan mungkin USB atau Ethernet dan sebagainya). Kadang-kadang ini disebut System-on-Chip (SoC), atau kadang-kadang SoC adalah sesuatu yang bahkan lebih terintegrasi. Beberapa perusahaan Jepang juga menyukai istilah " komputer mikro ".

    Namun, seperti yang saya sebutkan, garis menjadi buram. Sebagai contoh, prosesor Intel / AMD baru-baru ini menambahkan pengontrol memori pada chip (sebelumnya berada di chipset).

    BTW, saya benar-benar akan memanggil 8086 mikroprosesor (mikrokontroler Intel termasuk misalnya 8.051 atau 80.186).

Igor Skochinsky
sumber
2

Perbedaan antara mikrokontroler dan mikroprosesor

  1. Mikroprosesor = cpu; Mikrokontroler = cpu + periferal + memori Periferal = port + jam + timer + uarts + konverter adc + driver lcd + dac + hal lain; Memori = eeprom + sram + eprom + flash

  2. Di Microprocessor lebih banyak op-kode, beberapa bit menangani instruksi. Tetapi dalam Microcontroller: lebih sedikit op-kode, lebih sedikit penanganan Instruksi.

  3. Sebuah mikroprosesor mungkin juga tidak diprogram untuk menangani tugas-tugas real-time sedangkan mikrokontroler seperti dalam perangkat yang perlu mengontrol suhu air atau mungkin mengukur suhu ruangan memerlukan pemantauan waktu nyata dan oleh karena itu dengan set inbuilt instruksi mikrokontroler bekerja dengan dirinya sendiri.

neelam singh
sumber
3
Informasi ini agak acak dan tidak dirumuskan dengan baik, untuk pertanyaan dengan begitu banyak jawaban. Ambil contoh: siapa bilang mikrokontroler harus memiliki driver ADC, DAC dan LCD? Banyak yang memilikinya, tetapi itu bukan aturan. Hal yang sama untuk penanganan bit dan operasi waktu nyata.
clabacchio
@neelamSingh, Selamat datang di situs ini, postingan Anda tidak memformat dengan baik dan sepertinya memotong sebagian, mungkin saja perlu beberapa pekerjaan!
Kortuk
2
Poin ketiga Anda tidak valid. Kemampuan real-time ditentukan oleh OS, bukan jenis prosesor. Tidak ada alasan mengapa RTOS tidak dapat berjalan pada mikroprosesor. Dan mikrokontroler tidak perlu sedikit pun menangani instruksi.
stevenvh
1

Mikroprosesor adalah unit pemrosesan sentral sederhana (CPU) pada satu chip (ingat kata 'Single Chip'). Ini termasuk unit logika Aritmatika (ALU), unit kontrol (CU), register, instruksi decoder, sirkuit kontrol bus dll. Tetapi semuanya harus berada dalam satu chip.

Mikrokontroler: Mikrokontroler adalah asosiasi mikroprosesor dan perangkat I / O periferal, sirkuit dukungan dan memori (data dan program). Tidak perlu berada dalam satu chip (ingat titik ini, bukan dalam satu chip).

  1. Mikroprosesor adalah salah satu komponen dari komputer mikro.
  2. Mikrokontroler adalah komputer lengkap yang mirip dengan komputer lain.
Bibek
sumber
1

Semua jawaban benar, karena perbedaan ini lebih banyak dari blok yang ada di mC dan mP, lihat tabel di bawah ini,

masukkan deskripsi gambar di sini

Prakash Darji
sumber
0

Jawaban singkatnya singkat:
MicroProcessor - Apakah 'berpikir', pada dasarnya adalah sebuah chip yang menangani matematika.
Mikrokontroler - Suatu sistem dengan mikroprosesor yang disertakan, siap untuk berinteraksi dengan komponen elektronik untuk mengembangkan sistem tertanam.

GigaJoules
sumber