
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ハードウェアでオリジナルのZ80CPUにこだわっていないのであれば、Z80と
互換性のある川崎マイクロエレクトロニクスの出しているCPUもあります。
http://www.k-micro.com/seihin/micon.html
メモリ空間は1M程度あるようです、更に16ビットまで拡張したCPUは16M
まで扱えるようです。
ハードウェアに興味があるのでしたらオリジナルのZ80CPUに、自分でいろ
いろ作りこんでメモリ空間を広げたりするのも良いと思います。
しかし
大きなメモリ空間が欲しいだけと言う事なら、またZ80CPUにも、こだわって
いないなら日立のH8なんかも検討されたらどうでしょう。
http://www.hitachisemiconductor.com/sic/jsp/japa …
勉強が優先で、かつ、本や資料がたくさんあって、同好者や助けになるHPも
あるという メモリは少ないけど PICマイコンも良いと思います。
http://www.picfun.com/
質問の回答には、なっていませんが、初心者の方には他の選択が良いのでは
と思いましたので、おせっかいです、済みません。
参考URL:http://www.k-micro.com/seihin/micon.html, http://www.picfun.com/, http://www.hitachisemiconductor.com/sic/jsp/japa …
No.3
- 回答日時:
#1です。
64180のMMUについてですが、
http://www.st.rim.or.jp/~nkomatsu/hitachi/HD6418 …
か
ZILOGのホームページにあるのZ180のデータシートをみていただければ、おおよその見当がつくと思います。
http://www.zilog.com/products/parts.asp?Business …
参考にしてください。
No.1
- 回答日時:
プログラムエリアを増やすということはROM空間を増やすという認識でよいのでしょうか?
ハードウェアの構成にもよりますが、現在実行中のROMを切り替えてしまうと当然の事ながら暴走してしまいます。
切り替えはROMにしてもRAMにしても、IOポートを用いて行います。
I/Oポートの適当なアドレスにラッチ回路かフリップフロップを付加し、アドレスバスとアンドをとってメモリチップをセレクトするようにすればよいと思います。
ラッチにデータを記憶させるのは、IORQとアドレスバスでラッチのセレクト信号を作り、WR信号で書き込めばできると思います。
これは一例ですが、
0番地から数KB分システム用ROMとして割り当て、リセット時の処理やバンク切り替えの処理部を書いておき、その上位に通常のプログラムを搭載します。
下位ROMや上位ROMのセレクトは、アドレスデコーダを工夫して実現してください。
上位のROMはI/Oポートでセレクトしたものが現れればバンク切り替えにてプログラムエリアは増やすことができます。
注意点として
・リセットがかかったときは、必ずバンク0をセレクトするようにすること。
・バンク切り替えを行うプログラムが切り替えられるROMに載っていると暴走するので、一時的に切り替えを行わないRAMに切り替え用のプログラムを転送するかまたは、システム用のROMを下位アドレス(バンクを切り替えない所)に準備しておけばよいと思います。
・切り替えられるRAMにスタックがある場合も暴走する可能性があります。注意してください。
追伸、64180(日立)というZ80系のCPUはMMUを搭載しており、64KB以上のメモリを扱うことができます。
以上 参考になれば幸いです。
ご回答ありがとうございました。バンク切り替えの方法、何となくわかりましたので、やってみることにします。
ところで、64180のMMUというのはどんなものなのでしょうか?参考までにお教えいただければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 1つのタクトスイッチで複数の並列回路を閉じ、アースにつなげることができるスイッチはありますか。 2 2022/08/06 10:38
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- CPU・メモリ・マザーボード グリスを塗り替えて、cpuクーラーを戻そうとしてネジを戻そうとしたら何故かネジが回るのに下がり?ませ 5 2022/09/25 13:54
- その他(プログラミング・Web制作) ドローのソフト 薦めてください 6 2023/07/21 09:03
- IT・エンジニアリング IT業界に就職を考えているが適正がないかもしれない 5 2023/06/08 01:22
- C言語・C++・C# 1. 仮想CPU「exmini」を使用して,「$dataからn減算する」プログラムを作成してください 2 2022/07/04 17:49
- その他(趣味・アウトドア・車) Arudino nanoが正常に動作しない原因 1 2022/10/30 18:29
- CPU・メモリ・マザーボード マザーボード変更時の注意点など 7 2022/12/17 08:51
- 楽器・演奏 切替太郎というスイッチャーのプログラムの作り方わかる方いたら教えてください。 HPにも、記載はなく、 1 2022/05/15 15:45
- 物理学 回路について勉強中の初心者です。リアクタンス、インダクタンス、インピーダンスという言葉の意味がわかり 3 2022/11/04 12:50
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語で、メモリを解放しないで...
-
メモリのセグメント違反の解決...
-
ファイルマッピング関数で失敗
-
【C言語】再帰が時間がかかる...
-
ファイルの読み込みが遅い
-
VBAの配列サイズとメモリに関して
-
循環参照を開放する理由に関して
-
メモリ不足
-
エクセルのメモリ使用状況/Appl...
-
大容量のメモリ確保をスワップ...
-
メモリが不足しています(VBA)
-
C言語における再帰呼び出しの...
-
クリスタルレポートでメモリ不...
-
C言語:関数のメモリ上でのサイ...
-
メモリアロケーション異常の発...
-
AIXでのプロセス使用メモリの最...
-
組み込み系でのmallocについて
-
malloc関数の使い終わった後の...
-
バッチファイルでの実行EXEのメ...
-
これて逆じゃないですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
メモリが不足しています(VBA)
-
メモリのセグメント違反の解決...
-
「memcpy」と「strcpy」について
-
メモリ不足
-
「ヒープサイズの設定」て何?
-
エクセルのメモリ使用状況/Appl...
-
C言語における再帰呼び出しの...
-
ファイルマッピング関数で失敗
-
ExitProcessの関数コールについ...
-
EXCEL-VBAにてADOのレコードセ...
-
エクセルVBA 大容量CSVファイル...
-
ExcelのVBAでメモリ解放できない
-
メモリを解放しないとどうなる?
-
バッチファイルでの実行EXEのメ...
-
Bitmapを重ね合わせる方法
-
ルネサスマイコン(R8C) ビルド...
-
C,C++プログラムの強制終了時の...
-
C言語:関数のメモリ上でのサイ...
おすすめ情報