16MBのRamを搭載したマイクロコントローラはありますか?

これが私の状況です:

個人的なプロジェクトとして、私はAVRで動くSega Megadrive(Sega Genesis)のためのエミュレータを書くことを探しています。だから私はMegaDriveに同梱されているMotorola 68kと同様の特性を持つマイクロコントローラを探しています。しかし、私は68kのスペックがほとんどの趣味のミクロと比較されることに気づいた。私はアーキテクチャーが好きなのでARMとは対照的にAVRを選択しており、それは良い挑戦になると思いました。

M68K:
32-bit CPU
16-bit data bus
Up to 20 MHz
16 MB RAM
No I/O ports

これがArduino Leonardoのスペックです。

Input Voltage (recommended) 7-12V
Input Voltage (limits)  6-20V
Digital I/O Pins    20
PWM Channels    7
Analog Input Channels   12
DC Current per I/O Pin  40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory    32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM    2.5 KB (ATmega32u4)
EEPROM  1 KB (ATmega32u4)
Clock Speed 16 MHz
Length  68.6 mm
Width   53.3 mm
Weight  20g

これは現代のローエンドのマイクロではかなり典型的なようです。私はラムがmbsに多く入ってくるのを見たことがない。

今、私は現代のSRAMが68kが持っていたものとほとんど同じではないと確信しています、しかし私が68kの力と一致するAVRマイクロを得ることは可能です、私はこの問題を間違って見ていますか?現代のマイクロに対応するためにデザインを変更する必要がありますか?

外部メモリが十分に速いかどうかわかりません。

7
@ConnorWolf:あなたがリンクしているAVR用のDmitry GrinbergのARMエミュレータは素晴らしく、関連性があります。 ARMプロセッサであるIntel PXA255をエミュレートします。誰かがAVR用のx86エミュレータを書いたことがありますか?
追加された 著者 Jeremy Ruten,
Wikipediaによると、Sega Genesisは7.6 MHzで動作し、RAMはわずか72 KBでした16 MBではなく、64 KBの追加ビデオメモリ。
追加された 著者 Matt McMinn,
@baordog私が答えで指摘した8 MBの外部RAMと結合されたもののようなAVR32はうまく動くはずで、おそらくビデオを処理するのに十分速いでしょう。 Raspberry Piはボード上にコンポジットおよびHDMIのビデオとサウンドを処理するためのハードウェアを搭載しているので、私は偶然にもラズベリーパイが好きです。どちらの場合も、AVR32とARMの32 ビット レジスタは68000の32 ビット レジスタにより良く一致し、1つの32 ビット操作の代わりに4つの8 ビット操作で全てのCPU関連機能を実行する必要性を避けます。ビット演算
追加された 著者 Matt McMinn,
@ ConnorWolf私はあなたの観察の大部分に同意します。私は700 MHzのRaspberry Pi(これは素晴らしい動作をしたはずだと思います)の使用を提案しようとしていましたが、OPはAVRの使用を主張しています。私は84MHzで動作する32ビットのAVRを見つけました。これは彼がエミュレータの内臓をアセンブリ言語で書いてすべての問題を解決した場合にうまくいく可能性があります。 (エミュレータが10倍速いCPUを必要とするのは珍しいことではありません)彼は創世記の他のすべてのハードウェアもエミュレートしなければならなくなるでしょう。彼がプロセッサの回路図とメモリマップを持っていることを願っています。
追加された 著者 Matt McMinn,
@ ConnorWolf私はAtmelが普通のAVRだけではなくAVR32と呼んでいることを実感します。私はマイクロチップと同じことをしていると思います、PIC32はまだPICですか? (私の考えでは、はい、でもそれは私の意見です。)
追加された 著者 Matt McMinn,
@ davidcary - おっと、ARMではなく、x86ではありません。 Derp。いい視点ね。
追加された 著者 Connor Wolf,
@baordog - 質問はもっと「なぜあなたはAVRに設定されているのですか」ということですか?それがあなたがAVR CPUを好むという理由であれば、基本的にあなたが望むもののための選択肢はありません。あなたがAVRの名前だけが欲しいのなら、AVR32はあなたが望むものに対しておそらく大丈夫でしょう。
追加された 著者 Connor Wolf,
@baordog - MMUとすべてを備えた、linuxを実行するのに十分な大きさのAVR32マイクロコントローラがあります。それはまたマーケティング命名以外の意味でAVRでもありません。 AVR32部分は基本的にAtmelによって作られた単なるMIPS MCUです。
追加された 著者 Connor Wolf,
@ tcrosley - 私は、AVR32プロセッサはもはやAVRプロセッサコアを使用しないという点で、本当に「AVR」ではないと主張します。本当にブランディングです。主に、私が実証しようとしていたのは、AVR CPUコアの制限により、このプロジェクトが基本的に不可能になることです。
追加された 著者 Connor Wolf,
@duskwuff - 私はコードとデータの分離の問題についてさえ考えていませんでした、あなたは完全に正しいです。
追加された 著者 Connor Wolf,
たとえば、外部のソフトウェアページメモリに対して「遅い」と言ったときの意味の例としては、こちらは、外部メモリSIMMを搭載した、AVR用のx86エミュレータを書いた男です。エミュレートされたCPUは(オーバークロックされた24 MHzのベースクロックで)約 6.5 KILOヘルツで動作します。起動には2時間かかり、単純なbashプロンプトが表示されます。
追加された 著者 Connor Wolf,
率直に言って、最初にエミュレータを書いて、理想的にはポータブルCで書くべきです。次に それをARMに移植することを見て、次に あなたのARM MCU用のボードを設計することを見てください。あなたが必要な性能のためにいくつかの数を持ったら、選択。率直に言って、私はあなたが適切で忠実なエミュレータがどれほど驚くほど関与しているのか理解していないと思います。単純な古いコンソールでも適切にモデリングしてエミュレートすることは、本当に本当に困難です。完全にデジタルではないため、アナログの機能がたくさんあります。
追加された 著者 Connor Wolf,
可能な 可能性がある(動的再コンパイル)パフォーマンスの問題はありますが、実際には非常に複雑で、ほとんどのプロジェクトでカスタムトランスピーラーの実装に費やしたい(そしてAVR上で適切に最適化されたコンパイラーを率直に実装するのものようです) が非常に遅い可能性が高いので、上記の問題は解決できません。
追加された 著者 Connor Wolf,
ですから、基本的に、リアルタイムの(例えば再生可能な)エミュレーションが欲しいのであれば、AVRでは基本的に不可能なことをすることは不可能です。もっと遅くても(100倍遅くてリアルタイムに)大丈夫であれば、おそらくAVR上のソフトウェアページの外部SRAMでそれを行うことができますが、私はそれがあなたがやろうとしていることではないでしょう。
追加された 著者 Connor Wolf,
さらに、エミュレーションのオーバーヘッドを完全に見逃しています。 SNES(<21 MHz CPUを使用)を正しくエミュレートするには、 3+ GHzのコンピューターが忠実に必要です(ここ)。 7.6 MHzと3.58 MHzのCPUを使用するメガドライブ/ジェネシスをエミュレートするには、最低で、100 MHz以上のホストデバイスが必要です。
追加された 著者 Connor Wolf,
AVRは16 ビット メモリ アドレス バスを持ちます。基本的に64KBを超えるメモリにアクセスすることはできません。ソフトウェアによるメモリページングのようなハックによって 増加する可能性がありますが、AVRアーキテクチャでは8メガバイトのメモリをネイティブに処理することは不可能です。
追加された 著者 Connor Wolf,
アプリケーションプロセッサまたはFPGAを使用してください。
追加された 著者 AgeOfTheGeek,
@ConnorWolf注目に値する:データメモリからコードを実行することはできないので、AVRに動的再コンパイルを実装することは本質的に不可能です。 (プログラムメモリに保存することはできますが、それは遅くてフラッシュサイクルを食います!)
追加された 著者 BrainSlugs83,
@ConnorWolf - それでもう魅力的なHarvardアーキテクチャのものはもうありませんか?私はあなたがこれと一緒に行っているところを見ることができます。
追加された 著者 Steven Wood,
@ tcrosleyそれはAVR32でまだ不可能ですか?
追加された 著者 Steven Wood,
うわー、これらは素晴らしいポイントです。 ROMをavrに変換し、ホストチップでの変換手順を回避する方法を見つけることをお勧めします。重いものをfpgaにエクスポートすれば、おそらくもっとやりやすくなるでしょうか。このパフォーマンス上の課題は、実際には私が武装していると思われるようなavrに引きつけたことです。
追加された 著者 Steven Wood,
アプリケーションボードに慣れていない
追加された 著者 Steven Wood,
うーん、私は悪い68kの仕様をやめていたようです。
追加された 著者 Steven Wood,

6 答え

Motorola 68000とSega Genesisがかなり古く(1980年代初頭)あっても、ゲーム機全体をエミュレートできるローエンド(すなわち8ビット)のAVRを見つけることはできません。

Sega Genesisは7.61 MHzで動作し、72 KBのRAM(さらに64 KBのビデオRAM)を搭載していました。ただし、ゲームプログラムはROMに格納されていたため、それらを保持するために追加のRAMが必要になります(元のカートリッジを何らかの方法で接続できるようにする予定がない限り)。ほとんどのゲームカートリッジは4 MB未満でしたが、8 MBのROMを持つ少なくとも1つのゲーム(Pier Solar、2010年にリリース)があります。

さらに、システムには確かに何らかの役目を果たし、カートリッジ用の共通のI/Oライブラリを提供するシステムROMが含まれていなければなりません(これがどれほど大きいかについての言及はありません)。あなたはそれらのためのROM(あるいはROMイメージ)を見つけてあなたのRAMにもコピーしなければならないでしょう(あるいはあなたのシステムにROMのセクションを追加する)。

IMOあなたは32ビットマイクロコントローラを使いたいと思うでしょう。オリジナルのカートリッジとプログラムROMを使用し、MBのRAMを必要としないのであれば、エミュレータ用に十分なスペースがあるほとんどの32ビットマイクロコントローラを使用できます。カートリッジとシステムROMイメージをRAMにダウンロードする場合、8 MB以上のRAMを取得するには、外部メモリバスを搭載したマイクロコントローラが必要になります(8 MBを取得することはできません)。マイクロコントローラと同じチップ)。

あなたがAVRを使い続けたいのなら、 AT32UC3A3256

However, there is an evaluation kit for this processor from Element 14 for only $31.25. So you don't have to worry about soldering. Plus, the board has 8 MB of external RAM, so you can load a cartridge into RAM.

enter image description here

Just for the record, I still think you should consider the Raspberry Pi, running at 700 MHz with 512 MB of RAM for slightly less than the cost of development board above. Running at that speed, you would have no issues with emulating the 68000 code and performing I/O at the correct speed.

AVRとRaspberry Piのどちらのルートでも、68000の他にZilog Z80とYamaha YM2612やTexas Instruments SN76489Aを含むいくつかの特別な目的のチップも含まれています。 Z80はサウンドをコントロールするために使用され、また以前のSega Master Systemとの後方互換性を提供します。ヤマハのチップはFMサウンドシンセサイザーで、TIのチップはプログラマブルサウンドジェネレータでした(このマシンにはたくさんのサウンドオプションがありました)。仮想ディスプレイプロセッサ(VDP)もありました。あなたはおそらく音をスキップすることができます(つまりZ80やYamahaあるいはTIチップについて心配する必要はありません)が、グラフィックハードウェアをエミュレートする必要があります。

いくつかのリソース:

EASy68K -- Editor/Assembler/Simulator for the 68000. Open source so you should be able to dig out the 68K simulation code

Cyclone 68000 -- emulator for the 68000 microprocessor, written in ARM 32-bit assembly. Only useful if you decide to use the Raspberry Pi

最後に、68000の命令セットにまだ慣れていない場合は、エキスパートになるために数週間(またはそれ以上)を費やすことを計画してください。ゲームカートリッジ内の68000コードのセクションが正しく実行されない理由を突き止めようとして、多くのデバッグはエミュレータレベルでは停止します。 (つまり、おそらくカートリッジコードに仮想ブレークポイント機能を設定できるようになりたいと思うでしょう。)逆アセンブラも必要になるので、マシンコードを扱う必要はありません。これがその1のソースです。

18
追加された
@baordog私の答えをもう一度修正した - 私は$ 31のための8 MBの外部RAMを含む32ビットAVRを備えた開発ボードを見つけた。
追加された 著者 Matt McMinn,
@duskwuff彼はこれらよりも力が弱いものでは達成できないでしょう、そしてAVRプロセッサはAtmelによって作られています。
追加された 著者 Matt McMinn,
@baordog私は答えを2つのAVRチップ提案で更新しました。
追加された 著者 Matt McMinn,
あなたが言及した2つのプロセッサは両方AVR32部品であることに注意してください。これらはOPがよく知っているAVRアーキテクチャの部分とほとんど完全に異なります。
追加された 著者 BrainSlugs83,
私はそれを考慮したが、私は自分自身をavrに制限したいと思う。
追加された 著者 Steven Wood,

起こりません。

外部メモリを支援するATmega系列で最大のマイクロ コントローラはATmega1284ですが、これは8Kの内部SRAMを持ち、最大64Kの外部メモリをアドレス指定できます。これはGenesisをエミュレートするのに十分ではないでしょう。Genesisには72 KBのRAMと 64 KBのビデオメモリがあります。バンク切り替えを介して追加メモリへのアクセスを実装することは可能かもしれませんが、これはAVRからメモリへのアクセスを非常に高価にするでしょう。

ATmega1284(16 KB)のように、より多くの内蔵SRAMを持つATmega系列の部品がありますが、これらは外部メモリを全く支援しません。一言で言えば、ATmegaから64 KBを超えるRAMをアドレス指定するのはかなり困難です。

(16 MBの値がどこから得られたのか私にはわかりません。68000には、レジスター以外に内部メモリーがまったくありません。68000システムのメモリー量は劇的に変わることがあります。)

さらに、創世記の68000 CPUは7.6 MHzで動作します。 16 MHzのAVRでこれをエミュレートすることは不可能です - AVRのクロックレートは確かに少し高いですが、68000は32ビットCPUなので、その命令の1つをエミュレートすると1つ以上の命令が必要になるAVR (単純な追加でも、おそらく数十の指示が必要になるでしょう。)

Genesisをエミュレートしたい場合は、代わりにARMマイクロコントローラを検討することをお勧めします。

12
追加された
@IsmaelMiguel役に立ちません。 AVRはまだ遅すぎて、68000をエミュレートするのに十分なメモリがありません。また、Propellerはビデオチップをエミュレートするのに十分なメモリがありません。
追加された 著者 BrainSlugs83,
@BruceAbbott私の答えで述べたように、AVRは一度に1つの8ビットレジスタ(または時々ペア)で動作することができるだけです。もう少しSRAMが多いですが、外部メモリをサポートしていないので、ここでは役に立ちません。この基準を反映するように私の答えを更新しました。
追加された 著者 BrainSlugs83,
@IsmaelMiguelいいえ、それでも十分なRAM(32 KB、そしてそれにコードが入り込む)の近くにはどこにもありません、そして奇妙なPropellerアーキテクチャはエミュレーションにはあまり適していません。
追加された 著者 BrainSlugs83,
残念です。それでもまだおもしろいでしょう。
追加された 著者 user62486,
@duskwuffそれは理にかなっています。何か強力なものが実行されているのを見るのは面白いでしょう。出力と出力にPropellerを使い、処理にArduinoを使うのはどうですか?
追加された 著者 user62486,
Parallaxマイクロコントローラはそのような仕事を引き出すことができるでしょうか?それは32ビットです、もう少し多くのRAMを持っているかもしれません、そして、彼らはずっと速いです!それらはVGA出力にもかなり問題ありません。
追加された 著者 user62486,
いくつかのマイナーなコツ: - 68000は何かをするために少なくとも4クロックかかります(そしてほとんどの命令は8クロック以上かかります)、16MHzで動くAVRは〜9倍速いです(それでも7.16MHz 68000をエミュレートするのに十分なスピードではありません)リアルタイムだけど)。また、最大のATmegaは1284です - これは16kのRAM、128KのROMを持ち、20MHzで動作します。
追加された 著者 Bruce Abbott,

16MBのRamを搭載したマイクロコントローラはありますか?

はい。私が知っている唯一のものは、ルネサスのSuperHファミリにあり、ROMは含まれていません - そのため、外部フラッシュが必要ですが、16MBのオンボードSRAMがあります。

AVR上で動作するSega Megadrive(Sega Genesis)用のエミュレータを書きたいと思っています。

Atmel AVRファミリーには16MBのSRAMマイクロコントローラはありません。 Atmel製品ラインのどこかに。

けれどもAtmel AVR製品群のいくつかのデバイスは追加メモリを接続することを許す外部バス インターフェースを持ちます。特にATxmega128A1Uは最大16MBの外部SRAMを支援することができます。

だから私はMegaDriveに同梱されていたMotorola 68kに似た特性を持つマイクロコントローラーを探していた。

...

現代のSRAMは68kのものとほとんど同じではないと確信していますが、68kの性能に合ったAVRマイクロを入手することは可能ですか?現代のマイクロに対応するためにデザインを変更する必要がありますか?

     

外部メモリが十分に速いかどうかわかりません。

ああ、これがあなたが抱えている問題です。

68kプロセッサ(すなわちMotorola 68000)はマイクロコントローラではなく、16MBの内部SRAMも持っていません。

プロセッサの内部は32ビットですが、ピンの制限により、フラッシュ、Sram、およびメモリマップされたデバイスを含む最大16MBの外部メモリしかアドレス指定できません。

68kプロセッサをエミュレートするために16MBの内蔵SRAMを搭載したマイクロコントローラは必要ありません。

Motorolla 68000プロセッサをエミュレートできるAtmel AVR 8ビットマイクロコントローラーはありますか?

私はそう思う。 ATxmega128A1Uは68kプロセッサのバスと同じ大きさの外部メモリバスを持ち、68kプロセッサのマイクロコードバージョンを実行することを可能にするたくさんのフラッシュとRAMを持っています。

最大32MHzで動作し、多くの命令で1サイクルかかりますが、最悪の場合でも内部メモリで5サイクルかかります。外部インターフェースは遅いですが、あなたが速いメモリを選択した場合、それはまだ68kよりずっと速いでしょう。

68kプロセッサの動作は4倍遅くなるだけでなく、最短でも4クロックサイクルかかり、特にメモリアクセスの場合は2〜4倍の時間がかかります。

したがって、(今日の標準では)さらに遅いSRAM(たとえば、10ドル未満で70ns 8MByte分)を使用すると、32MHzプロセッサで0待機状態を使用でき、7MHzで68kの周りを一周することができます。例えば、7.61 MHzで4サイクルかかる68kの単純な移動命令は、525 nSかかります。 32MHzで動作しているATxmega128A1Uでの同様の簡単な移動命令は31nsかかります。従ってAVRは68Kが1つで終わった時までに16の動きを実行することができました。 68kはいくつかの割り込み種別に対して50周期かかりますが、AVRは3周期で割り込みに飛びます - 従ってAVRは68kが1つに飛び込むのにかかる時間内に一握りの割り込みを扱うことができます。

ある程度のジッタを受け入れれば、慎重にサイクルを正確に実行できると思いますが、細心の注意を払っていれば、ジッタを発生させずにサイクルを正確に実行できる可能性があります。 AVRプロセッサは適度なオーバークロックで正常に動作するため、おそらく38.35MHzで動作させ、68kクロックサイクルあたり5回のAVRサイクルを使用することができます。

これはそれが簡単であると言うことではなく、AVRに他より長くかかるいくつかの非常に巧妙な命令があるかもしれません - しかしこれらさえ慎重な設計で説明することができます。

Atmel 8 bit AVRでSega Genesisをエミュレートできますか?

いいえ。SegaGenesisの中心には68kプロセッサがありますが、サウンドプロセッサ(Z80)とビデオプロセッサもあります。エミュレートするには、さらに多くのリソースが必要です。以下の図では、左上に68kプロセッサがあります。これは、完全なSega Genesisシステムをエミュレートするために必要なすべてのうちのごく一部です。

enter image description here

ですから、Sega Genesisの68kコアを容易にエミュレートすることはできますが、1つのAVRマイクロコントローラだけでは、Genesis用に作られたゲームを実行することはできません。 1つのチップ上で68kを単独でエミュレートするのは十分難しいでしょう。たとえあなたが物事を単純化したとしても、3つすべてのプロセッサを1つの32MHz AVRチップに収めることができるとは思わない。

しかしながら、あなたはたぶんこれら2つのチップをさらに2つのAVRでエミュレートすることができます。奇妙なNTSCのタイミングと生成を必要としない、よりシンプルなグラフィックLCDをターゲットにした場合は、物事を少し簡単にすることができ、おそらく両方の機能を1つのチップに統合することさえできます。

これは巨大なプロジェクトですが、確かに週末のプロジェクトではありません。 Arduino開発ボードにしか慣れていない段階にある場合は、単純な68kプロセッサエミュレータを作成し、メモリアクセス用に小さな外部ROMとRAMを接続するのが面白いかもしれません。 Arduino ATMegaは外部メモリインターフェースを持っていませんが、I/Oラインをいじってそれをエミュレートすることもできます。単純な68kプログラムをエミュレートできるところまでプロジェクトを十分に理解していれば、Atmel開発環境と、外部バスインターフェースを備えたより優れたAVRチップを使用して、arduinoを捨てる価値があるかもしれません。カートリッジビデオとサウンドのデータをコンピュータにパイプ処理して処理中に解釈することさえ可能かもしれません - それでもまだ遅すぎるでしょう(Arduinoメガはわずか16MHzです)が、それは少なくともあなたに十分な量の良い考えを与えるでしょうフルスピードのエミュレーションを実現するために必要な作業、そしてVDPとサウンドプロセッサをエミュレートするのにどれだけの労力を費やすのかということに慣れることができます。

あなたのエミュレーションルーチンが移植可能であり、あなたが動かなくならないほど十分に簡単により良いプロセッサに切り替えることができるでしょうことを確認してください。

単純なArduino Megaプロジェクトがそれほどうまく行かないのであれば、このプロジェクトに関する多くのリソースを無駄にしていません。あなたが自分でそれを完成させることに動機を感じているなら、もっと有能なAtmelチップへの移行はそれほど圧倒的ではないでしょう。

試してみるよ。私が言ったことや他の人が言ったことのいくつかはこれが乗り越えられないように見えるかもしれませんが、私たちはあなたの邪魔をしないでください。障害にぶつかるたびに質問し続けると、ほとんどのエンジニアが課題を克服し、理解を深め、この道を進むために必要な助けになることがわかります。

エミュレーションはとても楽しいです。

11
追加された
@ baordogわかりません。サウンドプロセッサはZ80プロセッサです。私はビデオプロセッサを見ていません。何が関係しているのかを調べるために、もう少し調査をするべきです - ビデオプロセッサはそれ自身のメモリを持っていますが、それはまた複雑なPALまたはNTSC信号を生成しました。グラフィカルLCDディスプレイを統合するのであれば、ビデオプロセッサの複雑さの多くが解消されることに気付くかもしれません - しかし、やはりそれがどれほど複雑かはわかりません。私はあなたがFPGAでそれをすることができると確信しています、しかしあなたがあなたがマイクロコントローラを好むならばあなたはする必要がないかもしれません。
追加された 著者 Federico Builes,
@davidcaryはDigikeyで見つけましたが、ルネサスのウェブサイトでも見ません。 R8J73540BGZV - digikey.com/product-search/…
追加された 著者 Federico Builes,
SuperH製品セレクターを正しく読んでいる場合は、SuperHプロセッサほとんどのRAMを搭載しているのは、3 MB近くのRAMを搭載したRenesas SuperH R5S72680W266FPで、これは非常に素晴らしいことです。 「16MBのオンボードSRAMを搭載した」プロセッサはありますか?私はそれを見ていません。この答えの他のすべての部分は素晴らしく見えます。
追加された 著者 Jeremy Ruten,
エミュレータを書く上での課題は、68000命令(ADD.L(A0)+、D3)を扱うことになると思います。これでATxmega128A1UはX、Y、またはZ レジスタを使用する同様のアドレス指定形式を持ちます。もちろんこれらは16ビットですが、おそらくSegaは72 KBのRAMしか使用していなかったので、それらの追加の8 KBが何に使用されているかによって、うまくいくかもしれません。 AVRが3つのアドレス レジスタを持ち、そして68000が8つを持つために問題が発生します。突然、エミュレートされたレジスタA0がX、Y、Zのいずれにもロードされません。 1つのアドレスレジスタは、おそらくSP専用にする必要があります。
追加された 著者 Matt McMinn,
FPGAのアプローチは成功しました。 code.google.com/p/fpgagen
追加された 著者 jns,
あなたはそれがfpgaでビデオ/サウンドプロセッサをエミュレートするほうが簡単だろうと思いますか?
追加された 著者 Steven Wood,

他の答えのどれもあなたがネイティブにm86k命令セットを動かすチップを手に入れることができると言っていません: Coldfire シリーズ。いくつかの指示が削除されました。あまり頻繁に使用されない場合は、「無効な命令」割り込みをトラップすることでエミュレートできます。

しかし、それでもYamaha YM7101ビデオプロセッサとYamaha YM2612サウンドプロセッサをエミュレートする必要があります。もっと高速のDSPでソフトウェアエミュレーションを構築することも、それらのFPGAバージョンを構築することもできます。おそらくメガドライブの既存のFPGAエミュレーションに基づいています。

6
追加された

あなたはSTMF432ボードからCORTEX-M4を使うことができます... RAMと周辺機器のたくさんのメグと非常に強力

enter image description here

3
追加された
256 KBのRAMが「たくさんのRAM」となってからですか
追加された 著者 Nick Alexeev,
そしていずれにせよ、OPは彼らがARMではなくAVRマイクロコントローラを使いたがっていることをかなり特定しました。
追加された 著者 BrainSlugs83,

16MBのRamを搭載したマイクロコントローラはありますか?

16 MBのオンチップRAMを搭載したプロセッサはないと思います。

68000の一部の説明に記載されている「16 MB RAM」 24ビットの外部アドレスバスに 理論的には、 最大2 ^ 24バイト= 16 MBまでの外部RAMをアドレス指定します。 私の理解では、68000を使用するシステムの大多数は 16 MB未満の外部RAMを接続してください。

特に、Sega Mega Drive(別名Sega Genesis)は 72kBのRAMと64kBのビデオRAM。 それは外部 RAMです。 Motorola 68000Zilog Z80 には内蔵RAMまたはキャッシュがあります。

私はあなたがあなたが本当に知りたいことを説明するタイトルを持つ2番目の、独立した質問を作成することを勧めます、 ただし、この質問は標準的な質問として残してくださいプロセッサの理論上の最大外付けDRAMを意味する「16 MB RAM」、他のプロセッサに含まれる実際の物理的なオンチップSRAMを意味する「16 MB RAM」によって誤解を招く多くの人々を助けるマイクロコントローラRAMについて。

(*)2006年以降に製造されたいくつかのハイエンドプロセッサは16 MB以上のオンチップキャッシュメモリを持っていますが、それらのプロセッサはさらに多くの外部RAMを必要とします。何らかの方法で16 MBの外部RAMが必要です。

1
追加された