2021:BKSC ロードストア命令
最後にメモリとのやり取り、ロードストア命令とその他。
0_100_0xxx ストア 入力で与えられたデータをオペランドで指定した番地に書き込む
0_100_1xxx ロード オペランドで指定した番地から値を指定した幅で読み込んで出力する
xxは0~6で1バイト〜64バイトのデータ幅
0_100_0111 0_xxxxxxx ストア(2バイト命令)
0_100_1111 0_xxxxxxx ロード(2バイト命令)
xx_xxxxx 7bitはエンディアン指定、LL/SC、データ幅指定など
ここは始めから2バイト命令にした方が良いかもしれない。1バイト目のデコードに余裕ができる。
オペランドは実効アドレスを表現。レジスタ2つまたはレジスタ+即値。これにアドレス空間指定を追加可能にする。
オペランドなしのロード命令はバリア命令などに割り当てる。
0_100_1xxxx バリア8種
https://keisanki.at.webry.info/201812/article_2.html
命令は残り0_101_xxxx の16種。
0_100_0xxx ストア 入力で与えられたデータをオペランドで指定した番地に書き込む
0_100_1xxx ロード オペランドで指定した番地から値を指定した幅で読み込んで出力する
xxは0~6で1バイト〜64バイトのデータ幅
0_100_0111 0_xxxxxxx ストア(2バイト命令)
0_100_1111 0_xxxxxxx ロード(2バイト命令)
xx_xxxxx 7bitはエンディアン指定、LL/SC、データ幅指定など
ここは始めから2バイト命令にした方が良いかもしれない。1バイト目のデコードに余裕ができる。
オペランドは実効アドレスを表現。レジスタ2つまたはレジスタ+即値。これにアドレス空間指定を追加可能にする。
オペランドなしのロード命令はバリア命令などに割り当てる。
0_100_1xxxx バリア8種
https://keisanki.at.webry.info/201812/article_2.html
命令は残り0_101_xxxx の16種。
この記事へのコメント