サイクルスチールが実装されてないときのVRAMの挙動ってどうなんだろう

ふと気になったので分かる範囲で調べてみた次第。とりあえず手元にある資料が「FM-7 ユーザーズマニュアルシステム仕様」なんでそこを当たってみる。

FM-7の場合、VRAMはサブCPUのアドレス空間に配置されている。実際のVRAMは富士通のMB8116というメモリを24個使って48kB分のメモリとしている、ということのようだ。

MB8116についてぐぐってみると、アドレスバスが7本、データバスが入力/出力それぞれ1本ずつという構成の所謂デュアルポートRAMというもののようだ。このメモリのアドレス空間は内部的には14ビットで、上位7bit、下位7ビットを続けてアドレスバスに入力するようになっている。つまり1チップあたり2^14ビット=2048オクテットの容量。

(2017/3/30追記)コメントで指摘されたように、MB8116はデュアルポートメモリではなかった。(追記終わり)

で、FM-7の場合、水平同期周波数が15.75kHzで、1/15750秒が1024ピクセル分に相当するとのこと。つまり、1ピクセルにつき1/16.128M秒。ビデオ回路はVRAMを読み出す際に24個のMB8116全てから同時に読み出すことができるのであれば、一回のアクセスで8ピクセル分のデータを読み出せるので、1/2.016M秒ごとにアクセスできればいいということになる。データシートによれば、データを読み出す際のメモリ側のアクセス時間は最小で375nsということなので、アドレスバスをサブCPU側とビデオコントローラ側で共用する以上、走査を行っている期間(つまり垂直・水平帰線期間以外)はCPUはVRAMにアクセスできない(サブCPU側からアクセスしようとすると帰線期間までウエイトがかかる)、という解釈でいいのだろうか。

コメント(3)

  • 投稿者: Anonymous User
  • 投稿日時: 2016/09/28(水) 02:11[JST]

サブシステムのVRAMアクセスフラグとなずけられたI/O、$D409がハードウェア的にはどう機能してるのか知りたいと思います。

  • 投稿者: Anonymous User
  • 投稿日時: 2017/03/15(水) 17:24[JST]

入力ポート1つ、出力ポート1つというのは
普通のシングルポートのD-RAMじゃないですか。
デュアルポートメモリが載ってたらCPUが待つ
必要ないですよ。

  • 投稿者: KtJ
  • 投稿日時: 2017/03/30(木) 21:32[JST]

ご指摘ありがとうございます。言われてみれば確かに入力/出力ポートそれぞれ一つだとデュアルポートにはなりませんね


Blog category: Ultima | Adventure games | BSD and Linux | FM TOWNS and Japanese home computers | Computers | Bottle | 広島新球場 | 日本プロ野球 | 広島市民球場跡地とサッカースタジアム | その他スポーツ | Other topics
2002 08 09 10 11 12
2003 01 02 03
2004 01 02 03 04 06 08 09 10 11 12
2005 01 02 03 04 05 06 07 08 09 10 11 12
2006 01 02 03 04 05 06 07 08 09 10 11 12
2007 01 02 03 04 05 06 07 08 09 10 11 12
2008 01 02 03 04 05 06 07 08 09 10 11 12
2009 01 02 04 05 06 07 09 10
2010 01 03 04 05 08 11
2011 01 02 03 04 07 11 12
2012 01 02 03 09 10 11
2013 01 02 03 05 06 07 08 09 10 11 12
2014 01 02 03 04 05 06 07 10 11 12
2015 01 02 03 04 05 07 08 11 12
2016 03 04 05 07 08 09 10 11
2017 06
2018 11 12
2019 01 04 10
2020 05 06 07

Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。