3つめの応用情報技術者のブログとなりました。
皆さんついて来れていますか?
大丈夫、マイペースでやればいいのです。
というわけで、本日もやってまいりましょー!
第3章 ハードウェアとコンピュータ構成要素
ハードウェア
| 単語 | 意味 |
|---|---|
| 組合せ論理回路 | 組合せ論理回路は、入力だけに応じて即座に出力が決まる回路です。内部に「記憶」がないので、過去の入力は関係ありません。例としては、AND・OR・NOTゲートを組み合わせた回路があります。例えば、2つのスイッチが両方ONのときだけ電気がつく回路がANDゲートです。このような回路は、加算器やエンコーダなど、計算や信号変換に使われます。 |
| 論理回路 | 論理回路は、「0(OFF)」と「1(ON)」のデジタル信号を使って計算や判断を行う電子回路です。これはコンピュータの「脳」と言えます。論理回路は大きく分けて「組合せ回路」と「順序回路」の2種類があります。前者は即時応答型、後者は記憶を持つタイプです。すべてのデジタル機器(スマホ、PCなど)は、この論理回路の組み合わせで動いています。 |
| 論理回路の設計 | 論理回路を設計するには、まず「何をしたいか」を真理値表(入出力の関係を表にしたもの)にまとめます。次に、それをAND・OR・NOTなどの基本ゲートで実現する論理式に変換します。その後、回路図を書き、シミュレーションで動作を確認します。最近では、HDL(ハードウェア記述言語)を使ってソフトウェアのように記述し、自動で回路を生成することも一般的です。 |
| 半加算器 | 半加算器は、2つの1ビットの数(0か1)を足す回路です。出力は「和(Sum)」と「繰り上がり(Carry)」の2つになります。例えば、1+1ならSum=0、Carry=1(つまり2進数で「10」)になります。この回路はANDゲートとXORゲート1個ずつで作れます。ただし、下位からの繰り上がりを受け取れないので「半」加算器と呼ばれます。完全な加算器には「全加算器」が必要です。 |
| 否定論理回路 | 否定論理回路(NOT回路)は、入力が0なら1を、1なら0を出力する最もシンプルな論理回路です。これを「反転」と言います。回路記号は三角形に小さい丸が付いています。NOTゲートは1入力1出力で、他の回路(NANDやNOR)の構成要素にもなります。例えば、LEDを「スイッチがOFFのときだけ点灯」させる回路など、日常生活でもよく使われます。 |
| 順序論理回路 | 順序論理回路は、現在の入力だけでなく、「過去の状態(記憶)」も考慮して出力を決める回路です。つまり、内部にメモリを持っています。代表例は「フリップフロップ」で、これが集まってCPUのレジスタやカウンタなどを構成します。時計信号(クロック)に合わせて動作するため、タイミングが重要なデジタル回路の基本です。 |
| フリップフロップ回路 | フリップフロップは、1ビットの情報を記憶できる順序回路の基本ユニットです。D型やJK型など種類がありますが、共通点は「クロック信号で記憶を更新」できる点です。例えば、Dフリップフロップは、クロックが来た瞬間に「D入力」の値を保持し、Q出力として出します。これを使うことで、データの遅延や一時保存が可能になります。 |
| LSIの設計・開発 | LSI(Large Scale Integration)は、何万〜何億ものトランジスタを1つのチップに集積した回路です。設計ではまず仕様を決め、SystemCやVerilogで回路を記述し、シミュレーションで検証します。その後、物理設計(配線・配置)を行い、製造用のマスクデータを作成します。近年はAIを使った設計自動化や3D積層技術も注目されています(2026年現在)。 |
| FPGA | FPGA(Field-Programmable Gate Array)は、ユーザーが後からプログラムして回路を変更できるLSIです。内部に多数の論理ブロックと配線が用意されており、ソフトウェアで「どのブロックどうしをつなぐか」を設定します。試作や小ロット生産に適しており、AIアクセラレータや通信機器などで活用されています。柔軟性が高いが、消費電力はASICよりやや大きいです。 |
| SystemC | SystemCは、C++をもとにしたハードウェア記述・検証用の言語です。従来のVerilog/VHDLより抽象度が高く、LSI全体の動作をソフトウェアのように記述できます。2026年現在、AIチップや自動車用LSIの設計で広く使われており、「早くて正確なシミュレーション」が可能で、開発期間を大幅に短縮できます。 |
| システムLSI | システムLSIは、1つのチップにCPU・メモリ・I/O回路などをすべて集積した「システム・オン・チップ(SoC)」です。スマホのAP(アプリケーションプロセッサ)などが典型例で、小型化・低消費電力・高速化を実現します。2026年では、自動運転やIoT向けに「AI機能内蔵型」のシステムLSIが主流となっています。 |
| IPコア | IPコアは、再利用可能な回路の「部品」です。CPU(ARM Cortexなど)、USBコントローラ、GPUなどがあり、LSI設計で「購入して組み込む」ことで開発効率が上がります。自社開発と比べてコスト・期間を削減でき、2026年ではAI専用IPやセキュリティIPの需要が急増しています。 |
| ASSP | ASSP(Application-Specific Standard Product)は、特定用途に最適化された汎用LSIです。例えば、WiFiチップや電源管理ICなどが該当します。ASICとは違い、多数のメーカーが同じ仕様で販売する「標準品」です。開発コストが低く、即座に調達できるため、民生機器で広く使われています。 |
| ASIC | ASIC(Application-Specific Integrated Circuit)は、特定の用途に特化して設計・製造されるカスタムLSIです。性能・消費電力で最適化できますが、開発コストが高く、大量生産が前提です。ビットコインマイニングやAI推論チップなど、2026年でも高性能ニーズに応える主力技術です。 |
| 低消費電力LSIの設計技術 | スマホやウェアラブル機器ではバッテリー持ちが命のため、LSIの消費電力を抑える技術が重要です。主に「動的電力」と「静的電力」の2つを削減します。そのための手法として、周波数制御(DVFS)、電圧制御(マルチVDD)、不要ブロックの電源遮断(パワーゲーティング)などがあります。2026年ではAIによる最適制御も普及中です。 |
| ダイナミック電力 | ダイナミック電力は、回路が動作(0→1や1→0に切り替わる)するたびに発生する消費電力です。計算式は で、α=スイッチング率、C=容量、V=電圧、f=周波数です。つまり、電圧を下げるか周波数を下げると、急激に(Vの2乗で!)電力が減ります。これが省電力設計の基本です。 |
| ダイナミック電力の低減 | ダイナミック電力を減らすには、まず「動作周波数を下げる」ことが有効です(fを減らす)。しかし性能が落ちるので、必要なときだけ高速にする「DVFS」が使われます。また、電圧Vを下げる(V²効果で大幅削減)や、不要な回路のスイッチングをなくす(αを下げる)といった手法も重要です。 |
| マルチVDD | マルチVDD(マルチ電源電圧)は、同じLSI内で複数の電源電圧を使う技術です。高負荷部分は高性能のため高電圧、低負荷部分は省電力のため低電圧にします。これにより、全体のダイナミック電力を抑えられます。ただし、異なる電圧同士の信号をやりとりする際には「レベルシフタ」という変換回路が必要です。 |
| DVS・DVFS | DVS(Dynamic Voltage Scaling)は、動作負荷に応じて電圧を動的に変える技術。DVFSはそれに周波数制御も加えたものです。例えば、スマホが待機中は低電圧・低周波数、ゲーム中は高電圧・高周波数に切り替えます。これで無駄な電力を削減しつつ、必要な性能も確保できます。2026年ではAIが負荷を予測して最適制御するケースも増加中です。 |
| スタティック電力 | スタティック電力は、回路が「動いていないとき」でも流れる電力です。主な原因はトランジスタの「リーク電流」で、特に微細化が進むと増加します。これは待機中でもバッテリーを消費するため、ウェアラブル機器では深刻な問題です。2026年時点でも、5nm以下プロセスではスタティック電力が全体の30%以上を占めることも。 |
| スタティック電力の低減 | スタティック電力を減らすには、まず「不要な回路の電源を完全に切る」パワーゲーティングが有効です。他にも、高しきい値電圧(High-Vt)トランジスタを使う、または「バックバイアス」でリークを抑制する技術があります。設計段階で、使用頻度の低いブロックを高Vtで作ることで、バランスよく電力を抑えられます。 |
| リーク電力 | リーク電力は、トランジスタがOFF状態でも微小な電流が流れる現象で、スタティック電力の主成分です。微細化(例:3nmプロセス)でトランジスタが小さくなると、電子が「トンネル効果」で通り抜けやすくなり、リークが増大します。これがIoT機器の「数年稼働」を阻む大きな課題となっています。 |
| パワーゲーティング | パワーゲーティングは、使わない回路ブロックの電源をスイッチで物理的に切る技術です。これにより、リーク電力をほぼゼロにできます。たとえば、スマホでGPSが使われていないときは、その回路の電源を遮断します。ただし、再起動時の遅延や状態保存の工夫が必要で、2026年では「細粒度パワーゲーティング」が主流です。 |
| メモリの省電力削減 | メモリ(SRAM/DRAM)はLSI内で大きな電力消費源です。省電力には、低電圧メモリセルの採用、アクセス頻度の最適化、不要領域の電源遮断(パワーゲーティング)などが有効です。また、キャッシュ階層を工夫して、高速・小容量メモリを多用することで、全体のアクセス電力を下げられます。 |
| スタンバイ時の電源制御 | スタンバイ中はほとんどの回路を休ませ、最低限の監視回路(例:電源ボタン検出)だけを動かします。これには「スリープモード」「ディープスリープモード」など複数のレベルがあり、復帰時間と消費電力のトレードオフを調整します。2026年では、ウェアラブル機器が「数年間スタンバイ可能」な設計も登場しています。 |
| データコンバータ | データコンバータは、アナログ(連続的な信号)とデジタル(0と1の信号)を相互に変換する回路です。主に「A/Dコンバータ(アナログ→デジタル)」と「D/Aコンバータ(デジタル→アナログ)」の2種類があります。マイクやセンサからの信号をデジタル処理するためには、必ずA/D変換が必要です。 |
| A/Dコンバータ | A/Dコンバータは、アナログ電圧(例:音声や温度センサの出力)をデジタル値(ビット列)に変換する回路です。内部では、入力電圧を基準電圧と比較し、「何段階目か」を数値化します。変換速度や精度(分解能)によって、逐次比較型、パイプライン型、ΣΔ(シグマデルタ)型などがあります。 |
| 分解能 | 分解能は、A/Dコンバータがどれだけ細かく電圧を区別できるかを示す指標です。nビットのA/Dなら、 段階に分けられます。例えば、8ビットなら256段階、12ビットなら4096段階です。分解能が高いほど、微小な変化も捉えられますが、回路が複雑になり、消費電力も増加します。 |
| 電圧値とデジタル値の関係 | A/Dコンバータでは、入力電圧 が基準電圧 の何%かを基にデジタル値が出力されます。式で表すと (D=デジタル出力、n=ビット数) たとえば、、8ビットなら、2.5V入力でD=128(=255×0.5)になります。 |
| A/Dコンバータに必要な最小ビット数 | 必要な最小ビット数は、測定したい精度(最小分解能)と入力電圧範囲から決まります。たとえば、0~5Vの範囲で10mVの精度が欲しいなら、 なので、 より、n=9(512段階)以上が必要です。実際にはノイズ余裕も考えて10~12ビットを使うことが多いです。 |
| コンピュータ制御 | コンピュータ制御は、センサからの情報を読み取り、プログラムに従ってアクチュエータを動かす仕組みです。家電(エアコンの温度制御)、工場(ロボット制御)、車(自動ブレーキ)など、あらゆる自動化の根幹です。マイコンやPLC、産業用PCなどが制御装置として使われます。 |
| 自動制御の種類 | 自動制御は主に「シーケンス制御」と「フィードバック制御」の2種類に分かれます。シーケンスは「順番通りに動かす」(例:洗濯機の工程)、フィードバックは「目標値とのズレを修正」(例:クルーズコントロール)です。最近では両者を組み合わせた「ハイブリッド制御」も増えています。 |
| シーケンス制御 | シーケンス制御は、決められた手順(シーケンス)に従って機械を自動で動かす制御です。例:「ドアが開いたら→ベルが鳴る→10秒後に閉まる」。条件分岐やタイマーを使い、PLC(プログラマブルロジックコントローラ)で実現されます。工場の組立ラインやエレベーターなどで広く使われています。 |
| PLC | PLC(Programmable Logic Controller)は、工場や設備の自動制御専用のコンピュータです。頑丈でノイズに強く、ラダー言語でプログラムします。センサ入力を受け付け、リレー・モータなどを制御します。2026年ではIoT対応やネットワーク機能(EtherCATなど)を備えたスマートPLCが標準です。 |
| ラダー図 | ラダー図は、PLCのプログラムを「電気回路図風」に描く方法です。左に電源、右に出力があり、間にスイッチ(条件)を並べます。例:「スイッチA AND スイッチB → モータON」。電気技術者に直感的で、メンテナンスしやすいため、産業界で長く使われています。 |
| フィードバック制御 | フィードバック制御は、「目標値」と「実際の値」の差(誤差)を常に測り、それをゼロに近づける制御です。例:室温が25℃になるよう、エアコンの出力を調整。PID制御(比例・積分・微分)が代表的で、自動車の速度制御やドローンの姿勢制御にも使われます。 |
| サーミスタ | サーミスタは、温度によって抵抗値が大きく変わるセンサです。NTCタイプ(温度↑→抵抗↓)が一般的で、体温計や電池の過熱保護に使われます。安価で感度が高いが、線形性が悪いので、ソフトウェア補正が必要です。 |
| ジャイロセンサ | ジャイロセンサは、物体の「回転速度」や「角速度」を測るセンサです。スマホの画面回転、ドローンの姿勢制御、自動車の横滑り防止(ESC)などで活躍。MEMS技術で小型化され、2026年では6軸(3軸ジャイロ+3軸加速度)の複合センサが主流です。 |
| 距離画像センサ | 距離画像センサ(ToFセンサなど)は、各ピクセルごとに「距離」を出力できるカメラです。光の往復時間や位相差から距離を算出。スマホの顔認証、ロボットの障害物回避、ARアプリなどで使われ、2026年では低消費電力・高解像度化が進んでいます。 |
| ひずみゲージ | ひずみゲージは、物体がどれだけ「歪んだか(ひずみ)」を電気抵抗の変化で測るセンサです。橋回路(ホイートストンブリッジ)で微小な抵抗変化を検出。橋梁のモニタリングや体重計、産業用ロードセルに使われます。 |
| ホール素子 | ホール素子は、磁場を検出して電圧を出力するセンサです。磁石が近づくと出力電圧が変化。モータの回転検出(例:ファンのRPM)、ドア開閉センサ、電流センサ(電流→磁場→電圧)などに利用されます。非接触で信頼性が高いため、産業機器で重宝されています。 |
| ウェアラブル生体センサ | ウェアラブル生体センサは、心拍数・体温・血中酸素濃度などを連続計測する小型センサです。PPG(光電脈波)やECG(心電)方式が主流。Apple Watchやスマートリングで普及し、2026年では「早期疾患予測AI」と連携した健康管理が注目されています。 |
| アクチュエータ | アクチュエータは、電気信号を「力」や「動き」に変える装置です。モータ・ソレノイド・圧電素子などが該当。ドローンのプロペラ、プリンタのヘッド移動、自動車のパワーウィンドウなど、あらゆる「動くもの」の駆動源です。 |
| DCサーボモータ | DCサーボモータは、角度や速度を精密に制御できる直流モータです。内部にエンコーダ(位置センサ)を持ち、フィードバック制御で正確な動作を実現。ラジコンや産業ロボットの関節駆動に使われます。ただし、ブラシがあるため摩耗があり、メンテナンスが必要です。 |
| DCブラシレスモータ | ブラシレスモータは、ブラシを使わず電子回路で電流を切り替えるDCモータです。寿命が長く、効率・出力が高いのが特徴。ドローン、電動工具、EVの補機などに広く採用されています。制御には専用ドライバICが必要ですが、2026年では低価格化が進んでいます。 |
| ステッピングモータ | ステッピングモータは、パルス信号1つにつき「一定角度」回転するモータです。位置制御が簡単で、フィードバック不要(オープンループ)なのが利点。プリンタやCNC工作機械で使われますが、高速ではトルクが落ちるのが弱点です。 |
| アクチュエータ駆動回路 | アクチュエータ駆動回路は、マイコンの弱い信号を「強力な電力」に変換してモータなどを動かす回路です。Hブリッジ回路(正逆転可能)やMOSFETスイッチが使われます。過電流保護やノイズ対策も必須で、2026年では統合ドライバICが主流です。 |
| PWM | PWM(Pulse Width Modulation)は、パルスの「ON時間」を変えて、見かけ上の電圧や電力を制御する技術です。例:1秒のうち0.3秒ONなら、平均電圧は30%に。LEDの明るさ調節、モータの速度制御、電源の効率化に広く使われ、マイコンで簡単に生成できます。 |
| デューティ比 | デューティ比は、PWM信号の1周期の中で「ONになっている割合」を%で表したものです。式: 例:50%ならONとOFFが同時間。モータなら中速、LEDなら中くらいの明るさになります。精密制御には1%単位での調整も可能です。 |
プロセッサアーキテクチャ
| 単語 | 意味 |
|---|---|
| プロセッサ | プロセッサとは、「命令を読んで実行する」専門の電子回路の総称で、コンピュータの「頭脳」です。CPU・GPU・DSPなどはすべてプロセッサの一種。2025年最新のApple M4は、CPU×10+GPU×40+NPU×16を1チップに統合し、1秒で35兆回の計算が可能。要するに、「何を計算するか」で専門分化が進み、1枚のチップが複数の頭脳を持つ時代です。 |
| CPU | CPU(Central Processing Unit)は、プロセッサの中でも「司令塔」役で、プログラムの流れを制御し、命令を1つずつ処理します。2025年では、性能コア(高速・高電力)と省電力コア(低速・超低電力)を組み合わせたヘテロジニアス構成が主流。例:Snapdragon 8 Gen5は「X6×1+A820×5+A620×2」で、軽作業時は省電力コアだけを動かし、バッテリーを長持ちさせます。 |
| MPU | MPU(MicroProcessor Unit)とは、「CPUを1つのIC(半導体チップ)に集積した製品」のこと。つまり「CPU=機能の名前」「MPU=実際の部品」。例:RenesasのRZ/V3Hは、AI処理向けMPUで、車載カメラの画像認識に使われます。MCU(マイコン)と混同されがちですが、MPUはメモリやI/Oを外部に持つのに対し、MCUはそれらを1チップに内蔵した「ミニコンピュータ」です。 |
| マルチコアプロセッサ | マルチコアプロセッサは、1枚のチップに複数のCPUコアを搭載したもの。1コア=1人の作業員と考えると、4コアなら4人で分担して仕事が速く終わる。2025年では「性能コア×4+省電力コア×6」など、用途に応じてコアを使い分ける「ビッグ・リトル」構成が標準。ただし、1つの計算を順にやる処理(例:フィボナッチ数列)は並列化できないため、コア数増=常に速くなるわけではありません(アムダールの法則)。 |
| DSP | DSP(Digital Signal Processor)は、音声・画像・無線信号の処理に特化したプロセッサ。最大の特徴は「MAC演算(掛け算+足し算)を1クロックで実行」できること。例:ノイズキャンセリングイヤホンでは、外部雑音を即座に分析し、逆位相の音を生成して打ち消します。2025年では、ARMコアにDSP拡張命令(Helium)を組み込むことで、専用DSPを使わず同等性能を実現するSoCが主流です。 |
| GPU | GPU(Graphics Processing Unit)は、画像描画に特化したプロセッサですが、2025年は「並列計算の王者」としてAI学習・科学計算で活躍中。CPUが「1人で丁寧に100枚の絵を描く」なら、GPUは「1万人が1枚ずつ同時に描く」イメージ。Apple M4のGPUは動的コア数調整で、軽作業時はコアを休ませて電力を節約。AI推論では、Tensorコアが行列演算を25倍高速化します。 |
| FPU | FPU(Floating-Point Unit)は、小数(浮動小数点数)の計算を専門に行う回路で、「CPUの高性能電卓」と考えるとよいでしょう。1.234 × 0.0056 のように桁合わせが複雑な計算を、仮数部と指数部に分けて高速処理します。2025年ではほぼすべてのCPUに内蔵され、AIでは省電力のため「FP8(8ビット浮動小数点)」が新標準に。FPUがないArduinoなどは、小数を整数で代用して計算します。 |
| CISC | CISC(Complex Instruction Set Computer)は、「1命令で複雑な処理を完了」を目指した設計思想で、代表はIntel/AMDのx86アーキテクチャです。例:MOV AX, [BX+SI*2+100] という1命令で、アドレス計算→メモリ読込→レジスタ格納を一気に実行。命令数が多く(1500種以上)、長さも1~15バイトと可変。ただし、現代のx86 CPUは内部で命令を単純なマイクロ命令に分解して実行するハイブリッド方式です。 |
| マイクロプログラム | マイクロプログラムは、CISCの複雑な命令を「さらに細かい手順」に分解して実行する仕組みです。例:「カレーを作れ」という命令を、「じゃがいもを剥く→にんじんを切る→…」という30ステップのマイクロ命令列に展開し、ROMに記憶。2025年では、脆弱性対策として出荷後もマイクロコードを更新できる仕組み(Intel Microcode Update)が標準。RISCアーキテクチャでは使われず、ワイヤードロジックで直接実行されます。 |
| RISC | RISC(Reduced Instruction Set Computer)は、「命令を単純化し、1クロックで1命令を実行」を目指した設計思想で、ARMやRISC-Vが代表です。命令数は50~200種と少なく、長さは32ビット固定。メモリアクセスは「ロード・ストア命令だけ」と制限し、パイプラインに最適化。回路が単純なためトランジスタ数が少なく、スマホやMac Mシリーズで圧倒的シェア。2025年、Tesla Dojo V2もカスタムRISC-Vを採用しました。 |
| パイプライン処理 | パイプライン処理は、命令の実行を「工程ごとに分け、流れ作業で並列化」する技術。5段なら「命令読み出し→解読→実行→メモリアクセス→結果書込」を各段で同時処理。1命令に5クロックかかるが、2命令目は1クロック遅れで開始されるため、以降は1クロックごとに1命令完了し、スループットが5倍に。2025年では、Apple M4が12段パイプライン+分岐予測(精度95%)+アウトオブオーダー実行で、1クロック8命令を処理します。 |
| ロードストアアーキテクチャ | ロードストアアーキテクチャとは、「メモリとレジスタの間のデータ移動は、専用命令(ロード/ストア)のみで行う」というRISCの基本設計です。例:LDR R0, [R1](メモリ読込)→ ADD R2, R0, #5(レジスタ間演算)→ STR R2, [R3](メモリ書込)。演算命令はメモリを直接扱えません。これによりパイプラインが単純化され、高速化・省電力化が可能に。CISCのx86も内部では同じ流れに分解されます。 |
| ワイヤードロジック | ワイヤードロジックは、「命令の実行を固定のハードウェア回路(ゲートの組み合わせ)で直接行う」方式です。例:ADD R0, R1, R2 命令が来たら、回路が自動でR1とR2をALUに接続→加算→R0に書込。マイクロプログラム方式より高速で、RISCプロセッサの主流。2025年ではARM/RISC-Vコアはほぼ100%ワイヤードロジックで、x86も内部で同様の方式を採用しています。 |
| 制御装置 | 制御装置は、CPUの「指揮官」で、「どの回路をいつON/OFFするか」を厳密に指示します。命令レジスタの内容を読み、ALUに「加算しろ」、メモリに「アドレス0x1000から読め」、レジスタに「R0に書き込め」と制御信号を出します。2025年では、ハードワイヤード制御(高速)とマイクロプログラム制御(柔軟)のハイブリッドが主流。すべての信号は「クロックの立ち上がりエッジ」で一斉更新され、タイミングずれ(スキュー)が1nsでも誤動作の原因になります。 |
| 演算装置 | 演算装置(ALU: Arithmetic Logic Unit)は、CPUの「電卓」で、足し算・引き算・AND・OR・シフトなどを専門に行います。現代ではこれにSIMDユニット(1命令で複数データを同時演算)や暗号専用回路(AES/SHA-3を1クロックで処理)が統合。ALUの出力はフラグレジスタにも記録され、「結果が0ならZF=1」として条件分岐に使われます。Apple M4のALUは1クロックで4つの32ビット整数を同時に加算できます。 |
| レジスタ | レジスタは、CPU内部の「超高速メモリ」で、メインメモリより100倍速くアクセスできます。計算途中の値をここに置いておけば、高速処理が可能。2025年ARMv9では、汎用レジスタが31本(64ビット×31=248バイト)あり、これだけがCPUが「今何をしているか」を記憶するすべて。特殊レジスタとしてPC(プログラムカウンタ)、SP(スタックポインタ)などがあります。C言語の変数は最適化されると、このレジスタに割り当てられます。 |
| 命令アドレスレジスタ | 命令アドレスレジスタ(IAR)は、「次に実行する命令の場所(アドレス)」を記憶するレジスタで、実際のCPUではプログラムカウンタ(PC) と呼ばれます。例:IAR=0x1000 → メモリ[0x1000]から命令読み出し → 3バイト命令ならIAR=0x1003に更新。分岐命令 JMP 0x2000 では、直接IARに0x2000を書き込み、次はそこから実行します。応用情報では「次命令アドレスを保持するレジスタ」と理解すれば十分です。 |
| 命令レジスタ | 命令レジスタ(IR)は、「今実行中の命令」を一時的に記憶するレジスタです。メモリから命令を読み出してIRに格納→制御装置が内容を解読→演算装置に指示を出す、という流れ。例:IRに 0x910007E0(ARM64の ADD X0, X31, #0x1F8)が入ると、「X31(SP)に0x1F8を足してX0に」と解釈されます。パイプライン処理では、各段にIR相当のレジスタが存在し、「命令の流れ作業」を可能にします。 |
| 汎用レジスタ | 汎用レジスタは、プログラマが自由に使えるレジスタで、データの一時保存・計算に使います。ARMv9ではX0~X30の31本あり、役割が決まっています:X0~X7は関数の引数・戻り値、X19~X28は関数呼び出し間で保存必須(callee-saved)、X30は戻り番地(LR)。C言語の int a = 10, b = 20; int c = a + b; は、実際には ADD X0, X1, X2(X1=10, X2=20 → X0=30)で実行されます。レジスタ割り当てはコンパイラが最適化します。 |
| アキュムレータ | アキュムレータ(Accumulator)は、計算結果を一時的にため込むレジスタで、古いCPU(例:Intel 8080)では唯一の汎用レジスタでした。例:LD A,5 → ADD A,3 → ADD A,2 でA=10に。現代では、x86のRAXがアキュムレータ的役割(乗算・除算の結果格納)を担います。特殊用途として、SIMD命令では結果をアキュムレータに累積し、ドット積計算などの高速化に使われます。並列処理に向かないため、マルチレジスタ方式が主流です。 |
| フラグレジスタ | フラグレジスタは、直前の演算結果の状態を記録する特殊レジスタで、条件分岐の判断材料になります。主なフラグ:ZF(結果が0なら立つ)、NF(負なら立つ)、CF(繰り上がり発生)、VF(符号付きオーバーフロー)。例:CMP R0, R1(R0-R1を計算しフラグ更新)→ BEQ label(ZF=1ならジャンプ)。2025年では、ARMの条件実行命令(ADDEQ R0, R1, R2)でフラグを見て命令をスキップし、分岐を減らして高速化しています。 |
| ベースレジスタ | ベースレジスタは、メモリアクセス時の「基準アドレス」を保持するレジスタです。OSがプログラムをメモリのどこに配置するかは実行時決定のため、ベースレジスタを使うことで「プログラムをどこに置いても動作可能」(再配置可能コード)になります。例:LDR X0, [X29, #16] は「X29(ベース)+16」のアドレスから読込。セキュリティ上重要で、ASLR(アドレス空間ランダム化)と組み合わせて、バッファオーバーフロー攻撃を難しくしています。 |
| インデックスレジスタ | インデックスレジスタは、配列や構造体アクセスの「添字」を保持するレジスタです。C言語の int x = arr[i]; は、ARMアセンブリで LDR X0, [X1, X2, LSL #2](X1=配列先頭, X2=i, #2=4バイト単位)となります。2025年では、汎用レジスタの1つ(例:X2)をインデックス用に使い、専用レジスタはほぼ廃れています。アドレス計算ALUを独立配置し、演算ALUと並列動作させることで、インデックス指定でも1クロックでメモリ読込が可能に(Apple M4)。 |
| スタックポインタ | スタックポインタ(SP)は、関数呼び出し・ローカル変数のための「スタック領域」の先頭を指すレジスタです。スタックはLIFO(Last In, First Out)構造で、PUSH {X0} でSPを下げて値を保存、POP {X1} で値を復元してSPを上げます。関数呼び出し時、戻り番地(LR)とローカル変数をスタックに退避。2025年セキュリティでは、IntelのCETが「Shadow Stack」(戻り番地を別領域保存)でROP攻撃を防止し、Apple SiliconではハードウェアでSPを保護しています。 |
| シフトレジスタ | シフトレジスタは、データをビット単位で左右にずらす回路で、乗除算・ビット操作に使われます。主な種類:論理左シフト(LSL:右に0埋め、×2n)、論理右シフト(LSR:左に0埋め、÷2n)、算術右シフト(ASR:符号ビット維持、負数の÷2n)。例:00001010 << 2 = 00101000(×4)。シフトは加算より高速(1クロック)なため、コンパイラは x * 8 を x << 3 に自動最適化します。RGB565のビット合成などでも活用されます。 |
| プログラムのロード | プログラムのロードとは、ストレージ(SSD)からメモリ(RAM)にプログラムを読み込むことです。手順:BIOS/UEFI起動→ブートローダ(GRUB)でOSカーネル読込→OSがアプリをメモリ展開→スタック領域確保→SP初期化。2025年ではセキュリティ強化が最重要で、UEFIのSecure Bootがデジタル署名でローダの改ざんを防止。Apple Siliconでは、カーネルローダをセキュアエンクレーブで検証し、信頼できるコードだけを実行します。 |
| 命令の実行 | 命令の実行は、CPUが1命令を処理する一連の流れで、「フェッチ→解読→実行→メモリアクセス→書込」の5段階(パイプライン)です。例:ADD R0, R1, #5 なら、1.命令読み出し→2.「R1+5をR0に」と解読→3.ALUで計算→4.メモリアクセス不要→5.R0に書込。2025年では、スーパースカラ実行(複数命令並列)+分岐予測(精度95%)で、Apple M4は1クロックに最大8命令を処理します。分岐予測が外れるとパイプラインが空になり、性能が低下します。 |
| オペランド | オペランドとは、命令が操作する「対象データ」で、命令の「主語・目的語」に相当します。例:ADD R0, R1, R2 のオペランドは R1, R2(加算対象)と R0(結果格納先)。種類:レジスタ(R0)、即値(#100)、メモリアドレス([R0])。ARMでは「命令 宛先, ソース1, ソース2」、x86では「命令 ソース, 宛先」と逆の記法なので注意。コンパイラは最適化で、頻出オペランドをレジスタに割り当て、メモリアクセスを減らします。 |
| 単語 | 意味 |
|---|---|
| アドレス指定方式 | アドレス指定方式とは、命令中で「データの場所」をどう表すかの方法で、プログラムの柔軟性を左右します。主要方式:即値指定(#100)、直接アドレス(1000)、間接アドレス([R0])、インデックス([R1,R2])、ベース([X29,#16])、相対(PCからのオフセット)。2025年では、ARMのように「[X0, X1, LSL #2]」と複数方式を1命令で組み合わせられるのが標準。これにより、配列アクセスや動的メモリ割り当てが効率的に記述できます。 |
| 有効アドレス | 有効アドレスとは、アドレス指定方式を使って計算された、実際にアクセスするメモリのアドレスです。例:LDR X0, [X1, X2, LSL #2] で X1=0x1000, X2=5 なら、有効アドレス = 0x1000 + 5×4 = 0x1014。これは仮想アドレスで、実メモリへのアクセス前にはMMU(メモリ管理ユニット)が物理アドレスに変換します。プログラムからはこの変換が見えないため、セキュリティと柔軟性が両立します。 |
| アドレス指定 | アドレス指定は、「命令中でデータの場所を指定する方法全般」を指す上位概念です。2025年トレンドは「高速化+セキュリティ」:アドレス計算をALUと並列実行し、ベースレジスタをハードウェアで保護してバッファオーバーフロー攻撃を防止。現代の高性能CPUでは、複雑なアドレス指定でも1クロックで処理可能に。理解のポイントは「有効アドレス=ベース+インデックス×スケール+オフセット」の計算式です。 |
| 即値アドレス指定方式 | 即値指定は、命令中に数値(定数)を直接書く方式で、ARMでは #100、x86では 100 と表記。例:MOV R0, #10 → R0=10。制限として、ARM64では即値は12ビット(0~4095)または論理シフト可能な値に限定され、大きな数はメモリからロードするか、複数命令で合成します。コンパイラは頻出定数(例:0, 1, -1)を最適化し、即値指定で効率的に扱います。 |
| 直接アドレス指定方式 | 直接アドレス指定方式は、命令中にメモリアドレスを直接書く方式で、例:LDA 1000 → メモリ[1000]から読込。欠点はプログラムを固定アドレスに配置必須なため、再利用・共有が困難。2025年では、OSの仮想メモリにより「直接アドレス=仮想アドレス」として解釈され、物理アドレスへの変換はMMUが自動で行います。組込みシステム(Arduino)ではアドレス固定のROMで未だに使われています。 |
| 間接アドレス指定方式 | 間接アドレス指定方式は、「あるメモリ番地に『本当のアドレス』が書いてある」2段階アクセス方式。例:LDR X1, [X0] で X0=0x1000、メモリ[0x1000]=0x2000、メモリ[0x2000]=123 なら、X1=123。これはC言語のポインタの実体で、int *p = &a; x = *p; に対応します。C++の仮想関数テーブルも同様に、関数ポインタの配列を間接参照して動的ディスパッチを実現します。 |
| インデックスアドレス指定方式 | インデックス指定は、ベースアドレス+インデックスレジスタの値でアドレスを計算する方式で、配列アクセスに最適。例:LDR X0, [X1, X2, LSL #2] → アドレス = X1 + X2×4(int配列)。C言語の int x = arr[i]; がこれに相当。2025年では、アドレス計算ALUを独立配置し、演算ALUと並列動作させるため、インデックス指定でも1クロックでメモリ読込が可能(Apple M4)。シフト量(#2=×4)はデータ型のサイズに応じて変更します。 |
| ベースアドレス指定方式 | ベース指定は、ベースレジスタの値+固定オフセットでアドレスを計算する方式。例:LDR X0, [X29, #16] → アドレス = X29(フレームポインタ) + 16。関数のローカル変数アクセスに使われ、変数aは+8、bは+16など固定オフセットでアクセスします。OSのASLR(アドレス空間ランダム化)と組み合わせて、各プロセスのベースアドレスをランダムにし、セキュリティを向上させています。 |
| 相対アドレス指定方式 | 相対指定は、現在のプログラムカウンタ(PC)からの相対位置でアドレスを指定する方式。例:B +0x20 → PC + 0x20 へジャンプ。利点はプログラムをどこに配置しても動作する「位置非依存コード(PIC)」が可能で、共有ライブラリ(dll/so)やWebAssemblyの基盤です。ネットワーク通信でも、相対アドレスでパケットを生成し、受信側で再配置する方式が使われます。 |
| 主記憶上のデータのバイト順 | バイト順序(Endianness)とは、複数バイトのデータ(例:32ビット整数)をメモリ上にどう並べるかの規則です。例:0x12345678 を格納するとき、リトルエンディアンなら 78 56 34 12、ビッグエンディアンなら 12 34 56 78 と並びます。ネットワークはビッグエンディアンが標準で、x86/ARMはリトルエンディアンのため、通信時はhtonl()関数で変換が必要。2025年でもこの違いは残っており、バイナリデータのやりとりで注意が必要です。 |
| ビッグエンディアン | ビッグエンディアンは、上位バイトをメモリの若い番地に置く方式で、「大きい方(Big)を先(Endian)に」。例:0x12345678 → メモリ: 12 34 56 78。人が読む順と同じで、ネットワーク・Java仮想マシンで標準。PowerPCやSPARCで採用。2025年では、RISC-Vがビッグエンディアンをサポートし、サーバ分野で使われていますが、Apple Siliconやx86はリトルエンディアン固定です。 |
| リトルエンディアン | リトルエンディアンは、下位バイトをメモリの若い番地に置く方式で、「小さい方(Little)を先(Endian)に」。例:0x12345678 → メモリ: 78 56 34 12。x86とARMで標準で、16ビットアクセスで下位16ビットだけ読める利点あり。1974年のIntel 8080が採用し、PCの事実上の標準に。「リトルエンディアンの方が回路が単純」との説もあります。応用情報では、エンディアン変換の必要性を理解することが重要です。 |
| ウォッチドッグタイマ | ウォッチドッグタイマ(WDT)は、システムがフリーズした際に自動でリセットする安全装置。「飼い主が定期的に犬にエサをやる→忘れると吠える」のような仕組み。正常時:定期的に「キック」(リセット);フリーズ時:キックされず→タイムアウト→リセット。2025年では、車載ECUでASIL-D要件により「ダブルウォッチドッグ」が必須。IoTデバイスでは、クラウドからの「生存確認」信号でキックし、通信断を検出します。 |
| 割込み制御 | 割込み制御は、割込み要求の優先順位付け・マスク・処理を管理する仕組みで、「CPUの受付嬢」です。主な機能:優先順位制御(タイマ<NMI)、マスク制御(一時禁止)、ネステッド割込み(高優先が低優先を中断)。2025年では、ARMのGIC-7が1020本の割込みを管理し、優先度を256段階に設定可能。仮想化では、ハイパーバイザがゲストOSの割込みを管理し、セキュリティを確保します。 |
| 割込み | 割込みとは、CPUの現在の処理を一時中断し、緊急処理を行う仕組みで、「ドアベルが鳴ったら作業を止めて玄関へ」のようなものです。例:キー入力→コンソール割込み、1秒経過→タイマ割込み、メモリ違反→内部割込み。ポーリング(定期確認)より効率的で、現代の標準。応答時間(レイテンシ)はRTOSで10クロック以下を目指し、リアルタイム性が求められる分野(自動車・医療)で重要です。 |
| 割込みの仕組み | 割込み処理手順:1. 割込み要求(IRQアサート)→ 2. CPUが認識(現在命令完了後)→ 3. コンテキスト保存(PC・レジスタをスタックへ)→ 4. 割込みベクタ取得(番号→アドレステーブル)→ 5. ハンドラ実行→ 6. IRET で復帰。2025年では、ネストした割込みでも高速に切り替えられ、車載システムでは1μ秒以内の応答が要求されます。MMUのコンテキストスイッチと連動し、メモリ保護も行います。 |
| 割込みの種類 | 割込みは大きく2種類:内部割込み(CPU内部発生と外部割込み(周辺回路通知)。さらに、マスク可能(CLIで禁止可能)とNMI(Non-Maskable Interrupt、禁止不可:電源異常など)。2025年では、仮想割込み(ハイパーバイザが仮想CPUに注入)と信頼実行環境(TEE)での割込み分離が重要。理解のポイントは「発生源と緊急性」で分類することです。 |
| 内部割込み | 内部割込みは、CPUが自ら検出した異常や特別処理要求で発生する「ソフトウェア割込み」です。代表例:ゼロ除算、不正命令、ページフォールト。OSがハンドラで適切に対応し、クラッシュを防ぎます。2025年では、セキュリティ強化のため、特権命令の実行も内部割込みでトラップされ、OSが許可を判断します。 |
| プログラム割込み | プログラム割込みは、INT命令(x86)やSVC(ARM)で意図的に発生させる内部割込みで、OSのシステムコール呼び出しに使います。例:ファイルを開く open() 関数は、内部で SVC #5 を実行し、OSカーネルに処理を依頼します。これにより、ユーザプログラムが特権操作(例:メモリ直接アクセス)を安全に行えます。2025年でも基本的なOSインタフェースとして不可欠です。 |
| SVC割込み | SVC(Supervisor Call)は、ARMのSVC命令で発生するプログラム割込み。SVC #0x12 のように番号を指定し、割込みハンドラが番号を読んで「何の要求か」を判断します。例:#0x12=ファイル読み込み、#0x13=ネットワーク送信。x86のINT 0x80に相当。2025年では、番号の代わりに直接関数ポインタをレジスタで渡す高速方式(Apple Mシリーズ)も登場していますが、SVCは依然として標準です。 |
| ページフォールト | ページフォールトは、仮想メモリでアクセスしたページがメモリ上にないときに発生する内部割込み。OSがディスク(スワップ)からページを読み込んで対応し、ユーザには透過的。例:長く使っていなかったアプリのウィンドウを復帰させると、一瞬固まるのはページフォールト処理中。2025年では、AppleのユニファイドメモリでGPUと共用し、ページフォールトをGPUコマンドでも発生させ、効率的なメモリ管理を実現しています。 |
| 外部割り込み | 外部割込みは、周辺デバイスからIRQ信号で通知される割込みで、キー入力・ネットワーク受信・タイマ満了などが該当。ハードウェア割込みとも呼ばれます。2025年では、MSI(Message Signaled Interrupts)が主流で、PCIe経由でメッセージを送信し、ピン配線の制約から解放されています。車載ではCANネットワークのフレーム受信で割込みを発生させ、リアルタイム処理を実現します。 |
| タイマ割込み | タイマ割込みは、ハードウェアタイマが周期的に発生させる割込みで、OSのタスクスケジューリング(例:10msごと)の基盤です。2025年スマートフォンでは、1ms周期で発生し、画面のスクロールや音声再生のタイミングを制御します。低消費電力モードでは、周期を100msに伸ばし、電力を節約。Apple Watchでは、0.1ms精度の低ジッタタイマで、心拍センサの同期に使われています。 |
| コンソール割込み | コンソール割込みは、キーボード・マウス入力で発生する外部割込み。文字入力→キーバッファに格納→OSが読み出してアプリに通知、という流れ。2025年では、USB HID over Bluetooth LEで、ワイヤレスキーボードも同様に割込みを発生。セキュリティ上、入力イベントは信頼実行環境(TEE)で処理され、キーロガー攻撃を防止します。 |
| 入出力割込み | 入出力割込みは、HDD・USB・ネットワークなどのI/O完了で発生し、CPUがポーリングで待つ無駄を省きます。DMA(Direct Memory Access)と組み合わせて、データ転送中はCPUが他の処理を実行可能。2025年NVMe SSDでは、100万IOPSを実現するため、複数キュー+割込み凝集(Interrupt Coalescing)で、割込み頻度を最適化しています。Tesla車載では、カメラ画像のDMA完了でAIチップに割込みを発生させます。 |
| 機械チェック割込み | 機械チェック割込みは、ハードウェア異常(メモリECCエラー、バスパリティエラー)で発生するNMI(Non-Maskable Interrupt)です。サーバではエラーログ記録→シャットダウン、車載では安全停止(Fail-Safe)を実行します。2025年では、LPDDR5XのオンダイECCで1ビット誤りを訂正し、2ビット誤りで機械チェック割込みを発生。宇宙機器では、宇宙線によるビット反転(Single Event Upset)対策として必須です。 |
プロセッサの高速化技術
| 単語 | 意味 |
|---|---|
| プロセッサの高速化技術 | プロセッサを速くするには、大きく3つのアプローチがあります:①1命令の実行を速くする(パイプライン)、②同時に複数命令を処理(スーパースカラ)、③複数プロセッサで分担(マルチプロセッサ)。2025年最新のApple M4は、深さ12のパイプライン+8命令並列発行+32コアGPUで、前世代比2.3倍の性能を達成。ただし、「速くする」にはトレードオフがあり、電力増加・設計複雑化・ハザード発生のリスクが伴います。 |
| スーパーパイプライン方式 | スーパーパイプライン方式とは、通常のパイプライン(例:5段)をさらに細かく分割(例:10~20段)し、クロック周波数を上げる技術です。例:1段の遅延を1 nsから0.5 nsにすれば、周波数は1 GHz→2 GHzに。Apple M3は9段、M4は12段と進化。ただし段数が増えると、分岐予測ミス時のペナルティが大きくなる。2025年では、AIによる高精度分岐予測(98%以上)でこの課題を克服しています。 |
| パイプラインハザード | パイプラインハザードとは、命令の流れ作業中に「待ちが発生し、空き段(バブル)ができる」問題です。3種類:①制御ハザード(分岐で行き先不明)、②データハザード(前の命令の結果を待つ必要)、③構造ハザード(回路競合:1コアでALUが1つだけなど)。2025年では、投機実行+フォワーディング+アウトオブオーダー実行で、ハザード発生率を0.5%以下に抑制。ゲームやAIでは特に影響が大きく、高速化の鍵です。 |
| 制御ハザード | 制御ハザードは、分岐命令で「次にどこへ飛ぶか」が決まるまで、後続命令のフェッチがストップする現象。例:if (x>0) goto A else B のxの値が判明するまで、AかBか分からない→パイプラインが空に。2025年の対策:①投機実行(予測して先読み)、②遅延スロット(分岐後に1命令実行)、③分岐ターゲットバッファ(BTB:過去の分岐先を記憶)。Apple M4は2レベルBTB+AI予測で、98.7%の精度を達成。 |
| 投機実行 | 投機実行(Speculative Execution)は、「分岐の行き先を予測して、先に命令を実行」する技術。予測が正しければ高速化、間違っていれば結果を破棄して再実行。例:「x>0ならAへ」と予測→Aの命令を先読み実行。2015年の「Spectre」脆弱性で悪用されましたが、2025年ではハードウェアで「投機結果のメモリアクセスを禁止」する対策(ARM CSV2.3, Intel CET)が標準。Tesla Dojo V2は投機実行でAI推論を1.8倍高速化しています。 |
| 遅延分岐 | 遅延分岐(Delayed Branch)は、分岐命令の直後に「必ず実行される1命令」を置く方式で、制御ハザードを緩和します。例:JMP label の次に NOP(何もしない)ではなく、有効な命令(例:ADD R0,R1,R2)を配置。MIPSアーキテクチャで採用されましたが、2025年ではほとんど使われず、代わりに投機実行が主流。理由は「コンパイラによる最適な命令スケジューリングが困難」なため。RISC-VやARMは遅延スロット非対応です。 |
| データハザード | データハザードは、「前の命令の結果が出る前に、次の命令がそれを使おうとする」問題。例:ADD R1,R2,R3(R2+R3→R1)の直後に SUB R4,R1,R5(R1-R5→R4)では、R1の値が ready になるまで SUB を待たねばならない。2025年の対策:①フォワーディング(結果をALU出力から直接供給)、②命令リオーダリング(依存しない命令を先に実行)、③レジスタリネーミング(同じレジスタ名でも物理レジスタを分ける)。Apple M4は16エントリの reorder buffer で解決します。 |
| パイプラインの深さ | パイプラインの深さとは、命令を何段階に分割するか(段数)で、深くするほどクロック周波数を上げられるが、分岐ミスのペナルティが大きくなります。例:5段パイプラインで分岐ミス=4クロック遅延、20段なら19クロック。2025年トレンド:①可変深さパイプライン(負荷に応じて段数調整)、②クラスタ化(命令フェッチ系は浅く、実行系は深く)。Intel Core Ultra 200Sは、省電力時は6段、高性能時は16段に動的切り替え。 |
| パイプラインピッチ | パイプラインピッチとは、パイプラインの1段が完了するのに必要な最小時間で、これがクロック周期の下限になります。例:最も遅い段が0.8 nsなら、クロック周期は0.8 ns以下にできない→最大周波数1.25 GHz。2025年では、①段間のバッファ最適化、②段の再分割(クリティカルパスを短く)、③GAAFETトランジスタ(スイッチ速度20%向上)でピッチを縮小。TSMC 2nmプロセスでは、ピッチ0.45 ns(2.2 GHz可能)を達成。 |
| パイプライン処理時間の求め方 | N個の命令をK段パイプラインで処理する時間は、最初の命令にKクロック+残り(N-1)命令に1クロックずつで、合計 クロックです。例:100命令を5段パイプライン→ クロック。非パイプラインなら1命令5クロックで500クロック→約4.8倍高速化。ただし、ハザード(→3)でバブルが入ると、実際は K+(N−1)+バブル数 になります。2025年の高性能CPUでは、バブル率1%未満でほぼ理論値に近い性能を発揮します。 |
| スーパスカラ | スーパスカラとは、1クロックで複数命令を同時に発行・実行する技術で、「1人の作業員が1枚ずつ絵を描く」→「4人が同時に描く」イメージ。条件:①命令間に依存関係がない、②実行ユニット(ALUなど)が複数ある。2025年Apple M4は最大8命令/クロック、Intel Core Ultraは6命令/クロック。鍵は「命令ウィンドウ」の大きさで、M4は640エントリ→遠くの命令の依存関係も検出可能。非依存命令を効率よく探し出す「ディスパッチユニット」のAI最適化が進んでいます。 |
| VLIW | VLIW(Very Long Instruction Word)は、コンパイラが依存関係のない命令をまとめて1命令にし、ハードウェアに並列実行させる方式。例:ADD R1,R2,R3; SUB R4,R5,R6 → 1命令にパッケージ化。利点:ハードウェアが単純(スーパスカラの1/3トランジスタ)、欠点:コードが長く、実行時環境変化に弱い。2025年では、Intel Itaniumの失敗で汎用CPUから撤退し、DSPやAIアクセラレータ(例:Tesla Dojo V2のベクトル命令)で限定採用。RISC-Vの「Packed SIMD Extension」もVLIW的要素を含みます。 |
| CPI | CPI(Cycles Per Instruction)は、「1命令の実行に平均何クロックかかるか」を表す指標で、小さいほど高性能。理想値はパイプラインで1.0、実際はハザードで1.1~1.5。例:CPI=1.2なら、1000命令に1200クロック。計算式: 2025年測定では、SPECint_rate 2017でApple M4がCPI=1.08(最適化済みコード)、未最適化で1.8と差が大きい。CPIは電力効率(性能/W)の評価にも使われます。 |
| クロックサイクル数 | クロックサイクル数は、プログラム実行に必要なクロックの総数で、性能評価の基本です。計算式: 例:100万命令、CPI=1.2 → 120万サイクル。2GHz CPUなら ms。2025年では、イベントベースサンプリング(Intel PEBS, ARM PMU)で実行中のサイクル数を高精度計測し、ボトルネック解析に使われます。開発者はこれで「どの命令が遅いか」を特定します。 |
| 並列処理 | 並列処理とは、「複数の処理を同時に進めて全体の所要時間を短縮」する技術で、2種類:①命令レベル並列(1コア内で複数命令同時)、②タスクレベル並列(複数コアで分担)。例:100枚の封筒を1人で1枚10秒(1000秒)→10人で100秒。ただし、全処理が並列化できるとは限らず(アムダールの法則)、共有資源の競合がボトルネックに。2025年AIでは、データ並列(各GPUがデータの一部処理)が主流です。 |
| SISD | SISD(Single Instruction, Single Data)は、1つの命令を1つのデータに適用する古典的モデルで、初期のCPU(例:Intel 4004)が該当。例:ADD R0,R1,R2 → R1+R2をR0に。現在では「並列処理の基準」として使われ、SISDに対する高速化倍率でSIMD/MIMDの効果を評価します。2025年でも、制御系マイコン(例:車載ECU)ではSISDが主流——リアルタイム性重視で、並列化のオーバーヘッドを避けます。 |
| SIMD | SIMD(Single Instruction, Multiple Data)は、1命令で複数データを同時に処理する技術で、「1人の指揮者が100人の兵士に『右向け』と命じる」イメージ。例:ARM NEONの VADD V0.4S, V1.4S, V2.4S → 4つの32ビット整数を同時に加算。2025年では、Apple M4のAMX(Apple Matrix coprocessor)が512ビット幅で、FP16で32要素を並列処理。AI推論の行列演算で10倍以上高速化し、バッテリー駆動デバイスに不可欠です。 |
| MISD | MISD(Multiple Instruction, Single Data)は、複数の命令を1つのデータに適用する方式で、理論上存在しますが、実用的なプロセッサはほぼありません。例:信頼性向上のため、同じデータを3つの異なる回路で処理し、結果を多数決で判定(航空機制御)。2025年では、フォールトトレラントコンピューティングで限定的に使われますが、コストが高いため、一般用途では三重化ではなくECCメモリ+チェックサムで対応します。 |
| MIMD | MIMD(Multiple Instruction, Multiple Data)は、複数プロセッサが異なる命令を異なるデータに適用する方式で、現代のマルチコアCPU・GPU・クラスタの基本です。例:4コアCPUで、コア1が動画再生、コア2がLINE受信、コア3がウイルススキャン、コア4がOS管理。2025年トレンド:①ヘテロジニアスMIMD(CPU+GPU+NPUの協調)、②メモリ一貫性(キャッシュの同期)のハードウェア支援(ARM CMN-700)。Tesla車載コンピュータは72コアMIMDで自動運転を実現。 |
| マルチプロセッサ | マルチプロセッサとは、複数のプロセッサを1システムに集積し、協調動作させる技術。2種類:①密結合(共有メモリ)、②疎結合(ネットワーク接続)。2025年では、Apple M4 UltraがCPU×20+GPU×80の密結合、AWS Graviton4が128コアの疎結合(クラスタ)。OSのスケジューラがタスクを各プロセッサに割り当て、性能向上を実現。ただし、通信オーバーヘッドとプログラミングの複雑さが課題です。 |
| 密結合マルチプロセッサ | 密結合マルチプロセッサは、全プロセッサが同一バス・同一メモリを共有する方式で、通信が高速(ナノ秒単位)。例:スマートフォンSoC内のCPU×8。2025年の課題は「メモリ壁」——コア数が増えるほどメモリ帯域がボトルネックに。対策:①3D積層メモリ(HBM3EをCPU直下に実装)、②キャッシュコヒーレンスのハードウェア支援(ARM CCIX)。Apple M4は統一メモリアーキテクチャ(UMA)で、GPUもCPUと同じメモリを0.5 nsでアクセス可能。 |
| 疎結合マルチプロセッサ | 疎結合マルチプロセッサは、各プロセッサが独立メモリを持ち、ネットワークで接続する方式で、スケーラビリティが高い。例:スーパーコンピュータ「富岳」(15万ノード)。2025年では、①InfiniBand NDR(1.6 Tbps/リンク)、②RDMA(リモート直接メモリアクセス)で通信遅延を1μ秒以下に。クラウドでは「サーバーレスコンピューティング」が進化し、AWS Lambdaが自動で数千ノードを疎結合で協調動作させます。 |
| 並列化で得られる高速化率の求め方 | 高速化率は、アムダールの法則で計算されます:並列化できない部分の割合を 、コア数を とすると、 例:95%並列可能()で64コア→ 倍。 でも最大20倍にしかならないのがポイント。2025年AIでは、データ並列で (99%並列可能)のため、1000コアで50倍高速化も可能。応用情報では、この式の意味と限界を理解することが重要です |
| プロセッサの性能 | プロセッサ性能は、①処理速度(IPS: Instructions Per Second)、②実行時間、③電力効率(性能/W) で評価されます。2025年トレンド:①AI性能(TOPS: Trillion Operations Per Second)、②リアルタイム性(最悪実行時間の保証)。例:Apple M4 GPUは35 TOPS(INT8)、NVIDIA Blackwellは20,000 TOPS。ただし、「性能」は workload に依存——SPEC CPU 2017(汎用)、MLPerf(AI)、Automotive Bench(車載)でそれぞれ測定されます。応用情報では「性能=処理速度だけではない」を理解しましょう。 |
| クロック周波数 | クロック周波数は、1秒間に何回「チクタク」と信号が変わるかで、単位はHz(GHz=10億Hz)。2025年スマートフォンCPUは3.5 GHz(Snapdragon 8 Gen5)、PCは6.2 GHz(Intel Core Ultra 200S)。ただし、周波数↑=性能↑とは限らず、CPIやIPC(Instructions Per Cycle)も重要。例:3 GHzでIPC=4(4命令/クロック)は、6 GHzでIPC=1より2倍速い。近年は周波数頭打ちで、コア数増・命令並列・専用回路で性能向上を図っています。 |
| 命令実行時間の求め方 | 命令実行時間(所要時間)は、 で求めます。例:100万命令、CPI=1.2、周波数3 GHz → 秒(0.4 ms)。2025年では、動的最適化で実行中にCPIが変化:①分岐予測成功時はCPI=1.0、②ミス時はCPI=3.0。開発ツール(Apple Instruments, Intel VTune)が実行パスごとの時間を計測し、ボトルネックを可視化します。 |
| クロックの分周 | クロックの分周とは、基準クロックを整数で割って、低周波数クロックを生成する技術。例:100 MHz基準→÷2で50 MHz、÷5で20 MHz。用途:①低速デバイス(UART: 115.2 kHz)への供給、②省電力モード(CPUを300 MHzに落とす)、③テスト時の低速動作。2025年では、小数分周(例:÷2.5)も可能になり、任意の周波数生成が可能。Apple Watchでは、32.768 kHz(RTC)から÷1で基準クロックを生成し、消費電力をnWレベルに抑えています。 |
メモリアーキテクチャ
| 単語 | 意味 |
|---|---|
| SRAM | SRAM(Static RAM)は、電源が入っている限りデータを保持し続けるメモリです。内部は6個のトランジスタで1ビットを構成し、「リフレッシュ」が不要なのが特徴。非常に高速で、CPUのキャッシュメモリに使われます。ただし、1ビットあたりの面積が大きいため高価で、容量は小さいのが欠点です。2026年でも高性能プロセッサの必須部品です。 |
| キャッシュメモリ | キャッシュメモリは、CPUが頻繁に使うデータを一時的に高速で保存する小さなメモリです。SRAMで作られ、メインメモリ(DRAM)より10倍以上速いです。階層構造(L1・L2・L3)になっており、L1が最も速く小さい。これにより、CPUが「待たされず」に作業を続けられます。現代の高性能コンピュータには不可欠な技術です。 |
| DRAM | DRAM(Dynamic RAM)は、コンデンサ(キャパシタ)に電荷をためて1ビットを記憶する主記憶装置です。安価で高密度に作れるため、PCやスマホの「メインメモリ」として使われます。ただし、電荷は時間が経つと漏れるので、定期的にリフレッシュ(再充電)が必要です。これが「Dynamic(動的)」の由来です。 |
| リフレッシュ | リフレッシュは、DRAMのコンデンサにたまった電荷が自然に減ってしまうのを防ぐため、定期的にデータを読み出して再書き込みする仕組みです。通常、数ミリ秒ごとに全セルをリフレッシュします。この処理中はメモリアクセスができなくなるため、性能に若干の影響が出ます。2026年では「セルフリフレッシュ」機能で省電力化も進んでいます。 |
| DDR SDRAM | DDR SDRAM(Double Data Rate SDRAM)は、1990年代末に登場した、従来のSDRAMより高速なメモリです。その名の通り、「1クロックで2回データを送る」(立ち上がりと立ち下りの両方を使う)ことで、転送速度を倍増させました。初期のDDRは200~400MT/s(百万転送/秒)で動作し、電圧は2.5V。2026年ではほぼ使われていませんが、メモリ高速化の第一歩として歴史的に重要です。 |
| DDR2 SDRAM | DDR2 SDRAMは、2003年頃に登場したDDRの進化版で、内部動作周波数は低くても外部バスを高速化することで、400~800MT/s の転送を実現しました。電圧も1.8Vに下がり、消費電力が改善。ただし、遅延(レイテンシ)が大きくなったため、一部アプリでは性能が逆に低下することも。2010年代前半までPCやサーバーで広く使われましたが、2026年現在は完全に後継技術に置き換えられています。 |
| DDR3 SDRAM | DDR3 SDRAMは2007年頃登場し、1.5V(省電力版は1.35V) で動作し、800~2133MT/s まで高速化されました。プリフェッチバッファを8nに拡大し、効率的にデータを読み出せます。2010年代のノートPCやスマートフォン、サーバーで主流となりましたが、2020年代後半以降はDDR4/DDR5へ移行。2026年では、一部の産業機器や低価格機器を除き、ほぼ見られません。 |
| DDR4 SDRAM | DDR4 SDRAMは2014年頃から普及し、1.2V の低電圧で 2133~3200MT/s(オーバークロック品は4000MT/s以上)を実現。信頼性向上のため、CRC(巡回冗長検査)やオンダイECC(誤り訂正)もサポート。2020年代前半まではPC・サーバー・ワークステーションの標準でしたが、2026年現在はDDR5への移行が加速しており、新製品では徐々に姿を消しています。 |
| DDR5 SDRAM | DDR5 SDRAMは2021年以降本格普及し、2026年現在の主流メモリです。電圧は1.1Vとさらに低く、転送速度は4800~8400MT/s以上。さらに、1モジュール内を2つの独立チャネルに分割(32ビット×2)し、帯域効率を向上。また、オンダイECCやPMIC(電源管理IC内蔵)で信頼性・省電力も強化。AIサーバー、ゲーミングPC、次世代モバイルデバイスの基盤となっています。 |
| フラッシュメモリ | フラッシュメモリは、電源を切ってもデータが消えない不揮発性メモリです。スマホのストレージやUSBメモリ、SSDに使われます。内部は「浮遊ゲート型トランジスタ」でデータを保持。書き換え回数に限界(約1万~10万回)があるため、ウェアレベリングで寿命を延ばしています。 |
| ウェアレベリング | ウェアレベリングは、フラッシュメモリの特定ブロックだけが早く劣化しないよう、書き込み先を均等に分散させる技術です。コントローラが自動で処理し、全体の寿命を伸ばします。たとえば、1万回しか書けないメモリでも、1000ブロックあれば理論上1億回分の書き込みが可能に。2026年ではAIで最適化も進んでいます。 |
| NOR型フラッシュメモリ | NOR型は、ランダムアクセスが高速で、プログラムコードを直接実行(XIP: eXecute In Place)できるのが特徴。組み込み機器(家電、車載ECUなど)のファームウェア保存に使われます。ただし、書き込みが遅く、コストも高いため、大容量用途には向きません。 |
| NAND型フラッシュメモリ | NAND型は、書き込み・消去が高速で、安価・高密度なため、SSD・スマホ・SDカードの主流です。ただし、バイト単位のランダムアクセスは不得意で、ブロック単位での操作が必要。2026年では3D NAND(縦にセルを積層)が標準で、1TB以上のUSBメモリも登場しています。 |
| SLC型 | SLC(Single-Level Cell)は、1セルに1ビット(0または1)だけ記憶するNANDフラッシュの方式です。データ保持が安定で、書き換え回数も10万回以上と長寿命。しかし、容量あたりのコストが高いので、主に産業用・軍用機器で使われます。信頼性が最優先される場面に適しています。 |
| MLC型 | MLC(Multi-Level Cell)は、1セルに2ビット(00,01,10,11)を記録する方式。SLCより容量効率が良く、コストが下がりますが、書き換え回数は約3000~1万回と短く、誤りも起きやすいです。さらに、3ビットのTLC、4ビットのQLCも登場しており、2026年ではQLCがSSDの主流になりつつあります。 |
| FeRAM | FeRAM(Ferroelectric RAM)は、強誘電体材料を使ってデータを記憶する不揮発性メモリです。書き込みが速く、書き換え回数も100億回以上と非常に長寿命。ただし、高密度化が難しく、容量が小さいため、スマートメーターや車載ECUなどの特殊用途に限られます。2026年でもニッチだが重要な技術です。 |
| 記憶階層 | 記憶階層は、速いけど小さいメモリから、遅いけど大きいストレージまでを段階的に並べた構造です。典型的には「レジスタ → L1/L2/L3キャッシュ(SRAM)→ メインメモリ(DRAM)→ SSD/ハードディスク」。これにより、全体として「高速かつ大容量」な記憶システムを低コストで実現します。コンピュータの性能を支える基本思想です。 |
| ディスクキャッシュ | ディスクキャッシュは、HDDやSSDへのアクセスを減らすため、主記憶(DRAM)上に頻繁に使うデータのコピーを置いておく仕組みです。OSが自動で管理し、同じファイルを何度も読むと2回目以降が高速になります。ブラウザのキャッシュなども同様の考え方で、体感速度を大きく向上させます。 |
| 主記憶の実効アクセス時間の求め方 | 実効アクセス時間は、キャッシュのヒット率を考慮した平均アクセス時間です。式は: 実効時間 = (ヒット率×キャッシュアクセス時間) + (ミス率×メインメモリアクセス時間) 例えば、ヒット率90%、キャッシュ1ns、メインメモリ100nsなら、実効時間=0.9×1 + 0.1×100 = 10.9ns。キャッシュがいかに重要かがわかります。 |
| 主記憶への書き込み方法 | 主記憶(DRAM)への書き込みには、ライトスルー方式とライトバック方式の2種類があります。前者はキャッシュと主記憶に同時に書き込み、後者はキャッシュだけ書き、使われなくなったとき主記憶に書き戻します。後者の方が高速ですが、データ不整合のリスクがあるため、用途に応じて使い分けます。 |
| ライトスルー方式 | ライトスルー方式は、CPUがデータを書き込むとき、キャッシュと主記憶(DRAM)の両方に同時に書き込む方法です。これにより、キャッシュと主記憶の内容が常に一致(=コヒーレント)になるため、データの信頼性が高く、マルチプロセッサ環境でも安全です。ただし、主記憶への書き込みが遅いため、全体の速度はやや犠牲になります。リアルタイム性や堅牢性が求められる組み込みシステムでよく使われます。 |
| コヒーレンシ | コヒーレンシ(coherency)とは、複数のキャッシュやメモリ上にある同じデータが常に同じ内容を保っている状態、つまり「一貫性」そのものを指します。たとえば、CPUコアAがデータを更新したとき、コアBのキャッシュにも古い値が残っていれば「コヒーレンシが破れている」と言います。逆に、すべてのコピーが一致している状態を「コヒーレント(coherent)」と表現します。この一貫性を保つ仕組みが、マルチコアCPUの信頼性を支える基盤です。 |
| ライトバック方式 | ライトバック方式では、書き込みはまずキャッシュのみに行い、そのブロックが追い出される(または明示的にフラッシュされる)タイミングで主記憶に書き戻します。これにより、書き込みが高速になり、バスの負荷も減ります。ただし、電源落ちるとデータが失われるリスクがあるため、バッテリーバックアップやジャーナリングが必要です。 |
| LRUアルゴリズム | LRU(Least Recently Used)は、キャッシュメモリが満杯になったとき、最も長く使われていないデータを追い出すアルゴリズムです。直近のアクセス履歴から「これから使われる可能性」を予測するシンプルで効果的な手法。実装にはリストやカウンタを使いますが、完全LRUはコスト高のため、近似的な「Pseudo-LRU」が2026年でも使われています。 |
| スヌープ方式 | スヌープ(Snooping)方式は、マルチコアCPUでコヒーレンシを保つため、各キャッシュがバス上の他のコアのアクセスを“盗み見る” 仕組みです。あるコアがデータを書き換えると、他のキャッシュが「自分のコピーは古い」と判断して無効化します。シンプルで高速ですが、コア数が増えるとバスが混雑する欠点があります。 |
| バススヌープ | バススヌープは、スヌープ方式の一種で、共有バス経由で全キャッシュがアクセスを監視する方法です。各キャッシュがバスのトランザクションを傍受し、自身が保持するデータに関係があれば対応(無効化や更新)します。2026年では、小規模マルチコア(4~8コア)向けにまだ使われていますが、大規模ではディレクトリ方式が主流です。 |
| ダイレクトマッピング方式 | ダイレクトマッピングは、キャッシュの配置方式の一つで、主記憶の各ブロックがキャッシュの特定1箇所にしか置けない方式です。例:主記憶のブロック0,8,16…はキャッシュの0番地のみに入る。実装が簡単で高速ですが、競合が起きやすくヒット率が低いのが欠点です。 |
| フルアソシアティブ方式 | フルアソシアティブ方式では、主記憶のどのブロックもキャッシュのどこにでも置ける自由度の高い方式です。ヒット率は最高ですが、全キャッシュを同時に検索する必要があり、回路が複雑で遅く、コストも高い。実際には小容量のTLB(トランスレーションルックアサイドバッファ)などで限定的に使われます。 |
| セットアソシアティブ方式 | セットアソシアティブは、ダイレクトとフルの中間で、キャッシュを複数のセットに分け、各セット内では自由配置(例:4ウェイ=1セットに4個まで)できる方式。2026年現在のCPUキャッシュ(L1/L2)の主流で、ヒット率と速度のバランスが excellent。たとえば、インテルやARMの最新CPUは8ウェイ~12ウェイが一般的です。 |
| メモリインタリーブ | メモリインタリーブは、複数のメモリバンクにデータを分散配置し、同時にアクセスすることで全体の転送速度を向上させる技術です。例:バンク0,1,2,3に順にデータを置けば、連続アクセス時に各バンクが独立して動作。これによりメモリ帯域が4倍に。2026年ではDDR5のチャネル分割など、より高度なインタリーブが採用されています。 |
入出力アーキテクチャ
| 単語 | 意味 |
|---|---|
| 入出力制御 | 入出力(I/O)制御とは、コンピュータがキーボード・ディスク・ネットワークなどの外部装置とデータのやりとりを行う仕組みです。CPUが直接やると効率が悪いので、プログラム制御、DMA、チャネル制御などの方式を使い分けます。2026年では、AIやIoTの普及で、センサやアクチュエータとの高速・低遅延通信がますます重要になっています。 |
| プログラム制御方式 | プログラム制御方式は、CPUが1バイトずつデータを読み書きする最も基本的なI/O方式です。簡単ですが、転送中はCPUが他の処理を一切できないため非効率。今では小規模なマイコンや設定レジスタの読み書きなど、ごく限られた場面で使われます。大量データ転送には向かず、代わりにDMA方式が主流です。 |
| DMA制御方式 | DMA(Direct Memory Access)制御方式は、CPUを介さずに外部装置とメモリの間で直接データを転送する仕組みです。専用のDMAコントローラが処理を担当し、CPUは他の仕事に集中できます。動画再生やネットワーク通信など、大量データを扱う場面で不可欠。2026年では、SSDやカメラモジュールなど、ほとんどの高速デバイスがDMA対応です。 |
| チャネル制御方式 | チャネル制御方式は、大型コンピュータ(メインフレーム)で使われる高度なI/O方式で、専用プロセッサ(チャネル) が複数のデバイスを自律的に制御します。CPUは「転送しろ」と命令するだけで、その後の処理はすべてチャネルが実行。現代のDMAの原点とも言え、現在のストレージコントローラやネットワークASICにその思想が受け継がれています。 |
| CCW | CCW(Channel Command Word)は、IBMのメインフレームで使われる、チャネルに命令を与えるためのデータ構造です。命令コード・アドレス・データ長などを含み、複数のCCWを連ねることで複雑なI/O処理を自動実行できます。2026年では直接使われませんが、現代のデバイスドライバやコマンドキュー(NVMeなど)の概念的先祖とされています。 |
| CAW | CAW(Channel Address Word)は、CCWの実行開始アドレスをチャネルに指示するための制御語です。つまり、「ここからCCWリストを読み出して実行してね」という命令です。IBM System/360以降のアーキテクチャで使われ、チャネル制御の起動に不可欠でした。現在の技術では、コマンドリングのベースアドレス登録と機能が類似しています。 |
| インタフェースの規格 | インタフェース規格は、コンピュータと周辺機器が互換性を持って接続・通信するための約束事です。物理的なコネクタ形状、電気信号のレベル、データ転送手順などが定められています。規格があるおかげで、異なるメーカーのUSBメモリやディスプレイが同じPCで使えるのです。2026年では、USB4、PCIe 6.0、CXL などが次世代規格として注目されています。 |
| シリアルインタフェース | シリアルインタフェースは、データを1本の信号線で1ビットずつ順番に送る方式です。ケーブルが細く・安く、長距離伝送にも強いのが利点。USB、HDMI、PCIe、Ethernetなど、2026年現在の主流規格のほとんどがシリアルです。かつては遅かったですが、高速クロックと多重化技術で、パラレルを大きく上回る速度を実現しています。 |
| パラレルインタフェース | パラレルインタフェースは、複数の信号線(例:8本や16本)で同時に複数ビットを送る方式です。一見速そうですが、信号線の長さ差やノイズでタイミングずれ(スキュー)が起きやすく、高速化に限界がありました。プリンタ用のCentronicsやIDE(PATA)などが該当。2000年代後半以降はほぼすべてシリアル方式に置き換えられています。 |
| プラグアンドプレイ | プラグアンドプレイ(PnP)は、デバイスを接続すると自動で認識・設定され、すぐに使える仕組みです。かつては手動でIRQやI/Oアドレスを設定する必要がありましたが、USBやPCIの登場で不要に。2026年では、Wi-FiやBluetooth機器も含め、ほぼすべてのデバイスがPnP対応。ユーザーの利便性を飛躍的に高めた技術です。 |
| ホットプラグ | ホットプラグは、電源を入れたままデバイスの着脱ができる機能です。USBメモリや外付けHDDを「安全な取り外し」せずに抜くとデータ破損のリスクがありますが、ホットプラグ対応機器はそのリスクを最小限に抑えます。SSDやサーバーのストレージでは、ホットスワップ(交換中にシステム稼働継続)も可能。2026年ではエンタープライズ機器の標準機能です。 |
| USBの転送速度 | USB(Universal Serial Bus)は、1996年の登場以来、転送速度を大幅に進化させてきました。各世代の速度は以下の通りです。 ・USB 1.0(1996年):低速モード 1.5 Mbps(マウス・キーボード向け) ・USB 1.1(1998年):フルスピード 12 Mbps(当時のプリンタ・スキャナ向け) ・USB 2.0(2000年):ハイスピード 480 Mbps(外付けHDD・カメラで大普及) ・USB 3.0(2008年):スーパースピード 5 Gbps(青いコネクタが目印) ・USB 3.1 Gen 2(2013年):スーパースピード+ 10 Gbps ・USB 3.2 Gen 2x2(2017年):20 Gbps(Type-Cで2レーン使用) ・USB4(2019年):40 Gbps(Thunderbolt 3と互換) ・USB4 Ver. 2.0(2022年):80 Gbps(2026年現在、新ハイエンドPCで徐々に採用) 2026年時点では、USB4(40 Gbps)が主流で、最新機器は80 Gbps対応も登場しています。また、すべての高速USBはUSB Type-Cコネクタを使用し、データ・映像・最大100Wの電力供給を1本で実現。まさに「1ポートで全部」の時代です。 |
| ATA | ATA(AT Attachment)は、ハードディスクをマザーボードに直接接続するためのパラレルインタフェースで、別名PATA(Parallel ATA)とも。40〜80ピンのフラットケーブルを使い、最大133MB/sまで対応。2000年代前半まではPCの標準でしたが、ノイズやケーブルの太さが問題となり、2000年代後半にSATA(シリアルATA) に置き換えられました。 |
| ATAPI | ATAPI(ATA Packet Interface)は、ATAの拡張で、CD/DVDドライブやテープ装置などをATAバスに接続できるようにした規格です。本来ATAはHDD専用でしたが、SCSI風の「パケットコマンド」を流すことで汎用デバイスに対応。2026年では使われていませんが、SATA時代にも一時的に「SATAPI」として残っていました。 |
| SCSI | SCSI(Small Computer System Interface)は、サーバーやワークステーション向けの高性能I/Oインタフェースで、複数デバイスをチェーン接続でき、CPU負荷も低いのが特徴。内部はパラレル(例:Ultra320 SCSI)でしたが、後にシリアル版(SAS) に進化。2026年では、直接のSCSIはほぼ廃れ、後継のSASやiSCSIがエンタープライズ分野で活躍しています。 |
| iSCSI | iSCSI(Internet SCSI)は、SCSIコマンドをTCP/IPネットワーク上で送る技術です。これにより、物理的に離れたストレージを「ローカルディスクのように」使えるようになります。データセンターではSAN(ストレージエリアネットワーク)の安価な実現手段として普及。2026年では10GbE~400GbEのネットワークと組み合わせ、クラウドストレージの基盤として重要な役割を果たしています。 |
| IEEE 1394 | IEEE 1394(通称FireWire)は、1990年代末に登場した高速シリアルバスで、主にデジタルビデオカメラやオーディオ機器に使われました。特徴は等時性転送(一定帯域を保証)と、デバイス間直接通信(PCを介さない)。Appleが推進しましたが、USBの進化により市場を失い、2026年ではほぼ見られません。ただし、その技術はThunderboltに受け継がれています。 |
| PCI | PCI(Peripheral Component Interconnect)は、1990年代から2000年代にかけてPCの拡張スロットの標準だったパラレルバスです。グラフィックボードやネットワークカードなどを接続。32ビット/33MHzで最大133MB/s。後に64ビット版も登場しましたが、帯域と干渉の限界から、2000年代後半にPCI Expressに置き換えられました。 |
| AGP | AGP(Accelerated Graphics Port)は、グラフィックボード専用のPCI拡張バスで、1997年に登場。ビデオメモリとの直接通信やテクスチャ読み込みの最適化で、3Dグラフィックス性能を飛躍的に向上させました。AGP 8xで最大2.1GB/sを達成。しかし、2004年頃からPCI Expressの登場で急速に姿を消し、2026年では歴史的技術です。 |
| PCI Express | PCI Express(PCIe)は、ポイントツーポイント接続の高速シリアルバスで、2004年以降PCの拡張スロットの事実上の標準です。レーン数(x1, x4, x16など)で帯域を調整でき、2026年現在はPCIe 6.0(x16で約128GB/s)まで進化。GPU、NVMe SSD、ネットワークカードなど、あらゆる高性能デバイスがこのインタフェースを使っています。 |
| I2Cバス | I2C(Inter-Integrated Circuit)バスは、2本の信号線(SDA:データ、SCL:クロック) で多数のセンサやICを接続できる低速シリアルインタフェースです。アドレスでデバイスを識別し、シンプルで配線が簡単。スマホの加速度センサ、温度センサ、EEPROMなど、組み込み機器で広く使われています。2026年でも、IoTデバイスの内部通信の定番です。 |
| HDMI | HDMI(High-Definition Multimedia Interface)は、映像と音声を1本のケーブルでデジタル伝送するインタフェースです。TVやモニター、ゲーム機で標準的に使われ、2026年現在はHDMI 2.1aが主流で、8K/60Hzや可変リフレッシュレート(VRR)もサポート。ただし、PC向けではDisplayPortの方が高機能で好まれる傾向があります。 |
| DisplayPort | DisplayPortは、PC向けに開発された高性能ディスプレイインタフェースで、HDMIより高い帯域と柔軟性があります。マルチディスプレイ(デイジーチェーン接続)やUSB信号の同梱(Alt Mode)も可能。2026年ではDisplayPort 2.1が登場し、16K対応やUSB4との統合が進んでいます。特にゲーミングモニターやワークステーションで優勢です。 |
| IrDA | IrDA(Infrared Data Association)は、赤外線を使って短距離で無線通信する1990年代の技術です。携帯電話やPDAで名刺交換やデータ転送に使われましたが、指向性が強く、遮蔽に弱いため、Bluetoothに完全に置き換えられました。2026年ではリモコン以外ではほぼ見られず、通信技術としては「懐かしの遺産」です。 |
| Bluetooth | Bluetoothは、短距離無線通信規格で、イヤホン・キーボード・スマートウォッチなど、あらゆるワイヤレス周辺機器を接続します。2026年現在はBluetooth 5.4が最新で、通信距離・速度・セキュリティが向上。特にLE(Low Energy)モードにより、IoTセンサのバッテリー寿命が数年に延びています。今やデジタル生活の「空気のような存在」です。 |
| NFC | NFC(Near Field Communication)は、数センチ以内の超近距離で通信する技術で、主に非接触ICカードの読み取り(交通系IC、電子マネー)やスマホのタッチ決済に使われます。Bluetoothより設定が簡単で、電源のないカード(パッシブ)とも通信可能。2026年では、デジタル名刺や鍵(スマートロック) など、新しい用途が広がっています。 |
| バスパワー | バスパワーとは、インタフェースケーブル(例:USB)経由でデバイスに電力を供給する仕組みです。外付けHDDやキーボードがACアダプタ不要なのはこのため。USBでは最大100W(USB PD)まで対応し、2026年ではノートPCの充電まで可能に。これにより、ケーブルと充電器の統一が進み、「1ポートで全部」が現実になっています。 |
みんなで使おう!Ankiアプリで暗記しよう
Ankiアプリの記事と、現時点までに作成されたAnkiアプリのデータへのリンクを掲載しております。どうぞご利用ください。
本日分までのAnkiアプリデータはこちら。
firestorageダウンロード
パスワードは「shirakawa」です。お間違えのないように。
参考図書
応用情報技術者の資格勉強をするにあたり、科目A対策として以下の教科書を使用しています。できれば、こちらもAnkiアプリと併用しながらご利用いただければと思います。
合わせて読みたい
最後に
いかがでしたでしょうか?
Qwenのプロンプト調整が思いのほか苦戦しましたが、どうでしょうか?
覚えやすく改善されていれば幸いです。
すべての章を書き終えた後に、調整したプロンプトを用いて第1章と第2章の説明文の書き直しも考えております。
さぁ、応用情報技術者の勉強はこれからです。皆さん一緒に頑張りましょう!

白川秋
ではでは、参考までに



コメント