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

CPUは中央演算処理装置の略です。単に中央プロセッサと呼ばれることもありますが、より一般的にはプロセッサと呼ばれます

3
BIOSプログラムの作成に使用されるプログラミング言語はどれですか?
私が理解しているように、ROMに保持されているBIOSコード/ビットストリームは汎用である必要があります(複数のCPUタイプまたはISAと一緒に動作します)。さらに、Webで、コードをダンプ(および「逆アセンブル」)できることが言及されています。 それで、どの言語、命令セットまたはマシンコードで書かれていますか?操作を実行するのに、どんな種類のプロセッサーも必要ではありませんか?もしそうなら、私はそれが外部CPUを使用すると思いますが、それは採用されたものの特定の命令セットをどのように知っていますか? 多分それは内部プロセッサを持っていますか?
65 cpu  bios 

7
1 <10の比較は1 <1000000よりも安価ですか?
z-indexCSSのaのカウントとして〜10億を使用し、比較を検討する必要がありました。非常に大きな数値と非常に小さな数値との比較で、ALUレベルでパフォーマンスに違いはありますか? たとえば、これら2つのスニペットのうちの1つは他のスニペットよりも高価ですか? snippet 1 for (int i = 0; i &lt; 10000000; i++){ if (i &lt; 10000000000000) { //do nothing } } snippet 2 for (int i = 0; i &lt; 10000000; i++){ if (i &lt; 1000) { //do nothing } }
65 performance  cpu 

3
単一のスレッドは複数のコアでどのように実行されますか?
私は、シングルスレッドが複数のコアでどのように実行されるかを高レベルで理解しようとしています。以下は私の理解です。私はそれが正しいとは思わない。 Hyper-threadingの私の読書に基づいて、OSはすべてのスレッドの命令を、それらが互いに待機しないように編成しているようです。次に、CPUのフロントエンドは、各コアに1つのスレッドを配布することにより、これらの命令をさらに整理し、オープンサイクル間で各スレッドから独立した命令を配布します。 そのため、スレッドが1つしかない場合、OSは最適化を行いません。ただし、CPUのフロントエンドは、独立した命令セットを各コアに分配します。 https://stackoverflow.com/a/15936270によると、特定のプログラミング言語が作成するスレッドは多かれ少なかれありますが、それらのスレッドで何をすべきかを判断する際には無関係です。OSとCPUがこれを処理するため、使用されるプログラミング言語に関係なくこれが発生します。 明確にするために、単一のコアで複数のスレッドを実行するのではなく、複数のコアで実行される単一のスレッドについて尋ねています。 要約の何が問題になっていますか?スレッドの命令は複数のコアにどこでどのように分割されますか?プログラミング言語は重要ですか?これは広範なテーマであることを知っています。私はそれについて高レベルの理解を望んでいます。

12
プログラムが特定の最小数のCPUコアを必要とするのはなぜですか?
N個未満のコアを持つCPUで実行すると正常に動作しないコード(またはコードではなく完全なソフトウェア)を作成することはできますか?明示的にチェックせず、意図的に失敗することなく: IF(noOfCores &lt;4)その後、意図的に適切に実行されない 私はゲームの(Dragon Age:Inquisition)最小システム要件を調べていますが、それは最低4コアCPUを示しています。多くのプレイヤーは、2コアCPU および2つの物理コアと2つの論理コアを備えたIntel Core i3では動作しません。そして、それは計算能力の問題ではありません。 私の理解では、スレッドはOSによってCPUから完全に分離されています。 ただ物事をクリアするために: 私はありません「私はコードからCPUコアの数を調べると、意図的に失敗することはできますか?」尋ねます ...そのようなコードは意図的ではありません(計算能力を必要とせずに、プログラムを実行するためにより高価なCPUを購入せざるを得ません)。たとえば、コードが4つのスレッドを持ち、同じ物理コアで2つのスレッドが実行されると(システム情報を明示的に確認して意図的に失敗することなく)失敗するようにしています。 要するに、複数のコアから来る追加の計算能力を必要とせずに、複数のコアを必要とするソフトウェアが存在できるのでしょうか?N個の個別の物理コアが必要です。

7
ソフトウェアプログラミングでは、CPUとGPUの両方の負荷を100%にすることは可能ですか?
これは、私がゲーマーとして面白いと思った主題に関する一般的な質問です:CPU / GPUのボトルネックとプログラミング。間違っていなければ、CPUとGPUの両方が計算を行うことを理解するようになりましたが、アーキテクチャの違いにより、ある計算では他の計算よりも優れていることがわかりました。たとえば、クラッキングハッシュまたは暗号通貨マイニングは、CPUよりもGPUの方が効率的であると思われます。 だから私は疑問に思った:CPUが50%(例えば)である間、100%の負荷でGPUを持っていることは避けられない? または、より正確に:最初に1つが100%の負荷である場合、GPUによって通常行われるいくつかの計算はCPUによって行われ、両方とも100%の負荷に達することができますか? 私はこの主題について少し検索しましたが、かなり手ぶらで戻ってきました。これがこのサブセクションに位置し、あなたが私に与えるかもしれないどんな文書や講義にも開かれていると思います!

10
コードで100%CPUを使用しないのはなぜですか?[閉まっている]
Windows XP以降で実行されるC#.NET 4プログラムについて具体的に説明していますが、一般的な回答も受け入れられます。 すでに最適化された効率的なプログラムを想定します。ここでの問題は、ハードウェアのCPU使用率が高いことの影響と、実装を効率化するかどうかではなく、使用率の高いプログラムを制限して摩耗を減らすかどうかにかかっています。 今日の同僚は、「最新のCPUは安価であり、100%のCPUで急速に劣化する」ため、データロードプロセスで100%のCPU使用率を目指してはならないと提案しました。 これは本当ですか?もしそうなら、なぜですか?以前は、集中的な操作や長時間の操作には100%のCPU使用率が望ましいという印象を受けていましたが、どちらの方法でも対象に関する立派なソースを見つけることができませんでした。
42 c#  multithreading  cpu  usage 

1
最新のCPUでの単一割り当てADT指向コードのパフォーマンス
単一の割り当てで不変データを操作すると、より多くのメモリが必要になるという明らかな効果があります。これは、常に新しい値を作成しているためです(ただし、隠れたコンパイラーはポインタートリックを実行して問題を軽減します)。 しかし、CPU(具体的にはそのメモリコントローラー)がメモリが(それほど)変化していないという事実を利用できるという点で、パフォーマンスの低下よりもパフォーマンスの低下を上回ることを何度か耳にしました。 私は誰かがこれが本当であるかどうか(またはそうでない場合)に光を当てることを望んでいました。 で別のポストにコメントそれがいることを言及した抽象データ型(ADTのは)私は、さらに好奇心作られたこれに関係しています、どのようにADTは、具体的にメモリとCPUの取引方法に影響しますか?ただし、これは別ですが、ほとんどの場合、言語の純度がCPUおよびそのキャッシュなどのパフォーマンスに必ず影響することに興味があります。


6
なぜI / Oを待たなければならないのですか?
ディスク操作が遅いことは常に知られており、それらが遅い理由はわかっています。ここでの質問は、なぜI / Oを待たなければならないのか、なぜIOWaitなどのようなものがあるのか​​ということです。 バックグラウンドでいくつかのI / Oタスクを実行しているとき、コンピューターが基本的にかなり遅くなることに気づいたことを意味します。Linuxを使用している場合、より長いI / Oタスクを実行している場合は特に、OSは完了するまでほとんど使用できなくなります。 確かに、私は記事でもこのトピックを見つけました、スニペットがあります: I / O待機は12.1%です。このサーバーには8つのコアがあります(cat / proc / cpuinfoを使用)。これは非常に近い(1/8コア= 0.125) つまり、基本的にはコンピューターの速度がかなり低下しているということです。なぜですか?つまり、通常のコンピューターは少なくとも2コアであり、ハイパースレッディングなどの理由で4コア以上である場合もあります。しかし今、問題はCPUが実際にそこに留まらなければならない理由であり、実際にはIOを待つ以外に何もしませんか?私はプロセス管理の基本的なアイデアやアーキテクチャを意味しますが、今ではそれがOSに起因するのか、それともハードウェアの部分に起因するのかわかりませんが、CPUが待機したり、定期的にチェックし、実際には他の多くのタスクを実行し、準備ができたときにのみIOプロセスに戻ります。確かに、それがそのような困難なタスクであり、CPUが待たなければならないのであれば、なぜ ハードウェアによってより効率的に管理されていますか?たとえば、ある種のミニCPUがあり、それを待って、プロセスに戻ったらすぐにデータのごく一部を実際のCPUに配信します。そのため、プロセスが繰り返されます。実際にデータコピープロセスにCPUコア全体を捧げる...または、この種のものを発明し、そのためにノーベル賞を受賞すべきだろうか?:S さてさて、私は今、オブザーバーの観点から実際にそれを入れています、そして私は本当にそのトピックに深く入っていませんが、CPUがHDDの速度で動作しなければならない理由を本当に理解していません別のことをして、準備ができたらHDDに戻ってください。そのアイデアは、そのIO操作またはコピープロセスなどを必要とするアプリケーションを高速化することではありませんが、その操作の実行中にCPU消費に最小限の影響を与え、OSが他のプロセスおよびユーザーに利用できるようにすることですコピー操作を行うときに一般的なコンピューターの遅延を感じる必要はありません...
28 cpu  io  operations 

4
CPUレジスタとは何ですか?
この質問は、しばらくの間私を悩ませており、今日、私はそれをグーグルにするだろうと考えました。私はそれについていくつかのことを読んだことがありますが、それは私がいつもプロセッサーキャッシュと呼んでいたものと非常に似ているように見えました。 2つの間に違いはありますか、または私はそれらが同じだと思うときに正しいですか?レジスタは、実際に動作するためにCPU内にある必要がありますか? ウィキペディアによると、レジスタは、RAMに送り返される前にメモリにすばやくアクセスして変更できるCPU内の場所です。私はこれを間違って理解しましたか、またはキャッシュとレジスタは実際に同じですか?


6
CPUはどのくらいの頻度で計算エラーを起こしますか?
ダイクストラの構造化プログラミングに関するノートでは、コンピュータープログラムの抽象的なエンティティとしての証明可能性について多くのことを語っています。当然の結果として、彼はテストでは不十分であると述べています。たとえば、xとyの全範囲にわたってxとyの大きな値に対して乗算関数f(x、y)= x * yをテストすることは不可能であるという事実を指摘しています。私の質問は彼のその他に関するものです。「お粗末なハードウェア」に関するコメント。エッセイはコンピューターハードウェアの信頼性が低い1970年代に書かれたものであることを知っていますが、コンピューターはまだ完璧ではないため、計算ミスをすることがあります。誰がこれが起こる頻度を知っていますか、またはこれに関する統計がありますか?
22 theory  cpu 

2
典型的な最新のマイクロプロセッサパイプラインの長さは?
私はパイプライン処理についてある程度学びましたが、それらは4ステージと5ステージであり、現代の典型的なパイプライン処理は実際にははるかに長く複雑です。典型的なパイプラインはどれくらい長く、どれだけ長くなると予想できますか?また、長いパイプラインのパフォーマンス向上で利益が減少するポイントはどこですか?

3
実行可能ファイルがCPUではなくOSに依存するのはなぜですか?
Cプログラムを作成して.exeファイルにコンパイルすると、ファイル.exeにはCPUへのrawマシン命令が含まれます。(おもう)。 その場合、最新バージョンのWindowsを実行するコンピューターでコンパイルされたファイルを実行するにはどうすればよいですか?CPUの各ファミリには、異なる命令セットがあります。それでは、適切なOSを実行するコンピューターが、.exe物理CPUに関係なく、ファイル内の命令を理解できるのはなぜでしょうか。 また、一部のアプリケーションの「ダウンロード」ページのWebサイトでは、Windows、Linux、およびMac用のダウンロードがあります(各OS、86および64ビットコンピューター用に多くの場合2回ダウンロード)。CPUファミリごとにダウンロードがこれほど多くないのはなぜですか?

5
複数のCPU /コアが同じRAMに同時にアクセスできますか?
これは私が推測するものです: 2つのコアがRAM内の同じアドレスにアクセスしようとした場合、一方が他方にアクセスするのを待つ必要があります。二、彼らはそれぞれアクセスすることができましたように、各コアが同じアドレスにアクセスしようとしている時間は、彼らはまだ、そのRAMがキャッシュされていて、同時にキャッシュを。 2つのコアが同じRAMの異なるアドレスにアクセスしようとすると、一方が他方にアクセスするのを待たなければなりません。 言い換えれば、RAMを集中的に使用するプログラミングタスクでは、コアごとに複数回RAMの同じアドレスから読み取る必要がなければ、マルチプロセッシングはあまり役に立たないと思います。 だから、複数のCPU /コアが同じRAMに同時にアクセスできますか、または私が言っていることは正しいですか?

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