チップに多くのトランジスタが必要なのはなぜですか、またそれらはどのように管理されますか?


7

私が持っているすべては視覚的な図などなので、私の知識は非常にあいまいですが、メモリアドレスとレジスタがあり、ALUが中心にあるようです(明らかに)。シングルコアCPUは一度に1つの命令を処理します。AFAIKとマルチコアはある程度の並列性を備えています。それで、何百万ものトランジスタがどこに入るのか、そして32のレジスタがどのようにすべてを管理するのか。私たちが知っているFPUは、これらが大まかに使用するトランジスタの数です。トランジスタの大部分が何をするのか、なぜもっと高速なのか、そしてレジスターがすべてを「管理」する方法についてのかなり単純なアイデアを得る方法。


5
これはCSの解像度を下回ると思います。多分この質問は電気工学の方が良いでしょうか?(この質問は参考になるかもしれません。)
ラファエル

2
レジスタがCPUを管理していると言うのはなぜですか?それは私の机の上の紙が私を管理していると言っているようです。それは逆ではないですか?
David Richerby、2014

この質問とかなり似ていますが、コンピュータはどのように機能しますか。問題は、異なるトランジスタがCPUの異なるfnsにどのように割り当てられるかについてのようです。実際に言及されたALUは重要な役割を果たします...最後の質問については、「レジスタがすべてを「管理」する方法」はあまり意味がなく、レジスタは何も「管理」しません。たとえば、コンパイラがレジスタの使用を「管理」するということです。最適化など...レジスタをほとんど使用しない作業コードを記述できます。
vzn 2014

4
トランジスタ数が増える=処理能力が上がるのはなぜですか?上で電気工学 SE関心があるかもしれません。(私はそこに私の答えを多少誇りに思っていますが、それ少し専門的すぎるかもしれません。)
ポールA.クレイトン

回答:


14

これは大きな問題です。完全に回答するには、読みたいスペースよりもはるかに多くのスペースが必要になります(SE回答の長さに制限があるとは思わないことは言うまでもありません)が、何が起こっているのかを説明しようCPUで。

まず、トランジスタ(CPUで使用する場合)は、手動でオンまたはオフにする必要がないことを除いて、基本的にはライトスイッチのようなスイッチです。むしろ、それは電流によって制御されます。理解する最も重要なことは、現代のコンピューターは2ステートデバイスであることです。本当に重要なのは、ワイヤーに電流があるかどうかだけです。

次に、たとえば、整数(または他のデータ)をどのように表現するかを決定することにより、チップ設計のプロセスを開始します。たとえば、整数の場合、チップ設計者は通常、論理ユニットにワイヤをまとめてそれらを決定するので、4つのワイヤのコレクションを使用すると、16の可能なパターンを表すことができます。0000,0001,1111、パターンのような 1101ワイヤ1、2、4の電圧を表し、ワイヤ3の電圧はなく、このコレクションは数値13として解釈される可能性があります。この例では、4ビットチップと呼ばれるものがあります。最近のコンピュータでは、32または64のワイヤが1つのユニットとして扱われます。

適切に接続されたスイッチのコレクション(別名トランジスタ)を使用すると、2つの数値を加算したり、2つの数値が等しいかどうかを比較したり、数値がゼロかどうかを判断したりできます。多くの場合、これらの操作はすべて一度に同時に実行されることが多く、関連する操作は現在の命令によって選択されます。これにより、使用するさまざまな結果とその結果の送信先が決まります。このトラフィック制御はすべて、現在の命令が(実行中のプログラムで)何であるかに応じて、スイッチによって制御されます。さらに、情報を格納するメモリやレジスタなども、これらのスイッチで実装できます。

使用されているトランジスタの数の感触を得るために、 nビットコンピュータは、たとえば、 20n トランジスタ、 nビットレジスタには 50nトランジスタ、および結果を適切な場所に送信するためのトラフィック制御回路では、ビットごとにさらに数百が必要になる場合があります。多くの機能と広いデータパス(一緒に接続されたワイヤの数)を備えた最新のCPUが数百万のトランジスタを簡単に使用できることを想像するのは難しくありません。

「より多くの[トランジスタ]がより高速を意味する」理由については、答えは「必ずしもそうではない」ですが、一般に、データパスの幅を2倍に(たとえば32ビットから64に)すると、より大きな数を1回で操作できるようになります。より多くのトランジスタを必要とする代償としての命令。

最後に、レジスターは実際には「すべてを管理」するわけではありません。レジスタは、非常に高速なストレージユニットであり、RAMメモリよりもはるかに高速に情報を格納および取得できます。そのため、ビットへのアクセスが非常に高速であるという理由だけで、現在の命令のようなものが特別なレジスタ(命令レジスタと呼ばれる)に格納されることがよくあります。現在の命令は実際には「すべてを管理」し、速度のためにレジスタに格納されます。

これは非常に簡略化された説明です---私は大量の詳細を省略し、多くの技術的な問題について説明しましたが、少なくとも現代のコンピュータで何が起こっているのかを理解してくれることを願っています。[コンピュータエンジニアからの苦情のうなりを期待してダックアンドカバーモードに入る]


3
ムーアの法則(トランジスタスケーリング)と周波数スケーリングがほぼ同じ速度で発生していた長年の経験から、「より高速であることを意味する」と言われています。多くの人の心の中で、彼らはまだ少し混乱しています。もう1つ言及する必要があります-すべてが線形であるという印象があります。ただし、段数、要素、またはワイヤの数が多項式以上になるトランジスタの場所はいくつかあります。
マシューG.14年

これは素晴らしい短い答えです。非常に才能のある作家と有名な初期のWindowsプログラミングの第一人者からの長く詳細な回答が必要な場合は、Charles Petzoldの著書 『Code』をお勧めします。私はこの本を7部または8部配布しました。現代のコンピューターのしくみを知りたい人には、ぜひお勧めします。彼は、電気リレーから構築できる単純なロジックビルディングブロックから始め、メモリアクセスを備えた単純なCPUに至るまですべての過程をたどっています。それぞれの開発の章で、すべてのトランジスタがどこに行くのかがわかります。彼の本のWebページ:charlespetzold.com/code
インフレ

6

通常、1ビットのキャッシュメモリには6つのトランジスタが必要です(設計によっては多かれ少なかれトレードオフが異なります。http://en.wikipedia.org/wiki/Static_random-access_memoryを参照してください)。したがって、大きなキャッシュを備えた最近のCPUは多くのトランジスタを消費します。そこ。

最近のCPUは複数の命令を同時に実行するため、チップには複数の実行ユニット(ALU)があり、それぞれがかなり複雑です。

FPUの特定の数学アルゴリズムは、テーブルルックアップと補間によって加速できます。たとえば、Intel SSEユニットの逆平方根命令は、12ビットの精度を瞬時に与えるテーブルで実装されます。このテーブルは基本的にチップ上のROMのチャンクです。つまり、さらに多くのトランジスタです。


1

ここにはいくつかの質問があり、そのうちの1つに焦点を当てます。チップ上のトランジスタは、トランジスタに使用される表面積に「ほぼ」比例します。したがって、さまざまなサブシステムのグラフィカルな境界を示すチップの図を見つけることができ、単純に、ある領域内のトランジスタの数は、その領域の面積と合計面積の積にチップ上のトランジスタの総数を掛けたものに等しいという数式を使用できます。

このペーパーの例:

図1は、チップ上のグラフィック境界を示しています。CPUの個別の機能について、数百万のデバイスの面積と数を示す図4を参照してください。例外は、キャッシュ回路が非常に密であり、面積あたりのトランジスタ数がはるかに多いようです。面積の3分の2に3倍のトランジスタがあるようです。明らかにこのチップでは、トランジスタは高速キャッシュ専用です。


-2

簡単な答えは、トランジスタは論理ゲート、レジスタ、ストレージデバイスの基本コンポーネントであるということです。それらのさまざまな構成により、上位レジスタとプロセッサを構成するかどうか、およびフリップフロップが可能になります。7404(ゲートではない)7408(および)および7432(またはゲート)を調べます。基本的な7474と74279はストレージ構成です。ナショナルセミコンダクターが実際の回路図をまだ公開しているかどうかはわかりませんが、テキサスインスツルメンツは公開しています。


3
あなたはたくさんの古い質問を掘り起こし、あまり追加されていないように(または非常に説得力のある形で)回答を投稿しています。回答する前に、以前の回答では提供できなかったものを本当に追加できるかどうか慎重に検討し、科学的基準(参考文献、証明など)に従って消化可能な形式で提示するように注意してください
ラファエル

質問に対する実際の回路の回答はありませんでした。明快さと簡潔さが議論に加わると思います。私の貢献に対するあなたの意見や私の回答の評価にはあまり興味がありません。実際、私はあなたの反応をかなり上品で軽蔑的だと思います。たぶん、同じ期待に固執し、言論の自由に対する他者の権利を統制しようとするのをやめるべきです。
SkipBerne 2015

1)モデレーターとして、失望を避けるために私たちの基準を守るように警告します。2)私の発言に対するあなたの意見は気にしません。3)言論の自由はここでは適用されません。これは、企業が所有するWebサイトであり、コミュニティーにはモデレートが義務付けられています。
ラファエル

この事例を参考にして、実際にTIが作成したTTLロジックのBIBLEを引用しました。この質問を投稿した個人はロジックエレクトロニクスについては不明確であり、基本を示すためにいくつかをオンにする必要があると思いました。これは議論に追加されませんか?
SkipBerne 2015

2
1つには、そのように認識できる参照が投稿に表示されません。すると、「CPUが構築される論理ゲートの基本的なビルディングブロックです」とだけ言っているように見えます。他の回答はすでに同じことをはるかに複雑で説明的な方法で述べています。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.