開発日記

Erlangをダラダラ書きます。

はーどうぇあ

コンピュータの超基本

プログラム 計算の手順を示したもの メモリ上にある機械語(バイナリ) プログラム用語 オペコード(opcode)... 演算命令を指定 オペランド(operand)... 演算命令に用いる演算子 ISA バイナリと演算命令の対応表 コンピュータ構成要素 CPU(メモリから命…

カウンタ回路(Chisel)

カウンタ回路の用途 時間の間隔を定義? Chiselの実装例 # 豆知識 カウンタ回路の用途 イベントのカウント 時間の間隔を定義 時間の間隔を定義? 例えば,クロックのサイクル数をカウントして,指定の時間間隔が経過したら,動作トリガを起動 Chiselの実装例…

情報科学における直交性とは?

システム内の要素の多寡を指し示す慣用的な用語 CISCは命令の直交性が高い RISCはレジスタの直交性が高い システム内の要素の多寡を指し示す慣用的な用語 どの要素も本質的には同じように振る舞うならば直交性が高いと表現する. ja.wikipedia.org CISCは命…

アドレッシング・モード RV32Iの例

レジスタ間接(ベースオフセット/レジスタオフセット) ロード命令 1. 符号拡張1バイトロード 2. ゼロ拡張1バイトロード 3. 符号拡張2バイトロード 4. ゼロ拡張2バイトロード 5. 4バイトロード(32bitだから符号拡張なし) 参考文献 レジスタ間接…

アドレッシング・モード

アドレッシング・モードとは? メモリを参照する方式(メモリアドレスの指定の方法) 参照したアドレスはなんて呼ぶ? 有効アドレス(Effective Address) アドレッシング・モードを構成する要素は? ベースポインタ/ベースレジスタ アクセスすべきメモリア…

メモリとHexファイルの話

Hexファイルの形式 実装1 実装2 FPGAを触っていると,バイナリをHexファイルに変換して読み込みたいときがある. (例えば,RISC-Vを自作しているときとか..FPGA内蔵メモリにHexファイルを埋め込みたい.. 今回は32bit命令を扱うメモリを例に考える. Hex…

分岐予測

分岐予測 分岐先アドレスの予測 分岐先アドレスキャッシュ(BTAC,BTB) 参考文献 分岐予測 条件分岐が成立するか不成立化を予測 分岐先のアドレスを予測 分岐先アドレスの予測 分岐先アドレスキャッシュ(BTAC,BTB) BTACは,分岐先アドレスの予測値を与え…

順序回路と組み合わせ回路

基本:順序回路と組み合わせ回路 順序回路 組み合わせ回路 基本:順序回路と組み合わせ回路 簡単にまとめると,自己参照しているのが順序回路.していないのが組み合わせ回路. 順序回路 自己参照して値を保持している. // 順序回路 always_ff @(posedge cl…

ハードウェア実装における耐タンパ性

耐タンパー性とは 耐タンパー性とは、コンピュータシステムの内部構造の解析・改ざんの困難性を指す.(計算機性能とは別) ハードウェアの回路やソフトウェアのプログラムは,リバースエンジニアリングによって構造の仕組みを解析・改ざんすることが可能で…