問題タブ [risc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - アセンブリ言語 st および ld
ac プログラムをアセンブリ プログラムに変換し、コードを単純化しようとしています。
何かを変更しようとすると、プログラムの戻り値が変更されるまで、十分に単純化しました。私の質問は、 st と ld は何をするのですか? 私は彼らが何を意味するかを知っていますが、ここで正確に何が起こっているのでしょうか? mov などを使用するだけでこれを行う別の方法はありますか? この種のリソースをオンラインで見つけるのは難しいので、助けていただければ幸いです。
memory - 古典的なRISCパイプライン - 「メモリアクセス」ステージは実際に何をしますか?
ウィキペディアの記事を参照すると:
http://en.wikipedia.org/wiki/Classic_RISC_pipeline
「メモリアクセス」段階が実際に何をするのか、少しわかりません。「実行」が実際に実行を行う場合、実行が行われた後にメモリアドレスを取得する目的は何ですか(これはウィキペディアの記事が示唆していることです)?
assembly - Risc プロセッサ レジスタの否定
DBNZ のような少数のコマンドしか持たない RISC プロセッサを考えます。レジスタ A の否定を B に書き込むコードと、B から A を減算して結果を C に入れる必要がある 2 番目の別のコードを記述しようとしています。
私はそれを行う方法がわかりません.Nasm Assemblerで可能になるかもしれませんが、これらは2つの異なることですが、開始方法がわかりません.
microprocessors - RISC で右シフトを実行する方法
単独ではこの操作を提供しない縮小命令セット コンピュータで右シフトを実行する方法を知りたいです。
左シフトはレジスタを追加するだけで簡単に実行できますが、右シフトはどうでしょうか。
RISC
オファーのみ:
そのためOR
、いくつかの操作NOR
ですべてエミュレートできます。(N)AND
NOT
assembly - 手作業でコード化されたアセンブリ - 実用的なレジスタ割り当て?
アセンブリで長いプログラムを書いたことはありません。しかし、私の表面的な経験からすると、人々がそう思わせるほど難しくはないように見えます。
私が頭を完全に包み込むことができない唯一のことは、実際にレジスタ割り当てをどのように実行するのですか? x86 ではスペースがあまりありませんが、x64 および RISC 設計 (AVR、ARM) では十分なレジスターが提供されます。
アセンブリ プログラマは、どの変数をレジスタに保持するか、メモリとの間でいつ転送するか、最後にすべての変数をどのように追跡するかをどのように選択するのでしょうか?
assembly - sparc アセンブリ - add と addcc
SPARC アセンブリに関する古いコースを読んだばかりですが、「add」命令と「addcc」命令 (sub と subcc など) の違いを覚えていません。
この違いを説明していただけますか?
ありがとう
toolchain - 特定の命令セットを使用して RISC-V ツールチェーンをセットアップする
RISC-V ISA の形式を使用してプロセッサを開発しており、現在ツールチェーンをセットアップしようとしています。私の現在のプロセッサ設計は RV32I 基本命令セットを使用しており、この ISA 用にコンパイルしたいと考えています。ただし、http: //RISCV.orgサイトに書かれているように、ツールチェーンのデフォルト設定は、RV64I ISA 用にコンパイルすることです。
このツールチェーンを再構成して RV32I ISA 用のバイナリを生成するにはどうすればよいですか?
assembly - 取得エラー: 不明なシステム コール 20. アセンブリ コード
これは、二次関数で与えられた数値を取り、放物線を表示する QTSpim を介して実行される MIPS アセンブリのプログラムです。これは私の最初の低レベル プログラムの 1 つであり、私はどのような形でも優れたプログラマーではありません。
そのため、プログラムを実行すると、Unknown system call: 20 と表示されます。これは、範囲の上限に入力している数値です。テストに使用した数値は、係数に 1、-1、-6、x 軸に -10,10、y 軸に -10,20 です。放物線が表示されるはずですが、X 軸と Y 軸しか表示されていません。ただし、昨日は何も表示されなかったため、これは一歩前進です。ヘルプ!
performance - プロセッサのパフォーマンス 複雑で簡単な指示
私はクラスの問題で 1 週間立ち往生しています。誰かが私を正しい方向に導くのを手伝ってくれることを望んでいました.
忙しい猫 http://www.designedbychristian.com/unnamed.png
プロセッサ R IS 2 GHz クロック レートの 64 ビット RISC プロセッサ。待機状態のメモリアクセスがゼロであると仮定すると、平均的な命令は完了するのに 1 サイクルを必要とします。プロセッサ C は、クロック レートが 1.8 GHz の CISC プロセッサです。待機状態のメモリ アクセスがゼロであると仮定すると、平均的な単純な命令の完了には 1 サイクルが必要です。待機状態のメモリ アクセスがゼロであると仮定すると、平均的な複雑な命令の完了には 2 サイクルが必要です。プロセッサ R は、複雑な処理命令またはプロセッサ C を直接実装することはできません。単純な命令の同等のセットを実行するには、メモリ アクセスの待機状態がゼロであると仮定して、完了するまでに平均 3 サイクルが必要です。
プログラム S には単純な命令しか含まれていません。プログラム C は、70% の単純な命令と 30% の複雑な命令を実行します。プログラム S をより速く実行するプロセッサはどれか? 複雑な命令の何パーセントで、2 つのプロセッサのパフォーマンスは等しくなりますか?
上記の画像を添付して、データをできる限り Excel に変換しました。私は皆さんにこれに答えるように頼んでいるわけではありませんが、私は完全に立ち往生しています。