マイナビニュース | テクノロジー | スパコン/HPC | ヘッドライン(2010)(1ページ目)

ヘッドライン

2010年12月17日(金)

コンピュータアーキテクチャの話 第218回 ダイナミック電力の低減手法(1)

ダイナミック電力の低減手法(1) ダイナミック電力を減らすにはfを減らすのが1つの手である。しかし、fを減らすと1秒間で処理できる命令数も比例して減少してしまうので、電力の絶対値は減るが性能/電力は改善されない。結果、仕事がないときにクロックを落として省エネするには役に立つが、本質的なダイナミック電力の削減にはならない。ということで、残る削減候補はCとVとαである。

[07:00 12/17]

2010年12月03日(金)

コンピュータアーキテクチャの話 第217回 CMOSマイクロプロセサにおけるダイナミック電力の考え方

CMOS回路は出力がLow→High→Lowというようにスイッチして負荷容量を充放電することで電力を消費する。一方、スイッチしていない場合は、理想的なCMOS回路では電力を消費しない。

[08:00 12/3]

2010年11月26日(金)

コンピュータアーキテクチャの話 第216回 CMOSスタティック回路(3)

トランジスタのCgdとCgsの合計はゲート電極と導通時にソース、ドレイン間にできる電流の通路であるチャネルの間にできる並行板キャパシタの容量が大部分で、それにゲート電極とソース電極、あるいはドレイン電極の間の容量で構成されている。

[07:00 11/26]

2010年11月19日(金)

コンピュータアーキテクチャの話 第215回 CMOSスタティック回路(2)

CMOS Static論理回路は直流電流の流れる通路が存在せず、通常は電力を消費しない。しかし、出力Xに静電容量(一般に容量と略す)が付くと、容量を充放電するときに一時的に電流が流れる。

[07:00 11/19]

2010年11月12日(金)

コンピュータアーキテクチャの話 第214回 CMOSスタティック回路(1)

CMOS Staticインバータの回路図を見ると、電源Vddと出力Xの間にPMOS(P型MOSFET)トランジスタ"p1"があり、出力Xとグランド(接地)Vss の間にNMOS(N型MOSFET)トランジスタ"n1"がある。これらのトランジスタは一般には対称的に作られているが、動作上は、Vdd、および、Vss側の端子がソースで、出力側の端子がドレインである。

[07:00 11/12]

2010年11月05日(金)

コンピュータアーキテクチャの話 第213回 MOSFETの構造と特性

電子はソースからドレインに向かって流れるので、この距離をチャネル長と呼び、Lで表す。そして、電子の流れる領域の幅をチャネル幅と呼びWで表す。

[07:00 11/5]

2010年10月29日(金)

コンピュータアーキテクチャの話 第212回 CMOSプロセスと消費電力

この連載の202回、203回あたりで、電源電圧が下げ止まり、その結果として消費電力が急増することになり、それがマルチコアプロセサ化の大きな原因になったということを述べたが、今や、サーバ用プロセサも携帯などのモバイル用のプロセサの消費電力が一番の設計制約になってきている。

[07:00 10/29]

2010年10月22日(金)

コンピュータアーキテクチャの話 第211回 仮想化におけるI/Oの制御法

仮想化を行う場合のもう1つの大問題は入出力(I/O)である。単純に普通のOSをゲストOSとして動かすと、それぞれのゲストOSがI/Oを占有していると思って、自分のデバイスドライバでI/Oハードウェアを制御してしまう。これでは、I/Oの動作は滅茶苦茶になってしまう。

[07:00 10/22]

2010年10月15日(金)

コンピュータアーキテクチャの話 第210回 VMMのオーバヘッドの解決手法

ゲストOSが実行するアプリケーションが新しいページを要求したり、ユーザ状態で実行するアプリケーションを切り替えるとゲストOSのページテーブルが変わり、それに対応してVMMはシャドーテーブルを書き換えなければならない。

[07:00 10/15]

2010年10月08日(金)

コンピュータアーキテクチャの話 第209回 プロセサ仮想化の基本的な概念

ユーザ/スーパバイザ機構を持つプロセサで、通常のOSをアプリケーション状態で実行すると、そのOSが特権命令を実行しようとすると、特権違反の例外が発生する。

[07:00 10/8]

2010年10月01日(金)

コンピュータアーキテクチャの話 第208回 割り込みと例外

プロセサ本体と比べると著しく速度の遅いI/Oの動作完了や、キーボードや通信インタフェースからの入力の到着のように、プログラム中の命令の実行と非同期に発生する事象を処理するために割り込みという方法が使われる。

[07:00 10/1]

2010年09月24日(金)

コンピュータアーキテクチャの話 第207回 仮想化とハードウェアアーキテクチャ

コンピュータが開発された当初は、1つのプログラムだけを実行するものであったが、コンピュータの能力向上と使いたいというユーザ数の増加から、MITのMulticsのように多数のユーザのプログラムを時分割で実行するマルチタスクOSが開発された。

[09:00 9/24]

2010年09月17日(金)

コンピュータアーキテクチャの話 第206回 プリフェッチとスカウトスレッド

メモリアクセスがキャッシュをミスして下位のキャッシュやメインメモリにアクセスする必要が出ると、長時間のストールが発生して性能が低下してしまう。

[07:00 9/17]

2010年09月10日(金)

コンピュータアーキテクチャの話 第205回 VMTとSMT

キャッシュミスが発生し、メインメモリからのデータの到着まで処理が止まってしまうことが判明した場合には、そのスレッドの実行を中断し、他の実行待ちのスレッドの切り替えるというマルチスレッドプロセサがある。

[07:00 9/10]

2010年09月03日(金)

コンピュータアーキテクチャの話 第204回 古くからあるマルチスレッドの考え方

マルチコアは物理的に複数のプロセサコアを1つのチップに集積するが、1つのプロセサコアを複数のプロセサのように見せるマルチスレッドという技術がある。

[07:00 9/3]

2010年08月27日(金)

コンピュータアーキテクチャの話 第203回 動作周波数重視からマルチコアへのシフト

ムーアの法則や、デナードスケーリングを超えるトランジスタ数の増加やクロック周波数の向上は、プロセサの性能向上にとっては望ましいのであるが、デナードスケーリングよりも素子数やクロックが向上すると、チップの消費電力一定とはならず、ハイエンドプロセサでは消費電力が100Wを越えるようになってしまった。

[07:00 8/27]

2010年08月20日(金)

コンピュータアーキテクチャの話 第202回 マルチコア、マルチスレッドプロセサ

IntelのGordon Moore氏は、1965年にElectronics Magazine誌に論文を発表し、1つのダイに集積されるトランジスタの数は年率2倍で増加しており、将来にわたってこの傾向を継続できない理由は無いと述べた。経験則であるが、これをムーアの法則と呼ぶ。ムーアは1975年には2年で2倍と増加率を修正したが、現在でも、これに近い増加率が継続している。

[06:00 8/20]

2010年08月13日(金)

コンピュータアーキテクチャの話 第201回 トランザクションメモリ

複数のプロセサが共有データをアクセスする場合には排他制御が必要となるが、使用権を得られなかったプロセサは、札メモリをチェックして使用権を獲得するループに入る。そうなると、使用権が獲得できるまで有効な処理を行えず無駄が生じる。

[07:00 8/13]

2010年08月06日(金)

コンピュータアーキテクチャの話 第200回 Dekker's Algorithmとメモリオーダリング

しかし、排他制御を実現するのにLoad Linked/Store ConditionalやTest and Setなどの特別な命令を使わない方法も存在する。次に述べるのはDekker's Algorithmという方法である。

[08:00 8/6]

2010年07月30日(金)

コンピュータアーキテクチャの話 第199回 マルチプロセサで共用されるデータ構造

各プロセサがキャッシュを持っている場合は、話が複雑になる。1つのやり方として、Load Linkedという命令とStore Conditionalというペアの命令を用いる方法がある。

[07:00 7/30]

2010年07月23日(金)

コンピュータアーキテクチャの話 第198回 Test and Set命令

2つのプロセサが使用するメモリ領域が異なり、別々の仕事を分担する場合は問題ないのであるが、2つのプロセサで緊密に関係のあるデータを扱っている場合には問題が発生しうる。

[07:00 7/23]

2010年07月16日(金)

コンピュータアーキテクチャの話 第197回 共有メモリと分散メモリ

ここまでは、ハードウェアでシステム全体のメモリに対してキャッシュコヒーレンシを取るシステムについて説明してきたが、プロセサごとのローカルメモリは独立で相互には無関係というシステムもある。

[07:00 7/16]

2010年07月09日(金)

コンピュータアーキテクチャの話 第196回 ディレクトリベースのコヒーレンス機構(2)

ディレクトリのエントリは、ホームノードが管理するメモリ量(例えば4GB)をキャッシュラインサイズ(例えば64B)で割ったものとなり、この例では、64Mエントリを必要とする。

[07:00 7/9]

2010年07月02日(金)

コンピュータアーキテクチャの話 第195回 ディレクトリベースのコヒーレンス機構(1)

これまで述べたスヌープを使用するキャッシュコヒーレンス機構は、各プロセサが他の全プロセサにスヌープを送る。したがって、各プロセサが受け取って処理をする必要に比例して増加する。結果として、コモンバスの場合は、バスを通過する要求や応答の数はプロセサ数の2乗に比例して増加する。

[07:00 7/2]

2010年06月25日(金)

コンピュータアーキテクチャの話 第194回 キャッシュラインのフォールスシェアリング

Write Invalidate方式のキャッシュの1つのキャッシュラインにプロセサAが書き込みを行うと、他のプロセサの同一アドレスのキャッシュラインのコピーは無効化される。

[07:00 6/25]

2010年06月18日(金)

コンピュータアーキテクチャの話 第193回 Includeフィルタの考え方

一方、Includeフィルタはプロセサがキャッシュミスして新しいキャッシュラインを要求してキャッシュに格納した場合に、そのアドレスを記憶する。そして、記憶したアドレスと一致したスヌープ要求を実行させる。アドレスの記憶をキャッシュタグと同じにやればデュプリケートタグになるが、Includeフィルタの場合は、もう少し粗い簡単なやり方がある。

[07:00 6/18]

2010年06月11日(金)

コンピュータアーキテクチャの話 第192回 スヌープフィルタの考え方

スヌープを使用するキャッシュコヒーレンス機構は、各プロセサが他の全プロセサにスヌープを送るので、プロセサ数の2乗に比例してスヌープ回数が増加する。このため、Sunfireのように、最終レベルのキャッシュのタグを二重化して、一方をチップ内の上位のキャッシュミス用、他方を他のプロセサからのスヌープ用として使うデュプリケートタグという方式が用いられたと述べたが、別の手法としてスヌープフィルタという方法がある。

[07:00 6/11]

2010年06月04日(金)

コンピュータアーキテクチャの話 第191回 プロセサ間を接続するバス(2)

話は横道に逸れるが、Starfireを製品化したのはSun Microsystemsであるが、元々は、SPARCベースのミニスーパーコンピュータを開発していたFloating Point Systems(FPS)の設計に基づいている。

[07:00 6/4]

2010年05月28日(金)

コンピュータアーキテクチャの話 第190回 プロセサ間を接続するバス(1)

複数のプロセサ間を接続するにはコモンバスが一番簡単な構造であるが、コモンバスは一時には1つのプロセサしかバスを使用できないので、接続するプロセサ数が多くなってくると、メインメモリアクセスの待ち行列ができてアクセス時間が長くなり、遂には、プロセサの数を増やしても、メモリバスの性能で全体の性能が決まってしまうことになる。

[07:00 5/28]

2010年05月21日(金)

コンピュータアーキテクチャの話 第189回 キャッシュスヌープとインクルージョン

前節で述べたように、CPUチップを複数使用したり、1チップでもマルチコアのシステムでは、プロセサのキャッシュ間のコヒーレンシを保つ必要があり、ストアを行う場合などには、他のすべてのプロセサに対して書き込みアドレスのデータがキャッシュに存在するかどうかをチェックするスヌープを行う。

[07:00 5/21]

2010年05月14日(金)

コンピュータアーキテクチャの話 第188回 キャッシュコヒーレンシ - MOESIプロトコル

ModifiedとExclusiveの両方の状態を持つ、MOESIプロトコル(モエジと発音する)を用いるキャッシュも存在する。

[06:00 5/14]

2010年05月07日(金)

コンピュータアーキテクチャの話 第187回 キャッシュコヒーレンシ - MESIプロトコル

MSIプロトコルやMOSIプロトコルでは、メモリから読まれたままの状態のキャッシュラインはShared状態であるが、このキャッシュラインに書き込みを行う場合は、他のプロセサのキャッシュにも同じキャッシュラインが存在する可能性があるので、書き込み前にスヌープして無効化を行う必要がある。

[07:00 5/7]

2010年04月23日(金)

コンピュータアーキテクチャの話 第186回 キャッシュコヒーレンシ - MOSIプロトコル

MSIプロトコルでキャッシュラインのデータを受け取る場合、2回のメモリアクセスが必要となり無駄が多いので、直接、Modifiedのキャッシュラインのデータをキャッシュミスしたプロセサのキャッシュに送れるようにしようというのがMOSIプロトコルである。

[07:00 4/23]

2010年04月16日(金)

コンピュータアーキテクチャの話 第185回 キャッシュコヒーレンシ - MSIプロトコル

ライトバックキャッシュの場合、あるプロセサがキャッシュミスでメインメモリをアクセスした時に、そのアドレスの最新のデータはメインメモリには無く、最後に書き込みを行った別のプロセサのキャッシュに存在するという場合がある。

[07:00 4/16]

2010年04月09日(金)

コンピュータアーキテクチャの話 第184回 キャッシュコヒーレンシ

マルチプロセサは、キャッシュが無い場合は共通メモリアクセスのぶつかり合いを解消してやれば良いのであるが、キャッシュを持つようになると、途端に話が面倒になる。

[06:00 4/9]

2010年04月02日(金)

コンピュータアーキテクチャの話 第183回 マルチプロセサのメモリアクセス(2)

最近では、プロセサの性能の向上に伴い、メモリのリードライトを行うバンド幅が不足してきており、メモリDIMMの転送速度の向上に加えて、PC用のプロセサでも2本のメモリバスを持ち、2バンク構成を採ることが一般化している。

[07:00 4/2]

2010年03月26日(金)

コンピュータアーキテクチャの話 第182回 マルチプロセサのメモリアクセス(1)

人間が作業する場合でも、仕事が多ければ、複数の人で作業を分担すれば速く進めることができる。これと同じで、より性能を上げるために1個のプロセサではなく、複数個のプロセサを使うということが考えられ、古くは、1965年のIBM 360 Model 65で2台のプロセサがメモリを共有して処理を分担するマルチプロセサ構成が採られた。

[07:00 3/26]

2010年03月19日(金)

コンピュータアーキテクチャの話 第181回 プロセサの性能向上のネックの1つ「ロード命令」

プロセサの性能向上のもう1つのネックが、ロード命令である。アウトオブオーダ実行とノンブロッキングキャッシュで、依存関係のない命令を先に実行することは可能になったが、ロード命令でメモリから読み込まれるデータに依存する後続の命令の実行は、メモリからデータが到着するまで待たなければならない。

[06:00 3/19]

2010年03月12日(金)

コンピュータアーキテクチャの話 第180回 Intelのトレースキャッシュ

前述のように、学会などでの公表という観点では、トレースキャッシュはJ.Smith教授のグループとY.Patt教授のグループがほぼ同じ時期に考案したのであるが、その後、IntelがTakenの条件分岐を含む実行命令列を続けてキャッシュに格納するというアイデアを、両大学の発表よりも3年も前の1994年3月に特許出願し、成立していたことが判明した。

[08:00 3/12]

2010年03月05日(金)

コンピュータアーキテクチャの話 第179回 トレースキャッシュ(2)

このような複数の条件分岐予測を1サイクルで行う機構では条件分岐命令のアドレスは無視してグローバル履歴だけで予測を行うGAg構造を用い、最初の条件分岐命令のTaken/Not Taken予測値をグローバル履歴に追加して、次の条件分岐命令の予測に使用し、さらに先行する2つの予測値をグローバル履歴に追加して3番目の条件分岐方向を予測する。

[08:00 3/5]

2010年02月26日(金)

コンピュータアーキテクチャの話 第178回 トレースキャッシュ(1)

分岐先予測を使うと、分岐命令の実行時ではなくデコード時に分岐先アドレスの予測値が得られ、この予測に基づいて分岐先の命令のフェッチを始められる。

[07:00 2/26]

2010年02月19日(金)

コンピュータアーキテクチャの話 第177回 ビクティムキャッシュとインクルージョンキャッシュ

プロセサのサイクルタイムとメモリのアクセス時間の差が開くにつれ、1階層のキャッシュメモリではその差を埋めきれず、最近のプロセサでは、2階層、3階層のキャッシュが用いられるのが普通である。

[07:00 2/19]

2010年02月12日(金)

コンピュータアーキテクチャの話 第176回 ストアコンプレッション/ストアマージ

例えば文字列をコピーするというような処理を行うと、最初の文字を読み、結果を格納するアドレスのキャッシュラインにその文字の格納を行う。そして、次の文字を読み、同一キャッシュラインの次のバイトに次の文字を書き込むという動作が続く。

[07:00 2/12]

2010年02月05日(金)

コンピュータアーキテクチャの話 第175回 キャッシュ再訪

アウトオブオーダ実行を行うと、最初のロード命令を発行しその実行が完了する前であっても、次のロード命令のアドレスが決定していれば、次のロード命令を発行することが可能になる。

[07:00 2/5]

2010年01月29日(金)

コンピュータアーキテクチャの話 第174回 分岐先アドレスを予測する

分岐予測は条件分岐が成立するか不成立かを予測するものであるが、分岐が起こる場合には、分岐命令を実行して分岐先のアドレスを計算し、分岐先の命令をフェッチして来なければならない。

[07:00 1/29]

2010年01月22日(金)

コンピュータアーキテクチャの話 第173回 一般的に95~99%正しい予測をする分岐予測機構

プログラムの性質にも依存するが、今日の強力な分岐予測機構は、一般的には95%~99%正しい予測をする。しかし、100%の成功でない限りは予測ミスが発生し、プロセサは本来実行すべきでない命令を実行してしまう。

[07:00 1/22]

2010年01月15日(金)

コンピュータアーキテクチャの話 第172回 Gshare方式とハイブリッド予測

グローバル履歴は、履歴の長さを伸ばすと良い予測が可能であるが、長い履歴と高い命令アドレス分解能を得ようとするとPHTのエントリ数が1ビット伸ばすごとに倍増するので、大きなテーブルが必要になるという問題がある。

[08:00 1/15]

2010年01月08日(金)

コンピュータアーキテクチャの話 第171回 グローバル履歴を使う分岐予測

ローカル履歴は、短いループのループバックを行う条件分岐命令などが一定のパターンでTaken、Not Takenを繰り返す状況を捕まえることにより予測成功率を改善するものであるが、条件分岐には別のパターンもある。

[07:00 1/8]

2010年01月03日(日)

日本と米国の次世代スパコンを探る

日本では10PFlopsを目指す理研の京速スパコン、米国ではイリノイ大学に設置予定のBlueWatersスパコン計画が進められている。日本の京速スパコンも2009年の閣僚折衝で40億円減ながら予算が認められる方向となり、開発が継続されることになったのは記憶に新しい。

[10:00 1/3]

バックナンバー

人気記事

一覧

イチオシ記事

新着記事