Arsitektur ARM merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM
Limited. Dikenal sebagai Advanced RISC Machine dimana sebelumnya
dikenal sebagai Acorn RISC Machine. Pada awalnya merupakan prosesor
desktop yang sekarang didominasi oleh keluarga x86. Namun desain yang
sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Hal ini
membuat prosesor ARM mendominasi pasar mobile electronic dan embedded
system dimana membutuhkan daya dan harga yang rendah.
Lisensi arsitektur ARM dimiliki oleh :
Alcatel Freescale OKI
Atmel Intel melalui DEC Quallcomm
Broadcom LG Samsung
Cirrus Logic ZiiLABS ST Microelectronics
NEC Digital Equipment Corporation Symbios Logic
NVIDIA Texas Instruments VLSI Technology
Sharp Marvell Technology Group
Yamaha NXP Semiconductors
Alcatel Freescale OKI
Atmel Intel melalui DEC Quallcomm
Broadcom LG Samsung
Cirrus Logic ZiiLABS ST Microelectronics
NEC Digital Equipment Corporation Symbios Logic
NVIDIA Texas Instruments VLSI Technology
Sharp Marvell Technology Group
Yamaha NXP Semiconductors
ARM architecture merupakan sebuah instruction set Architecture (ISA).
Teknologi ini lebih dikenal untuk digunakan pada prosesor atau CPU dengan
konsumdi daya yang rendah atau memiliki tingkat efesiensi yang baik. Dan
arsitektur ini dirancang untuk mengoptimasi kemampuan prosesor dengan
menyederhanakan instruksi untuk eksekusi ygang lebih cepat. Prosesor dengan
Arsitektur ARM secara umum bergantung pada eksekusi tunggal (single-cycle
execution).
Arsitektur ARM terdiridari orthogonal instruction set. Meski istilah
orthogonal digunakan untuk sesuatu yang berbentuk siku (right angle), istilah
ini digvunakan untuk mngacu pada sebuah data objek (dalam kasus ini adalah
ISA), yang berfungsi tanpa mempengaruhi komponen lainnya atau secara statistic
bersifat independen.
Arsitektur ARM menggunakan 32 bit, dimana merupakan ukuran data maksimum
yang dapat diakomodasi olehnya. Lebih spesifik, setiap prosesor yang
menggunakan instruction set ini memiliki 16 register 32-bit, yang merupakan
unit penyimpanan kecil yang menyediakan akses data berkecepatan tinggi
ketimbang memungkinkan prosesor mendapatkan data dari penyimpanan lain yang
memiliki kecepatan lebih rendah.
Sejarah ARM
Setelah sukses dengan komputer BBC Micro, Acorn Computers
Ltd mempertimbangkan berpindah dari prosesor MOS Technology 6502 ke pasar
yang akan segera didominasi oleh IBM PC yang diluncurkan pada tahun 1981. Acorn
Business Computer (ABC) pada saat itu membutuhkan prosesor berikutnya untuk
dapat bekerja pada platform BBC Micro.
Akhirnya Acorn mendesain prosesornya sendiri dengan proyek
Berkeley RISC oleh engineernya. Kunjungan ke Western Design Center di daerah
Phoenix meyakinkan engineer Acorn Steve Furber dan Sophie Wilson bahwa mereka
tidak membutuhkan sumber daya dan fasilitas penelitian yang besar. Wilson
mengebangkan instruction set, mensimulasikan prosesor pada BBC Basic yang
menjalankan BBC Micro dengan prosesor 6502 kedua. ebelum melangkah lebih jauh,
mereka membutuhkan sumber daya yang lebih. Setelah Wilson mendapat persetujuan
dari CEO Acorn, Hermann Hauser, tim kecil melanjutkan implementasi ke perangkat
keras.
Sebuah
prosesor ARM dari Conexant yang umum digunakan pada Router.
Proyek Acorn RISC Machine resmi dimulai pada Oktober
1983. VLSI Technology, Inc dipilih sebagai mitra dalam memproduksi chip silikon
dimana sebelumnya telah memproduksi ROM dan custom chip sebelumnya. Proses
desain dipimpin oleh Wilson dan Furber, dengan tujuan utama latensi rendah
(low-latency) pada penanganan input/output (interupsi) seperti pada prosesor
MOS Technology 6502. Arsitektur 6502 memberikan pengembang mesin yang cepat
dalam pengaksesan memory tanpa harus menggunakan perangkat direct access memory
yang mahal. VLSI memproduksi chip ARM pertama kali pada 26 April 1985 yang
berhasil bekerja dan dikenal sebagai ARM1. Dan disusul dengan ARM2 yang
diproduksi pada tahun berikutnya.
Pengaplikasian prosesor ARM pertama kali adalah prosesor
kedua dari BBC Micro, untuk simulasi dalam pengembangan chip pendukung (VIDC,
IOC, MEMC) dan untuk mempercepat penggunaan perangkat lunak CAD dalam
pengembangan ARM2. Wilson menulis BBC Basic dalam bahasa assembly ARM, dimana
kode sangat padat sehingga ARM BBC Basic sangat cocok untuk setiap emulator
ARM.
ARM2 mempunyai lebar bus sebesar 32-bit, 26-bit (64 Mbyte)
alamat memory dan 16 buah register 32-bit. Program code harus ada dalam 64
Mbyte pertama dari memory, sebagaimana program counter dibatasi pada 26-bit
karena 6-bit atas pada register 32-bit digunakan sebagai status flag.
Kemungkinan besar ARM2 merupakan prosesor 32-bit paling sederhana di dunia
dengan hanya 30.000 transistor bila dibandingkan dengan Motorola 68000 dengan
70.000 transistor. Kesederhanaan ini diperoleh karena ARM tidak mempunyai
microcode yang mencakup seperempat hingga sepertiga transistor pada Motorola
68000. Selain itu ARM pada saat itu tidak memiliki cache memory. Hal ini
membuat ARM sebagai prosesor dengan konsumsi daya rendah namun performansi yang
lebih baik dari pada Intel 80286. Penerusnya yaitu ARM3 mempunyai 4 kByte cache
yang meningkatkan performansi.
Pada akhir 1980-an, Apple Computer dan VLSI Technology
memulai kerja sama dengan Acorn untuk prosesor ARM berikutnya. Kerjasama ini
sangat penting hingga Acorn melepas tim tersebut sebagai perusahaan baru
bernama Advanced RISC Machines Ltd. pada tahun 1990. Sehingga seringkali ARM
disebut sebagai Advanced RISC Machine disamping Acorn RISC Machine. Dan pada
tahun 1998 Advanced RISC Machines menjadi ARM Ltd.
Hasil kerja sama Apple-ARM menghasilkan ARM6 pada awal tahun
1992. Apple menggunakan ARM6 (ARM 610) sebagai prosesor pada PDA Apple Newton
dan pada tahun 1994 Acorn menggunakan ARM6 pada komputer PC RISC. Pada
frekuensi 233 MHz, prosesor ini hanya mengonsumsi daya sebesar 1 Watt dan versi
berikutnya lebih kecil dari itu.
Inti prosesor ARM tidak mengalami perubahan ukuran yang
signifikan. Pada ARM2 terdapat 30.000 transistor sedangkan pada ARM6 bertambah
hingga 35.000 transistor saja. ARM Ltd. hanya menjual IP (Intelectual Property)
core dimana perusahaan lain dapat memproduksi mikrokontroller dan prosesor
berdasarkan rancangan ARM. Implementasi yang dinilai paling berhasil adalah
ARM7TDMI yang terjual hingga ratusan juta chip. Ide dasarnya adalah produsen chip
komputer dapat membuat CPU lengkap berdasarkan rancangan ARM dan dapat dibuat
pada pabrik semikonduktor lama serta memberikan performansi yang tinggi pada
harga yang rendah. Arsitektur ARM dapat ditemui di banyak smartphone, PDA dan
perangkat genggam lain
Inti ARM
Keluarga
|
Versi Arsitektur
|
Inti
|
Fitur
|
Cache (I/D)/Memory management unit
|
MIPS@MHz
|
Aplikasi
|
ARM1
|
ARMv1 (kuno)
|
ARM1
|
Tidak ada
|
ARM Evaluation System second processor for BBC Micro
|
||
ARM2
|
ARMv2 (kuno)
|
ARM2
|
Penambahan instruksi multiply/perkalian (MUL)
|
Tidak ada
|
4 MIPS @ 8 MHz
0.33DMIPS/MHz |
Acorn Archimedes, Chessmachine
|
ARMv2a (kuno)
|
ARM250
|
MEMC (MMU), prosesor grafis dan IO terintegrasi.
Menambahkan instruksi SWP and SWPB (swap).
|
Tidak ada, MEMC1a
|
7 MIPS @ 12 MHz
|
Acorn Archimedes
|
|
ARM3
|
ARMv2a (kuno)
|
ARM2a
|
Pertama kali penggunaan cache.
|
4 kB unified
|
12 MIPS @ 25 MHz
0.50 DMIPS/MHz |
Acorn Archimedes
|
ARM6
|
ARMv3 (obsolete)
|
ARM60
|
Pertama kali mendukung pengalamatan 32-bit.
|
Tidak ada
|
10 MIPS @ 12 MHz
|
3DO Interactive Multiplayer, Zarlink GPS Receiver
|
ARM600
|
Penambahan cache dan coprocessor bus (FPA10
floating-point unit).
|
4 kB unified
|
28 MIPS @ 33 MHz
|
|||
ARM610
|
Tidak ada coprocessor bus.
|
4 kB unified
|
17 MIPS @ 20 MHz
0.65 DMIPS/MHz |
Acorn Risc PC 600, Apple Newton 100
|
||
ARMv3 (kuno)
|
ARM700
|
8 kB unified
|
40 MHz
|
Acorn Risc PC prototype CPU card
|
||
ARM710
|
ARM700
|
8 kB unified
|
40 MHz
|
Acorn Risc PC 700
|
||
ARM710a
|
ARM700
|
8 kB unified
|
40 MHz
0.68 DMIPS/MHz |
Acorn Risc PC 700, Apple eMate 300
|
||
ARM7100
|
ARM710a, System-on-a-chip.
|
8 kB unified
|
18 MHz
|
Psion Series 5
|
||
ARM7500
|
ARM710a, SoC.
|
4 kB unified
|
40 MHz
|
Acorn A7000
|
||
ARM7500FE
|
ARM7500, penambahan FPA dan EDO memory controller.
|
4 kB unified
|
56 MHz
0.73 DMIPS/MHz |
Acorn A7000+
|
||
ARMv4T
|
ARM7TDMI(-S)
|
3-stage pipeline, Thumb
|
Tidak ada
|
15 MIPS @ 16.8 MHz
63 DMIPS @ 70 MHz |
Game Boy Advance, Nintendo DS, iPod, Lego NXT, Atmel
AT91SAM7, Juice Box, NXP Semiconductors LPC2000 dan LH754xx
|
|
ARM710T
|
ARM7TDMI, cache
|
8 kB unified, MMU
|
36 MIPS @ 40 MHz
|
Psion Series 5mx, Psion Revo/Revo Plus/Diamond Mako
|
||
ARM720T
|
ARM7TDMI, cache
|
8 kB unified, MMU dengan Fast Context Switch Extension
|
60 MIPS @ 59.8 MHz
|
Zipit Wireless Messenger, NXP Semiconductors LH7952x
|
||
ARM740T
|
ARM7TDMI, cache
|
MPU
|
||||
ARMv5TEJ
|
ARM7EJ-S
|
5-stage pipeline, Thumb, Jazelle DBX, Enhanced DSP
|
Tidak ada
|
|||
ARMv4
|
SA-110
|
16 kB/16 kB, MMU
|
203 MHz
1.0 DMIPS/MHz |
Acorn Risc PC, Rebel/Corel Netwinder, Chalice CATS,
Psion Netbook
|
||
SA-1110
|
SA-110, SoC
|
16 kB/16 kB, MMU
|
233 MHz
|
LART (computer), Intel Assabet, Ipaq H36x0, Balloon
Board Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560 series, Palm Zire
31
|
||
ARM8
|
ARMv4
|
ARM810
|
5-stage pipeline, static branch prediction,
double-bandwidth memory
|
8 kB unified, MMU
|
84 MIPS @ 72 MHz
1.16 DMIPS/MHz |
Acorn Risc PC prototype CPU card
|
ARM9TDMI
|
ARMv4T
|
ARM9TDMI
|
5-stage pipeline, Thumb
|
Tidak ada
|
||
ARM920T
|
ARM9TDMI, cache
|
16 kB/16 kB, MMU
|
200 MIPS @ 180 MHz
|
Armadillo, Atmel AT91SAM9, GP32, GP2X, Tapwave Zodiac
(Motorola i. MX1), HHP-49/50 Calculators, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312,
EP9315, Samsung S3C2442 (HTC TyTN, First International Computer Neo
FreeRunner)
|
||
ARM922T
|
ARM9TDMI, caches
|
8 kB/8 kB, MMU
|
NXP Semiconductors LH7A40x
|
|||
ARM940T
|
As ARM9TDMI, caches
|
4 kB/4 kB, MPU
|
GP2X (second core), Meizu M6 Mini Player
|
|||
ARMv5TE
|
ARM946E-S
|
Thumb, Enhanced DSP, cache
|
variable, tightly coupled memories, MPU
|
Nintendo DS, Nokia N-Gage, Canon PowerShot A470,
Conexant 802.11 chips, Samsung S5L2010
|
||
ARM966E-S
|
Thumb, Enhanced DSP instructions
|
no cache, TCMs
|
ST Micro STR91xF, includes Ethernet
|
|||
ARM968E-S
|
As ARM966E-S
|
no cache, TCMs
|
||||
ARMv5TEJ
|
ARM926EJ-S
|
Thumb, Jazelle DBX, Enhanced DSP instructions
|
variable, TCMs, MMU
|
220 MIPS @ 200 MHz,
|
Mobile phones: Sony
Ericsson (K, W series); Siemens and Benq (x65 series and newer); Texas Instruments OMAP1710, OMAP1610, OMAP1611, OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6100, MSM6125, MSM6225, MSM6245,
MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500, MSM6800; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000, GPH Wiz, Marvell Feroceon (ex.: SheevaPlug), NEC C10046F5-211-PN2-A SoC -
undocumented core in the ATi
Hollywood graphics chip
used in the Wii, Samsung S3C2412 used in Squeezebox
Duet's Controller. NeoMagic MiMagic Family MM6, MM6+, MM8, MTV; Buffalo TeraStation Live (NAS); Telechips TCC7801, TCC7901;
|
|
ARMv5TE
|
ARM996HS
|
Clockless processor, as ARM966E-S
|
no caches, TCMs, MPU
|
|||
ARM10E
|
ARMv5TE
|
ARM1020E
|
6-stage pipeline, Thumb, Enhanced DSP instructions,
(VFP)
|
32 KB/32 KB, MMU
|
||
ARM1022E
|
As ARM1020E
|
16 KB/16 KB, MMU
|
||||
ARMv5TEJ
|
ARM1026EJ-S
|
Thumb, Jazelle DBX, Enhanced DSP instructions, (VFP)
|
variable, MMU or MPU
|
Western Digital MyBook II World Edition
|
||
ARMv5TE
|
80200/IOP310/IOP315
|
I/O Processor, Thumb, Enhanced DSP instructions
|
||||
80219
|
400/600 MHz
|
Thecus N2100
|
||||
IOP321
|
600 BogoMips @ 600 MHz
|
|||||
IOP33x
|
||||||
IOP34x
|
1-2 core, RAID Acceleration
|
32K/32K L1, 512K L2, MMU
|
||||
PXA210/PXA250
|
Applications processor, 7-stage pipeline
|
PXA210: 133 and 200 MHz, PXA250: 200, 300, and
400 MHz
|
||||
PXA255
|
32KB/32KB, MMU
|
400 BogoMips @ 400 MHz; 371-533 MIPS @ 400 MHz
|
Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor
Ranger & Stryder,
iRex ILiad
|
|||
PXA263
|
200, 300 and 400 MHz
|
|||||
PXA26x
|
default 400 MHz, up to 624 MHz
|
|||||
PXA27x
|
Applications processor
|
32 KB/32 KB, MMU
|
800 MIPS @ 624 MHz
|
Gumstix verdex, PXA270 COM, HTC Universal, HP hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim x30, x50, and x51 series, Motorola Q, Balloon3, Trolltech Greenphone, Palm TX, Motorola Ezx Platform A728, A780, A910,
A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Siemens LOOX
N560, Toshiba Portégé G500, Trēo 650-755p, Zipit
Z2
|
||
PXA800(E)F
|
||||||
Monahans
|
32KB/32KB L1, TCM, MMU
|
1000 MIPS @ 1.25 GHz
|
Samsung Omnia
|
|||
PXA900
|
Blackberry 8700, Blackberry Pearl (8100)
|
|||||
IXC1100
|
Control Plane Processor
|
|||||
IXP2400/IXP2800
|
||||||
IXP2850
|
||||||
IXP2325/IXP2350
|
||||||
IXP42x
|
NSLU2 IXP460/IXP465
|
|||||
ARM11
|
ARMv6
|
ARM1136J(F)-S
|
8-stage pipeline, SIMD, Thumb, Jazelle DBX, (VFP), Enhanced DSP
instructions
|
variable, MMU
|
740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHz
|
Texas Instruments OMAP2420 (Nokia
E90, Nokia N93, Nokia
N95, Nokia
N82), Zune, BUGbase[1], Nokia N800, Nokia N810, Qualcomm MSM7200 (with integrated ARM926EJ-S
Coprocessor@274MHz, used in Eten Glofiish, HTC TyTN II, HTC Nike), Freescale i.MX31 (used in the original Zune 30gb and
Toshiba Gigabeat S), Freescale MXC300-30 (Nokia
E63, Nokia
E71, Nokia
5800, Nokia
E51, Nokia
E75, Nokia
N97, Nokia
N81), Qualcomm MSM7201A as seen in the HTC
Dream, HTC Magic, Motorola Z6, HTC Hero
|
ARMv6T2
|
ARM1156T2(F)-S
|
9-stage pipeline, SIMD, Thumb-2, (VFP), Enhanced DSP instructions
|
variable, MPU
|
|||
ARMv6KZ
|
ARM1176JZ(F)-S
|
As ARM1136EJ(F)-S
|
variable, MMU+TrustZone
|
Apple
iPhone, Apple iPod touch, Conexant CX2427X, Motorola RIZR Z8, Motorola
RIZR Z10, NVIDIA GoForce 6100; Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410, S3C6430
|
||
ARMv6K
|
ARM11 MPCore
|
As ARM1136EJ(F)-S, 1-4 core SMP
|
variable, MMU
|
|||
Cortex
|
ARMv7-A
|
Cortex-A8
|
Application profile, VFP, NEON, Jazelle RCT, Thumb-2,
13-stage superscalar pipeline
|
variable (L1+L2), MMU+TrustZone
|
up to 2000 (2.0 DMIPS/MHz in speed from 600 MHz to
greater than 1 GHz)
|
Texas Instruments OMAP3xxx series, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPod touch (3rd
Generation), Archos 5, FreeScale i.MX51-SOC, BeagleBoard, Apple iPhone 3GS, Palm Pre, Samsung i8910, Sony Ericsson Satio, Touch Book, Nokia N900.
|
Cortex-A9
|
Application profile, (VFP), (NEON), Jazelle RCT and
DBX, Thumb-2, Out-of-order speculative issue superscalar
|
MMU+TrustZone
|
2.0 DMIPS/MHz
|
|||
As Cortex-A9, 1-4 core SMP
|
MMU+TrustZone
|
2.0 DMIPS/MHz (per core)
|
Texas Instruments OMAP4430/4440 ; "Sparrow" (planned)
|
|||
ARMv7-R
|
Cortex-R4(F)
|
Embedded profile, Thumb-2, (FPU)
|
variable cache, MPU optional
|
600 DMIPS @ 475MHz
|
Broadcom is a user, TMS570 from Texas Instruments
|
|
ARMv7-M
|
Cortex-M3
|
Microcontroller profile, Thumb-2 only.
|
no cache, MPU optional
|
125 DMIPS @ 100 MHz
|
Energy Micro's EFM32, Texas Instruments Stellaris microcontroller family, ST Microelectronics STM32, NXP Semiconductors LPC1700, Toshiba TMPM330FDFG, Ember's EM300 Series, Atmel AT91SAM3
|
|
ARMv6-M
|
Cortex-M0 (codenamed "Swift")
|
Microcontroller profile, Thumb-2 (16-bit Thumb
instructions & BL, MRS, MSR, ISB, DSB, and DMB).
|
No cache.
|
0.9 DMIPS/MHz
|
||
Cortex-M1
|
FPGA targeted, Microcontroller profile, Thumb-2 (16-bit
Thumb instructions & BL, MRS, MSR, ISB, DSB, and DMB).
|
None, tightly coupled memory optional.
|
Up to 136 DMIPS @ 170 MHz
|
Sumber
: