Để hiểu hơn sự khác biệt giữa vi xử lý và vi điểu khiển ta đi tìm hiểu khái niệm của từng loại:
1. Khái niệm bộ vi xử lý
Bộ vi xử lý( microprocessor) là một máy tính nhỏ hoặc CPU( đơn vị xử lý trung tâm) được sử dụng để tính toán, thực hiện phép toán logic, kiểm soát hệ thống và lưu trữ dữ liệu vi. Vi xử lý sẽ xử lý các dữ liệu đầu vào, đầu ra( input/ output) thiết bị ngoại vi đưa ra kết quả trở lại để chúng hoạt động. Dòng vi xử lý 4 bit đầu tiên được Intel sản xuất vào tháng 11/ 1971 với tên gọi là 4004.
Hình 1: Bộ vi xử lý
Các vi xử lý đầu tiên được sử dụng cấu trúc Von- Neumann. Trong cấu trúc Von-Neumann bộ nhớ dữ liệu và bộ nhớ chương trình được đặt trong một bộ nhớ. Để xử lý một lệnh từ bộ nhớ hoặc yêu cầu từ I/O, nó nhận được lệnh thông qua bus từ bộ nhớ hoặc I/O và đặt vào thanh ghi, xử lý nó trong các thanh ghi. Bộ xử lý có thể lưu kết quả trong bộ nhớ thông qua các bus. Nhưng kiến trúc này có một số nhược điểm như chậm và quá trình truyền dữ liệu không đồng thời xảy ra cùng một lúc bời vì chia sẻ cùng một bus chung.
Sau này cấu trúc Harvarrd( Atmega 328, Atmega 168, ... Arduino đang dùng) được phát triển. Trong cấu trúc Harvard bộ nhớ dữ liệu và bộ nhớ chương trình và các bus được tách biệt với nhau. Ngoài ta còn có hai loại CPU micro programing và hardwired programing. Microprograming còn chậm khi so sánh với harwired.
Kiến trúc tập lệnh Complex Intructtion Set Computer: Compelx intruction set computer( CISC) là tập lệnh phức tạp nên sẽ tốn nhiều thời gian để thực hiện, tập lệnh phức tạp có thể bao gồm quá trình xử lý opcode và các toán hạng...vv, tốc độ thực hiện lệnh sẽ chậm. Cấu trúc X86 là một ví dụ.
Reduce Instrucstion Set Computer: Reduce Intruction Set Computer( RISC) là tập lệnh thu gọn và tốc độ thực hiện nhanh. Việc thực hiện rất đơn giản và không yêu cầu cấu trúc phúc tạp. RISC được sử dụng rộng rãi trong các ưng dụng hệ thống nhúng. SHARC và Powepc sử dụng RISC.
Bộ vi xử lý thường được sử dụng trong các ứng dụng nhỏ. Tùy theo ứng dụng và thiết bị ngoại vi bạn đang sử dụng mã có thể chọn bộ vi xử lý cần thiết để thực hiện.
2. Khái niệm vi điều khiển.
Vi điều khiển( Microcontroller): Nó cũng là một máy tính nhỏ trong đó có CPU, bộ nhớ( RAM, ROM), I/O thiêt bị ngoại vi, timer, counters, được nhúng vào trong một mạch tích hợp( IC) nơi mà các bộ vi xử lý và tất cả các khối này được kết hợp trong một board thông qua hệ thống bus. Vi điều khiển có thể dễ dàng giao tiếp với thiêt bị ngoại vi bên ngoài như cổng nối, ADC, DAC, Bluetooth, Wifi,..quá trình giao tiếp nhanh hơn khi so sánh với các bộ vi xử lý. Hầu hết các vi điều khiển sử dụng cấu trúc RISC. Ngoài ra còn có một số vi điều khiển sử dụng cấu trúc CISC như 8051, mottorolla, vv...
Hình 2: Bộ vi điều khiển
3. Sự khác biệt giữa vi xử lý và vi điều khiển
Cấu trúc: Hầu hết các bộ vi xử lý sử dụng cấu trúc CISC và Von-Neumann. Tuy nhiên, bộ vi xử lý phổ biến sử dụng cấu trúc CISC. Còn vi điều khiển sử dụng cấu trúc RISC và Harvard. Nhung cũng có một số điều khiển sử dụng cấu trúc như 8051 và SHARC. Bộ vi xử lý có ROM, RAM, Bộ lưu trữ thứ cấp I/O thiết bị ngoại vi, timer bộ đếm(counter)
...vvv.
Tốc độ CPU: Bộ vi xử lý có tốc độ nhanh hơn so với các bộ điều khiển bởi clock. Bộ vi xử lý có thể có tốc độ xung nhịp( clock) cao. Bộ vi điều khiển chạm khi so sánh với các bộ vi xử lý. Tốc độ thực thi luôn phụ thuộc vào lock. Nếu chúng ta so sánh hiệu suất tổng thể và ứng dụng, vi điểu khiển tốc độ thực hiện rất nhanh bởi vì tất cả các thiết bị ngoại vi sẵn có,.
Thời gian thiết kế: Thiết kế một vi điều khiển sẽ mất ít thời gian khi thiết kế bộ vi xử lý. Việc giao tiếp giữa cá thiết bị ngoại vi và chương trình dễ dàng hơn khi so sánh với bộ vi xử lý. Vi điều khiển được thiết kế để thực hiện chức năng cụ thể. Cụ thể có nghĩa là các ứng dụng mà quan hệ giữa đầu vào và đầu ra được xác định rõ ràng. Tùy thuộc vào đầu vào, một số xử lý cần phải được thực hiện lập đầu ra. Ví dụ: bàn phím, chuột, máy giặt, máy ảnh ktx thuật, USV, điều khiển từ xa, lò vi sóng, xe hơi, xe đạp, điện thoại, điện thoại di đông, đồng hồ,vv. Khi ứng dụng được cụ thể hóa cần tài nguyên nhỏ như RAM, ROm, I/O port... do đó có thể được nhúng vào chup duy nhất. Điều này sẽ làm giảm kích thước và chi phí.
Ứng dụng: Bộ vi xử lý chủ yếu được sử dụng trong hệ thống máy tính, hệ thống quốc phòng, mạng thông tin liên lạc,... còn vi điều khiển được sử dụng chủ yếu trong các ứng dụng nhúng như đồng hồ, điện thoại di động, máy nghe nhach MP3,...vv
Giá thành: So sánh vi điều khiển và vi xử lý về chi phí là không hợp lý. Chắc chắn vi điều khiển rẻ hơn so với các bộ vi xử lý. Tuy nhiên không thể sử dụng thay cho bộ vi xử lý và ngược lại vì vi điều khiển và vi xử lý có tầm quan trọng riêng trong việc phát triển các ứng dụng.
4. Kết luận
Bài viết giúp các bạn phần nào thấy được sự khác biệt giữa vi điều khiển và vi xử lý. Rất hi vọng rằng bài viết đem lại nhiều điều bổ ích cho các bạn.
(Nguồn thông tin tham khảo internet)
Nếu bạn có nhu cầu về hệ thống tự động hóa, hãy liên hệ với chúng tôi. Với phương châm làm việc chuyên nghiệp, tận tâm Bảo An Automation luôn cam kết mang tới cho khách hàng sản phẩm với chất lượng tốt, giá thành hợp lý và thời gian cấp hàng nhanh.