タグ付けされた質問 「mips」

4
RISC / CISC命令の実行には何クロックサイクルかかりますか?
よると、デジタルデザインとコンピュータアーキテクチャハリスとハリスによって、以下を含むMIPSプロセッサを実装するにはいくつかの方法があります: シングルサイクルマイクロアーキテクチャは、 1サイクルで全体命令を実行します。(...) マルチサイクルマイクロアーキテクチャの短い一連のサイクルで実行される命令。(...) パイプライン化されたマイクロアーキテクチャは、シングルサイクルマイクロアーキテクチャにパイプライン化を適用します。 アーキテクチャは、多くの場合、RISCまたはCISCに分類されます。RISC対CISCから: RISCプロセッサは、1クロックサイクル内で実行できる単純な命令のみを使用します。 MIPSはRISCアーキテクチャであるため、私は上記の定義に混乱しており、それらの間に何らかの矛盾がないのではないかと考えています。すなわち: RISC命令をより短いサイクル(フェッチ、デコードなど)に分割できる場合、命令全体を実行するのに1クロックサイクルしかかからないと言えるでしょうか。各ステップを実行するのに1クロックサイクルかかりませんか? それはない本当に 1つのRISC命令を実行するために1つのクロックサイクルを取りますか?たとえば、キャッシュミスが発生し、プロセッサが遅いDRAMを待たなければならない場合はどうなりますか?これは、命令の実行をかなり長くするべきではありませんか? 1命令サイクルとは正確には何ですか?1つの命令が完了するのにかかる時間ですか(つまり、1つまたは複数のクロックサイクル)。 1つのCISC命令はクロック/命令サイクルにどれくらいかかりますか?

4
2つのレジスタをXORして0を生成できるのにMIPSがR0を「ゼロ」として使用するのはなぜですか?
雑学クイズの答えを探していると思います。MIPSアーキテクチャがレジスタに対して明示的な「ゼロ」値を使用する理由を理解しようとしていますが、それに対してレジスタをXORするだけで同じことが実現できます。操作はすでに行われていると言えます。ただし、「ゼロ」値を多く使用するような状況は想像できません。私はヘネシーの元の論文を読みましたが、実際には正当な理由もなくゼロが割り当てられています。 ゼロのハードコーディングされたバイナリ割り当てがある論理的な理由はありますか? 更新: PIC32MZのMIPSコア用のxc32-gccからの実行可能ファイルの8kで、「ゼロ」の単一インスタンスがあります。 add t3,t1,zero 実際の答え: MIPSと条件コードに関する情報を持っている人に賞金を授与しました。答えは、実際には条件のMIPSアーキテクチャにあります。最初はこれに時間を割くつもりはありませんでしたが、opensparc、MIPS-V、およびOpenPOWER(このドキュメントは内部ドキュメントです)のアーキテクチャを確認しました。その概要を次に示します。パイプラインのアーキテクチャにより、ブランチでの比較に必要なR0レジスタ。 整数とゼロとの比較(bgez、bgtz、blez、bltz) 整数は2つのレジスタを比較して分岐します(beq、bne) 整数2つのレジスタを比較してトラップ(teq、tge、tlt、tne) 整数比較レジスタと即値およびトラップ(teqi、tgei、tlti、tnei) それは単に、ハードウェアが実装でどのように見えるかにかかっています。MIPS-Vマニュアルから、68ページに参​​照されていない引用があります。 条件分岐は、条件コード(x86、ARM、SPARC、PowerPC)を使用するのではなく、(PA-RISCとXtensa ISAで行われるように)2つのレジスタ間の算術比較演算を含めるか、1つのレジスタのみをゼロと比較するように設計されました( Alpha、MIPS)、または2つのレジスター(MIPS)。この設計は、比較と分岐の命令tsを通常のパイプラインに結合し、追加の条件コード状態や一時レジスタの使用を回避し、静的コードサイズと動的命令フェッチトラックを削減するという観察に基づいています。もう1つのポイントは、ゼロとの比較には重要な回路遅延(特に、高度なプロセスでのスタティックロジックへの移行後)が必要であるため、算術マグニチュードの比較とほぼ同じくらいのコストがかかるということです。融合比較分岐命令の別の利点は、分岐がフロントエンド命令ストリームの早い段階で観察されるため、より早く予測できることです。同じ条件コードに基づいて複数の分岐を行うことができる場合、条件コードを使用した設計にはおそらく利点がありますが、このケースは比較的まれであると考えています。 MIPS-Vドキュメントは、引用されたセクションの作成者にヒットしません。皆様の時間とご配慮に感謝いたします。

3
ALUで実装されているさまざまな関数(加算、減算など)はどのようになっていますか?
ALUが実行する必要のある機能がたくさんあるので、どのように実装すればよいのか(LogisimでMIPSシステムを実装し、基本的なゲート、フリップフロップなどを使用することになっている宿題)。 混乱しているのは、Add / Subtract / AND / OR / etcなどのさまざまな機能を実行できるALUを実装する方法です。さらに制御ロジックが必要ですか(以下の「前の割り当て」の右上を参照)。 以前の割り当てでは、加算/減算/否定を実行できるALUを実装しました。ALUは次のような機能を実行できるはずです。 私の前の課題
9 alu  mips 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.