80386について調べていて「リニアアドレスモードと4Gバイトまでの直接アドレッシングにより, ”64Kバイトの壁”, ”1Mバイトの壁” から解放された」という文章を見つけました(通信用語の基礎知識)。しかし、「リニアアドレスモード」、「4Gバイトまでの直接アドレッシング」、「64Kバイトの壁」、「1Mバイトの壁」の意味がいまいちわかりません・・・。この4つのことをわかりやすく解説しているサイトはないでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2003/09/17 00:52:29
  • 終了:--

回答(6件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012003/09/18 05:01:27

ポイント10pt

URLはCPU開発年表程度に見てください。(以下、私なりのまとめです。)

インテルは4004という4ビットCPUを世界に先駆けて開発し、その後、8080という8ビットCPUを開発され、商業的規模を拡大していきます。

16ビットCPU(8086)も他者に先駆けて開発したわけですが、それが広がった理由は8080のプログラムを移植しやすいように、メモリを分けて使う事にしたからです。(8080の扱える最大メモリが64キロバイト、8086の扱える最大メモリが64キロバイトx16ページ=1メガバイト)

その後 80286を経て80386という32ビットCPUに進化していくわけですが、いつまでも古いCPUからの影響を受けているわけにもいかず、最大メモリ量を4ギガバイトまで拡張すると同時に、1バイト目から4ギガバイト目までを連続(リニア)した1つの塊として利用できるようなモードと、80286が複数あるように動作するモードを用意したのです。

余談:

モトローラの8ビットCPU(6800)と16/32ビットCPU(68000/68030)との間には移植に対する考慮は少ないのですが、それはインテルのように過去の資産を受け継ぎつつ次に進むという方式ではなく、32ビットへの発展を見据えた上で16ビットのパワーを最初からフルパワーで発揮できるようにという配慮だったのです(その後PowerPCへの遷移時には過去の資産に対して、あまりあるパワーを使ってエミュレータで対応するという荒業に出ます) この考えはその後も続き、高性能なG5へと進化しています。

過去の方式にとらわれ続けているためにソフト開発がどんどん複雑になってきて、CPUの速度を速めていくしかないというインテルCPUと、シンプルにフルパワーを発揮できるモトローラのCPU、今後の動向が気になるところです。

id:hirohiro3 No.2

くまさん回答回数800ベストアンサー獲得回数152003/09/17 01:01:16

ポイント16pt

EMSメモリーの話ですね。

WINDOWSVer3.0の頃の話です。

EMSにも二種類ありませんでしたっけ?(笑)

id:inokuni No.3

いのくに回答回数1343ベストアンサー獲得回数212003/09/17 01:02:18

id:hyama_jpn

ありがとうございます。少し内容が僕には難しい感じがしますが頑張ってみます。

>>hirohiro3さん

「EMS」の意味がわからなかったのでとりあえず調べてMS-DOS上で640Kバイト以上のメモリを使用するための規格の一つ。ということはわかりました。MS-DOS上の企画ということは他のOSではEMSというものは使われてないということですか?

2003/09/17 01:15:08
id:pmakino No.4

まきのっぴ回答回数355ベストアンサー獲得回数282003/09/17 01:16:45

ポイント16pt

http://www.atmarkit.co.jp/icd/root/02/5785802.html

Insider's Computer Dictionary [8086] − @IT

ずらずらと書いてあってあまり分かり易くはないかもしれませんが…

要は、8086における2つの壁は、

1MBの壁はアドレスバスが20bitであったことに起因、

64KBの壁は各レジスタが16bitであったことに起因していて、

80386では、初期状態では8086と同等のリアルモードで起動するのですが、プロテクトモードに遷移することにより、アドレスバス、レジスタそれぞれが本来持つ32bitをフルに活かしたアドレス指定が行えるようになり、4Gまでのメモリをリニアにアクセスできるようになった、ということなのですが… (それまでは64KB単位でメモリブロックが分断されてアクセスが面倒臭かった)

このへんの書籍を参照すると詳しく書いてあるのですが、書籍の紹介は反則でしょうか…。お気に召さなかったらポイント無しで結構です

id:hyama_jpn

この書籍は面白そうですね!これは欲しいかも・・・。っていうか、買います(笑)

情報ありがとうございます!

2003/09/17 01:24:54
id:hirohiro3 No.5

くまさん回答回数800ベストアンサー獲得回数152003/09/17 02:56:07

ポイント16pt

この頃の本ならばお近くの図書館(最近できた図書館はX)にいけば、総記(000)の近くのコンピューターのところに山ほど(?)あるとおもいます。一太郎Ver3とかあれば、説明があります。実物は手元にないとおもいますが、当時EMSボードの元箱とかありますがいりますか?(笑)

id:hyama_jpn

ありがとうございます。EMSの元箱ですか(笑)ちょっと見てみたい気もします。

2003/09/18 00:45:25
id:mahbo No.6

mahbo回答回数87ベストアンサー獲得回数02003/09/18 02:27:14

ポイント16pt

http://www.atmarkit.co.jp/fsys/pcencyclopedia/007procs_hist01/pr...

@IT:PCエンサイクロペディア:第7回 PCのエンジン「プロセッサ」の歴史(1)〜i8088からIntel386までの道のり 2. Intel386の登場はx86アーキテクチャ隆盛の始まり

プロセッサの発展に関する記事です。

386に関してはこのページで解説されていますが、このシリーズを最初から読むともっと理解てぎるかもしれません。

  • id:Kityo
    64Kバイトの壁と言うよりは

    640Kバイトの壁ではないかと。
  • id:kn1967
    Re:64Kバイトの壁と言うよりは

    >640Kバイトの壁ではないかと。

    それはDOSのコンベンショナルメモリの話です。

    64KBの壁とは「メモリを64KB単位のセグメントに分けて管理する」という方式を取っていたために64KBを超えるデータを扱うのに苦労したという話です。リニアになったことで大きなデータを扱うのが大変楽になりました。
    1MBの壁とは、8086の管理できるメモリが1MBまでだった事。80286では16MBまで拡張されたけれども64KBの壁はそのままだった。
    80386で初めて64KBの壁を取り除いたリニアなメモリ空間を扱えるようになったのです。
  • id:Kityo
    了解です。>kn1967さん

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません