Personal tools
You are here: Home KtJ's Blog FM-77シリーズのメモリ管理
« November 2019 »
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Recent comments
Перезвоните мне пожалуйста Виктор 2019-11-18
Медкнижки в Красноярске averena24Ziply 2019-11-13
Provigil Citalopram Interaction v2yqh KennethPaida 2019-11-07
Re:oyainputをカスタマイズしよう ktj 2019-06-26
Re:oyainputをカスタマイズしよう 親指シフト最高 2019-06-26
 

FM-77シリーズのメモリ管理

by ktj posted at 2015-08-28 07:12 last modified 2015-08-29 15:28

FM-7シリーズで使用されているCPU(モトローラ的にはMPUか)・モトローラMC68B09[1]はアドレスバスが16ビットで、メモリ空間は64kBになるんだけど、FM-77(+400ラインセット)とAVシリーズはMMR[2]を用いることでそれ以上のメモリを使うことができるようになっている。

MMRの構成については、6809用MMU(Memory Management Unit)考察(by はせりん)に詳説されているが、電子工作に疎い自分では理解が追いつかなかった。ということで色々調べてなんとか自分的に納得できる所まで来たので以下メモ。

FMシリーズのMMRに使われているのは富士通のMB8149というもので、これはナショナルセミコンダクタのMM2114と互換性のあるSRAM。アドレスバスは10ビットでデータバスは4ビット。MMRではこれを2つ使って8ビット×2^10→1024バイトのメモリとしている。

CPUのアドレスバスのうち下位12ビットは、18又は20ビット(AV40シリーズ)のアドレス空間を持つメモリコントローラの下位12ビットにつながっている。で、CPUのアドレスバス上位4ビットは、MB8149のアドレスバスにつながっている。で、MB8149のデータバスは、メモリコントローラの下位13ビット目以降につながっている。

そうすると、CPUがメモリにアクセスしようとすると、実際にメモリコントローラに渡されるアドレスは、CPUのアドレスバス下位12ビットと、MB8149のデータバスから出力される8ビットとを組み合わせた最大20ビットのものとなる。12ビットのアドレスは4kBなので、CPUがアクセスできる64キロバイトの空間を4kB毎に16分割して[3]、そのそれぞれに20ビットのアドレスを4kB毎に分割したものを割り当てることが出来る、ということ。メモリの割当の変更(つまりMB8149に記憶されている内容の書き換え)はI/O経由で行う。

つまり、SRAMを一種のアドレス変換テーブルとして使っているということ。

もひとつ。「タスク」という考え。MB8149のアドレスバスの下位5,6ビット目(AV40系と20EXは7ビット目も)には、I/Oで設定された「セグメントレジスタ」の値が入力されるようになっている。つまり、MB8149は上記の64kB分のメモリ割当のセットをAV40系と20EXは8セット、それ以外の機種は4セット保持することができる。64kB分のメモリの割当にはI/Oに16回アクセスする必要があるけど、タスク毎にあらかじめメモリを割り当てておけば、1回のI/Oアクセスでメモリ割当を切り替えることができる。OS-9みたいなマルチタスクOSでは重要な機能らしい。

しかし上記リンク先でも言及されているけど、MB8149(×2)の1kBの記憶領域のうち使用されるのはAV40系+20EXでも128バイト、それ以外の機種に至ってはわずか64バイト。非常にもったいない。

[1]実際に積んであるのは富士通版のMBL68B09、という公称だったけど昔持ってたFM-7に入ってたのはモトローラ版だった。日立版の6809が乗ったロットもある模様
[2]Memory Mapping Register。Oh!FM第2号によれば、メモリ管理ユニット(MMU。6809用のものはMC6829)ではないけど似たような機能を実現するしくみ、とのこと。
[3]厳密にいうと(I/OやサブCPUとの共有メモリがマッピングされている)0xFC00以降のアドレスはメモリ割当の対象とはならないのでMMRで切り替えられるのは63kB。
Category(s)
Other Topics
The URL to Trackback this entry is:
http://www.ktjdragon.com/ktj/ktjs-blog/fm-7730b730ea30fc306e30e130e230ea7ba17406/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
(Required)


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: