問題タブ [cpu-architecture]
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.
linux - 「マシンハードウェア」と「ハードウェアプラットフォーム」の違い
私の Linux マシンは、「uname -a」の出力を次のように報告します。
uname の man ページによると、エントリ「i686 i686 i386」は次のことを示します。
- マシンのハードウェア名 (i686)
- プロセッサの種類 (i686)
- ハードウェア プラットフォーム (i386)
追加情報:
追加するだけで、なぜ私はそれを知りたいのですか。i386
このマシンで RPM をビルドすると、RPM ディレクトリの下に 2 つのディレクトリが見つかりましi686
た。
生成された RPM の特定の場所へのコピーを自動化したい場合、シェル スクリプトでどのディレクトリを指定すればよいでしょうか? 私はこれを使用しuname -p
ていますi686
が、RPMが生成されi386
ました。
assembly - MASM/MASM64 からコンパイル時にアーキテクチャを検出する
ターゲット アーキテクチャが I386 または AMD64 であるかどうかを ASM ソース ファイルからコンパイル時に検出するにはどうすればよいですか?
masm(ml.exe)/masm64(ml64.exe) を使用して file32.asm と file64.asm をアセンブルしています。アーキテクチャに応じて、file32.asm または file64.asm のいずれかを含む単一のファイル file.asm を作成すると便利です。理想的には、次のようなものを書きたいと思います。
また、必要に応じて、ml.exe と ml64.exe を別のコマンド ライン オプションで実行できます。
ありがとう!
assembly - MIPSのジャンプについて質問です
ここで PCGPRLEN-1..28 は何を意味しますか?? この4ビットはどこから来たのですか?
assembly - アセンブリは、HDDやRAMなどのCPUの外部にどのようにアクセスできますか?
そこで、x86アセンブリ言語を調べました。すべてのコマンドは非常に明確ですが、次のようなコンピュータで実際に何かをトリガーできるものは見当たりません。CPUレジスタだけでなく、RAMにアクセスしたり、HDDから読み取ったりします。
- アセンブラを使用してCPUでの計算をどのように超えますか?
assembly - ARMのMOV命令は、2番目のオペランドとして多数を使用してどのように機能しますか?
ARMアセンブリ言語の勉強を始めたばかりですが、MOVを使用してイミディエート番号をレジスタに転送する方法がわかりません。
ARMリファレンスマニュアルと私の教科書の両方から、MOV命令の直後の数の範囲は0から255であると言われています。しかし、ADS 1.2 IDEで自分のPCでテストすると、指示
うまく機能します。番号0xFFFFFFFFは仕様の範囲外ではありませんか?
biginteger - プロセッサに BigInt サポートが組み込まれていないのはなぜですか?
私が理解している限り、BigInts は通常、数字を含む配列としてほとんどのプログラミング言語で実装されています。たとえば、2 つ追加すると、学校で知っているように、各数字が次々に追加されます。
* は、オーバーフローがあったことを示します。私は学校でこの方法を学び、実装したすべての BigInt 追加関数は上記の例と同様に機能します。
したがって、プロセッサーが 0 から2^32
/までの int のみをネイティブに管理できることは誰もが知っています2^64
。
つまり、ほとんどのスクリプト言語は、高レベルで大きな整数を使用した算術演算を提供するために、上記のように整数を配列として扱う BigInt ライブラリを実装/使用する必要があります。しかしもちろん、これはプロセッサよりもはるかに遅くなることを意味します。
だから私が自分自身に尋ねたのは:
- プロセッサーに BigInt 関数が組み込まれていないのはなぜですか?
他の BigInt ライブラリと同じように動作しますが、(はるかに) 高速で低レベルです。プロセッサはキャッシュ/RAM から 1 桁をフェッチし、それを追加して、結果を再度書き込みます。
私には素晴らしいアイデアのように思えますが、なぜそのようなものがないのでしょうか?
iphone - iPhone または iPad をデュアルブートして、非常に単純なカスタム OS を実行するにはどうすればよいですか?
私は経験豊富な C/C++ プログラマーであり、アセンブリや他の多くのプログラミング言語を使用してきました。学習プロセスとしてプロジェクトを開始したいと考えています。iPhoneまたはiPadで簡単なカスタムOSを試してみたいです。これを行うにはどのような知識が必要ですか? また、iphone または ipad ブートローダーはどのように os をロードし、どのように変更してカスタム os をロードできますか?
ここで何を質問すればよいかよくわからないので、できるだけ多くの情報を得る必要があるので、プロジェクトを開始するために、より多くの情報に基づいた質問をすることができます
ありがとう
assembly - なぜx86は醜いのですか? 他社と比べて劣っていると思われるのはなぜですか?
私はいくつかの SO アーカイブを読んでおり、x86 アーキテクチャに対するステートメントに遭遇しました。
サーバー、ミニ/メインフレーム、および混合コアで異なる CPU アーキテクチャが必要なのはなぜですか?
「 PC アーキテクチャは混乱している。OS 開発者なら誰でもそう言うだろう」アセンブリ言語を学習する価値はありますか?(アーカイブ) は
「 x86 アーキテクチャはせいぜいひどいものであることを認識してください」と述べています。x86アセンブラを学ぶ簡単な方法はありますか?
「ほとんどの大学では、理解するのがはるかに簡単なため、MIPS のようなものでアセンブリを教えています。x86 アセンブリは本当に醜いです」
などの多くのコメント
検索してみましたが、理由が見つかりませんでした。x86 が悪いとは思わないのは、おそらく x86 が私がよく知っている唯一のアーキテクチャだからです。
他の人に比べてx86が醜い/悪い/劣っていると考える理由を教えてください。
cpu-architecture - Fetch-Execute サイクルのどこで、デコードされたアドレス モード経由の値です。
私は現在、レジスタ遅延やディスプレースメントなど、いくつかのアドレッシング モードをサポートする小さな CPU インタープリターを構築しています。これは、従来の IF-ID-EX-MEM-WB RISC パイプラインを利用しています。デコードされたアドレス モード オペランドの値がパイプラインのどの段階であるか。例えば:
addw r9, (r2), 8(r3)
(r2) と 8(r3) が実際の値にデコードされるのはどの段階ですか?
memory - ワードアドレス可能とバイトアドレス可能の違い
誰かがアドレス可能Word
との違いを説明できますか? Byte
メモリサイズなどとの関係は?