CPU
ブログからのネタの種
- 孫が・・・。トラブル解決方法
- わん。Xpが長すぎたのか。デスクトップでも1GHz越えが当たり前になりました。CPUがデュアルコアなのも珍しくありません。性能差が開き始めました。500MHz以下のCPU搭載パソコンの価格は、下落しています。Windows 98SEの時代の商品です。インターネットを
2008/08/22 14:29:04 [PC捨てるには「もったいない」と考え] - 変更しまくりんぐ
- PCspecを強化 しようと考えている、今日この頃。現在のスペック CPU : Core 2 Duo E6400 Tray Memory : DDR 512MB×2 Graphics Board : GeForce 6600GT 256MB Mother Board : ASUS P5B 変更予定スペック CPU : Core 2 Duo E8400 Memory : DDR2 1GB PC5300 CL5 Samsung純正(バルク)*2
2008/08/22 14:26:34 [Fm...fmm...] - eco日記(26)スターリングエンジン
- (´ω`*)ゞエヘヘ) ちなみに市販化されている実用商品としてこんなものがありました。パソコンの基板上にあるICチップ(CPU)の発熱は凄いので、その熱を利用してスターリングエンジンを動かし、ラジエーターでICチップを冷却するものです(通常は冷却ファンとヒートシンク
2008/08/22 14:04:21 [ノコサレの風] - またしても
- ... あまりお金をかけず、使ってみて気になる所が出たらバージョンアップする つもりだったので) だけど この型番のって出物が無いんだよね。同じのにしたいから 2枚そろうのはしばらく先かな...というか、そろそろマザボとCPUだよね(爆 Q
2008/08/22 14:00:49 [録音屋のひとりごと(仮)] - Friioの実験
- 690GにCPUにX2-Be2450、メモリーPC6400の1G×2という環境。この環境下でVirtual PCを稼動中Friioを起動した状態でCPUは50パーセントを越えてくる仕事量。決して軽くない 。アナログチューナーの場合、ハードウェアエンコードのボードを利用しているのでCPUの負担は
2008/08/22 13:51:42 [エクレアのあのねのね] - CMコンテスト
- 何か書くことないかなぁと思っていたら、見つけました。インテル高性能CPU搭載東芝ノートPCのCMコンテストがYouTubeで開催中!Youtubeは色々なことをしていますねー。暇つぶしになるかなぁ・・・と見てみると、意外と面白かったです。素人の方の作品と
2008/08/22 13:51:08 [いろいろ楽しむのもいいんじゃない?] - INTEL CPU E8600(E0) vs E8500(
- 0 リリース!http://pc-benchmark.at.webry.info/200807/article_395.html CPU-ID V4.15.2.451 リリース!http://pc-benchmark.at.webry.info/200808/article_171.html CPU-ID V4.14.5.410 リリース!http://pc-benchmark.at.webry.info/200807
2008/08/22 13:38:00 [PC-BENCHMARK] - 今年の夏、出費が酷い・・・
- まあ、そんな感じです・・・。ちなみに、このパソコンの構成はこんな感じになっています。OS・・・Windows Vista Ultimate SP1 (DSP版を購入) CPU・・・Intel Xeon X3360 @2.83Ghz (クアッドコア) RAM・・・DOMINATOR 4GB(2GBx2) DDR2-1066 (冷却用FAN付き) GPU・・・AMD ATI HD4850
2008/08/22 13:36:03 [CAT Web blog] - 朝夕
- 今年は、お盆が早かったのか、朝夕は、しのぎやすい気温になっています。さて、さて、 ふとパソコンを見ると、かなりホコリが・・・・ マズイことになるまえに、お掃除でもしますか!CPUクーラーのフィンが、ホコリで目詰まりしていました。もしかしたら、熱暴走の
2008/08/22 13:25:03 [Through The Lens] - プレゼント応募 今日までです!!
- のノートパソコンです。☆富士通 FMV-718NU4/B CPU Celeron1.8GHz HDD 20GB 14.1TFT液晶タイプ 128MB ¥25,900円 256MB ¥29,050円 384MB ¥32,200円 次は、同タイプの15TFT液晶タイプです。☆富士通 FMV-718NU4/B 15TFT CPU Celeron1.8GHz HDD 20GB 15TFT液晶タイプ 128MB ¥
2008/08/22 13:21:07 [リユース(中古)パソコン 綺羅星]
はてブ注目エントリーからのネタの種
- Intel、45nm Core 2 DuoにTDP 10〜25W製品を追加
- は、45nmで製造したTDP 10〜25Wの低消費電力CPU 6製品を「Core 2 Duo」ブランドに追加した。19日(現地時間)に製品情報に追加することで公開した。 今回追加された6製品は、これまで低電圧版(Low voltage)/超低電圧版(ultra low voltage)Core 2 Duoとして展開されてきたが、45nmで製造されるにあたりCore 2 Duoブランドへと統合された。また、いずれの製品もデュアルコアとなっている。 TDP 25Wの「SP...
2008/08/22 14:37:23 [] - 仮想マシンから直接I/OをマッピングできるVT-d-米Intelと米VMwareがデモ
- 8月19日(米国時間)から米国サンフランシスコで開催されている米Intelの開発者向けセミナー「Intel Developer Forum(IDF)2008」において、米VMwareと仮想化の新しいI/Oシステムに関するデモが行われた。 デモが行われたのは、現在開発が行われている次世代CPU「Core i7」やXeonの最新世代でサポートされているVT-d(Intel Virtualization for Directed I/O)を利用して、仮想マシンに直接I/Oをマ...
2008/08/22 14:37:23 [] - pgmemcacheからmemcachedのデータを操作する(1/3) - @IT
- では、memcachedそのものの仕組み・導入方法、PostgreSQLとの連携手順を紹介しました。後編の今回は、いよいよpgmemcacheを使ったmemcached操作を実践していきます。memcachedおよびpgmemcacheについては前編を参照ください。以降の解説は前編で設定した環境を前提にしています。 InterDB 鈴木啓修 2008/8/19 ・本稿の前提環境 memcached 1.2.5 データベース:PostgreSQL 8.3.1 OS:CentOS 5(Linu...
2008/08/22 14:37:23 [] - DK Finderで光速デスクトップ検索 : ライフハッカー[日本版], 仕事も生活も上手くこなすライフハック情報満載のブログ・メディア
- Windowsのみ : フリーソフト「DK Finder」は、軽くてCPUに優しいデスクトップ検索アプリ。ハードドライブにインデックスを作成し、高速検索を可能にします。 デスクトップ検索アプリは「Google Desktop」などの有名どころを筆頭に星の数ほどあるのですが、この「DK Finder」、ちょっとだけ他のアプリに差をつける実力の持ち主なんですねー。特筆すべきはその軽さ。作動中でも3MB程...
2008/08/22 14:37:23 [] - デル、ミニデスクトップ「Studio Hybrid」を21日に発売決定
- Studio Hybridはデルが新たに投入するデスクトップPCで、光学ドライブのような形状と小型な筐体が特徴。当初は8月末発売を予定していたが、発売日を8月21日に決定した。また、正式な価格が決定されており、ベーシックパッケージは69,800円、プレミアムパッケージは119,800円(いずれも本体のみ)。 ベーシック構成は、CPUにCeleron 550(2GHz)、メモリ1GB、HDD 160GB、チップセットにIntel GM96...
2008/08/22 14:37:23 [] - VMotion、DRS、そしてVMware HA (1/4)
- ハイパーバイザの「VMware ESX」をベースに、サーバ運用の自動化と円滑化のためのさまざまな機能を組み込んだのが「VMware Infrastructure 3」だ。仮想マシンを無停止で別の物理サーバに移動することで、ハードウェアのメンテナンスを楽にしたり、自動的に各物理サーバ上の負荷を調整したり、低コストで可用性を確保したりすることができる。今回はこれらの有用な機能について解...
2008/08/22 14:37:23 [] - なつたん: Forthが人気過ぎる件
- [fpga-cpu]でFPGAで動く小さなCPUについて盛り上がっていたので、ぼ...
2008/08/22 14:37:23 [] - アップル、iPhone 2.1ベータからプッシュ通知サービスを取り下げ - Engadget Japanese
- Filed under: ポータブルプレーヤ, 携帯電話, アップル, ハンドヘルド AppleInsiderより。アップルが開発者向けに配布しているiPhone ソフトウェア 2.1ベータの最新版から、以前のベータ版には含まれていたPush Notificationサービスのサポートがなくなったようです。Push Notificationはアプリを起動していない状態でもアップルの用意するサーバと通信して通知を受けられるサービス。iPhoneでは今...
2008/08/22 14:37:23 [] - UNIX的なアレ:gihyo.jp出張所:第2回 知っておきたいスケールアウトの基礎知識 その1|gihyo.jp … 技術評論社
- さて,今回からは具体的に,個人でサービスを初めてからシステムを増強していくまでの課程を説明していきたいと思います。 まずサービスを始める際は,手っ取り早さやコストの問題などから,複数のユーザと共有のレンタルサーバから始めるケースが多いですが,ある程度の人気が出てくるとアクセスに耐えきれなくなり専用サーバを借りるというパターンになると思います...
2008/08/22 14:37:23 [] - 【Hothotレビュー】日本エイサー「Aspire one」~8.9型ワイド液晶搭載のミニノート
- いま、ホットな話題の1つであるミニノート。日本エイサーの「Aspire one」もそうした製品の1つだ。今年のCOMPUTEX TAIPEIで披露され、注目を集めた。日本エイサーからも今月23日から発売が予定されている。その国内モデルをチェックしてみたい。 ●ネットブックのトレンドに即したスペック 現在、8〜10型程度の液晶ディスプレイを持つネットブックが多数発表・発売されている...
2008/08/22 14:37:23 [] - バッファローに、Eee PC 901-X用SSDの詳細を聞く - 元麻布春男の週刊PCホットライン
- 現在のミニノートPCブームのきっかけとなったのは、今年1月に国内発表された初代Eee PC(Eee PC 4G-X)だ。SVGAにも満たない解像度(800×480ドット)、4GBしかないストレージスペースといった制約の一方で、5万円を切る価格、B5判より小さく1kgを切るサイズ、可動部品のないSSDの標準採用といった点が評価され、ベストセラーとなった。 その発表から半年後、わが国での第2弾として発表...
2008/08/22 14:37:23 [] - 【レポート】SIGGRAPH 2008 - IntelのCPU・GPUハイブリッドプロセッサ「Larrabee」の正体 (1) SIGGRAPH 2008開幕!! まずはLarrabeeに注目 | パソコン | マイコミジャーナル
2008/08/22 14:37:23 []- 【解説】メインストリーム市場を脅かすミニノートPCの“脅威” : モバイル&ワイヤレス - Computerworld.jp
- 台湾Asustek Computer(ASUS)が2007年に発売した「Eee PC」が火付け役となり、いまやノートPC市場の新潮流となっているミニノートPC。大手PCベンダーも相次いで同市場へ参入しているが、一方で「主力のノートPC市場を脅かすのではないか」と危惧する声も聞こえてくる。本稿では、ミニノートPCの“実力”と併せて、CPUベンダーも巻き込んだ現在の市場環境を解説していく。
2008/08/22 14:37:23 [] - 【レポート】SIGGRAPH 2008 - 開幕迫る! まずは併催カンファレンス「SANDBOX 2008」の模様をお届け (1) 物理シミュレーションをCPUとGPUとで切り換える (1) | パソコン | マイコミジャーナル
2008/08/22 14:37:23 []- 年内発売予定、Intelの高性能CPUの名称が「Intel Core i7」に - GIGAZINE
- Intelが本日、「Nehalem」というコードネームで呼ばれるアーキテクチャを採用した最新CPUの名称を「Intel Core i7」にすることを発表しました。 そして「Intel Core i7」は高い処理性能と低い消費電力を実現しており、年内にも発売されるとのこと。 詳細は以下の通り。
2008/08/22 14:37:23 []
Wikipediaサマリーなネタの種
CPU(シーピーユー、Central Processing Unit - セントラルプロセッシングユニット)は、プログラムによって様々な数値計算や情報処理、機器制御などを行うコンピュータにおける中心的な回路である。中央処理装置(ちゅうおうしょりそうち)あるいは中央演算処理装置(ちゅうおうえんざんしょりそうち)とも言われる。
概要
CPUは記憶装置上にあるプログラムと呼ぶ命令列を順に読み込み、解釈し、その結果に従ってデータの移動や加工を行う。CPU外部にはバスやインタフェースを介して表示装置や通信装置、補助記憶装置などの周辺機器や主記憶装置が接続され、データやプログラムのやりとりを行う。このようなCPUを用いたプログラムによるコンピュータの逐次動作をプログラム内蔵方式と言い、ほとんどのコンピュータアーキテクチャの基本原理となっている。
現在では概して1チップのLSIに集積されており、MPU(Micro Processing Unit)またはマイクロプロセッサと呼ぶこともある。また、算術演算機能を強化し信号処理に特化したDSPや、DA/AD,GPIO,シリアルコントローラ,タイマー,DMAC,メモリなどの周辺機器を搭載し組込み機器制御を目的としたマイクロコントローラ(マイコン)などの展開種も登場している。
各種専用回路と比べ実行速度は遅いが、比較的簡易な構造でもプログラム次第で多様な処理を行えることから、非常に多岐にわたる用途に用いることが可能である。また、プログラムの命令には条件分岐などのプログラム制御命令も含まれるため、自律動作なども可能となる。以上のような特徴を持つため、CPU はおよそあらゆるシステムに内蔵され、現代の産業や生活の屋台骨を支える存在にまで普及している。現在最も普及しているCPUアーキテクチャの一つにARMアーキテクチャが挙げられる。ARMアーキテクチャは、2006年第2四半期までの一年間だけで20億2,600万以上の製品に搭載される[1]など、家電製品から工業製品、携帯機器などに至るまで様々なシステムに組み込まれ、機器制御を司っている。また、PCなど現在の汎用コンピュータ製品における殆どのメインCPUにインテル社のx86シリーズやAMD社等のチップが用いられており、特にインテルのx86系CPU出荷数は1978年6月9日の8086リリースから2003年までの25年で10億個を越えた[2]。
CPU(Central Processing Unit)という用語は、特定のクラスのプログラム可能論理マシンを表す用語である。この定義は "CPU" という用語が広く使われるようになる前の初期のコンピュータにも適用可能である。この用語が一般に使われるようになったのは1960年代になってからだが、CPUの構造は1949年に世界最初のストアードプログラム方式コンピュータであるEDSACが発表された時点で現在とほぼ同じ仕組みが完成しており、CPUの発達史はスケールアップと高速化が中心となっている。
[編集] 構造と動作
[編集] 構造
CPUは演算をするALU、データを一時記憶するレジスタ、メモリーや周辺機器との入出力を行うバスインターフェース、CPU全体を制御する制御部分などで構成される。その他 浮動小数点演算を行うFPU(浮動小数点演算ユニット)、レジスタより多くの情報を一時記憶するキャッシュメモリ、DMAコントローラ、タイマー、シリアルインターフェースなどの機能をCPUと同一IC内にもつものもある。また、メモリから読み込んだ命令語を内部的なオペレーションに置き換える変換部を持つものもある。
CPUを構成する各部の動作はクロック信号によって規則正しいタイミングで統制されている。同じCPUであればクロック周波数が高い方が一定時間に多くの処理を行え、高速に動作する。1クロックで行える処理の内容はCPUの設計により異なり、1つの機械語命令を実行するのに複数クロックかかるものから1クロックで複数の命令の実行を同時に行えるものまである。クロック周波数1GHzのCPUであれば、1秒間に10億回の基本動作を行う事ができる。
多くのCPUでは、大まかに言って制御部が命令の解釈とプログラムの流れの制御を行い、演算部が実行を行うので、同時に実行されるのは1命令だけであるが、非ノイマン型のCPUや画像処理など高速性が要求される用途向けのCPUでは、同時に複数の命令を実行できるように複数の実行部を同一IC内に持っているものがある。
[編集] 動作
CPUの基本的な動作は、その実装に関わらずプログラムと呼ばれる命令列を順番に実行することである。プログラムは数値列として何らかのメモリに格納されている。CPUでは、フェッチ、デコード、実行という3つのステップがほぼ必ず存在する。
最初の段階であるフェッチとは、実行すべき命令(ある数値または数値の並び)をプログラムの置かれたメモリから取り出すことである。メモリ上の実行すべき命令の位置はプログラムカウンタで指定される。プログラムカウンタはCPUが今現在見ているプログラム上の位置を示しているとも言える。命令フェッチに使用されると、プログラムカウンタはフェッチしたぶんだけ増加させられる。
CPUがメモリからフェッチした命令によってCPUの次にすべきことが決定される。デコードでは、命令をCPUにとって意味のある形式に分割する。命令を表す数値をどう分割するかは、予めそのCPUの命令セットで決定される。命令の一部の数値は命令コードと呼ばれ、実行すべき処理を指定する。その他の部分はオペランドと呼ばれ、その命令で使用する情報を示している。たとえば加算命令のオペランドは加算すべき数値を示している。オペランドには数値そのものが書かれていたり、数値のある場所(メモリのアドレスかレジスタの番号)が書かれている。古い設計では、デコーダ(デコードを行う部分)は変更不可能なハードウェア部品だった。しかし、より複雑で抽象的なCPUや命令セットではマイクロプログラム方式がしばしば使われ、命令を様々な信号に変換するのを助けている。このマイクロプログラムは書き換え可能な場合があり、製造後でも命令デコード方法を変更することができる。
フェッチとデコードの次は、実行ステップが行われる。このステップでは、CPUの多くの部分が接続され(たとえばマルチプレクサを切り替えるなどして)指定された操作を実行する。たとえば、加算を要求されている場合、ALUが所定の入力と接続され、出力と接続される。入力は加算すべき数値を提供し、出力には加算結果が格納される。加算結果が大きすぎてそのCPUに扱えない場合、算術オーバーフローフラグをフラグレジスタ(ステータスレジスタ)にセットする(RISCではフラグレジスタが存在しない場合もある)。入力や出力にはいろいろなものが使用される。演算結果が一時的かあるいはすぐに利用される場合にはレジスタと呼ばれる高速で小さなメモリ領域に格納される。メモリも入力や出力に使われる。レジスタ以外のメモリは低速だが、コスト的には一般的なメモリの方が安価であり大量のデータを格納できるため、コンピュータには必須である。
いくつかの命令はプログラムカウンタを操作する。それらは一般にジャンプ命令と呼ばれ、ループを構成したり、条件分岐をしたり、サブルーチンを実現するのに使われる。また、多くの命令はフラグレジスタを変化させる。それらのフラグはプログラムの動作に影響を与える。たとえば比較命令は二つの値を比較してフラグレジスタにその大小を示す値をセットする。そして、その値を使用してその後の処理の流れを決定するのである。
命令を実行後、同じ流れが繰り返されて次の命令をプログラムカウンタにしたがってフェッチする。もっと複雑なCPUでは、複数の命令をフェッチし、デコードし、同時に実行することもできる。しかし、基本的にどんなCPUでもやっていることはここで説明した流れと同じである。
[編集] 歴史
ENIAC
ENIAC
今日(2008年)のCPUのような装置が出てくる以前、「ENIAC」のような計算機は、実行するタスク毎に物理的に配線を変更していた。このような機械では、プログラムを変更するために物理的に再構成する必要があることから「プログラム固定計算機」と呼ばれることがある(なお、ENIACは後に機能と性能を限定すれば、プログラム内蔵方式でも動作した)。
CPU は、一般にソフトウェア(プログラム)を実行する装置として定義されるため、CPUと呼べる最初の装置はプログラム内蔵方式のコンピュータからである。プログラム内蔵方式の考え方は、ENIACの設計時にすでに存在していたが、性能を考慮してENIACでは採用されなかった。ENIACが完成する以前の1945年6月30日、数学者のジョン・フォン・ノイマンは、First Draft of a Report on the EDVAC という論文を発表した。この中で、彼はプログラム内蔵方式のコンピュータの設計について概説し、「EDVAC」は1949年8月に完成した(ノイマンは単に発表しただけである。実際の設計者についてはEDVAC参照)。EDVACは様々な命令の集まりを実行するよう設計されていた。命令を組み合わせることで実用的なプログラムを構成し、EDVACで動作させることができたのである。殊にEDVACではプログラムは高速なメモリに格納されており、物理的に配線を変更することで指定されるものではない点が重要である。ノイマン型の設計では、EDVACで動作させるプログラムを変更するにはメモリを書き換えればよかったのである。
ただし、プログラム内蔵方式という点で何が最初かといえば、EDSAC(1949年)やManchester Mark Iの試作機 Baby (1948年)である。EDVACは先に設計が始まっているが、設計者間のごたごたがあって完成が遅れた。また、アイデアレベルではZuse Z3を後に開発したコンラッド・ツーゼもプログラム内蔵方式を考案していた(1936年に特許申請しているが、アメリカに出願した際にチャールズ・バベッジの解析機関との類似を指摘され、特許は成立していない。ツーゼはこのときまでバベッジの業績を知らなかったと思われる)。データとプログラムを同じ記憶装置に格納するノイマン型と全く異なる方式として、ハーバード・アーキテクチャと呼ばれるものがある。これはEDVAC以前に完成したHarvard Mark Iの方式であり、さん孔テープにプログラムを格納した。ノイマン型とハーバード型の大きな違いは、後者が命令とデータの格納場所と扱いを完全に分離していることであり、前者はどちらも同じ記憶領域に格納していた。最近のCPUは基本的にノイマン型であるが、ハーバード・アーキテクチャも部分的に採用されている(キャッシュメモリなど)。
デジタル機器としてのCPUは、状態を変更したり表現したりするために、何らかのスイッチを必要とする。電気機械式から電子式への移行期には、リレーや真空管がスイッチとして使われた。これらは、従来の完全な機械式よりも高速にスイッチを切り替えられたが、信頼性が低かった。例えば、直流順序論理回路をリレーで構築するには、チャタリングと呼ばれる問題を補正する追加のハードウェアが必要だった。一方、真空管はチャタリングは起こさないが、機能するには熱が必要であり、動作中にカソードの電子放射能力が減退(エミッション減退)して動作不能になってしまう。真空管が故障したら、故障した部位を特定して交換しなければならない。したがって、初期の電子計算機は高速化は実現したものの、電気機械式計算機よりも信頼性が低かった。EDVACのような真空管計算機は故障と故障の間の平均時間(MTBF = Mean Time Between Failure)は約 8 時間であったが、Harvard Mark Iのようなリレー式計算機はほとんど故障しなかった。しかし、信頼性よりも性能が重視され、真空管式計算機が主流となっていった。当時の同期式CPUの動作周波数は現在のCPUに比較すると非常に遅く、100kHz~4MHz程度であった。これは、当時のスイッチ部品(真空管)の切り替えに要する時間によって限定されていたのである。
[編集] トランジスタ製CPU
CPUの設計と複雑さの進化は、さらに小型で信頼性の高い電子部品を使うことで達成された。その最初の進化はトランジスタの発明である。これによって、1950年代から1960年代には、かさばって信頼性の低い真空管やリレーは使われなくなり、トランジスタ製CPUが主流となった。この改善によってさらに複雑で信頼性のあるCPUを一枚から数枚のプリント基板で構成できるようになったのである。
1964年、IBMが発表した「システム/360」アーキテクチャは、いろいろな性能と大きさのコンピュータとして実装され、それらのシリーズではプログラムを変更することなく動作させることができた。当時、たとえ同じメーカーであっても、サイズの違うコンピュータは互換性がないのが普通だったのである。この改善を成し遂げるため、IBMはマイクロプログラム方式を採用した。これは現在のCPUでも広く使われている手法である。システム/360は大変な成功を収め、その後数十年間汎用コンピュータ市場を支配し続けた。
同じ1964年、DECも、「PDP-8」という後世に影響を与えたミニコンピュータを、科学分野や研究分野に向けてリリースした。DECは、後にさらに広く使われることとなる「PDP-11シリーズ」を発表したが、このシリーズは、後に集積回路(IC)が使えるようになると、それを使ったバージョンも製造されている。トランジスタを使ったCPUでは、新たな設計上の工夫をする余裕が生じ、SIMDやベクトル計算機と呼ばれるものが出現した。そのような初期の実験的設計は、後にクレイ社の製造したスーパーコンピュータのベースとなっている。
トランジスタを使ったコンピュータは、それ以前のものと比較していくつかの明確な利点があった。信頼性向上と消費電力低下はもちろん、トランジスタによるスイッチは切り替え時間が劇的に短縮されたため、CPUが高速化されたのである。トランジスタによるコンピュータでは動作周波数は数十MHzまで高速化された。
[編集] マイクロプロセッサ
詳細はマイクロプロセッサを参照
CPUの実装と設計を大きく変えた最近の技術革新は、1970年代中頃に登場したマイクロプロセッサである。世界初のマイクロプロセッサは1970年(Intel 4004)であり、広く使われるようになったのは1974年(Intel 8080)であるが、このクラス(8ビット)のCPU実装方法は完全にマイクロプロセッサだけになってしまった。それ以前のCPUが一枚から数枚の基板で実装されていたのに対して、マイクロプロセッサではそれを小さな集積回路(IC)にまとめ、多くの場合シングルチップでCPUを実現している。トランジスタのサイズが小さくなることによってゲートの静電容量が減るので、スイッチとしてもさらに高速化した。そのため、同期式マイクロプロセッサの動作周波数は数十MHzから数GHzが可能となった。また、IC上のトランジスタは技術の向上にしたがって小さくなっていき、CPUを構成するトランジスタ数は飛躍的に多くなって機能も複雑化していった。この傾向はムーアの法則と呼ばれ、CPU(IC)の高速化・集積化を正確にモデル化していた。
極低温で4.8GHzで動作するマイクロプロセッサのマスクパターン
極低温で4.8GHzで動作するマイクロプロセッサのマスクパターン
複雑さ、大きさ、構造、一般的な形状はこの60年間で劇的に変化したが、CPUの基本的な機能とデザインはほとんど変化していない。今日のCPUのほとんどはフォン・ノイマンが描いたプログラム内蔵方式を採用している。
先に触れたムーアの法則は未だに現実に即しているが、トランジスタの集積技術の限界が近づきつつあることが懸念されている。電子回路をあまりに縮小すると、エレクトロマイグレーションや閾値下リークのような現象の効果が大きくなるためである。これらの新たな懸念があるため、研究者は量子コンピュータのような新たな技術を模索するとともに、並列性などの手法の活用でノイマン型をさらに高速化する技術も研究している。
CPU年表も参照
[編集] デザインと実装
[編集] ビット幅
CPUが数値を表現する方法は設計時に選択され、装置の機能を大きく左右する。初期のデジタルコンピュータは十進記数法で数値を表現するのが普通だった。他には三進数を採用したものもある。それ以降は二進記数法を採用するのが一般化した。二進数では各桁はふたつの値(1 と 0)しかとらないので、高い電圧と低い電圧でそれを表すことができる。
数値表現方法に関連して、CPUが扱える数値の範囲(サイズと精度)も設計時に選択される。二進数を採用したCPUでは、ビットがひとつの桁を意味する。CPUが数値として扱うビット数を「ビット幅」あるいは「データパス幅」、「整数精度」(そのビット数が整数を表現するサイズである場合)などと言う。この数はアーキテクチャによって異なり、非常に近いCPUでもここだけを変更する場合がある。たとえば、8ビットCPUが扱う数の範囲は、8桁の二進数で表せる範囲であり、28 あるいは 256種類の値を表せる。ビット幅は、CPUが指定できるメモリ位置の範囲をも限定する。たとえば、二進数のCPUが 32ビットでメモリアドレスを表現し、あるアドレスによってオクテット(8ビット)を指定できるとすると、そのCPUがアドレス指定できるメモリ量は、232オクテットつまり 4ギガバイトとなる。これはCPUのアドレス空間の非常に簡単な見方であり、多くの設計ではもっと複雑なアドレス指定方法を使用して、同じビット幅でも広いアドレス指定ができるようにしている。
CPUの持っているビット数には下記の要素がある。
* アドレスbit幅
* 外部データバス幅
* 内部データバス幅
* レジスタのbit幅
* ALUbit幅
* 命令長
しかしこれらの要因を以て×bitCPUと断ずる事はできない。アドレスbit幅は8bitCPUに於いては16bit幅以上ある事が通常で、32bitCPUでは24bitなど、×bitCPUと称する場合のbit 数と一致しない事が多数ある。外部データバス幅は16bitCPUで外部データバス8bit、32bitCPUで外部バス16bitなど、これも×bitCPUと称する場合のbit数と一致しない事が多数ある。 内部データバス幅は32bitCPUで内部データバス64bitの例がある。レジスタのbit幅では16bitCPUで32bitレジスタを持つCPUがある。 ALUは8bitCPUで4bitALUのCPUがある。命令長はCISCに於いては複数のbit幅が混在しており、RISCに於いても32bitCPUで16bitなどがある。
現在は4ビットから64ビットなど多様なビット幅のCPUが製品化されている。これは高ビット幅のCPUは機能や性能が高い反面、高集積化や回路の複雑度から高価格で消費電力も大きいが、低ビット幅のCPUは機能や性能が制限される代わりに安価で低消費電力であるなど特色があるためであり、状況に応じて使い分けられている。
以下に、現在主に使用されているCPUのビット数を挙げる。
* 8, 16bit:家電製品など小規模な装置の制御用、低性能携帯型ゲーム機
* 32bit:多くのパーソナルコンピュータ、組み込みシステムで携帯電話やPDAなど比較的性能が要求される装置、高性能携帯型ゲーム機、代表的なコンシューマーゲーム機
* 64bit:サーバなど大量のデータを処理するコンピュータ。AMDのAthlon64やIntel 64に対応したIntelのPentium4などと、Windows XP Professional x64 Editionを組み合わせると家庭でも64bitを体感できるが、パフォーマンスもあまり向上せず、現時点でx64 Editionを使用する理由はほとんどない。だが次世代Windowsやさらに次の世代には64bitが標準となる見通しである。またAppleのMacintoshでは64bitのPowerPC970(G5)が一部機種に使われている。
またかつて、互いに結合し自由にビット長を増やす事が出来る方式のCPUがあり、これはビットスライスプロセッサと呼ばれた。代表的な製品にAMDのAM2900シリーズなどが挙げられる。AM2901は、スイス連邦工科大学のLilithワークステーション等に使用されていた。
[編集] クロック周波数と発熱
ほとんどのCPU(もっと言えばほとんどの順序論理回路)は同期式である。つまり、CPUは同期信号にしたがって動作するよう設計されている。この信号は「クロック信号」として知られていて、一定周期の方形波の形であることが多い。電気信号の速度からCPU内の信号経路の長さを考慮してクロック信号の周波数が決定される。この周波数は信号伝播の最悪ケースを考慮して決めなければならない。最悪ケースを考慮して周波数を決定すれば、CPU全体が波形のエッジ部分で動作するよう設計でき、CPUの設計を簡略化できると同時にトランジスタ数も減らすことができる。しかし、この設計手法の欠点としてCPU全体が最も遅い部分を待つように設計しなければならず、全体の高速化がその遅い部分によって制限される。この制限に対処するために命令パイプラインやスーパースケーラといった手法が採られてきた。
パイプラインだけでは同期式CPUの問題を全て解決することはできない。たとえば、クロック信号は他の電気信号の遅延に影響される。クロック周波数が高くなり、さらに複雑なCPUを動作させようとしたとき、全回路を同期させるのが困難になってきた。このため、多くの最近のCPUではひとつのクロック信号でCPU全体を同期するのではなく、いくつかのクロック信号で各部分を個別に同期させるようにしている。また、クロック周波数が高くなるにつれて CPUの発熱が大きな問題となってきた。クロックがON/OFFを繰り返すことで多くのスイッチがON/OFFを繰り返すため、その回路が使われていようがいまいが、発熱してしまうのである。一般に、スイッチ部品は切り替えをしていないときよりも切り替えをしたときの方がエネルギーを消費する。そのため、クロック周波数が高くなると発熱も多くなり、CPUをもっと効率よく冷却する必要が生じるのである。
不要な部分でのスイッチ切り替えに対処する方法としてクロックゲートと呼ばれる方法がある。これは使わない部分へのクロック信号供給を切ってしまう方法である。しかし昨今のプロセステクノロジでは消費電力に対するリーク電流の比率が大きくなり、クロック信号をカットしただけでは大きな効果が期待できなくなりつつある。そこで別の解決法として動作していないモジュール等への電源供給を絶てるよう制御する方法もある。しかしこの方法も最近のCPUが消費する大電流を制御することは容易ではなく、また効果的にモジュールをON- OFFすることも困難である。他にはクロック信号をなくしてしまう方法もある。クロック信号をなくすると、設計は非常に難しくなるがクロック無し(あるいは非同期)設計は消費電力と発熱の面で大きな利点がある。あまり一般的ではないが、クロックを無くしたCPUも存在する。たとえば、ARMアーキテクチャ互換のAMULETとMIPS R3000 互換の MiniMIPS がある。クロックを完全に無くするのではなく、部分的に非同期化したCPU設計も存在する。たとえば、非同期ALUを使ってスーパースカラーのパイプラインを構成することで演算性能を上げようとした設計などがある。全体を非同期化したときに、同期動作するCPUに比較して性能が向上するかどうかは定かではないが、少なくとも単純な数値演算では効果がある。