問題タブ [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.

0 投票する
0 に答える
82 参照

c - C から MIPS への大文字変換関数の変換

このコードを MIPS に変換するにはどうすればよいですか? 入力文字ポインターの各文字を MIPS で変換する方法がわかりません。

0 投票する
2 に答える
109 参照

assembly - CPU の直接数オペランドはどのように機能しますか?

例を挙げると、128 ビット命令を読み取る x86_64 CPU。

私が理解していることから、これは確かに x86 プロセッサで起こることです。そうしないと、たとえば、64 ビットの数値を 64 ビットのレジスタに追加することができなくなります (64 を超える数値の場合、オペコードは数ビット + 64 ビットかかります)。

私が知りたいのは、命令のビット数の制限と、ビット数 (データバス) よりも大きい場合の命令の読み取り方法です。また、ほとんどの RISC CPU が固定サイズの命令を使用していることも知っています。したがって、数値オペランドを直接渡すと、命令のサイズは単純に 2 倍になりますか?

0 投票する
1 に答える
706 参照

assembly - RISCエミュレータ/コンパイラ

質問:ハードウェアを必要とせずにレジスタの内容などを表示するインターフェイスを備えた (できればオンラインまたは Linux で動作する) RISC コンパイラはありますか? (ある種の単純なエミュレーターが私が探しているものだと思います。)

背景: かなり長い間オンラインで検索してきましたが、最も近いものは不安定な NIOS II コンパイラです。Altera ハードウェアなどに接続すると、NIOS アセンブリ コードを実行できましたが、頻繁にアクセスすることはありません (RISC を NIOS に毎回変換する必要はありません)。Unix ベースのコンパイラも見たことがありますが、調べた限りではハードウェアも必要です。

私はこれの複雑さを理解しています (ある時点で、私は自分の RISC コンパイラのコーディングを開始しましたが、まだ言語を勉強していて、その障害にかなり早くぶつかります) が、解析できる十分に単純なエミュレータ/コンパイラがあるかどうかはまだ疑問に思っています。私が見落としているRISCの長さ。

(注:いくつかの質問に遭遇したため、RISC-Vではなく、ここでサンプリングされたRISCを探しています。GCCとARMを試しましたが、探しているものではありません)

0 投票する
1 に答える
255 参照

cpu-architecture - 明示的なシングルサイクル データパスが必要ないのはなぜですか?

PC がシングル サイクル データパスで明示的な書き込み信号を必要としないのはなぜですか? マルチサイクル データパスで明示的な書き込み制御信号が必要なのはなぜですか?

ありがとうございました

0 投票する
2 に答える
2138 参照

assembly - PUSH/POP 命令は RISC または CISC と見なされますか?

PUSHPOPが RISC 命令か CISC 命令かをインタビューで尋ねられました。RISC だと言いましたが、実際には CISC 命令であると言われました。私は ARM (一般的な RISC 実装) にこれらの命令があることを提案しましたが、ARM は混在しており、もはや純粋な RISC ではないと指摘されました。

いずれにせよ決定的な証拠をオンラインで見つけることができません。PUSHおよびPOP命令は本当に CISC アーキテクチャの特徴と見なされているのでしょうか、それとも RISC システムで見られるのでしょうか? なんで?

0 投票する
2 に答える
924 参照

assembly - アセンブリ言語での 2 つの数値の加算

私が試みているのは、以下の疑似コードに示すように、アセンブリ言語で 2 つの数値を比較し、2 つの数値のうち最大のものを表示することです。

私はこれを行うためにこのウェブサイトを使用しています http://www.peterhigginson.co.uk/RISC/

私が思いついたのは次のとおりです。 INP R0,2 INP R1,2 CMP R0,R1 BGT OUT R0,4 BLT OUT R1,4 ただし、「3行目のBGTのパラメーターが正しくありません」というエラーが表示されます。なぜこれが得られるのかはわかりませんが、インデントに関係があるか、ループなどが含まれていない可能性があると思われます。

これを解決する方法についての助けをいただければ幸いです。誰かが興味を持っている場合は、ここに命令セットがあります。http://www.peterhigginson.co.uk/RISC/instruction_set.pdf