Skip to content

基本情報:コンピュータ構成要素

Published:

情報の表現

ビット

バイト

大きな数値を表す接頭語

小さな数値を表す接頭語

文字の表現

確認問題

1. 32ビットの情報で表現できる情報が24ビットで表現できる情報の何倍か?

2^32 / 2^24 = 2^8 = 256 倍

2. 期間=2.5*工数^1/3 の場合、工数が4,096人月の場合の期間を求めよ。

4096 = 2^12

2.5 _ (2^12)1/3 = 2.5 _ 2^4 = 40


コンピュータの構成

コンピュータの五つの装置

プログラム記憶方式

主記憶

確認問題

1. 主記憶に配置されたプログラムの命令を、CPUが順番に取り出して、解読・実行する方式は何か?

プログラム格納方式


CPU

クロック周波数

内部クロック

外部クロック

バス

確認問題

1. PCのクロック周波数について

CPUの動作原理

レジスタ

命令語

$ LOAD R1, 100    ; メモリアドレス100からデータをR1に読み込む

$ STORE R1, 200   ; R1の内容をメモリアドレス200に書き込む

xxx

命令実行サイクル

  1. 命令の取り出し
  2. 命令の解読
  3. 実行アドレスの計算
  4. オペランド(命令が実行される際に使用されるデータやアドレス)の取り出し
  5. 命令の実行
  6. 演算結果の格納

アドレス指定方式

即値アドレス指定

$ LOAD R1, #100    ; レジスタR1に即値100を読み込む

直接アドレス指定

$ LOAD R1, 100    ; メモリアドレス100からデータをR1に読み込む

間接アドレス指定

$ LOAD R1, (200)   ; メモリアドレス200に格納されたアドレスからデータをR1に読み込む

相対アドレス指定

$ JUMP 100    ; プログラムの100番地にジャンプする

指標アドレス指定

int array[5] = {1, 2, 3, 4, 5};
int index = 2;
int value = array[index];

基底アドレス指定

struct example {
    int a;
    int b;
};

struct example my_struct;
my_struct.a = 10;
my_struct.b = 20;

確認問題

1. 図のように参照するアドレスを格納しているアドレスを指定する方式は何か?

間接アドレス指定

[ アドレス reg (AR 20) ] ---> [ 主記憶 (アドレス 20) ] ---> [ 25 ]
[主記憶(アドレス25)] ---> [レジスタ reg (DR 25)]

2. プロセッサによってフェッチされた命令の格納順序

# プロセッサによってフェッチされた命令の格納順序
[ 主記憶 ] ---> [ 命令レジスタ(IR) ] ---> [ プロセッサ(CPU) ]
(命令の位置)