« バーナード先生の英語上達の常識 | Main | 大雨のダメージ »

2004.06.15

メモリアドレスの変換

僕はこれが苦手だ。CPUは32bitで、メモリが64bit幅で、全部アドレッシングできないから、バンクやら、セグメントやらに、オフセットやらつけて、アドレスを変換する。何回やっても苦手だ。CPUが16bitになったり、メモリが128bitになったり、助けてーって感じです。
世の中全て32bitになってしまえ!と思う今日この頃。メモリでこまるのが、bitとバイトと2種類あるでしょ。メモリの容量の表現も統一して欲しい。毎日やってれば簡単なんだろうが、数年に一回思い出したようにやろうとすると、自分のバカさ加減に泣けてくる。ちゃんと整理しよう。

64bit幅のシステムでアドレスとデータの関係

27bit 1Gバイト <- 想像できないくらい広い
26bit 512Mバイト
25bit 256Mバイト
24bit 128Mバイト <- 電源大丈夫かな・・・
23bit 64Mバイト
22bit 32Mバイト
21bit 16Mバイト <- 今回の回路はここがポイント
20bit 8Mバイト
19bit 4Mバイト
18bit 2Mバイト
17bit 1Mバイト <- SRAMじゃきついな。
16bit 512Kバイト
15bit 256Kバイト
14bit 128Kバイト
13bit 64Kバイト
12bit 32Kバイト
11bit 16Kバイト
10bit 8Kバイト <- マイコンの世界
9bit 4Kバイト
8bit 2Kバイト <- ファミコン
7bit 1Kバイト
6bit 512 バイト
5bit 256 バイト
4bit 128 バイト
3bit 64 バイト
2bit 32 バイト
1bit 16 バイト
0bit 8 バイト <- アドレス無しなら64bit

早速テキストに落として、PDAで持ち歩こう

このままでは、バカっぽいので、ちょっと整理。メモリの容量(バイト)は、以下の式で求められる。
容量=2^(アドレス線の本数)×バイト幅
64bit(8byte)幅でアドレス線が、23bitなら、
容量=2^(23)×2^3 (Byte)
1Kが2^10、1Mが、2^10 × 2^10だから、容量をMにするには
容量(M)=2^(23)×2^3 / ( 2^10 × 2^10) = 2^(23 + 3 - 10 -10) = 2^6 = 64(メガバイト)

(゚∀゚)デキタ!

|

« バーナード先生の英語上達の常識 | Main | 大雨のダメージ »

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18154/771252

Listed below are links to weblogs that reference メモリアドレスの変換:

« バーナード先生の英語上達の常識 | Main | 大雨のダメージ »