Cấu Trúc ARM

9
Cấu trúc ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng . Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu. Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện thoại di động , máy đa phương tiện, máy trò chơi cầm tay, máy tính cầm tay ) cho đến các thiết bị ngoại vi máy tính (ổ đĩa cứng , bộ định tuyến để bàn.) Một nhánh nổi tiếng của họ ARM là các vi xử Xscale của Intel . Trụ sở chính của công ty ARM tạiCambridge Anh ) Mục lục [ẩn ] 1 Lịch sử phát triển 2 Các dạng lõi 3 Các lưu ý về thiết kế 4 Giấy phép dùng ARM 5 Xem thêm 6 Tham khảo 7 Liên kết ngoài Lịch sử phát triển[sửa | sửa mã nguồn ]

description

Cấu trúc ARM dành cho người muốn tìm hiểu

Transcript of Cấu Trúc ARM

Cu trc ARM (vit tt t tn gc lAdvanced RISC Machine) l mt loi cu trcvi x l32 bit v 64 bitkiuRISCc s dng rng ri trong cc thit knhng. Do c c im tit kim nng lng, cc bCPUARM chim u th trong cc sn phm in t di ng, m vi cc sn phm ny vic tiu tn cng sut thp l mt mc tiu thit k quan trng hng u.

Ngy nay, hn 75% CPU nhng 32-bit l thuc h ARM, iu ny khin ARM tr thnh cu trc 32-bit c sn xut nhiu nht trn th gii. CPU ARM c tm thy khp ni trong cc sn phm thng mi in t, t thit b cm tay (PDA,in thoi di ng, my a phng tin, my tr chi cm tay, vmy tnh cm tay) cho n cc thit b ngoi vi my tnh ( a cng,b nh tuyn bn.) Mt nhnh ni ting ca h ARM l cc vi x lXscalecaIntel.

Tr s chnh ca cng ty ARM tiCambridge Anh)

Mc lc

[n]

1Lch s pht trin

2Cc dng li

3Cc lu v thit k

4Giy php dng ARM

5Xem thm

6Tham kho

7Lin kt ngoi

Lch s pht trin[sa|sa m ngun]

Mt b vi x lConexantc dng ch yu trong ccb nh tuyn

Vic thit k ARM c bt u t nm1983trong mt d n pht trin ca cng ty my tnhAcorn.

Nhm thit k, dn u biRoger WilsonvSteve Furber, bt u pht trin mt b vi x l c nhiu im tng ng viK thut MOS 6502tin tin. Acorn tng sn xut nhiu my tnh da trn6502, v vy vic to ra mt chip nh vy l mt bc tin ng k ca cng ty ny.

Nhm thit k hon thnh vic pht trin mu gi lARM1vo nm1985, v vo nm sau, nhm hon thnh sn phm thc gi lARM2. ARM2 ctuyn d liu32-bit,khng gian a ch26-bit tc cho php qun l n 64 Mbyte a ch v 16thanh ghi32-bit. Mt trong nhng thanh ghi ny ng vai tr lb m chng trnhvi 6 bit cao nht v 2 bit thp nht lu gi ccc trng thica b vi x l. C th ni ARM2 l b vi x l 32-bit kh dng n gin nht trn th gii, vi ch gm 30.000transistor(so vi b vi x l lu hn bn nm ca Motorola l68000vi khong 68.000 transistor). S n gin nh vy c c nh ARM khng cvi chng trnh(m chim khong n 1/3 trong 68000) v cng ging nh hu ht cc CPU vo thi , khng h chacache. S n gin ny a n c im tiu th cng sut thp ca ARM, m li c tnh nng tt hn c286. Th h sau,ARM3, c to ra vi 4KB cache v c chc nng c ci thin tt hn na.

Vo nhng nm cui thp nin 80, hng my tnhApple Computerbt u hp tc vi Acorn pht trin cc th h li ARM mi. Cng vic ny tr nn quan trng n ni Acorn nng nhm thit k tr thnh mt cng ty mi gi lAdvanced RISC Machines. V l do bn thng c gii thch ARM l ch vit tt caAdvanced RISC Machinesthay v Acorn RISC Machine.Advanced RISC Machinestr thnh cng ty ARM Limited khi cng ty ny c a rasn chng khon LondonvNASDAQnm 1998.

Kt qu s hp tc ny lARM6. Mu u tin c cng b vo nm 1991 v Apple s dng b vi x l ARM 610 da trn ARM6 lm c s choPDAhiuApple Newton. Vo nm 1994, Acorn dng ARM 610 lmCPUtrong cc my vi tnhRiscPCca h.

Tri qua nhiu th h nhng li ARM gn nh khng thay i kch thc. ARM2 c 30.000 transistors trong khi ARM6 ch tng ln n 35.000. tng ca nh sn xut li ARM l sao cho ngi s dng c th ghp li ARM vi mt s b phn ty chn no to ra mt CPU hon chnh, mt loi CPU m c th to ra trn nhngnh my sn xut bn dnc v vn tip tc to ra c sn phm vi nhiu tnh nng m gi thnh vn thp.

Th h thnh cng nht c l lARM7TDMIvi hng trm triu li c s dng trong cc my in thoi di ng, h thng video game cm tay, v SegaDreamcast. Trong khi cng ty ARM ch tp trung vo vic bnli IP, cng c mt s giy php to rab vi iu khinda trn li ny.

Dreamcast a ra b vi x l SH4 m ch mn mt s tng t ARM (tiu tn cng sut thp, tp lnh gn ) nhng phn cn li th khc vi ARM. Dreamcast cng to ra mt chip x l m thanh c thit k bi Yamaha vi li ARM7. Bn cnh , Gameboy Advance ca Nintendo, dng ARM7TDMI tn s 16,78MHz.

HngDECcng bn giy php v li cu trc ARM (i khi chng ta c th b nhm ln v h cng sn xut raDEC Alpha) v sn xut ra th hStrong ARM. Hot ng tn s 233MHz m CPU ny ch tiu tn khong 1wattcng sut (nhng i sau cn tiu tn t cng sut hn na). Sau nhng kin tng, Intel cng c chp nhn sn xut ARM v Intel nm ly c hi ny b sung vo th h gi cii960ca h bng Strong ARM. T , Intel pht trin cho chnh h mt sn phm chc nng cao gi tn lXscale.

Cc dng li[sa|sa m ngun]

H

Li

c tnh

Cache (I/D)/MMU

MIPSin hnh @ MHz

ng dng

ARM7TDMI

ARM7TDMI(-S)

3-tng pipeline

khng

15 MIPS @ 16.8MHz

Game Boy Advance,Nintendo DS,iPod

ARM710T

MMU

36 MIPS @ 40MHz

Psion 5 series

ARM720T

8KB unified,MMU

60 MIPS @ 59.8MHz

ARM740T

MPU

ARM7EJ-S

Jazelle DBX

khng

ARM9TDMI

ARM9TDMI

5-tng pipeline

khng

ARM920T

16KB/16KB, MMU

200 MIPS @ 180MHz

GP32,GP2X(li u tin),Tapwave Zodiac(Motorolai. MX1)

ARM922T

8KB/8KB, MMU

ARM940T

4KB/4KB, MPU

GP2X(li th hai)

ARM9E

ARM946E-S

thay i c, tightly coupled memories, MPU

Nintendo DS,NokiaN-Gage, Conexant 802.11 chips

ARM966E-S

khng c cache, TCMs

ST Micro STR91xF, includes Ethernet[1]

ARM968E-S

khng c cache, TCMs

ARM926EJ-S

Jazelle DBX

thay i c, TCMs, MMU

220 MIPS @ 200MHz

in thoi di ng:Sony Ericsson(K, W series),SiemensandBenq(i x65 v i mi hn)

ARM996HS

Clockless processor

khng caches, TCMs, MPU

ARM10E

ARM1020E

(VFP)

32KB/32KB, MMU

ARM1022E

(VFP)

16KB/16KB, MMU

ARM1026EJ-S

Jazelle DBX

variable, MMU or MPU

ARM11

ARM1136J(F)-S

SIMD, Jazelle DBX, (VFP)

variable, MMU

ARM1156T2(F)-S

SIMD, Thumb-2, (VFP)

thay i c, MPU

ARM1176JZ(F)-S

SIMD, Jazelle DBX, (VFP)

thay i c, MMU+TrustZone

ARM11 MPCore

1-4 core SMP, SIMD, Jazelle DBX, (VFP)

thay i c, MMU

Cortex

Cortex-A8

Application profile, NEON, Jazelle RCT, Thumb-2

variable (L1+L2), MMU+TrustZone

ln n 2000 (2.0 DMIPS/MHz in speed from 600MHz to greater than 1GHz)

Texas InstrumentsOMAP3

Cortex-R4

Embedded profile

variable cache, MMU optional

600 DMIPS

Broadcoml mt hng s dng

Cortex-M3

Microcontroller profile

no cache, (MPU)

120 DMIPS @ 100MHz

Luminary Micro[2]microcontroller family

XScale

80200/IOP310/IOP315

I/O Processor

80219

IOP321

Iyonix

IOP33x

PXA210/PXA250

Applications processor

ZaurusSL-5600

PXA255

32KB/32KB, MMU

400BogoMips@400MHz

Gumstix

PXA26x

PXA27x

800 MIPS @ 624MHz

HTCUniversal,ZaurusSL-C1000

PXA800(E)F

Monahans

1000 MIPS @ 1.25GHz

PXA900

Blackberry 8700

IXC1100

Control Plane Processor

IXP2400/IXP2800

IXP2850

IXP2325/IXP2350

IXP42x

NSLU2

IXP460/IXP465

Cc lu v thit k[sa|sa m ngun]

t c mt thit k gn, n gin v nhanh, cc nh thit k ARM xy dng n theo kiu ni cng khng cvi chng trnh, ging vi b vi x l 8-bit6502 tng c dng trong cc my vi tnh trc ca hngAcorn.

Cu trc ARM bao gm cc c tnh ca RISC nh sau:

Cu trc np/lu tr.

Khng cho php truy xut b nh khng thng hng (by gi cho php trong li Arm v6)

Tp lnh trc giao

File thanh ghi ln gm 16 x 32-bit

Chiu di m my c nh l 32 bit d gii m v thc hin pipeline, t c iu ny phi chp nhn gim mt m my.

Hu ht cc lnh u thc hin trong vng mt chu k n.

So vi cc b vi x l cng thi nhIntel 80286vMotorola 68020, trong ARM c mt s tnh cht kh c o nh sau:

Hu ht tt c cc lnh u cho php thc thi c iu kin, iu ny lm gim vic phi vit cc tiu r nhnh cng nh b cho vic khng c mtb d on r nhnh.

Trong cc lnh s hc, ch ra iu kin thc hin, ngi lp trnh ch cn sam iu kin

C mtthanh ghi dch ng thng32-bit m c th s dng vi chc nng hon ho vi hu ht cc lnh s hc v vic tnh ton a ch.

C cc kiunh a chtheo ch s rt mnh

C h thng con thc hinngthai mc u tin n gin nhng rt nhanh, km theo cho php chuyn tng nhm thanh ghi.

Giy php dng ARM[sa|sa m ngun]

Cu trc ARM c cng ty Anh ARM Holding ng k bn quyn. Pht trin u tin vo nhng nm 1980, n nrong nm 2013 n l kin trc c s dng ph bin nht. Trong nm 2011 cc nh sn xut chip da trn kin trc ARM bo co 7.9 t b vi x l ARM c mua, hin din trong 95% smartphone, 90% a cng,40% truyn hnh k thut s v set top box, 15% trong vi iu khin,20% trong my tnh di ng.

Mt mnh ARM Holding khng sn xut chip in t, nhng n ng k bn quyn ca n n nh sn xut bn dn.B vi x l v h thng trn chip da trn kin trc ARM bao gm Qualcomm Snapdragon, nVidia Tegra, v Texas Instruments OMAP.

Xem thm[sa|sa m ngun]

Inferno

DirectBand

AMULET

Philips LPC2000 ARM7TDMI-S Microcontrollers

Tham kho[sa|sa m ngun]

Lin kt ngoi[sa|sa m ngun]

4tech Ltd.

ARM Ltd.

Inferno: An Open Source operating system for embedded devices

An open source RTOS for low end ARM7 devices

ARM Assembler Programming; tutorial, resources, and examples

Philips ARM microcontrollers

The ARM microcontroller Wiki

Atmel ARM microcontrollers

NEON

Keith & Koep GmbH - System On Module with ARM and Windows CE

Toradex Industrial Single Board Computers

GCC ARM improvement project

Debian GNU/Linux on ARM

ARM7 lpc210x Programming; Tutorial;

Forum dedicated to ARM Cores

DeviceToolsSoftware, tools and resources for ARM developers.

Embedded Toolsmiths-JTAGEmulator, JTAG Flash Programmer, JTAG Debugger for ARM Processors.

ARM7 Evaluation Board; AT91SAM7X256; 256K Flash, 64K SRAM, JTAG, Ethernet, CAN, USB, UART and more.

gumstix- Gum stick size, full function XScale Linux computers

Segger J-Link(JTAG Emulator for ARM Cores)

Segger-US J-Link(JTAG Emulator for ARM Cores)

Circuit Cellar Article (SOFTWARE BREAKPOINTS IN FLASH MEMORY FOR ARM MCUs)

Wikimedia Commons c thm th loi hnh nh v phng tin truyn ti vCu trc ARM

Th loi:

Cu trc ARM