Це залежить від того, як ви визначаєте "комп'ютер".
На меншому кінці шкали, що можна назвати традиційними мікроконтролерами, ви не отримуєте управління пам’яттю і рідко бачите більше оперативної пам’яті, ніж крихітна кількість, вбудована в мікросхему. Я визнаю дуже мало знань про архітектуру більш здібних мікроконтролерів, які зараз доступні, але наявність (або їх відсутність) цих функцій, ймовірно, є ключовим для розрізнення пристрою, найкраще підходить для вбудованих додатків або для обчислення загального призначення. .
Під управлінням пам'яттю я маю на увазі можливість запускати програми у віртуальних адресних просторах і відображати їх у фізичну оперативну пам’ять, доступну в системі, функцію, що виконується тим, що зазвичай називають блоком управління пам'яттю (MMU).
Без MMU, якщо ви намагаєтеся запустити кілька процесів, усі вони змушені ділити єдиний адресний простір, і це означає, що, якщо всі залучені процеси не дотримуються вашої схеми розподілу пам’яті, один процес може дуже легко збіти інший. Тож якщо ви повністю контролюєте проектування всіх процесів, як і вбудовану систему, це не викликає особливих проблем. Однак якщо ви намагаєтесь підтримувати обчислення загального призначення, ви не можете гарантувати, що весь код, який буде виконуватися, буде відповідати схемі розподілу пам'яті, а система буде досить крихкою.
Відсутність оперативної пам’яті також не є великою проблемою для вбудованих систем (1), оскільки зазвичай багато спалаху, і (2) відсутність комп'ютера загального призначення означає, що вам не доведеться турбуватися про запуск непередбачуваних програм на за бажанням користувача. Ви заздалегідь знаєте загальну суму всього програмного забезпечення, яке буде працювати в системі, і потрібна лише оперативна пам’ять для змінних цього програмного забезпечення. Коли ви намагаєтеся перетворити вашу систему на комп'ютер загального призначення, користувачі очікують, що вони зможуть запускати все, що їм підходить, і для цього потрібна оперативна пам'ять.
Тепер абсолютно нормально робити обчислення загального призначення на пристроях без MMU і не багато пам'яті. Оригінальна 128K оперативна пам’ять, заснована на 8088 (16 біт) IBM PC, позбулася цього, доки вам потрібно було запускати лише одну програму за раз.
Тож якщо ви хочете визначити "комп'ютер" як щось на зразок технології 1982 року, відповідь, безумовно, - так. Або якщо у вас закрита система, де ви можете пом'якшити проблеми відсутності MMU та / або багато оперативної пам'яті (наприклад, мобільних телефонів), ретельно контролюючи дизайн програмного забезпечення, також так. Або якщо у вашого мікроконтролера є вбудований MMU та шини оперативної пам’яті (або можуть розміщувати їх зовні), ви повинні мати можливість створити систему, яка більше нагадує поточні комп'ютери.