回答:
どちらでもない。
ARMはCPUアーキテクチャです(より正確には、関連するCPUアーキテクチャのファミリです)。そのCPU(または他のCPU)を単独でチップ上に置くと、マイクロプロセッサーが搭載されます(昔のAcornマシンで使用されていたように)。1つのチップ上でROM(フラッシュ)、RAM、および周辺機器と組み合わせると、マイクロコントローラー(例:LPC2148)があります。
CPUとROMおよびRAMを組み合わせると物事が少し濁りますが、データ、アドレス、ピン上の制御線も提供するため、外部メモリを追加できます。このようなチップは、マイクロコントローラモードまたはマイクロプロセッサモードで使用できます。(例:LPC2478)
今日では、マイクロコントローラとして、より小さなシステム(最大0.5Mbフラッシュ、数十Kb RAM)が利用可能です。大規模なシステム(通常はLinuxまたは同様のものを実行している)は、通常、外部RAMを備えたマイクロプロセッサで構成されています。(ROMは外付けでも、小さなオンチップブートROM + SDカードなどでもかまいません)。例:Raspberry Piおよびその他の小さなLinuxボード、ESP8266、または携帯電話、セットトップボックス、モデム/ルーターなどを開きます。
おもしろい注意:マイクロコントローラーはRAMが不足する傾向があるため、フラッシュから実行されるため、多くの場合速度が制限されます。多くの場合、マイクロプロセッサには十分なRAMがあり、フラッシュが遅いため、そこからコードとデータがRAMにロードされて実行されます。
今日(2015年)、ARMという用語は、ARMの設計を行っている会社、または設計の1つを指すことがあるため、ますます混乱を招いています。(ARM社自体はチップを製造せず、その設計をチップメーカーにライセンスしています。)最近のCortexの「ファミリ」設計は、私が「ARM」と呼ぶのを好まない古いARM設計とはかなり異なっています。
技術的には、ARMはマイクロプロセッサ、より具体的にはマイクロプロセッサアーキテクチャです。ただし、理解するべきことは、物理的なマイクロプロセッサではなく、マイクロプロセッサを構築できる設計であることです。
ARMホールディングスは、CPUを製造していない多国籍半導体グループです。代わりに、彼らはそれらを設計し、ライセンスの下でアーキテクチャを販売します。この設計は、マイクロプロセッサとマイクロコントローラの構築に使用されますが、ARMが提供するのはコアのみです。
また、マイクロコントローラであると言うのは間違っています。なぜなら、それはARMコアを使用してその周辺のすべての周辺機器を構築するのは製造業者だからです。