ARM là bộ vi xử lý hay vi điều khiển?


18

Tôi đã có một thời gian khó khăn để cố gắng để biết ARM là một bộ vi xử lý hoặc vi điều khiển hay cái gì khác?

Câu trả lời:


41

Cũng không.

ARM là một kiến ​​trúc CPU (chính xác hơn, một họ các kiến ​​trúc CPU liên quan). Nếu bạn đặt CPU đó (hoặc bất kỳ) CPU nào trên một con chip, bạn có một bộ vi xử lý (giống như chúng đã làm trong các máy Acorn lâu đời). Nếu bạn kết hợp nó với ROM (Flash), RAM và các thiết bị ngoại vi trên một chip, bạn có một bộ vi điều khiển (ví dụ: LPC2148).

Mọi thứ có thể trở nên hơi lầy lội khi bạn kết hợp CPU với ROM và RAM, nhưng cũng cung cấp dữ liệu, địa chỉ và các dòng điều khiển trên các chân, để có thể thêm bộ nhớ ngoài. Một con chip như vậy có thể được sử dụng trong chế độ vi điều khiển hoặc chế độ vi xử lý. (ví dụ: LPC2478)

Ngày nay, các hệ thống nhỏ hơn (tối đa 0,5Mb Flash, RAM vài Kb) có sẵn dưới dạng vi điều khiển. Các hệ thống lớn hơn (thường chạy Linux hoặc một cái gì đó tương tự) thường bao gồm một bộ vi xử lý với RAM ngoài. (ROM cũng có thể là bên ngoài hoặc một boot-rom nhỏ trên chip + thẻ SD hoặc tương tự). Ví dụ: Raspberry Pi và các bo mạch Linux nhỏ khác, ESP8266 hoặc mở bất kỳ điện thoại di động, hộp giải mã, modem / bộ định tuyến, v.v.

Lưu ý hài hước: vi điều khiển có xu hướng thiếu RAM, do đó chạy từ Flash, thường giới hạn tốc độ của chúng. Bộ vi xử lý thường có nhiều RAM, có Flash chậm hơn, từ đó mã và dữ liệu được tải vào RAM để thực thi.

Ngày nay (2015) thuật ngữ ARM ngày càng khó hiểu, bởi vì nó có thể đề cập đến công ty sản xuất các thiết kế ARM, hoặc một trong những thiết kế. (Bản thân công ty ARM không sản xuất chip, họ cấp phép thiết kế cho các nhà sản xuất chip.) Thiết kế 'gia đình' gần đây của Cortex đủ khác biệt so với các thiết kế ARM cũ mà tôi không muốn gọi là 'ARM'.


Tôi muốn đề xuất rằng việc phân chia hữu ích giữa bộ vi xử lý và bộ vi điều khiển là để nói rằng cái sau có đủ thứ trên chip để chạy ít nhất là hữu ích mà không cần RAM hoặc ROM kèm theo. Các trường hợp mờ ám duy nhất sẽ là các thiết bị bao gồm không gian cho mặt nạ ROM, nhưng thường được bán mà không có bất kỳ mã hữu ích nào trong đó. Tôi sẽ coi các thiết bị đó là vi điều khiển nếu hành vi sử dụng của chúng về cơ bản không thể phân biệt được với hành vi của một người có ROM mặt nạ được "lập trình" nhưng bị vô hiệu hóa bên ngoài.
supercat

@supercat: Bộ phận của tôi sẽ không theo 'cách sử dụng nó' mà là 'cách sử dụng' (hoặc có thể 'cách sử dụng nó'). Theo bạn LPC2478 sẽ là một vi điều khiển, tôi coi đó là một sự kết hợp.
Wouter van Ooijen

Với 98K RAM trên bo mạch và 512K flash trên máy bay, chắc chắn âm thanh có thể được sử dụng khá hữu ích trong các hệ thống mà không cần bất kỳ bộ nhớ ngoài nào; từ cái nhìn nhanh vào bảng dữ liệu, tôi sẽ coi đó là một người trong trại "vi điều khiển" và tôi sẽ không coi đó là một cuộc gọi thân thiết.
supercat

Tôi biết bạn không, nhưng tôi làm. Con chip này thường được sử dụng để chạy Linux, vì vậy tôi nghĩ rằng mặc dù nó chắc chắn có thể được sử dụng như một bộ vi điều khiển, nhưng nó không (chỉ) là một bộ vi điều khiển.
Wouter van Ooijen

Có lẽ đó là tất cả trong tên? Bộ điều khiển vi mô là một con chip với CPU chủ yếu được thiết kế và sử dụng để điều khiển các thành phần / chip khác, mặc dù vẫn có khả năng xử lý dữ liệu. Bộ vi xử lý là một con chip với CPU chủ yếu được thiết kế và sử dụng để xử lý dữ liệu, mặc dù vậy rõ ràng nó cũng phải điều khiển các thành phần khác (ví dụ như RAM ngoài).
Pål-Kristian Engstad

13

Về mặt kỹ thuật, ARM là một bộ vi xử lý, hay cụ thể hơn là kiến ​​trúc vi xử lý. Tuy nhiên, điều cần hiểu là nó không đại diện cho bộ vi xử lý vật lý, nhưng thiết kế cho phép xây dựng một bộ vi xử lý.

ARM Holdings là một nhóm bán dẫn đa quốc gia không sản xuất bất kỳ CPU nào; thay vào đó, họ thiết kế chúng và sau đó bán kiến ​​trúc theo giấy phép. Các thiết kế được sử dụng để xây dựng bộ vi xử lý cũng như bộ vi điều khiển, nhưng những gì ARM cung cấp chỉ là cốt lõi.

Cũng thật sai khi nói rằng đó là một vi điều khiển, bởi vì đó là nhà sản xuất lấy lõi ARM và xây dựng tất cả các thiết bị ngoại vi xung quanh nó.


9

Không (và cả hai)

ARM là một công ty cấp phép lõi CPU.

Lõi ARM có thể, và được sử dụng bởi nhiều công ty để chế tạo cả vi điều khiển và vi xử lý.


1

ARM là lõi cho cả bộ vi xử lý và bộ điều khiển vi mô. ARM dựa trên kiến ​​trúc CPU nên chúng ta thường gọi nó là bộ vi xử lý khi được đặt trên chip nếu ARM được kết hợp với bộ nhớ (RAM và ROM) trên một chip duy nhất, chúng ta có thể gọi nó có bộ điều khiển vi mô, nó có bộ nhớ hạn chế nhưng khi đến bộ vi xử lý RAM và ROM được kết nối bên ngoài tốc độ sẽ nhiều hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.