コンピューターを32ビットマイクロコントローラーをベースにできますか?


9

私たち全員が(ほとんど)32ビットマシンを自宅に持っています。しかし、32ビットマシンにはマイクロプロセッサが搭載されています。ARM Cortexに関する記事を読んでいました。その32ビットマイクロコントローラー。今、それは私の中で興味をそそられました。マイクロコントローラーは、マイクロプロセッサー周辺の外部回路を減らすように作られ、マイクロコントローラーがより長い間8ビット形式のままである間、マイクロプロセッサーはより強力になりました。しかし、32ビットのマイクロコントローラーができた今、それらをベースにしたコンピューターのようなものはありませんか?


回答:


11

それはあなたが「コンピュータ」をどのように定義するかに依存します。

スケールの小さい方の端では、従来のマイクロコントローラーと呼ばれているかもしれませんが、メモリ管理を行うことができず、チップに埋め込まれている小さな量よりも多くのRAMを目にすることはめったにありません。現在利用可能なより高性能なマイクロコントローラーのアーキテクチャについての知識はほとんどありませんが、これらの機能の存在(またはその欠如)は、組み込みアプリケーションまたは汎用の計算に最適なデバイスを区別するための鍵となるでしょう。

「メモリ管理」とは、仮想アドレス空間でプログラムを実行し、システムで利用可能な物理RAMにマップする機能を指します。これは、通常メモリ管理ユニット(MMU)と呼ばれる機能によって実行されます。

MMUがない場合、複数のプロセスを実行しようとすると、すべてのプロセスが単一のアドレス空間を共有することを強制されます。つまり、関係するすべてのプロセスがメモリ割り当てスキームに準拠していない限り、あるプロセスが別のプロセスを非常に簡単にクラッシュさせる可能性があります。したがって、組み込みシステムのように、すべてのプロセスの設計を完全に制御している場合、これはそれほど問題ではありません。ただし、汎用の計算をサポートしようとしている場合、実行されるすべてのコードがメモリ割り当てスキームを尊重することを保証することはできず、システムはかなり脆弱になります。

組み込みシステムでは、RAMの不足もそれほど問題ではありません。(1)通常はフラッシュが大量にあるため、(2)汎用コンピューターではないため、予期しないプログラムの実行を心配する必要がありません。ユーザーの要請。システムで実行されるすべてのソフトウェアの合計が事前にわかっており、そのソフトウェアの変数用にRAMのみが必要です。ただし、システムを汎用コンピューターにしようとすると、ユーザーは自分に適したものをすべて実行できることを期待し、RAMが必要になります。

さて、MMUがなく、メモリが少ないデバイスで汎用計算を実行することは、まったく問題ありません。一度に1つのプログラムを実行するだけでよい限り、元の128K RAM、8088ベース(16ビット)のIBM PCはこれを回避しました。

したがって、「コンピュータ」を1982年のテクノロジーのようなものとして定義したい場合、答えは間違いなくイエスです。あるいは、ソフトウェアの設計を注意深く制御することにより、MMUやRAMが多くないという問題(たとえば、携帯電話)を軽減できるクローズドシステムの場合も同様です。または、マイクロコントローラーにMMUとRAMの塊が組み込まれている(またはこれらを外部に収容できる)場合は、現在のコンピューターにより似たシステムを構築できるはずです。


Javaなどのジャストインタイムコンパイラの開発により、MMUはおそらくこれまでよりも必要性が低くなります。JIT関連のバグがない場合、JMUはメモリに不適切にアクセスする1つのプログラムの命令を生成しないため、MMUのないJava仮想マシンで独立したプラットフォームを実行する複数の独立した処理を実行し、それらを互いに分離させることができます。他によって使用されます。
スーパーキャット2014

16

絶対に!そこにあるほとんどすべての携帯電話のように見てください。たとえば、Motorola Droidは、Linux上でAndroidを実行するTI OMAP ARMベースのマイクロコントローラーを使用しています。基本的に、本格的なコンピュータオペレーティングシステムが搭載されています。クライアントが作成する一部の製品では、Linuxを実行できるFreeScale PowerQuicc I&II 32ビットプロセッサー/コントローラーを使用しています。PowerQuiccは基本的に、高度に設定可能な方法ですべての周辺機器を処理するための独立したRISCプロセッサと共にPowerPCコアを備えています。それは栄光のマイクロコントローラーです。

また、何年も前に、コンピュータは32ビットプロセッサではなく、Commodore 64のような8ビットプロセッサ(当時は4ビット)で実行されていたことも覚えておく必要があります。その後、16ビット、32ビットに移行しました。 、など。マイクロコントローラと同等のビットアーキテクチャおよび速度のマイクロプロセッサとの間にそれほど大きな違いはありません。通常、マイクロコントローラーには浮動小数点ユニットがありませんが、固定小数点演算で補うことができます。たとえば、元のMotorola 68000プロセッサ(16ビット)を使用して、これらの古いMacintoshコンピュータに電力を供給し、その後、多くの組み込み電子アプリケーション用のマイクロコントローラバージョンに何年もスピンしました。

マイクロコントローラの使用方法を理解するには、マイクロコントローラの役割を調べる必要があります。通常、マイクロコントローラーを使用して設計する場合、高度に専門化されたアプリケーションを念頭に置いて、PCタワーよりも狭いスペースにそれを収めようとしています。一方、コンピュータは非常に一般的な目的です。数字を処理し、ユーザー入力を処理します。マイクロコントローラーを探すときは、アプリケーション用に構築している種類のインターフェースをサポートするものを探しています。3つのUSBポート、2つのイーサネット、2つのUART、SPIポート、ATM、CANインターフェイスが必要ですか?これらのインターフェイスの一部は、SPI、ATM、CANなどの一般的なコンピューターには搭載されていません。マイクロコントローラーには、ボードスペースを削減するためのインターフェイスが組み込まれています。マイクロコントローラーは、特定のソリューション向けに設計されたプロセッサーと見なすことができます。


8ビットプロセッサよりも小さいものを使用した「汎用コンピュータ」はないと思います。汎用コンピューターは、使用可能なプログラムを保持するのに十分なRAMにアクセスできる必要があります。使用可能なサイズのRAMコードストアを備えた4ビットコンピューターは知りません。
スーパーキャット2012年

多分商業的ではないかもしれませんが、私の祖父を含む多くのハッカーがしました。コモドール64とTRS-80が人気になる前に、彼はワークショップで4ビットコンピューターを実行していました。RAMも搭載していました(DIPのスタック)。
ジェイアトキンソン

物理的に構築された4ビットVon-Neumannアーキテクチャマシンに関するドキュメントはありますか?
スーパーキャット2014

5

間違いなくできます。たとえばiPadは、その脳にARM Cortex A8プロセッサを使用しています。


2
JPCが以下に指摘するように、これはマイクロコントローラーではなくマイクロプロセッサーです
Kortuk

3

上記のARM(OMAPおよびA8)は、フラッシュメモリとRAMを備えていないマイクロプロセッサです(A8にはまったく当てはまりません)。Cortex-M3マイクロコントローラーは小型で、内蔵メモリが小さく、周辺機器へのアクセスが簡単です。

それらの間にはかなり大きなギャップがあります(パフォーマンスおよび機能に関して)。


Cortex-AシリーズとCortex-Mシリーズの違いを指摘するための+1 ...
Johan

1
マイクロコントローラーにはフラッシュとRAMが組み込まれています。マイクロプロセッサは外部にメモリを持っています。
Kortuk

2

最近のネットブックはARMベースです:http : //www.google.com/search? client=safari&rls=en&q=arm+netbook&ie=UTF-8&oe=UTF-8


多くの場合、armベースのシステムは、マイクロコントローラーではなくarmマイクロプロセッサーを使用します。
Kortuk

2

古いスレッドを復活させようとはしていませんが、私のZaurus SL5500は、RAMの塊とCFスロットとSDスロットを介してストレージの塊を備えたARMプロセッサで組み込みLinuxを実行していました。私の知る限りでは、MMUは主にソフトウェアで実装されていました(とにかくLinuxシステムでは理にかなっています)。汎用コンピューティングは可能であっただけでなく、サードパーティのソフトウェア、コンパイラ、および標準の* nixユーティリティと機能のほとんどを提供する柔軟なコマンドシェルを介して完全に利用可能になりました。

世界で最速のGPコンピューターではありませんでしたが、ARM(および/またはSamsungの同等物-またはそれに含まれるものを100%確信しているわけではありません)は恐ろしく機能しているように見えました。機能とパフォーマンスの点で、はるかに最近のヴィンテージのWinMobile Ipaq(Samsung StrongArmのクローンであることが明確)と非常によく比較されました。どちらのマシンにも大量のRAMと大量のストレージがあり、大量のメモリ管理が行われています。このパフォーマンスレベルに到達するには、マイクロプロセッサとマイクロコントローラ間の境界を少しぼかす必要があると思います。


2

あなたは「マイクロプロセッサ」と「マイクロコントローラ」に言及しますが、ますます「SOC」として知られるように見えるデバイスの3番目のカテゴリがあります(「システムオンチップ」を意味します。

マイクロコントローラーには非常に少量のRAMが搭載されており、通常、メモリマッピングがなく、メモリ保護が非常に制限されています。このため、汎用コンピュータとしての使用には適していません。

SOCは、すべてが1つのチップに統合されている従来のマイクロコントローラーと、大量のサポート回路を必要とする従来のマイクロプロセッサーとの間の中間点と見なすことができます。SOCは、プロセッサコアと周辺機器を1つのチップに統合していますが、マイクロコントローラとは異なり、外部メモリを使用します。通常、これらのSOCには、さまざまなアプリケーション用の仮想アドレス空間を作成できる完全なMMUがあります。多くのSoCには、3Dグラフィック、DSP、ビデオのエンコード/デコードなどのための特別な機能ブロックもあります。

SOCは、最新のデスクトップPCほど強力ではありませんが、完全なソフトウェア環境と組み合わせると、「汎用コンピュータ」として数えるのに十分強力で機能的です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.