MPUによるアドレス指定について

Top / misc / Hardware / MPUによるアドレス指定について
 

ページ構成
−Top
  • +Coding
  • +Server
  • +memo
  • −misc
    • ・3Dデータを元にプロトタイプ作成
    • ・Ateam
    • −Hardware
      • ・3Dプリンタ
      • ・BadUSB
      • ・DisplayLink社のチップ
      • ・DisplayPort
      • ・Eye-Fi
      • ・MPU(CPU)の構造
      • ・MPU(x86)におけるアドレス指定について
      • ・MPUによるアドレス指定について
      • +NVIDIA
      • ・PLC
      • ・PowerMacG5
      • ・SLC-860
      • ・USB-DAC
      • ・USB3.0
      • ・VBIOSに関して
      • ・WiMAX規格
      • ・Yubikey
      • ・enchantMoon
      • ・キャッシュスヌーピング
      • ・セクタ単位でのHDD書き込み
      • +タブレット向けCPU
      • ・メモリ技術
      • ・各種プロセッサの倍精度演算性能
      • ・工作記事
    • ・LCC
    • ・OutlookからThunderbirdへの移行
    • ・PC業界における法則
    • ・PR作成
    • ・TVのリモート視聴機能
    • ・WindowsXPから7への移行
    • ・Xbyak
    • ・podcast
    • ・いるもの
    • ・ごちゃまぜ
    • +ごはん
    • ・オープンソースハードウェア
    • ・コイルに関して
    • +ソフトウェア
    • ・プロジェクトの管理方法
    • ・ホームページデザイン参考
    • ・ポストイット、KJ法
    • ・マニュアル作成指針
    • ・マルチモニタの利点
    • ・メールの書き方
    • ・レビューサイトにおけるコメントシステムとコメントの質についての
    • +ロードバイク
    • ・一風変わった国内メーカ
    • ・映像関連技術
    • ・英語スペルミスDB
    • ・英語論文の書き方
    • ・怪談
    • +企業
    • ・敬語について
    • ・個人でアルミ加工依頼可能
    • ・撮影ポイント
    • ・紙幣偽造防止の仕組み
    • ・事務作業
    • ・自分への問いかけ
    • ・鹿児島
    • ・条文をテキストデータで入手可能なところ
    • ・青色申告
    • ・大阪市内病院
    • ・登山
    • ・日本庭園
    • ・日本庭園特集
    • ・認証画面
    • ・不正アクセス禁止法に関して
    • +勉強会メモ
    • +翻訳
    • ・未読
    • ・面白いサイト(写真関連)
    • ・料理
  • +カメラ
  • +科学技術
  • +記事
  • +数値解析
最新の10件
2018-01-16 更新
  • misc/Hardware/各種プロセッサの倍精度演算性能
2017-11-27 更新
  • Coding/misc/raspberrypi
2017-11-02 更新
  • Coding/.NET/NuGetパッケージの作成
2017-10-19 更新
  • Coding/MSOffice/VSTO/ThisAddin_Startupに処理を書く問題が起きる
2017-06-16 更新
  • Coding/.NET/VisualStudioビルドイベント
2017-05-28 更新
  • misc/Hardware/タブレット向けCPU/複製
2017-05-25 更新
  • Coding/Python/CloudVision
2017-05-24 更新
  • misc/ロードバイク/サイクルロード/奈良
2017-05-11 更新
  • misc/ソフトウェア/文章/文章校正、作成支援ツール
2017-03-15 更新
  • misc/ソフトウェア/プロジェクト管理ツール

Powered By

b_pukiwiki.official.png

edit

目次

  • 概要
  • 前置き;MPUにおけるアドレスの指定
    • 注意点;「〜bitプロセッサ」との表記に付いて
  • メモリのアクセス単位について;バイトマシンとワードマシン
    • バイトマシン
    • ワードマシン
      • 1byte = 8bit についてのメモ
  • 参考資料 ()内はページの作成年

概要 †

MPU (x86に限らず、組み込み系のものも含む)の
 「アドレス単位はなぜ1byte(8bit)に設定されているのか?」
について調べた。

2011現在、大多数のMPUは、
MPUの処理するデータが1byte単位であることが多いため、
内部で扱えるbit数とは無関係に、アドレス単位が1byteに固定されている。

昔(1970年前後〜)は、一部のMPUは、
MPU内部での処理単位に合わせて、
アドレス単位が1word(≒レジスタサイズ)単位で設計されていた。

このため、過去には

  • アドレス単位が1byteのものをバイトマシン
  • アドレス単位が1wordのものをワードマシン

と呼んで区別していた。(2011年現在、これらの単語は死語と化していると思われる)

↑

前置き;MPUにおけるアドレスの指定 †

MPUは、外部に備えたメモリ※へのアクセスを、アドレスバスを通じて行う。
※ ここでは「物理メモリ(メインメモリ)」のことを意味する。仮想メモリについてはここでは対象としない。

ここで、アクセス可能なアドレスの最大値は、MPUのアドレスバス幅[bit]に依存する。

(アドレスバス幅)^2

が、MPUが指定可能なメモリアドレスの個数になる。
ここで、2011現在、一般的には、
1つのアドレスが示すメモリ空間(メモリのアクセス単位)は8bit(1byte)である(※)ため、

(アドレスバス幅)^2  * 1[byte]

がMPUが扱える最大メモリ空間(サイズ)になる。
例えば、32bitアドレス幅をもつMPUの場合、

2^32 * 1 [byte] = 4 [GB]

が、MPUからアクセス可能な最大メモリ空間になる。

↑

注意点;「〜bitプロセッサ」との表記に付いて †

上述のように、アクセス可能なアドレスの最大値は、アドレスバスのbit幅によって決まってくる。

ここで、各種MPUの枕詞として使われる「〜bitプロセッサ」との名称は、
必ずしもアドレスバスの幅を示していないことに注意が必要である。

例えば、32bitプロセッサと呼ばれていたintel社のPentium Proの場合、
下表のように、レジスタサイズは32bitであるのに対し、アドレスバス幅は36bitである。

箇所bit数
プロセッサ内部(レジスタ)32ビット
外部アドレスバス36ビット
外部データバス64ビット
浮動小数点ユニット80ビット

このため、例えば、32bitプロセッサであるPentiumProとi450GXチップセットとの組み合わせにおいては、
最大8GBまでのメインメモリを搭載でき、
アドレス幅が32bitである場合の最大値である4GB以上のメモリ空間にアクセス可能であった(ようだ)。

↑

メモリのアクセス単位について;バイトマシンとワードマシン †

↑

バイトマシン †

2011年現在、市販のMPUはほぼ全てのものが、
メモリアクセス単位が1byte(8bit)(いわゆるバイトマシン)となっている。

MPUが1byte単位で処理を行うことが多いので、
MPUのワード数(≒レジスタサイズ)とは無関係に、メモリのアクセス単位は1byteに固定されているらしい。
この仕様が一般化した理由は不明。

↑

ワードマシン †

過去(1970年前後〜)には、一部に、
メモリアクセス単位として、MPUのワード単位を採用するもの(いわゆるワードマシン)が存在していた。
具体例は、下記、Wikipediaのワードマシンのページを参照。
(いずれも、2011現在では現役で使われていない、はず。)

そのため1ワードが1byte(8bit)でない場合に、
アドレスのアクセス単位が1byteと異なっていた模様。

↑

1byte = 8bit についてのメモ †

2011現在は、1byte = 8bit で統一されていると見て問題ないと思われるが、
過去には、1byte = 7bit のものや、1byte = 9bitのものが存在していたので

 バイトマシン=アドレス単位が8bit

とは言葉の上では定義できないことに注意。

↑

参考資料 ()内はページの作成年 †

基礎から学ぶコンピュータ -- 《第十五号》 ワードとバイト (?)
http://rryu.sakura.ne.jp/compfund/backnumber/compfund015.txt

Omicron ワードマシン (2002)
http://tiki.is.os-omicron.org/tiki.cgi?c=v&p=%A5%EF%A1%BC%A5%C9%A5%DE%A5%B7%A5%F3

バイトマシン - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%83%9E%E3%82%B7%E3%83%B3

ワードマシン - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%AF%E3%83%BC%E3%83%89%E3%83%9E%E3%82%B7%E3%83%B3

バイト (情報) - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88_(%E6%83%85%E5%A0%B1)

なぜ今時のコンピュータのビット数 (語長) は2の冪乗なのか?|プログラムは楽しげに走らねばならない♪ (2007)
http://ameblo.jp/noocyte/entry-10049187365.html


トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索   ヘルプ   最終更新のRSS
Last-modified: 2011-08-29 (月) (3429d)
Site admin: D*isuke YAMAKAWA

PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.3.29. HTML convert time: 0.028 sec.