Odpowiedzi:
Mikroprocesor na ogół nie ma pinów RAM, ROM i IO. Zwykle używa swoich pinów jako magistrali do połączenia z urządzeniami peryferyjnymi, takimi jak RAM, ROM, porty szeregowe, cyfrowe i analogowe we / wy. Z tego powodu można go rozbudowywać na poziomie planszy.
Mikrokontroler to „wszystko w jednym”, procesor, ram, IO wszystko w jednym układzie, dlatego nie można (powiedzmy) zwiększyć dostępnej pamięci RAM ani liczby portów IO. Magistrala sterująca jest wewnętrzna i nie jest dostępna dla projektanta płytki.
Oznacza to, że mikroprocesor jest generalnie zdolny do wbudowania w większe zastosowania ogólnego zastosowania niż mikrokontroler. Mikrokontroler jest zwykle używany do bardziej dedykowanych aplikacji.
Wszystkie są bardzo ogólnymi stwierdzeniami. Dostępne są żetony, które zacierają granice.
Jak wspomniano, mikrokontrolery są zasadniczo układami na chipie. Z wyjątkiem niektórych wyspecjalizowanych urządzeń peryferyjnych wszystko jest w jednym pakiecie. Interfejs do zewnętrznych urządzeń peryferyjnych prawie zawsze odbywa się za pomocą połączeń szeregowych. Dzięki temu rozmiary opakowań są małe (mniej pinów), a rozmiar płytki drukowanej mały (mniej pinów do połączenia między pakietami).
Na ostatnim Boston Barcamp (MIT 2009) wygłosiłem wykład „Wprowadzenie do mikrokontrolerów”. Kopia ulotki znajduje się pod adresem
Mikrokontrolery:
Mikroprocesory:
Interesujące jest dla mnie to, że zestaw LEGO Mindstorms NXT ma mikroprocesor [32-bitowy AT91SAM7S256 (ARM7TDMI) główny mikroprocesor @ 48 MHz (pamięć flash 256 KB, 64 KB RAM)] do myślenia, a także mikrokontroler [8-bit ATmega48 mikrokontroler @ 4 MHz (pamięć flash 4 KB, 512 bajtów RAM)] do współpracy z czujnikami i silnikami. Zobacz dane techniczne na Wikipedii .
To rozróżnienie jest obecnie znacznie trudniejsze, ponieważ między skrajnościami powstało całe spektrum urządzeń, ale jeśli istnieje jeden identyfikator, który wydaje się działać, to spojrzeć na pin-out i spojrzeć na to, co projektanci zrobiłem z pinami . Czy są to głównie indywidualne wejścia / wyjścia? Czy dominują autobusy?
Moim zdaniem mikrokontroler tradycyjnie był czymś, co działa jako rozwiązanie 1-chipowe; umieść jedną na płytce drukowanej z kilkoma nieuniknionymi dyskrecjami i niektórymi złączami, napisz niewielką ilość oprogramowania i masz system. Mikrokontroler zawiera całą pamięć, zmienną i nieulotną, której potrzebuje system, a cena za tę wygodę jest taka, że nie będzie jej zbyt wiele. Większość pinów jest dedykowana do funkcji I / O.
Natomiast z drugiej strony mikroprocesor jest rodzajem bestii, która w jak największym stopniu odciąża układy scalone, aby poświęcić krzem na maksymalizację przepustowości rdzenia procesora. Większość pinów tego rodzaju urządzenia to adresy i linie danych, niezbędne do połączenia z pamięcią i urządzeniami I / O, których brakuje w rdzeniu.
Nadal można nazywać niektóre mikroprocesory, a inne mikrokontrolery, kiedy projektanci wyraźnie przestrzegają jednej lub innej filozofii. Intel Core i7 jest oczywiście procesorem, PIC i AVR są wyraźnie kontrolerami. Jednak w tym momencie, z ilością logiki, którą można umieścić w jednym układzie scalonym, możesz z łatwością osadzić cały system mikroprocesorowy z 1990 roku w jednym układzie. Jak nazywacie PPC604 400 MHz z kontrolerem przerwań, kontrolerem SDRAM, obsługą sieci Ethernet i mnóstwem innych urządzeń peryferyjnych, wszystko na jednym chipie ?
Głównie marketing.
Istnieją inne dziwne warunki; Analog Devices ma (lub miało) coś, co nazwali „mikrokonwerterami”, które były jak ADC / DAC z wbudowanym mikroprocesorem. TI nazywa teraz niektóre ze swoich DSP (seria C2000) cyfrowymi kontrolerami sygnałów.
W przeciwnym razie to, co powiedział JohnC.
Sugerowałbym, że mikrokontroler jest urządzeniem, które zawiera wystarczającą ilość pamięci wewnętrznej i obwodów, które, przynajmniej w niektórych wariantach, mogłyby pełnić przydatną funkcję bez pamięci zewnętrznej. Zgodnie z taką definicją 8051 miałby wystarczającą liczbę obwodów, aby być użytecznym, a 8031 nie; 8031 jest jednak po prostu 8051, w którym zawartość wewnętrznej pamięci ROM jest nieokreślona (chociaż jest całkiem możliwe, że niektóre układy i warianty „bez pamięci ROM” 8031 pozostawiają wolne miejsce w pamięci, oczekuję, że istnieją inne, które, dla spójności układu matrycy z wersjami zawierającymi ROM, dołącz niepotrzebną pustą tablicę ROM).
Aby dodać wszystkie powyższe doskonale napisane odpowiedzi, Analogy: Mikroprocesor to mózg. podczas gdy mikrokontroler jest całym ciałem.
Mózg jest w stanie wykonać wszystkie instrukcje, ale musimy przymocować oczy, dłonie (tj. Urządzenia peryferyjne) zewnętrznie.
Podczas gdy ciało ma mózg i inne urządzenia peryferyjne tj. Mikrokontroler :)
Linia jest nieco rozmyta, ale ogólnie wygląda tak:
mikroprocesory zawierają rdzeń procesora (moduł pobierania / dekodowania, ALU, rejestry itp.) i może kilka podstawowych bloków, ale zwykle niewiele więcej.
mikrokontrolery dodają pamięć RAM (SRAM), zwykle trochę pamięci ROM (może to być maska ROM lub Flash / EEPROM) do przechowywania kodu (ale może również być bez pamięci ROM) oraz zestaw podstawowych urządzeń peryferyjnych (SPI / I2C, UART, GPIO, może nawet USB lub Ethernet i tak dalej). Czasami nazywa się to System-on-Chip (SoC), a czasem SoC jest czymś jeszcze bardziej zintegrowanym. Niektóre japońskie firmy również uwielbiają termin „ mikrokomputer ”.
Jednak, jak wspomniałem, linia staje się rozmyta. Na przykład najnowsze procesory Intel / AMD dodają kontroler pamięci na chipie (wcześniej był w chipsecie).
BTW, tak naprawdę nazwałbym 8086 mikroprocesorem (mikrokontrolery Intela obejmują na przykład 8051 lub 80186).
Mikroprocesor = procesor; Mikrokontroler = procesor + urządzenia peryferyjne + pamięć Urządzenia peryferyjne = porty + zegar + timery + uarts + konwertery ADC + sterowniki LCD + DAC + inne rzeczy; Pamięć = eeprom + sram + eprom + flash
W mikroprocesorze więcej kodów operacyjnych, kilka instrukcji obsługi bitów. Ale w mikrokontrolerze: mniej kodów operacyjnych, więcej instrukcji obsługi bitów.
Mikroprocesor nie może być również zaprogramowany do obsługi zadań w czasie rzeczywistym, podczas gdy mikrokontroler, taki jak w urządzeniach, które muszą kontrolować temperaturę wody lub być może zmierzyć temperaturę w pomieszczeniu, wymaga monitorowania w czasie rzeczywistym, a zatem dzięki wbudowanemu zestawowi instrukcji mikrokontroler działa samemu.
Mikroprocesor to prosta jednostka centralna (CPU) na jednym chipie (pamiętaj słowo „Single Chip”). Obejmuje jednostkę arytmetyczną (ALU), jednostkę sterującą (CU), rejestry, dekodery instrukcji, obwód sterowania magistrali itp., Ale wszystko powinno być na jednym układzie.
Mikrokontroler: Mikrokontroler to połączenie mikroprocesora i urządzeń peryferyjnych I / O, obwodów pomocniczych i pamięci (zarówno danych, jak i programu). Nie trzeba być na jednym chipie (pamiętaj o tym, nie na jednym chipie).
Wszystkie odpowiedzi są poprawne, ponieważ ta różnica więcej bloków mających w mC i mP, patrz poniższa tabela,
Krótka odpowiedź:
Mikroprocesor - „Myślenie” jest w zasadzie układem, który obsługuje matematykę.
Mikrokontroler - system z dołączonym mikroprocesorem, łatwo współpracujący z komponentami elektronicznymi w celu opracowania systemów wbudowanych.