タグ付けされた質問 「computer-architecture」

コンピュータハードウェアの構成と設計に関する質問。

10
すべてのコンピューターに対応したユニバーサルアセンブリ言語は可能ですか?
アセンブリ言語についていくつか質問をしたいと思います。私の理解では、機械語に非常に近いため、より高速で効率的になります。 さまざまなコンピューターアーキテクチャが存在するため、異なるアーキテクチャ向けにアセンブリで異なるコードを記述する必要がありますか?もしそうなら、なぜAssemblyではない、一度書く-どこでも言語の種類を実行する?単純に汎用化するのは簡単ではないので、一度書くだけで、さまざまな構成のほぼすべてのマシンで実行できますか?(それは不可能だと思いますが、具体的で詳細な答えが欲しいです) Cが私が探している言語だと言う人もいるかもしれません。私は以前にCを使用したことはありませんが、おそらくJavaよりも高速かもしれませんが、Cはまだ高レベル言語だと思います。私はここで間違っているかもしれません。

1
システムクロックおよびCPUクロックとは何ですか。そしてその機能は何ですか?
本を読んでいると、次の段落に出会いました。 コンピューターのすべての操作を同期するために、システムクロック(マザーボードにある小さな水晶振動子)が使用されます。システムクロックは、他のすべてのコンピューターコンポーネントに定期的に信号を送信します。 そして別の段落: 今日の多くのパーソナルコンピューターには200 MHzで実行されるシステムクロックがあり、これらのシステムクロックと同期されるすべてのデバイス(CPUなど)は、システムクロック速度、またはシステムクロック速度の倍数または数分の1で実行されます。 誰でも親切に言うことができます: システムクロックの機能は何ですか?そして、最初の段落の「同期」とはどういう意味ですか? 「システムクロック」と「CPUクロック」に違いはありますか?はいの場合、CPUクロックの機能は何ですか?

5
実行中のマシンコードは実際どのように見えますか?
マシンコードが実際にハードウェアとCPUによって実行されているとき、それはどのように見えますか? 1と0で表される命令のように、バイナリのように見えますか、それともオペコードがバイトコードのような2進数に分解できる16進数として表されるバイトである16進数で構成されるものでしょうか?

4
1年あたりのCPU周波数
2004年以降、ムーアの法則がCPUクロック速度で機能しなくなったことを知っています。私はこれを示すグラフを探していますが、見つけることができません:そこにあるほとんどのチャートは、トランジスタ数または年間の容量を示しています。 過去数十年から今日までのコンピューター(パソコン、サーバー、ラップトップなど)のCPU周波数を示すデータはどこにありますか? 自分でプロットできる生データも同様に問題ありません(ハム、おそらくもっと良い)。

3
今日の大規模な並列処理ユニットは、セルオートマトンを効率的に実行できますか?
最近のグラフィックカードで提供されている超並列計算ユニット(たとえばOpenCLでプログラム可能なもの)は、1Dセルラーオートマトン(または2Dセルラーオートマトン?) チップのメモリ内に収まる有限グリッドを選択した場合、このグリッドで定義されたセルオートマトンの1つの遷移が(準)一定時間で計算されることを期待できますか? 2Dセルラオートマトンは、1Dオートマトンよりもチップの異なる部分間の通信に必要な帯域幅が多いと思います。 FPGAプログラミングやカスタムチップの場合も同じ質問に興味があります。

7
浮動小数点表現が負の数を示すために2の補数ではなく符号ビットを使用する理由
浮動小数点数の縮退したケースと見なすことができる固定小数点表現を検討してください。負の数に2の補数を使用することは完全に可能です。しかし、浮動小数点数に符号ビットが必要なのはなぜですか。仮数ビットが2の補数を使用してはいけませんか? また、指数ビットは、符号付きの大きさの表現(仮数ビットに類似)や2の補数表現の代わりにバイアスを使用するのはなぜですか? 更新:明確にしないとすみません。浮動小数点表現がどのように形作られるのかの理由を探していました。選択肢間に強力な実装のトレードオフがない場合、誰かが浮動小数点表現の歴史的な側面を説明できますか?

6
「一方のコンピューターは他方のコンピューターよりも遅い」と学術的に言うにはどうすればよいですか?
私は研究論文を書いていますが、基本的に、あるマイクロコントローラーは他のマイクロプロセッサーよりも遅いと言わざるを得ません。しかし、単に「遅い」と言うだけでは、研究論文では適切ではないのではないかと心配しています。 私は正しいですか?1つのプロセッサが「遅い」とだけ言っても大丈夫ですか、それとも別のことを言う必要がありますか?他に何が言えますか?私が思いついたのは、一方が他方よりも「計算能力が低い」こと、またはマイクロコントローラーが「低計算能力」であることです。残念ながら、これらの表現はオンライン検索であまり人気がないようです。 だから、これを言うより良い、学術的に正しい方法は何でしょうか?

5
異なるキャッシュのタグ、インデックス、オフセットビットの数を計算する方法は?
具体的には: 1)各ブロックに8個の32ビットワードがある4096ブロック/ラインのダイレクトマップキャッシュ。32ビットアドレスを想定して、タグフィールドとインデックスフィールドには何ビットが必要ですか? 2)1)と同じ質問ですが、完全連想キャッシュについてですか? 私が間違っている場合、私を修正してください: タグビット=アドレスビット長-インデックスの指数-オフセットの指数? [オフセットは3 = 2 ^ 3 = 8ですか、それとも2 ^ 5 = 32から5ですか?]

2
「メモリ合体」とは何ですか?
グラフィック処理ユニットには、メモリ合体と呼ばれるものがあることを知りました。それを読んで、私はこのトピックについて明確ではありませんでした。これは、メモリレベル並列処理に関連する何らかの方法ですか? Googleで検索しましたが、満足のいく答えを得ることができませんでした。 誰かがより包括的で理解しやすい説明をしてくれると助かります。

1
メモリの一貫性とキャッシュの一貫性
Sequential ConsistencyがCache Coherenceよりも強力なプロパティであることは本当ですか? による ソリン、ダニエルJ; ヒル、マークD; Wood、David A:メモリの一貫性とキャッシュの一貫性に関する入門書、Morgan&Claypool、2011 順次一貫性は、(正式ではなく)と説明できます。 シーケンシャル整合性メモリモデルは、システムがすべてのスレッドのロードとストアをすべてのメモリ位置に実行し、各スレッドのプログラム順序を考慮した合計順序で実行する必要があることを指定します。各ロードは、その合計順序で最新のストアの値を取得します。 言い換えると、各スレッドのメモリイベント(ロードおよびストア)が与えられた場合、次のようにすべてのイベントを順序付けることができます。1)各スレッドについて、イベントの順序が保持され、2)グローバルな順序がシリアル(保存された最新の値を返すロード)。 今、彼らは一貫性を説明し続けています。 定義コヒーレンスシーケンシャル一貫性の定義に類似してコヒーレントシステムは、各スレッドのプログラム順序を尊重総ために単一のメモリ位置へのすべてのスレッドのロードとストアを実行するために現れなければならないということです。 つまり、システムは一貫性があり、各場所の各スレッドのメモリイベントが与えられた場合、1)各スレッドのその場所へのイベントの順序が保持され、2)それぞれの注文がシリアルである場所。 最後に、彼らは違いを指摘します: この定義は、一貫性と一貫性の重要な違いを強調しています。一貫性はすべてのメモリ場所に関して指定されるのに対し、一貫性はメモリ場所ごとに指定されます。 したがって、一貫性のあるシステムでは、各場所のすべてのイベントの合計順序(特定の場所のイベント間の順序)が必要ですが、一貫性のあるシステムでは、すべてのイベントの合計順序を定義する必要があります(したがって、順序は異なる場所のイベント間でもありますか?) それは、一貫性が一貫性ほど厳密ではないということですか?(面白いようです!)一貫性のある一貫性のないトレースはありますか?

2
スーパーコンピューターの目的
昨秋、私はイリノイ大学でブルーウォーターズスーパーコンピューターのツアーに参加しました。コンピューター全体を使用した人はいないかと尋ねました。常に複数のプロジェクトに取り組んでいると言われました。そのため、スーパーコンピューターの有用性について疑問に思いました。おそらくブルーウォーターズは、産業界と大学で共有しなければならないという点で珍しいでしょう-私は知りません。単一のスーパーコンピューターのプロセッサーとメモリーの管理には、いくらかのオーバーヘッドがあると思います。小型のコンピューターを構築する方が費用対効果が高いでしょうか?スーパーコンピューターの価値を理解するのを手伝ってくれる人はいますか?それとも、時々彼らは単一のプロジェクトに専念しているのですか?


2
MIPSにshamtが含まれており、funct / opcodeを区別しているのはなぜですか?
MIPSの設計者がシフト専用の5ビットを含め、オペコードと機能ビットを別々に持つ理由について混乱しています。 MIPSは非常にRISCであるため、いくつかの命令ではシフトのみが行われると想定しているため、これらの5ビットは、イミディエイトに入れることができてもスペースを無駄にしているように見えます。オペコードとファンクトは、RタイプとIタイプの命令を区別するために分離されていると想定していますが、これは、オペコードを1ビット拡張することで実行できます。これらのRタイプの命令の両方で、22ビット長になる可能性があります。IタイプとJタイプの命令が即時およびアドレスを保持したい場合、これは機能しませんが、両方とも不要と思われます。

1
TLBとデータキャッシュはどのように機能しますか?
私は試験のために勉強しようとしていますが、TLBとデータキャッシュがどのように機能するかについて混乱していることに気付きました。 TLBは本質的に、最近使用した物理アドレスのキャッシュであることを理解しています。しかし、私は教科書の図(下図)を見ていましたが、何が起こっているのかわかりません。突然物理アドレスを分割し、それを使用してキャッシュのインデックスを作成すると、推測します。しかし、なぜキャッシュとデータを別々に表示するのですか?そして、なぜバイトオフセットがフローティングのままになっているのですか?キャッシュにはデータも保存されるはずです。唯一の目的は、その中にヒットまたはミスがあるかどうかを判断することではないと思います。 私は事前に私の無知をおaびしますが、本はかろうじてTLBを扱っており(ページに少し似ています)、TLBとキャッシュの関係を説明するのにあまり良い仕事をしていません。

3
日常の材料からの論理ゲート
論理ゲートは、電磁リレー、真空管、またはトランジスタで実装できる抽象的なデバイスです。これらの実装は、基本的にバイナリの安定性を超えた連鎖性、耐久性、およびサイズのさまざまなプロパティのために、コンピューティングで成功しました。また、電気はエネルギー源であるため、簡単に出荷できます。 木、大理石、重力で作られた加算器を見てきました。「チップ上のラボ」毛細管現象駆動型プロトタイプを見てきました。私はあらゆる種類の特殊な機械計算機を見ました(Curta、スライド規則)。ドミノトレイルは使い捨てロジックゲートとして見てきました。 私は、必ずしも便利、耐久性、または高速である必要はありませんが、計算を実行するために日常の素材の特性を活用し、直接見える他の例示的なコンピューティングデバイスに興味があります。ドミノの軌跡は近いですが、リセットするには少し複雑すぎます。 磁気機械的配置?パイプ/トラフの水?より一般的な大理石の仕掛け? PS。ここに新しいものがあります。 機械式CPUクロック

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.