ARMv5 / ARM9 シリーズ (1997年)(エーアールエムブイファイブ)
ARMv5は1997年ARM Ltd発表のARM9 (ARM920T/940T) で5段パイプライン・MMU 内蔵・Thumb 拡張・DSP命令 (ARMv5TE) 採用しNokia/Sony Ericsson 携帯・Nintendo DS (2004) ・PSP (2004) 等で大量採用された。
ARMv5 / ARM9 シリーズ (1997年)
概要
ARMv5は1997年ARM Ltd 発表のARM9 シリーズ (ARM920T 1997年/ARM940T/ARM946E-S/ARM966E-S・ARMv5T/v5TE 拡張) で5段パイプライン (ARM7TDMI 3段の改良) ・MMU 内蔵 (ARM920T・組込み Linux 動作可能) ・Thumb 拡張・DSP 命令 (ARMv5TE・SIMD 16bit×2/8bit×4) ・Jazelle (Java バイトコード直接実行・ARMv5TEJ) 採用しNokia/Sony Ericsson 携帯・Nintendo DS (2004年 ARM946E-S 67MHz) ・iPod 4G/5G (2004-2005年 ARM9 90MHz) 等で大量採用された世代。動作周波数200MHz-1.1GHz・0.25μm-90nm プロセスで継続改良されARMv6 (ARM11 2002年) へ世代交代した。
主な特徴・仕組み
- 発表: 1997年ARM Ltd・コードネーム「ARM9 シリーズ」
- アーキテクチャ: ARMv5T (Thumb) /v5TE (DSP) /v5TEJ (Jazelle)
- 派生: ARM920T (MMU・キャッシュ16+16KB) ・ARM940T (MPU) ・ARM946E-S (MPU・DSP) ・ARM966E-S (MPU・低消費)
- パイプライン: 5段 (Fetch/Decode/Execute/Memory/Writeback・ARM7TDMI 3段から拡張)
- MMU: あり (ARM920T 64エントリ TLB) ・組込み Linux/Windows CE 動作可能
- キャッシュ: 命令16KB+データ16KB (ARM920T) ・命令4KB+データ4KB (ARM946E-S)
- DSP 命令 (ARMv5TE): SIMD 16bit×2 or 8bit×4 同時演算・乗算累積 (MAC)
- Jazelle (ARMv5TEJ): Java バイトコード直接実行 (Java VM 不要・性能2-5倍)
- 動作周波数: 200MHz (0.25μm 1997年) →1.1GHz (90nm 2005年)
- トランジスタ: 200,000-500,000 (ARM920T)
- プロセス: 0.25μm→90nm
- MMU 採用システム: 組込み Linux・Windows CE・Symbian OS
ARMv5 派生製品
| 製品 | 年 | 拡張 | 主な採用 | 周波数 |
|---|---|---|---|---|
| ARM920T | 1997 | ARMv5T・MMU | Nokia/Sony Ericsson 携帯・PalmOS・Linux 組込み | 200-400MHz |
| ARM940T | 1997 | ARMv5T・MPU | リアルタイム組込み | 200MHz |
| ARM946E-S | 2001 | ARMv5TE・MPU・DSP | Nintendo DS (67MHz) ・SonyEricsson | 67-200MHz |
| ARM966E-S | 2002 | ARMv5TE・MPU・低消費 | 携帯通信ベースバンド | 100-200MHz |
| ARM926EJ-S | 2001 | ARMv5TEJ・Jazelle | Java スマートフォン (NTT FOMA等) | 200-400MHz |
| ARM966HS | 2003 | ARMv5TE | 自動車ECU | 200MHz |
| ARM968E-S | 2003 | ARMv5TE | 産業組込み | 150-250MHz |
MMU 内蔵革新 (ARM920T)
ARM7TDMI (ARMv4) からの大幅進化:
- 動作: 仮想メモリ空間 (64エントリ TLB) ・プロセス間メモリ保護
- 応用: 組込み Linux 2.4/2.6 動作可能化・WinCE/Symbian OS 動作
- 競合: x86 386 (1985) 以来の MMU 機能だが消費電力で ARM 圧勝
- 採用OS: μClinux→Linux 2.4 (1999) /2.6 (2003) ・WinCE 3.0/4.0/5.0
Jazelle Java バイトコード実行
2001年ARM926EJ-S で初導入・世界初のCPU内蔵 Java 実行:
- 動作: CPU 内JZB ハードウェアモードでJava バイトコード直接実行
- 性能: Java VM 比 2-5倍速・組込みJava (J2ME) アプリ高速化
- 採用: NTT FOMA 携帯 (NTT DoCoMo iモード Java アプリ) ・Sony Ericsson 各機種
- 廃止: ARMv7 (2005) でJazelle 削除・Java VM が JIT 採用で必要性低下
- 歴史的意義: 「ハードウェアJava」コンセプトの先駆け
DSP 命令拡張 (ARMv5TE)
2000年Texas Instruments 提案・ARM Ltd 採用:
- SIMD 命令: SADD16/SSUB16 (16bit×2) ・SADD8/SSUB8 (8bit×4)
- MAC 命令: SMLAxy (16×16+32→32 乗算累積)
- 用途: 音声信号処理・画像処理・暗号化・無線通信ベースバンド
- 後継: ARMv6 (NEON SIMD 128bit) ・ARMv7-A (NEON 標準) ・ARMv8 (NEON 改良)
Nintendo DS (2004年11月)
ARM946E-S 採用の代表的システム:
- CPU 構成: ARM946E-S (ARM9 67MHz・3D 描画/ゲームロジック) +ARM7TDMI (33MHz・サウンド/Wi-Fi)
- メモリ: 4MB EWRAM+656KB DTCM/ITCM
- 画面: 2画面 (上画面+タッチパネル下画面) ・256×192 px
- 総出荷: 1.54億台 (2004-2014年・歴代携帯機2位)
- 後継: Nintendo 3DS (2011年 ARM11) ・Switch (2017年 ARM Cortex-A57)
iPod 4G/5G (2004-2005年)
Apple iPod ハードディスク世代:
- iPod 4G (2004年7月): ARM9 90MHz (PortalPlayer PP5020) ・¥399
- iPod 5G (2005年10月): ARM9 80MHz (PP5021) ・¥299
- iPod Mini/Nano (2005-2006): ARM9 80MHz・¥199-249
- 後継: iPod Classic 6G (2007 ARM11) ・iPod Touch (2007 Apple A4 ARM Cortex-A8)
採用システム (1997-2010年)
- Nokia 携帯 (1999-2008): Nokia 7110/N-Gage/E61/N95 等・ARM920T/ARM946E-S
- Sony Ericsson 携帯: K600i/K800i 等
- NTT FOMA (2001-2008): ARM926EJ-S (Jazelle) Java アプリ実行
- Apple iPod 4G-5G (2004-2005): ARM9 90MHz
- Nintendo DS (2004): ARM946E-S 67MHz
- PalmOS デバイス: Treo 650/680 (ARM920T)
- Windows Mobile デバイス: Pocket PC 2002-2003 (ARM920T)
関連技術との違い
| 項目 | ARMv4 ARM7TDMI (1994) | ARMv5 ARM9 (1997) | ARMv6 ARM11 (2002) |
|---|---|---|---|
| パイプライン | 3段 | 5段 | 8段 |
| MMU | なし | **あり (ARM920T) ** | あり |
| Thumb | あり (Thumb-1) | **あり (Thumb-1) ** | あり (Thumb-2) |
| DSP 命令 | なし | **あり (ARMv5TE) ** | あり (NEON 後継) |
| Jazelle (Java) | なし | **あり (ARMv5TEJ・ARM926EJ-S) ** | あり (改良) |
| 周波数 | 16-266MHz | 200-1100MHz | 400-1300MHz |
| 用途 | 組込み/GBA/iPod 3G | 携帯/PSP/DS/iPod 4G-5G | iPhone 1G (2007) ・iPad 1 |
よくある質問 (FAQ)
Q1: ARM7 と ARM9 はどちらが優れたか? A: 用途次第。ARM7TDMI (省電力・低クロック・MMU なし) はセンサ/MCU/Game Boy Advance 最適・ARM9 (MMU・5段パイプ・組込み Linux) は携帯/DS/iPod 最適。並走して2010年代まで両方主流。
Q2: Jazelle はなぜ廃止されたか? A: 2001-2007年Java J2ME 携帯ゲーム主流期は重要・2007年iPhone 登場 (ネイティブC アプリ主流) で Java J2ME 衰退・2012年ARMv8 (Cortex-A53/A57) でJazelle 完全削除・歴史の徒花となった機能。
Q3: 現代でARM9 動作可能? A: 大量入手可能・新品 MCU (Microchip/STMicro/Texas Instruments) で継続販売・Arduino/Raspberry Pi の祖先製品。ARM Cortex-A シリーズ (2005-) が主流だが組込み低価格帯でARM9 継続採用。
まとめ
- 1997年ARM Ltd 発表・ARM9 シリーズ
- 5段パイプ・MMU 内蔵 (ARM920T)
- Thumb 拡張・DSP命令 (ARMv5TE SIMD)
- Jazelle (Java バイトコード実行) ARMv5TEJ
- Nintendo DS (2004) /iPod 4G-5G 採用