副作用についていろいろ

 計算機の中の副作用について。 副作用 (プログラム)(Wikipedia)  用語が違ってるかもしれないけど、以下の定義で考えていく。 関数 ある入力を与えると出力が一意に決まる。 手続き 関数とは異なり他のグローバル変数などを参照して出力が決まる。他のグローバル変数を書き換えることもある。 (1…
トラックバック:0
コメント:0

続きを読むread more

HPのThe Machine

 Ando's Processor Information Page経由で知った。最近の話題 2014年6月14日  HPのThe Machine、名前がすごい。memristorを使って不揮発性、メモリ階層のない計算機を構成し、photonicsでプロセッサ群とメモリ群を接続するというものだがちょっと想像できない。 HP、…
トラックバック:0
コメント:0

続きを読むread more

ぼくのかんがえたさいきょうCPU タグアーキ

 データに属性を与えるタグだが、メモリのアクセス単位が32,64,128bit...となると扱うデータ幅を削るか別の場所にタグ領域を用意するしかない。 以前考えたタグの付与。 ぼくのかんがえたさいきょうCPU エンディアンとタグ付きデータの扱い 今回はメモリ上にデータ領域とそれに対応するタグ領域というのを考えてみる。 …
トラックバック:0
コメント:0

続きを読むread more

応援おねがいします。

 お誕生月であります。応援してください。自分では調べ物が得意なような気がするので、この辺をもっと正確に掘り下げて解説してよ、といったリクエストをお待ちしております。 ほしいものリスト: https://www.amazon.co.jp/registry/wishlist/3FN2QNFCJNI23/
トラックバック:0
コメント:0

続きを読むread more

2の補数の加減算におけるオーバーフローの生成

 2の補数によるオーバーフローの解説、演算結果が表現できる範囲外になると発生するというのはあるけれども演算器側の立場でオーバーフローを生成するというのが見つからないので表を作って考えた。 算術オーバーフロー(Wikipedia)  オーバーフローは、演算結果が範囲内に入らない時に発生する。2の補数による加減算では以下のと…
トラックバック:0
コメント:0

続きを読むread more

ボロー(桁借り)の扱い

 キャリーフラグについて調査の続き。  コンディションコードフラグ(ステータスレジスタ)を持つアーキテクチャにおいて、符号なしの加算で桁あふれが発生した時にはキャリーフラグが1にセットされる。減算の時にA-BでAステータスレジスタ(Wikipedia)  では、POWER,ARM,PIC,6502について確認してみた。 …
トラックバック:0
コメント:0

続きを読むread more

怪奇大作戦 殺人回路に出てくる計算機

 怪奇大作戦第20話「殺人回路」に出てくる計算機はなんだろうか?撮影用セットっぽくもないし、どうも本物を設置してある場所で撮影しているような感じだ。どこのメーカーのだろうか。クレジットにはなにもヒントになるようなものがないので映像から調べてみた。 怪奇大作戦[wikipedia] によると、放映は1968年~1969年なのでこれ以前に…
トラックバック:0
コメント:1

続きを読むread more

いろいろメモ

Accumu KCG「コンピュータ博物館」構想 博物館めぐり 鉄道博物館と計算機博物館 近畿産業考古学会 KCGコンピュータ博物館 見学記 Intelが予定していたIA-32の独自64ビット拡張の仕様を推測するKEI SAKAKI's PAGE. ARM immediate value encodingAlisdair …
トラックバック:0
コメント:0

続きを読むread more

Mill CPUのmetadata前半

 正月にスライドやビデオ観てたので理解した分を整理。 http://ootbcomp.com/docs/metadata/  Mill CPUのmetadataとは? ・データをロードした時に、データに追加するタグでデータ幅やスカラ/ベクタであるかどうかを表す。 ・恐らくロード命令のバイト幅指定で決まる ・データにデー…
トラックバック:0
コメント:0

続きを読むread more

ぼくのかんがえたさいきょうCPU ロード命令の補助情報

 ポストフィックスの修飾により最大で即値、Srcレジスタ3個、Destレジスタ2個を指定できるようにした。即値とSrcレジスタはアドレッシングモードで使うとして、Destレジスタ2個はどうしようか。  キャッシュを前提としたロード命令は、データがどこにあるかでロード完了の時間が違ってくる。おおざっぱに1次、2次、3次、メモリ上にデ…
トラックバック:0
コメント:0

続きを読むread more

エントリポイントを考慮した命令フォーマット、プリフィックス廃止

 命令長は16bit単位の可変長で、分岐命令から参照されることを明示するエントリポイントを追加するにはどうしたらよいか。プリフィックスによる修飾だと定数のbit幅などが減り、プリフィックスなしの命令にもエントリポイントの1bitが必要となり効率が悪い。そこで本命令+ポストフィックス命令の形式に変更し、本命令のみエントリポイントを示すビッ…
トラックバック:1
コメント:0

続きを読むread more

ぼくのかんがえたさいきょうCPU レジスタローテート

 ありあまるレジスタをどう活用するか。  レジスタリネーミングを行うプロセッサは、ソフトから参照できる論理レジスタと内部にある物理レジスタとの対応付けを行っている。 コンピュータアーキテクチャの話 155 Tomasuloアルゴリズム(1)  では、この機構を利用したらなんかできるんじゃないだろうか。ということ…
トラックバック:0
コメント:0

続きを読むread more

FFとラッチ

 ツイッターにて。 @duo6750 エッジトリガではなく、レベルトリガのフリップフロップを「ラッチ」と呼ぶのは正しいのでしょうか? また、正しい/誤りは別として、職場等でFFとLatchの「言葉の使い分けルール」がある方がおられましたら、そのルールを教えて下さいませませ。 https://twitter.com/duo…
トラックバック:0
コメント:0

続きを読むread more

ぼくのかんがえたさいきょうCPU 明示的なデータハザード解消

 ありあまる汎用レジスタをどう活用するか。  アウトオブオーダ実行は、それを前提としない従来の命令列について、動的に依存関係を解決しているところが難しい。では事前に依存関係を解消できるようなしくみは考えられるか?  ここで汎用レジスタr0~r31の32本を考えてみる。全レジスタは読むことができるが、いったん書き込むと…
トラックバック:1
コメント:0

続きを読むread more

SIMDを考慮したシフタ

 ただのおもいつきです。  今のところほとんどのプロセッサの汎用レジスタは64bit長。SIMD専用レジスタは128や256や512bit長があるが、汎用レジスタと統合しようと考えた時にどうなるか。  SIMD用としてレジスタを8/16/32/...bit長で分割して扱うことを考える。分割したものをここではパックと呼ぶ。レジ…
トラックバック:0
コメント:0

続きを読むread more