Nó phụ thuộc vào cách bạn định nghĩa 'máy tính' ..
Ở đầu nhỏ hơn của thang đo, cái mà bạn có thể gọi là bộ điều khiển vi mô truyền thống, bạn không được quản lý bộ nhớ và hiếm khi thấy RAM nhiều hơn số lượng nhỏ được nhúng trong chip. Tôi sẽ thừa nhận rất ít kiến thức về kiến trúc của các bộ điều khiển vi mô có khả năng cao hơn hiện có, nhưng sự tồn tại (hoặc thiếu) của các tính năng này có lẽ là chìa khóa để phân biệt giữa một thiết bị phù hợp nhất cho các ứng dụng nhúng hoặc cho tính toán cho mục đích chung .
Bằng 'quản lý bộ nhớ', tôi đang đề cập đến khả năng chạy các chương trình trong không gian địa chỉ ảo và ánh xạ chúng tới RAM vật lý có sẵn trong hệ thống, một chức năng được thực hiện bởi cái thường được gọi là đơn vị quản lý bộ nhớ (MMU).
Nếu không có MMU, nếu bạn cố chạy nhiều tiến trình, tất cả chúng đều bị buộc phải chia sẻ một không gian địa chỉ duy nhất và điều này có nghĩa là trừ khi tất cả các quy trình liên quan đến sơ đồ phân bổ bộ nhớ của bạn, một quy trình có thể rất dễ bị sập. Vì vậy, nếu bạn có toàn quyền kiểm soát thiết kế tất cả các quy trình, như với một hệ thống nhúng, thì điều này không đáng lo ngại lắm. Tuy nhiên, nếu bạn đang cố gắng hỗ trợ tính toán cho mục đích chung, bạn không thể đảm bảo rằng tất cả các mã sẽ được thực thi sẽ tôn trọng sơ đồ cấp phát bộ nhớ và hệ thống sẽ khá mong manh.
Thiếu RAM cũng không phải là vấn đề đối với các hệ thống nhúng, (1) vì thường có rất nhiều đèn flash và (2) không phải là máy tính có mục đích chung có nghĩa là bạn không phải lo lắng về việc chạy các chương trình không lường trước tại hành vi của một người dùng. Bạn biết trước tổng số tất cả các phần mềm sẽ chạy trên hệ thống và chỉ cần RAM cho các biến cho phần mềm đó. Tuy nhiên, khi bạn cố gắng biến hệ thống của mình thành một máy tính có mục đích chung, người dùng sẽ mong đợi có thể chạy bất cứ thứ gì phù hợp với họ và điều này đòi hỏi phải có RAM.
Bây giờ, thật tuyệt khi thực hiện tính toán mục đích chung trên các thiết bị không có MMU và không có nhiều bộ nhớ. Bộ nhớ IBM 128K RAM gốc, 8088 (16 bit) đã thoát khỏi điều này, miễn là bạn chỉ cần chạy một chương trình một lúc.
Vì vậy, nếu bạn muốn định nghĩa 'máy tính' là một cái gì đó giống như công nghệ năm 1982, câu trả lời chắc chắn là có. Hoặc nếu bạn có một hệ thống khép kín, nơi bạn có thể giảm thiểu các vấn đề không có MMU và / hoặc nhiều ram (ví dụ: điện thoại di động) bằng cách kiểm soát cẩn thận thiết kế của phần mềm, cũng có. Hoặc, nếu bộ điều khiển vi mô của bạn có MMU tích hợp và bộ nhớ RAM (hoặc có thể chứa những thứ bên ngoài này), bạn sẽ có thể xây dựng một hệ thống giống với các máy tính hiện tại.