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

コンピュータアーキテクチャとは、コンピュータの外部インターフェイス(命令セット)の設計とコンピュータの内部実装(マイクロアーキテクチャ)の両方を指します。これらの設計決定の目標は、速度、電力効率、サイズ、またはコストを最適化すると同時に、残りの部分の制約を満足させることです。

12
コンピューターが誤って0を1で切り替えないことをどのようにして確認できますか?
Shocken / Nisan's:The Elements of Computing Systemsのデジタルコンピューターの構築について少し読みました。しかし、この本は、コンピューターの特定の電気的側面については何も述べていません。たとえば、電圧が区間[0、0.9)にある場合、0と1は電圧で表されるとよく​​言われます。間隔[0.9、1.5)では、1です(電圧は異なる場合がありますが、例を示します)。 しかし、コンピューター内部の電気的変動[1]によって0が誤って1にならないように、電圧が「正常に」維持されることを読んだことはありません。おそらく、電圧が0.9に非常に近くなる可能性があります。その後、しきい値を超えないようにするにはどうすればよいですか [1]:存在すると仮定します。

8
どこでデジタルシリアル伝送が使用されるのですか?すなわち、SATA、PCIe、USB
SATA、PCIe、USB、SD UHS-IIを見ると、それらはすべて同じであることがわかりました。デジタルシリアルビットストリームは、差動ペア(通常は8b / 10bコーディング)を使用して送信され、リンク/プロトコルレイヤーにいくつかの違いがあります。 なんでそうなの?なぜこれが標準になったのですか? シンボルレートを向上させるために高度な変調方式を多用する広範なシステム通信プロトコルがないのはなぜですか?何か不足していますか?これは「シリアルvsパラレル」の問題ではなく、「デジタル信号vs変調アナログ」の問題です


5
CPUはどのようにしてサイクルごとに複数の命令を配信できますか?
ウィキペディアの1秒あたりの手順では、i7 3630QMが3.2 GHzの周波数で最大110,000 MIPSを提供すると述べています。(110 / 3.2命令)/ 4コア=コアあたりサイクルあたり〜8.6命令ですか?!単一のコアがサイクルごとに複数の命令を提供するにはどうすればよいですか? 私の理解では、パイプラインはクロックごとに1つの結果のみを配信できるはずです。 これらは私の考えです: 内部周波数は実際には3.2 GHzよりも高い CPUの一部は非同期で、私のような謙虚な人間には理解できない コアごとに複数の同時パイプラインがあります パイプラインは1クロックあたりの結果以上を提供でき、命令はパイプラインステージをスキップでき、複数のプリフェッチャーが対応できます 私は何かが欠けています

5
どのようにキャッシュを高速化できますか?
キャッシュベンチマークのスクリーンショットは次のとおりです。 ベンチマークでは、L1キャッシュの読み取り速度は約186 GB /秒で、レイテンシは約3〜4クロックサイクルです。そのような速度はどのように達成されますか? ここでメモリを考えてみましょう:理論上の最大速度は665 MHz(メモリ周波数)x 2(ダブルデータレート)x 64ビット(バス幅)で、約10.6 GB / sであり、ベンチマーク値9.6 GB / sに近いです。 しかし、L1キャッシュを使用すると、最大周波数(3 GHz)のプロセッサーですべてのサイクルで読み取ることができたとしても、非現実的と思われるスループットを実現するには約496本のデータラインが必要になります。これは他のキャッシュにも適用されます。 私は何が欠けていますか?パラメータからキャッシュのスループットを計算するにはどうすればよいですか?

6
アナログ信号の計算は、デジタル信号の計算よりも高速ですか?
デジタルFPU(CPU-> DAC->アナログFPU-> ADC-> CPU)の代わりにアナログ信号演算(精度と精度を犠牲にして)を使用する場合、理論的には最新のプロセッサを高速化できますか? アナログ信号の分割は可能ですか(FPUの乗算は1 CPUサイクルとなることが多いため)。

6
なぜIntelのHaswellチップがFP乗算を加算の2倍高速にするのですか?
私はスタックオーバーフローに関するこの非常に興味深い質問を読んでいました。 整数の乗算は、最新のCPUでの加算と同じ速度で本当に行われますか? コメントの1つは言った: 「Haswellでは、FP乗算スループットがFP加算の2倍であることは何の価値もありません。これは、ポート0と1の両方を乗算に使用できますが、加算に使用できるのはポート1だけだからです。 -multiplyは両方のポートで実行できるため追加します。」 加算と比較して2倍の同時乗算を許可するのはなぜですか?

6
オープンなハードウェアがそれほど珍しいのはなぜですか?[閉まっている]
オープンなハードウェアがソフトウェアよりも入手しにくい理由を理解しようとしています。オンラインで調べてみたところ、満足のいく説明が見つかりませんでした。 ハードウェアはプロプライエタリを維持するのがはるかに簡単であり、リバースエンジニアリングが非常に難しい(不可能な)こと(PCBではなくICの場合)を理解していますが、なぜオープンなハードウェアイニシアチブを妨げるのでしょうか? 製造コストですか?ハードウェア設計に関する共有知識の不足ですか?それは複雑さですか? FPGAの出現により、ハードウェアの設計が非常に簡単になりました(ハードウェア自体もプロプライエタリですが)が、オープンハードウェアが以前よりもはるかに速い速度で離陸することを期待しています。 これが尋ねるべき間違った場所である場合は申し訳ありませんが、これは約1年間私を困惑させており、コンピューターエンジニアリングの代わりにコンピューターサイエンスを学んだことを願っています。

7
コンピューターシステムでデジタル0が0Vではないのはなぜですか?
私はコンピューターシステム設計コースを受講しており、教授は、デジタルシステムでは、デジタル0とデジタル1を表すために使用される従来の電圧は年々変化していると語っています。 明らかに、80年代には5 Vが「高」として使用され、1 Vが「低」を示すために使用されていました。現在、「高」は0.75 V、「低」は約0.23 Vです。彼は、近い将来、0.4 Vが高、0.05 Vが低を示すシステムに移行するかもしれないと付け加えました。 彼は、これらの値が小さくなり、消費電力を削減できると主張しました。その場合、なぜ「低」を正の電圧に設定するのに苦労するのですか?真の0 V(電力線から中性、私は推測する)電圧に設定しないのはなぜですか?

4
ARMはベンダーに正確に何を販売していますか?
仮定: コンピュータアーキテクチャ:プロセッサのさまざまなモジュールが互いにどのように相互作用するかを説明します。 コンピューターアーキテクチャはvhdlファイルを使用して定義されます コンピューターの構成:シリコン上のプロセッサーモジュールの物理的なレイアウトについて説明します。 一連のフォトマスク(および各ステップで使用される製造プロセスなどの製造プロセス)を使用して、コンピューター組織が定義されます。 したがって、コンピューター組織では、製造プロセスを考慮する必要があります。 ARMは製造業ではないため、フォトマスクは販売していません。 私の質問: ARMはベンダーに正確に何を販売していますか(例:フリースケール)? SoC(System On Chip)の場合(例:iMx6)、ARMとFreescaleはどちらですか?統合したのは誰ですか?

5
マイクロコントローラなどの比較的単純なデバイスがCPUよりもはるかに遅いのはなぜですか?
同じ数のパイプラインステージと同じ製造ノード(たとえば65 nm)と同じ電圧を考えると、単純なデバイスはより複雑なデバイスよりも高速に動作するはずです。また、複数のパイプラインステージを1つにマージすると、ステージの数よりも大きな要因で速度が低下することはありません。 次に、2.8 GHzで14パイプラインステージを実行する5年前のCPUを使用します。ステージをマージするとします。それは200 MHz以下に遅くなります。電圧を上げて、ワードあたりのビット数を減らします。それは実際に物事をスピードアップするでしょう。 そのため、AVLなどの現在製造されている多くのマイクロコントローラーが極度の速度(5 Vで20 MHzなど)で動作する理由を理解できませんが、数年前に製造されたはるかに複雑なCPUは150倍または10倍高速で実行できました1.2 V-ishで、すべてのパイプラインステージを1つにロールする場合。最も粗い封筒の計算によれば、マイクロコントローラは、たとえ時代遅れの境界技術を使用して製造されたとしても、供給される電圧の4分の1で少なくとも10倍速く動作するはずです。 したがって、質問:マイクロコントローラのクロック速度が遅い理由は何ですか?

4
CPUが通常1つのバスのみに接続するのはなぜですか?
ここでマザーボードアーキテクチャを見つけました。 これは、マザーボードの典型的なレイアウトのようです。編集:まあ、どうやらそれはもはや典型的ではありません。 CPUが1つのバスにしか接続しないのはなぜですか?そのフロントサイドバスは大きなボトルネックのようです。2つまたは3つのバスをCPUに直接接続する方が良いと思いませんか? RAM用に1つ、グラフィックカード用に1つ、ハードドライブ、USBポート、その他すべてへの何らかのブリッジ用に1つのバスを想像します。このように分割した理由は、ハードドライブのデータレートがメモリに比べて遅いためです。 この方法で行うことについて非常に難しいことはありますか?既存の図にはすでに7つ以上のバスがあるため、コストがどのようになるかわかりません。実際、より多くの直通バスを使用することで、バスの合計数を減らし、場合によっては橋の1つを減らすこともできます。 これで何か問題がありますか?どこかに大きな欠点はありますか?私が考えることができる唯一のことは、おそらくCPUとカーネルのより複雑さです。これは、このボトルネックバスアーキテクチャが、物事があまり洗練されておらず、標準化のために設計が同じままであった昔のやり方だと思うようにします。 編集:ウォッチドッグモニターについて言及するのを忘れました。私はいくつかの図でそれを見たことを知っています。おそらく、ボトルネックバスは、ウォッチドッグがすべてを監視しやすくするでしょう。それは何か関係があるのでしょうか?

7
トランジスタはCPU上の唯一の電子部品ですか?
私は最近CPUについて読んでいて、CPU上のすべての論理ブロックとメモリはトランジスタで作成できることを知りました。CPU上の唯一の電子部品ですか? 編集(最初の2つの回答の後に 作成):ただし、CPUの作成は、トランジスタ図の投影についてのみ説明します(それが主要な部分である可能性があります)。しかし、ダイオード、コンデンサなどの追加コンポーネントはCPUにどのように追加されますか?

6
イントロコンピュータアーキテクチャでTTLよりもFPGAを使用する利点は何ですか?
私は教養学部で唯一のコンピューターアーキテクチャコースを教えています。このコースは、コンピューターサイエンスのメジャーおよびマイナーに必要です。コンピューターエンジニアリング、電気工学、その他のハードウェアコースなどはありません。このコースでの主な目標は、学生がコンピューターの動作をゲートレベルまで理解することです。これは、ハードウェアラボと教科書だけでなく(Computer Organization and Designヘネシーとパターソン)。私の2番目の目標は、コンピューターアーキテクチャについて生徒を興奮させ、コンピューターサイエンスについての興奮を高めることです。それらを業界向けに直接準備することは目標ではありませんが、より多くのコンピューターアーキテクチャを研究するよう動機づけることは目標です。一般的に、学生は何かを構築したり、大学レベルのラボコースを受講した経験はありません。通常、学期ごとに10〜15人の学生がコースを受講します。 私は1998年から1980年代後半にMITでコンピューターアーキテクチャとデジタルエレクトロニクスを教えていたのと同様の方法でコースを教えてきました。電源付きブレッドボードでDIP TTLチップを使用します。最初のハードウェアラボの課題では、学生は全加算器を作成します。学期の中頃に、彼らは8ビットの命令セットを備えたシンプルなコンピューターの構築を開始します。配線を減らすために、いくつかの電子機器を備えたPCB(2つのDフリップフロップ、8ビットALUとして機能するように配線された2つの4ビットLS 181 ALU、およびトライステートバッファー)を提供します。これらの最初のラボでは、2つの命令形式の(非常に単純な)制御信号を取得して回路を構築し、スイッチの命令を入力してライトから結果を読み取ります。2番目のラボでは、プログラムカウンター(2 LS163)とEPROM(これは最初の質問は、イントロアーキテクチャを教える方法に切り替える前のことでした)。最終ラボでは、条件分岐命令を追加します。生徒は配線とデバッグにかなりの時間を費やしますが、そこから多くの学習が行われ、生徒は本当の達成感を持って出発します。 しかし、このフォーラムの人々は、FPGAに切り替えるべきだと言ってきました。私はソフトウェアエンジニアであり、コンピューターエンジニアではなく、しばらく学校を休んでいますが、学習することができます。既存のデジタルトレーナーを交換するためのお金(おそらく数千ドル)を得ることができません。単一のロジックアナライザーがあります。 私の目標と制約を考慮して、EEは、FPGAに基づくアプローチへの現在のアプローチに固執することを推奨しますか?後者の場合、自分自身を教育するための資料へのポインタを教えてください。 要求に応じて、ここにシラバスとラボの課題へのリンクがあります。 追加:はい、デジタルロジックコースでもあります。大学に着いたとき、学生はコンピュータアーキテクチャとデジタルロジックのそれぞれ1学期を履修する必要があり、それらを1つの学期に結合しました。もちろん、それは未来についてではなく、過去についての声明です。

2
CPUはクロック周波数をどのように動的に変更できますか?
私のIntel CPUは使用量に応じてクロック速度を変更しますが、どのクロック速度で実行するかをどのように決定しますか?クロック速度は、アルゴリズムを使用してOSソフトウェアによって決定されますか、それともハードウェアベースですか?割り込みの数に依存していますか?キャッシュターンオーバー?CPU自体が独自のクロックを設定していますか?または、別のコントローラーで設定しますか?それともソフトウェア?

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