Sự khác biệt giữa vi xử lý và vi điều khiển

Chào! Hôm nay mình sẽ giúp các bạn tìm hiểu sự khác biệt giữa vi điều khiển (VĐK) và vi xử lí (VXL). Để từ đó ta sẽ có cái nhìn tổng quát về 2 loại vi mạch này. Không dài dòng nữa, zô luôn nha.

Bộ vi xử lí (microprocessor)

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 vv. Vi xử lý sẽ xử lý các dữ liệu đầu vào / đầu ra (input/output) thiết bị ngoại vi và đư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.
​IMG

Các loại cấu trúc

  1. Các vi xử lý đầu tiên 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.
  2. Sau này cấu trúc Harvard (Atmega328, Atmega168,… 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 ra còn có hai loại CPU micro programming và hardwired programming. Microprogramming còn chậm khi so sánh với hardwired programming.
  3. Kiến trúc tập lệnh Complex Instruction Set Computer: complex instruction 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ụ.
  4. Reduced Instruction Set Computer: Reduced Instruction 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à PowerPC sử dụng RISC.

Bộ vi xử lý thường được dùng trong các ứng dụng nhỏ. Tùy theo các ứ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.

Vi điều khiển(microcontroller)

Nó cũng là một máy tính nhỏ, trong đó CPU, bộ nhớ (RAM, ROM), I / O thiết bị ngoại vi, timers, 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 vào 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 tiếp, ADC, DAC, Bluetooth, Wi-Fi, …vv 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, motorolla, vv
​IMG

Sự khác biệt giữa vi xử lý và vi điều khiển

Kết luận

Như vậy là chúng ta vừa tìm hiểu xong sự khác biệt giữa vi điều khiển và vi xử lí. Mình hi vọng rằng bài viết này sẽ mang lại nhiều kiến thức mới cho các bạn. Chúc các bạn lập trình, sáng tạo vui vẻ và có nhiều sáng chế, phát minh hay và thú vị. Xin cảm ơn