Câu trả lời:
Một bộ vi xử lý thường không có chân RAM, ROM và IO. Nó thường sử dụng các chân của nó như một chiếc xe buýt để giao tiếp với các thiết bị ngoại vi như RAM, ROM, cổng nối tiếp, IO kỹ thuật số và Analog. Nó có thể mở rộng ở cấp độ hội đồng do điều này.
Một bộ vi điều khiển là 'tất cả trong một', bộ xử lý, ram, IO tất cả trên một chip, do đó bạn không thể (nói) tăng dung lượng RAM có sẵn hoặc số lượng cổng IO. Xe buýt điều khiển là nội bộ và không có sẵn cho người thiết kế bảng.
Điều này có nghĩa là một bộ vi xử lý thường có khả năng được xây dựng thành các ứng dụng cho mục đích chung lớn hơn so với vi điều khiển. Bộ vi điều khiển thường được sử dụng cho các ứng dụng chuyên dụng hơn.
Tất cả những điều này là những tuyên bố rất chung chung. Có chip có sẵn làm mờ ranh giới.
Như đã đề cập, vi điều khiển về cơ bản là các hệ thống trên chip. Ngoại trừ một số thiết bị ngoại vi chuyên dụng, mọi thứ đều nằm trong một gói. Giao diện với các thiết bị ngoại vi bên ngoài hầu như luôn được thực hiện bằng các kết nối nối tiếp. Điều này giữ cho kích thước gói nhỏ (ít chân) và kích thước PCB nhỏ (ít chân để kết nối giữa các gói).
Tại Boston Barcamp vừa qua (MIT 2009) tôi đã nói chuyện "Giới thiệu về Vi điều khiển". Một bản sao của bản tin đang ở
http://www.luciani.org/not-quite- yet / doc / intro-to-uC.pdf
Vi điều khiển:
Bộ vi xử lý:
Tôi thấy thú vị khi bộ LEGO Mindstorms NXT có bộ vi xử lý [32 bit AT91SAM7S256 (ARM7TDMI) bộ vi xử lý chính @ 48 MHz (bộ nhớ flash 256 KB, RAM 64 KB)] để thực hiện suy nghĩ và bộ vi điều khiển [8 bit ATmega48 vi điều khiển @ 4 MHz (bộ nhớ flash 4 KB, RAM 512 byte)] để giao tiếp với các cảm biến và động cơ. Xem thông số kỹ thuật trên Wikipedia .
Sự khác biệt này là một điều khó thực hiện hơn nhiều trong những ngày này, vì toàn bộ các thiết bị đã phát sinh giữa các thái cực, nhưng nếu có một định danh dường như hoạt động, đó là nhìn vào pin-out và xem những gì các nhà thiết kế đã làm với các chân . Có phải họ chủ yếu là I / O cá nhân? Hay xe buýt chiếm ưu thế?
Theo quan điểm của tôi, một bộ vi điều khiển theo truyền thống là một thứ hoạt động như một giải pháp 1 chip; đặt một cái lên PCB với một vài sự không hài lòng không thể tránh khỏi, và một số đầu nối, viết một lượng nhỏ phần mềm và bạn có một hệ thống. Bộ vi điều khiển chứa tất cả bộ nhớ, không ổn định và không, mà hệ thống cần, cái giá phải trả cho sự tiện lợi này là sẽ không có nhiều thứ trong tay. Hầu hết các chân được dành riêng cho các chức năng I / O.
Trong khi đó, ở một thái cực khác, bộ vi xử lý là loại quái thú giảm tải càng nhiều càng tốt để hỗ trợ chip, nhằm dành silicon để tối đa hóa thông lượng của lõi CPU. Hầu hết các chân trên loại thiết bị này là địa chỉ và đường dữ liệu, cần thiết để kết nối với bộ nhớ và các thiết bị I / O mà lõi thiếu.
Vẫn có thể gọi một số thứ là bộ vi xử lý và những thứ khác là vi điều khiển, khi các nhà thiết kế tuân thủ rõ ràng triết lý này hay triết lý khác. Intel Core i7 rõ ràng là bộ xử lý, PIC và AVR là bộ điều khiển rõ ràng. Tuy nhiên, tại thời điểm này, với số lượng logic có thể được đặt trong một chip đơn, bạn có thể dễ dàng nhúng toàn bộ hệ thống vi xử lý 1990 vào một chip đơn. Bạn gọi PPC.60 400 MHz với bộ điều khiển ngắt, bộ điều khiển SDRAM, hỗ trợ ethernet và một loạt các thiết bị ngoại vi khác, tất cả nằm trên một chip ?
Chủ yếu là tiếp thị.
Có một số thuật ngữ kỳ lạ khác; Các thiết bị analog có (hoặc có) thứ mà họ gọi là "microconverters" giống như ADC / DAC với bộ vi xử lý được tích hợp. TI hiện đang gọi một số Bộ điều khiển tín hiệu số DSP (dòng C2000) của họ.
Nếu không thì những gì JohnC đã nói.
Tôi muốn đề xuất rằng vi điều khiển là một thiết bị chứa đủ bộ nhớ trong và mạch điện, ít nhất là trong một số biến thể, nó có thể thực hiện một số chức năng hữu ích mà không cần bộ nhớ ngoài. Theo định nghĩa như vậy, 8051 sẽ có đủ mạch để hữu dụng và 8031 thì không; Tuy nhiên, 8031 chỉ đơn giản là một 8051 trong đó nội dung của ROM bên trong là không xác định (trong khi hoàn toàn có thể một số chip 8031 "ROMless" rời khỏi không gian ROM, tôi hy vọng sẽ có một số khác, để thống nhất bố cục khuôn với các phiên bản bao gồm ROM, bao gồm một mảng ROM trống vô dụng).
Chỉ cần thêm tất cả các câu trả lời được viết một cách xuất sắc, Analogy: Vi xử lý là một bộ não. trong khi Vi điều khiển là Toàn bộ cơ thể.
Não có khả năng Thực hiện tất cả các hướng dẫn nhưng chúng ta cần phải gắn Mắt, Tay (tức là Ngoại vi) bên ngoài.
Trong khi Body có Brain và các thiết bị ngoại vi khác tức là Vi điều khiển :)
Dòng này hơi mờ nhưng nhìn chung nó sẽ như thế này:
bộ vi xử lý chứa lõi bộ xử lý (đơn vị tìm nạp / giải mã, ALU, thanh ghi, v.v.) và có thể một vài khối cơ bản hơn, nhưng thường không nhiều hơn.
vi điều khiển thêm RAM (SRAM), thường là một số ROM (có thể là mặt nạ rom hoặc Flash / EEPROM) để lưu trữ mã (nhưng cũng có thể là ROMless) và một bộ các thiết bị ngoại vi cơ bản (SPI / I2C, UART, GPIO, thậm chí có thể là USB hoặc Ethernet và như vậy). Đôi khi điều này được gọi là System-on-Chip (SoC), hoặc đôi khi SoC là một thứ thậm chí còn được tích hợp nhiều hơn. Một số công ty Nhật Bản cũng thích thuật ngữ " máy vi tính ".
Tuy nhiên, như tôi đã đề cập, dòng bị mờ. Ví dụ, bộ xử lý Intel / AMD gần đây thêm bộ điều khiển bộ nhớ trên chip (trước đây nó có trong chipset).
BTW, tôi thực sự sẽ gọi 8086 là bộ vi xử lý (bộ vi điều khiển của Intel bao gồm 8051 hoặc 80186).
Bộ vi xử lý = cpu; Vi điều khiển = cpu + thiết bị ngoại vi + bộ nhớ Ngoại vi = cổng + đồng hồ + bộ hẹn giờ + uarts + bộ chuyển đổi adc + trình điều khiển LCD + dac + các thứ khác; Bộ nhớ = eeprom + sram + eprom + flash
Trong Vi xử lý nhiều mã op hơn, một vài hướng dẫn xử lý bit. Nhưng trong Vi điều khiển: ít mã op hơn, Hướng dẫn xử lý bit nhiều hơn.
Một bộ vi xử lý cũng có thể không được lập trình để xử lý các tác vụ thời gian thực trong khi một bộ vi điều khiển như trong các thiết bị cần kiểm soát nhiệt độ của nước hoặc có thể đo nhiệt độ của phòng cần theo dõi thời gian thực và do đó, bộ hướng dẫn sẵn có của bộ vi điều khiển hoạt động. trên chính nó.
Bộ vi xử lý là một đơn vị xử lý trung tâm đơn giản (CPU) trên một chip đơn (hãy nhớ từ 'Chip đơn'). Nó bao gồm đơn vị logic số học (ALU), đơn vị điều khiển (CU), thanh ghi, bộ giải mã lệnh, mạch điều khiển bus, v.v. nhưng mọi thứ nên nằm trên một chip đơn.
Bộ vi điều khiển: Một bộ vi điều khiển là sự kết hợp giữa bộ vi xử lý và các thiết bị I / O ngoại vi, mạch hỗ trợ và bộ nhớ (cả dữ liệu và chương trình). Không nhất thiết phải ở trên một chip đơn (hãy nhớ điểm này, không phải trong một chip đơn).
Tất cả các câu trả lời đều đúng, vì sự khác biệt này nhiều hơn các khối có trong mC và mP, xem bảng bên dưới,
Câu trả lời dài ngắn:
MicroProcessor - Liệu 'suy nghĩ', về cơ bản là một con chip xử lý toán học.
Vi điều khiển - Một hệ thống có bộ vi xử lý đi kèm, có khả năng dễ dàng giao tiếp với các thành phần điện tử để phát triển các hệ thống nhúng.