それはあなたが「コンピュータ」をどのように定義するかに依存します。
スケールの小さい方の端では、従来のマイクロコントローラーと呼ばれているかもしれませんが、メモリ管理を行うことができず、チップに埋め込まれている小さな量よりも多くのRAMを目にすることはめったにありません。現在利用可能なより高性能なマイクロコントローラーのアーキテクチャについての知識はほとんどありませんが、これらの機能の存在(またはその欠如)は、組み込みアプリケーションまたは汎用の計算に最適なデバイスを区別するための鍵となるでしょう。
「メモリ管理」とは、仮想アドレス空間でプログラムを実行し、システムで利用可能な物理RAMにマップする機能を指します。これは、通常メモリ管理ユニット(MMU)と呼ばれる機能によって実行されます。
MMUがない場合、複数のプロセスを実行しようとすると、すべてのプロセスが単一のアドレス空間を共有することを強制されます。つまり、関係するすべてのプロセスがメモリ割り当てスキームに準拠していない限り、あるプロセスが別のプロセスを非常に簡単にクラッシュさせる可能性があります。したがって、組み込みシステムのように、すべてのプロセスの設計を完全に制御している場合、これはそれほど問題ではありません。ただし、汎用の計算をサポートしようとしている場合、実行されるすべてのコードがメモリ割り当てスキームを尊重することを保証することはできず、システムはかなり脆弱になります。
組み込みシステムでは、RAMの不足もそれほど問題ではありません。(1)通常はフラッシュが大量にあるため、(2)汎用コンピューターではないため、予期しないプログラムの実行を心配する必要がありません。ユーザーの要請。システムで実行されるすべてのソフトウェアの合計が事前にわかっており、そのソフトウェアの変数用にRAMのみが必要です。ただし、システムを汎用コンピューターにしようとすると、ユーザーは自分に適したものをすべて実行できることを期待し、RAMが必要になります。
さて、MMUがなく、メモリが少ないデバイスで汎用計算を実行することは、まったく問題ありません。一度に1つのプログラムを実行するだけでよい限り、元の128K RAM、8088ベース(16ビット)のIBM PCはこれを回避しました。
したがって、「コンピュータ」を1982年のテクノロジーのようなものとして定義したい場合、答えは間違いなくイエスです。あるいは、ソフトウェアの設計を注意深く制御することにより、MMUやRAMが多くないという問題(たとえば、携帯電話)を軽減できるクローズドシステムの場合も同様です。または、マイクロコントローラーにMMUとRAMの塊が組み込まれている(またはこれらを外部に収容できる)場合は、現在のコンピューターにより似たシステムを構築できるはずです。