Arsitektur ARM

keluarga pemroses komputer berbasis RISC

Arsitektur ARM merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM Limited. Dikenal sebagai Advanced RISC Machine di mana 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 elektronik seluler dan sistem terbenam di mana membutuhkan daya dan harga yang rendah.

ARM
Logo ARM
DesignerARM Holdings
Bits32-bit & 64-bit implementasi
Introduced1983
VersionARMv8[1]
DesignRISC
TypeRegister-Register
EncodingFixed (Tetap)
BranchingCondition code
EndiannessBi (Little as default)
ExtensionsNEON, Thumb, Jazelle, VFP, A64
Registers
16/31[1]

Pada tahun 2007, sekitar 98% dari satu miliar telepon genggam yang terjual menggunakan setidaknya satu buah prosesor ARM. Dan pada tahun 2009, prosesor ARM mendominasi sekitar 90% dari keseluruhan pasar prosesor 32-bit RISC. Prosesor ARM digunakan di berbagai bidang seperti elektronik umum, termasuk PDA (Personal Digital Assistant), Ponsel, Pemutar media, Pemutar musik, konsol genggam, kalkulator dan periferal komputer seperti HDD (Hard Disk Drive) dan Router.

Lisensi arsitektur ARM dimiliki oleh Alcatel, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel melalui DEC, LG, Marvell Technology Group, NEC, NVIDIA, NXP Semiconductors, OKI, Quallcomm, Samsung, Sharp, ST Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamaha dan ZiiLABS.

Sejarah

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. Namun prosesor seperti Motorola 68000 dan National Semiconductor 32016 tidak cocok, sedangkan prosesor 6502 tidak mencukupi untuk kebutuhan antar muka grafis.

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. Hal tersebut membuktikan kepada engineer Acorn bahwa mereka berada pada proses yang tepat. Sebelum 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 di mana 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 (Computer Aided Design) dalam pengembangan ARM2. Wilson menulis BBC Basic dalam bahasa assembly ARM, di mana 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 daripada 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 sering kali 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 di mana 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

KeluargaVersi ArsitekturIntiFiturCache (I/D)/Memory management unitMIPS@MHzAplikasi
ARM1ARMv1 (kuno)ARM1Tidak adaARM Evaluation System second processor for BBC Micro
ARM2ARMv2 (kuno)ARM2Penambahan instruksi multiply/perkalian (MUL)Tidak ada4 MIPS @ 8 MHz
0.33DMIPS/MHz
Acorn Archimedes, Chessmachine
ARMv2a (kuno)ARM250MEMC (MMU), prosesor grafis dan IO terintegrasi. Menambahkan instruksi SWP and SWPB (swap).Tidak ada, MEMC1a7 MIPS @ 12 MHzAcorn Archimedes
ARM3ARMv2a (kuno)ARM2aPertama kali penggunaan cache.4 kB unified12 MIPS @ 25 MHz
0.50 DMIPS/MHz
Acorn Archimedes
ARM6ARMv3 (kuno)ARM60Pertama kali mendukung pengalamatan 32-bit.Tidak ada10 MIPS @ 12 MHz3DO Interactive Multiplayer, Zarlink GPS Receiver
ARM600Penambahan cache dan coprocessor bus (FPA10 floating-point unit).4 kB unified28 MIPS @ 33 MHz
ARM610Tidak ada coprocessor bus.4 kB unified17 MIPS @ 20 MHz
0.65 DMIPS/MHz
Acorn Risc PC 600, Apple Newton 100
ARM7ARMv3 (kuno)ARM7008 kB unified40 MHzAcorn Risc PC prototype CPU card
ARM710ARM7008 kB unified40 MHzAcorn Risc PC 700
ARM710aARM7008 kB unified40 MHz
0.68 DMIPS/MHz
Acorn Risc PC 700, Apple eMate 300
ARM7100ARM710a, System-on-a-chip.8 kB unified18 MHzPsion Series 5
ARM7500ARM710a, SoC.4 kB unified40 MHzAcorn A7000
ARM7500FEARM7500, penambahan FPA dan EDO memory controller.4 kB unified56 MHz
0.73 DMIPS/MHz
Acorn A7000+
ARM7TDMIARMv4TARM7TDMI(-S)3-stage pipeline, ThumbTidak ada15 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
ARM710TARM7TDMI, cache8 kB unified, MMU36 MIPS @ 40 MHzPsion Series 5mx, Psion Revo/Revo Plus/Diamond Mako
ARM720TARM7TDMI, cache8 kB unified, MMU dengan Fast Context Switch Extension60 MIPS @ 59.8 MHzZipit Wireless Messenger, NXP Semiconductors LH7952x
ARM740TARM7TDMI, cacheMPU
ARMv5TEJARM7EJ-S5-stage pipeline, Thumb, Jazelle DBX, Enhanced DSPTidak ada
StrongARMARMv4SA-11016 kB/16 kB, MMU203 MHz
1.0 DMIPS/MHz
Acorn Risc PC, Rebel/Corel Netwinder, Chalice CATS, Psion Netbook
SA-1110SA-110, SoC16 kB/16 kB, MMU233 MHzLART (computer), Intel Assabet, Ipaq H36x0, Balloon Board Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560 series, Palm Zire 31
ARM8ARMv4ARM8105-stage pipeline, static branch prediction, double-bandwidth memory8 kB unified, MMU84 MIPS @ 72 MHz
1.16 DMIPS/MHz
Acorn Risc PC prototype CPU card
ARM9TDMIARMv4TARM9TDMI5-stage pipeline, ThumbTidak ada
ARM920TARM9TDMI, cache16 kB/16 kB, MMU200 MIPS @ 180 MHzArmadillo, 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)
ARM922TARM9TDMI, caches8 kB/8 kB, MMUNXP Semiconductors LH7A40x
ARM940TAs ARM9TDMI, caches4 kB/4 kB, MPUGP2X (second core), Meizu M6 Mini Player
ARM9EARMv5TEARM946E-SThumb, Enhanced DSP, cachevariable, tightly coupled memories, MPUNintendo DS, Nokia N-Gage, Canon PowerShot A470, Conexant 802.11 chips, Samsung S5L2010
ARM966E-SThumb, Enhanced DSP instructionsno cache, TCMsST Micro STR91xF, includes Ethernet
ARM968E-SAs ARM966E-Sno cache, TCMsNXP Semiconductors LPC2900 Diarsipkan 2009-06-12 di Wayback Machine.
ARMv5TEJARM926EJ-SThumb, Jazelle DBX, Enhanced DSP instructionsvariable, TCMs, MMU220 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 Diarsipkan 2009-11-27 di Wayback Machine., 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;
ARMv5TEARM996HSClockless processor, as ARM966E-Sno caches, TCMs, MPU
ARM10EARMv5TEARM1020E6-stage pipeline, Thumb, Enhanced DSP instructions, (VFP)32 KB/32 KB, MMU
ARM1022EAs ARM1020E16 KB/16 KB, MMU
ARMv5TEJARM1026EJ-SThumb, Jazelle DBX, Enhanced DSP instructions, (VFP)variable, MMU or MPUWestern Digital MyBook II World Edition
XScaleARMv5TE80200/IOP310/IOP315I/O Processor, Thumb, Enhanced DSP instructions
80219400/600 MHzThecus N2100
IOP321600 BogoMips @ 600 MHzIyonix
IOP33x
IOP34x1-2 core, RAID Acceleration32K/32K L1, 512K L2, MMU
PXA210/PXA250Applications processor, 7-stage pipelinePXA210: 133 and 200 MHz, PXA250: 200, 300, and 400 MHzZaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90
PXA25532KB/32KB, MMU400 BogoMips @ 400 MHz; 371-533 MIPS @ 400 MHzGumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad
PXA263200, 300 and 400 MHzSony CLIÉ NX73V, NX80V
PXA26xdefault 400 MHz, up to 624 MHzPalm Tungsten T3
PXA27xApplications processor32 KB/32 KB, MMU800 MIPS @ 624 MHzGumstix 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
Monahans32KB/32KB L1, TCM, MMU1000 MIPS @ 1.25 GHzSamsung Omnia
PXA900Blackberry 8700, Blackberry Pearl (8100)
IXC1100Control Plane Processor
IXP2400/IXP2800
IXP2850
IXP2325/IXP2350
IXP42xNSLU2 IXP460/IXP465
ARM11ARMv6ARM1136J(F)-S8-stage pipeline, SIMD, Thumb, Jazelle DBX, (VFP), Enhanced DSP instructionsvariable, MMU740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHzTexas Instruments OMAP2420 (Nokia E90, Nokia N93, Nokia N95, Nokia N82), Zune, BUGbase[1], Nokia N800, Nokia N810, Qualcomm MSM7200 (with integrated ARM926EJ-S Coprocessor@274 MHz, 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
ARMv6T2ARM1156T2(F)-S9-stage pipeline, SIMD, Thumb-2, (VFP), Enhanced DSP instructionsvariable, MPU
ARMv6KZARM1176JZ(F)-SAs ARM1136EJ(F)-Svariable, MMU+TrustZoneApple iPhone, Apple iPod touch, Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100; Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410, S3C6430
ARMv6KARM11 MPCoreAs ARM1136EJ(F)-S, 1-4 core SMPvariable, MMUNvidia APX 2500
CortexARMv7-ACortex-A8Application profile, VFP, NEON, Jazelle RCT, Thumb-2, 13-stage superscalar pipelinevariable (L1+L2), MMU+TrustZoneup 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-A9Application profile, (VFP), (NEON), Jazelle RCT and DBX, Thumb-2, Out-of-order speculative issue superscalarMMU+TrustZone2.0 DMIPS/MHz
Cortex-A9 MPCoreAs Cortex-A9, 1-4 core SMPMMU+TrustZone2.0 DMIPS/MHz (per core)Texas Instruments OMAP4430/4440 ; "Sparrow" (planned)
ARMv7-RCortex-R4(F)Embedded profile, Thumb-2, (FPU)variable cache, MPU optional600 DMIPS @ 475 MHzBroadcom is a user, TMS570 from Texas Instruments
ARMv7-MCortex-M3Microcontroller profile, Thumb-2 only.no cache, MPU optional125 DMIPS @ 100 MHzEnergy Micro's EFM32, Texas Instruments Stellaris microcontroller family, ST Microelectronics STM32, NXP Semiconductors LPC1700 Diarsipkan 2009-12-21 di Wayback Machine., Toshiba TMPM330FDFG Diarsipkan 2011-06-14 di Wayback Machine., Ember's EM300 Series, Atmel AT91SAM3
ARMv6-MCortex-M0 (codenamed "Swift")Microcontroller profile, Thumb-2 (16-bit Thumb instructions & BL, MRS, MSR, ISB, DSB, and DMB).No cache.0.9 DMIPS/MHzNXP Semiconductors NXP LPC1100 Diarsipkan 2009-09-24 di Wayback Machine.
Cortex-M1FPGA 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
KeluargaVersi ArsitekturIntiFiturCache (I/D)/Memory management unitMillion instructions per second @ MHzAplikasi

Referensi

Pranala luar