【主記憶の記憶単位アドレスの割り当て】関連知識の超詳細まとめ、バイト→ビット関連の単位換算、主記憶、記憶容量、上位バイト、下位バイト、上位アドレス、下位アドレス、ビッグエンディアン、リトルエンディアン列、ワードアドレス、アドレス範囲

目次

1つ:単位換算を調べる

2: 主記憶を理解する

3: ストレージ容量を理解する

4. 主記憶における記憶装置アドレスの割り当て

        1. これらの上位バイト、下位バイト、上位アドレス、および下位アドレスを理解する必要があります。

        2. ビッグエンディアン、ビッグエンディアン、リトルエンディアン、リトルエンディアン

        3. ワードアドレスの説明

        4. アドレス範囲


2日間作業してようやく整理できました本当に細かいと思いますわからない場合は聞いてください間違っていたら訂正してください〜整理するのは簡単ではありません、少しお願いします賛美〜

1つ:単位換算を調べる

bitは一般に小文字の b と省略されます

バイト/バイトバイトは通常、大文字の B と省略されます

その中で、K、M、G、T などの変換 (バイト B またはビット b を追加せずに K/M/G/T のみ) は、順番に 2^10 倍に増加します。

1T=2^10G=2^20M=2^30K

1B=2^3b

1KB(キロバイト キロバイト)=2^10B=1024B

IMB (「メガ」と呼ばれるメガバイト メガバイト)=2^10KB=1024KB

1GB(ギガバイトギガバイト)=2^10MB=1024MB

ITB (テラバイト テラバイト)=2^10GB=1024GB

より大きな単位もあります。自分で見つけることができます。kb、Mb、Gb などの小文字の b と混同しないでください。それを書き留め

1Kb=2^10b=1024b

1Mb=2^10Kb=1024Kb

1Gb=2^10Kb=1024Mb

1Tb=2^10Gb=1024Gb

例えば:

1KB=2^10B=2^13b

1Kb=2^10b

この 2 つの違いは 2^3 倍、つまり 8 倍です。

しかし、通常、1K、1M、1G、および 1T という言葉の略語は、1KB、1MB、1GB、および 1TB です。(たとえば、トラフィック、メモリについて話すときは何ですが、そうではありません。つまり、各ユニットは単に1024倍異なります)

2: 主記憶を理解する

メインメモリ(メインメモリ、内部メモリ)=メモリバンクM+各種ロジック部品+制御回路など

収納体・・・建物

収納ユニット --- 各部屋

ストレージ要素(ストレージ要素、ストレージプリミティブ) --- 各部屋のベッドの数は「1」に相当し、空きベッドの数は「0」に相当します

ストレージ ワード --- この 01 コードの文字列、つまり、このバイナリ コードの文字列

ストレージワード長---ベッド数

収納ユニットの住所番号---部屋番号

アドレスによるアクセスを実現するためには、メインメモリに MAR と MDR の 2 つのレジスタを設定する必要があります。

MAR: メモリ アドレス レジスタ

MDR: メモリ データ レジスタ

3: ストレージ容量を理解する

記憶容量=主記憶容量+副記憶容量

メインメモリ容量:メインメモリにバイナリコードで格納されているバイナリ桁数の合計

        ストレージ容量 = ストレージ ユニット数 * ストレージ ワード長

MAR のビット数はストレージ ユニットの数を反映し、MDR のビット数はストレージ ワードの長さを反映します。(教科書 p17)

アドレス行の数は、ストレージ ユニットの数に関連しています。アドレス行が 20 行ある場合、ストレージ ユニットの数は 2^20 です。(教科書 p43)

(だからMARのビット数はアドレス線のビット数に対応していると思います)

ストレージ容量の例を挙げましょう。

トピック: MAR は 16 ビット、MDR は 32 ビット、ストレージ容量を見つける

16 MAR 桁は 16 アドレス行に相当するため、ストレージ ユニットの数 = 2^16 です。

MDR ビット 32 は、ストレージのワード長に相当します。

ストレージ容量 = ストレージ ユニット数 * ストレージ ワード長

ストレージ容量 = 2^16*32 ビット = 2^21 ビット = 2^21b = 2^11Kb = 2Mb (最初のブロックの変換の見方がわからない)

バイトに換算すると 2^21b=2^18B=2^8KB=256KB

(これは本の例です。詳しく変換しました。わかりやすいはずです。はっきりと説明する必要があります。わからない場合は、メッセージを残して質問してください〜)

4. 主記憶における記憶装置アドレスの割り当て

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16これは教科書の関連する説明です(内部OS、私がそれを学んだときに夢中になり、この内容には頭を悩ませました) 

バイトアドレッシングの主記憶アドレス配置は上の写真4.6と、MOOCのLiuさんに教わったpptの写真ですので、私の考えで説明します。

最初に、H が 16 進数を意味することを追加します (私が言ったことは少しナンセンスです)。

例: 12345678H (32 ビット)

合計 8 ビット、2 ビットごとに 1 バイトを占有

16 進数の 8 ビット = 2 進数の 32 ビット

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16

(画像はネットより) 

        1. これらの上位バイト、下位バイト、上位アドレス、および下位アドレスを理解する必要があります。

上位バイト、下位バイト:

FF1AH (H は 16 進数を表す) などの 16 ビット (2 バイト) の数値で、
上位バイトは FF、下位バイトは 1A です。

12345678H などの 32 ビット (4 バイト) の数値

上位ワード (バイトではない) は 1234 
下位ワードは 5678

または、12 が上位バイトで 78 が下位バイトです。

参考: https: //blog.csdn.net/ALakers/article/details/116225089

まとめ:左が上位桁、右が下位桁(換算すると左の値が大きいので、例えばこれも1で、左の値が数千万のように大きいので、人間が値を読み書きする方法です)

上位アドレス、下位アドレス:

アドレスは 16 進数に対応し、値が大きいほど上位アドレス、値が小さいほど下位アドレスになります。

たとえば、アドレス:

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_16,color_FFFFFF,t_70,g_se,x_16

        2. ビッグエンディアン、ビッグエンディアン、リトルエンディアン、リトルエンディアン

ビッグ エンディアンとリトル エンディアンは、メモリ内のデータの格納モードを表します。

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_19,color_FFFFFF,t_70,g_se,x_16

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16

同じことは、教科書のどの 16 ビット マシンにも当てはまります。

 

        3. ワードアドレスの説明

ワード アドレス = ストレージ ワード アドレス = ストレージ ユニット アドレス

このワードアドレスは、この01のバイナリコード列のアドレスを表すことに相当し、部屋番号に相当します。

教科書の図 4.6a のワード アドレスは、ワードの上位バイトのアドレスで表されているだけです (左側の下位アドレスに上位バイトが格納されているため)。

図 4.6b のアドレスは右から左に増加し、下位バイトは右の下位アドレスに配置され、ワー​​ドアドレスはワードの下位バイトのアドレスで表されます。(右が下位アドレスなので)

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16(この3枚の写真はネットから) 

        4. アドレス範囲

最後に、バイト アドレス指定とワード アドレス指定のアドレス範囲です。

e818fa8431854d70af5761bd33785aca.png

 その中でLiuさん右のBとW、B(バイト)は容量の大きさではなくバイト単位のアドレス指定、W(ワード)はワード単位のアドレス指定を意味します。

自分で要約しましょう:

一、

-------------- 住所 24 行目 ---------------

バイト単位のアドレス範囲は 2^24=2^14K=2^4M=16M です

ワード長が 32 ビットの場合、1 ワードは 4 バイトであるため、ワード内のどのバイト [00, 01, 10, 11] を示すために 2 つのアドレス行が必要です。つまり、アドレス範囲は 2^22=2 ^ です。 12K=2^2M=4M

ワード長が 16 ビットの場合、1 ワードは 2 バイトであるため、ワードのどのバイト [0,1] かを示すために 1 つのアドレス行が必要です。つまり、アドレス範囲は 2^23=2^13K=2 ^ です。 3M=8M

二、

------------住所24行目----------------

バイト単位のアドレッシング:アドレッシングの範囲が部屋だと思います.各部屋にバイトを入れると2^24の部屋があるので2^24です.容量はストレージ容量=ストレージユニットの数 です. *ストレージワード長のストレージ容量: 2^24*8==2^24*2^3=2^27 ビット (8 はストレージワード長が 1 バイトであるため、8 ビットあり、これは同等です) 8ベッドまで)

ワードによるアドレス指定 (16 ビット): 部屋に 2 バイトを入れることだと思いますが、それがどのバイトであるかを調べ、ラインを解放して部屋に入れる必要があります。つまり、2^23 の部屋、ストレージです。容量: 2^23*16=2^23*2^4=2^27 ビット

ワード (32 ビット) によるアドレス指定: 同様に、部屋に 4 バイトを入れますが、まだどのバイトかを調べる必要があり、これらの 4 バイトを見つけるために 2^2=4 の 2 行を解放すると、2^22 個の部屋が残ります。 、記憶容量: 2^22*32=2^22*2^5=2^27 ビット

概要は次のとおりです。

透かし,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5b2T5aSn5L2s,size_20,color_FFFFFF,t_70,g_se,x_16

 (写真はリンクブロガー第二弾より) 

アドレス範囲は以下を参照できます。

https://blog.csdn.net/weixin_42110638/article/details/103088391

以下も参照してください。

https://blog.csdn.net/weixin_44465434/article/details/104800198

 

おすすめ

転載: blog.csdn.net/m0_57549888/article/details/124139883