連載
» 2016年03月02日 09時30分 UPDATE

福田昭のデバイス通信 ARMが語る、最先端メモリに対する期待(5):CPUアーキテクチャの基礎 (1/2)

今回から、CPUアーキテクチャとメモリ・システムの関連について掘り下げていこう。まずは5段パイプラインアークテクチャを例に挙げ、メモリ・システムとの関連をみていく。

[福田昭,EE Times Japan]

パイプラインで動作するCPU

 国際会議「IEDM」のショートコースで英国ARM Reserch社のエンジニアRob Aitken氏が、「System Requirements for Memories(システムがメモリに要望する事柄)」と題して講演した内容を紹介するシリーズの第5回である。

 前々回からは、講演の第2パートである「CPUのメモリに対する要求」の概要をご報告している。今回からは、CPUアーキテクチャとメモリ・システムとの関連に関する基礎的な講演のパートをご紹介していく。

 初めはCPUアーキテクチャである。講演では説明を簡単にするために、5段(5ステージ)のパイプラインを備えるRISC型CPUのアーキテクチャを例として挙げた。パイプラインの各段(ステージ)は、「命令フェッチ」「命令デコード」「実行」「メモリアクセス」「ライトバック」の順番に進む。1段を進むのに1クロック・サイクルを必要とするので、このパイプラインは最短時間だと5クロック・サイクルで1命令の実行が完了する。

 クロック周波数の最大値を決めるのは、処理時間の最も長い段(ステージ)である。処理時間の長いステージを2つのステージに分割すると、クロック周波数の最大値が向上する。ただし、パイプラインの段数が増えると、1命令の実行が完了するまでのクロック・サイクル数が増加するとともに、シリコン面積と消費電力が増加する。

mm160302_device1.jpg 代表的なRISC CPUのパイプライン・アーキテクチャ(クリックで拡大) 出典:ARM

パイプライン動作とキャッシュアクセス

 パイプライン・アーキテクチャの良いところは、「関連のない命令」を連続して実行できることだ。ここで関連のない命令とは、ある命令の実行結果に依存せずに、実行を開始できる命令を指す。5段のパイプラインだと、最大で5つの命令を連続して実行できる。すると実効的には、1個の命令を1クロック・サイクルで処理することになる。

 パイプラインの動作は、メモリ・アクセスのふるまいに左右される。場合によっては動作が一時的に停止することもある。このような事態を防ぐために、メモリは実行ユニットのすぐ近くに置く。これがキャッシュである。命令を格納する命令キャッシュと、データを格納するデータキャッシュを用意するのが普通だ。

 パイプラインとメモリの関係を、もう少し詳しく見ていこう。命令フェッチ段では、命令キャッシュから、対象の命令を読み込む。メモリアクセス段とライトバック段では、データキャッシュにアクセスする。

mm160302_device2.jpg パイプラインの実行。最大で5つの命令を並列に実行可能である(緑色のステージ)。なお図中のIFは命令フェッチ、IDは命令デコード、EXは実行、MEMはメモリアクセス、WBはライトバックを意味する(クリックで拡大) 出典:ARM
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.