, >>>

ChipNews

2003: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2002: 
1, 5, 6, 7, 8, 9
2001: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2000: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1999: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

ChipNews

Новости строительства

827:

827 0688759652

:

- . , , " " " ", .

2963-2 (RUS) . :

2963-2

II ... 372:

!

RISC- ARM. 1.

. , .

RISC- ARM. 1

Ӹ 32- , ARM. : Atmel, Samsung, Intel, Motorola, Cirrus Logic, Oki . "/", . , .

ARM Advanced RISC Mahines (), , . . 1 . "-", , .

1. ARM

   ARM.

, ARM, , . :

  • VHDL Verilog ( );
  • ;
  • ( ).

, , . , 0,25, 0,18 0,13 . , ĸ . 1.

1. ARM

MIPS/ , ² , / - MMU
0,25
ARM7TDMI 0,9 1,02 0,78 6070    
ARM7TDMI-S 0,9 1,20 1,10 6070    
0,18
ARM7TDMI 0,9 0,59 0,30 80110    
ARM7TDMI-S 0,9 0,62 0,39 80110    
ARM7EJ-S 1,0 0,85 0,40 80110    
ARM940T 1,1 4,2 0,75 180200 4K/4K MPU
ARM946E-S 1,1 5,0 1,00 150170 01 MPU
ARM966E-S 1,1 4,0 0,90 150170    
ARM720T 1,1 3,5 0,65 6080 8K +
ARM920T 1,1 6,0 0,25 220270 16K/16K +
ARM922T 1,1 3,5 0,25 220270 180200 +
ARM926EJ-S 1,0 6,5 1,40 180200 4128 +
0,13
ARM7TDMI 0,9 0,30 0,08 100133    
ARM7TDMI-S 0,9 0,32 0,11 100133    
ARM7EJ-S 1,0 0,42 0,12 100133    
ARM940T 1,1 2,1 0,20 220250 4K/4K MPU
ARM946E-S 1,1 2,5 0,25 180210 01 MPU
ARM966E-S 1,1 2,0 0,22 180210    
ARM720T 0,9 1,8 0,20 100120 8K +
ARM920T 1,1 6,0 0,25 220270 16K/16K +
ARM922T 1,1 3,5 0,25 220270 8K/8K +
ARM926EJ-S 1,0 3,2 0,35 220270 4128 +
ARM1020E 1,23 10,3 0,60 270325 32K/32K +
ARM1022E 1,23 6,7 0,60 270325 16K/16K +

, .pdf

- ARM, .

ARM ARM7 Thumb, ARM6 Thumb. 32- RISC-, 130 ../. 0,18 ARM7TDMI 0,59 2, 0,25 /. ARM7TDMI-S ARM7EJ-S . ARM7EJ-S , (DSP), Jazelle Java-.

ARM720T ϸ (MMU), , . MMU 1 , 4 64 . MMU Linux, Windows CE Palm OS.

ARM740T ݸ ARM720T, MMU (MPU). MPU (, ). 8 , ̸ .

ARM720T ARM740T ϸ - ߸ 8 . ARM7 Thumb , , , .

ARM7 - . ARM9, ARM10 - .

ARM9 Thumb ARM7 Thumb . . 220 ../ 0,3 /. - ARM920T, ARM922T ARM940T. , ߸: 16/16K, 8K/8K 4K/4K, . , ARM920T ARM922T ETM .

ARM9E-S Thumb ARM . (DSP), - (MAC). VFP9-S, . ARM946E-S ARM926EJ-S - ߸: 0 1 4 128, .

ARM9 Thumb ARM9E-S Thumb . , , , , . DSP- ARM9E-S Thumb ( AC3, MPEG), (ABS).

ARM10 Thumb . ARM 0,15 0,11. 2003 390 700 ../, 0,3 /. :

  • 64- ;
  • - - 16 32 ;
  • ;
  • VFP10;
  • ;
  • DSP- ;
  • .

ARM10 Thumb , . , ARM10 , , Ҹ .

StrongARM ARM Intel. Palm PC. StrongARM ARM7, Thumb ( 16- ). StrongARM SA-1110, ϸ :

  • ߸ 16 ߸ 8 ;
  • -, ߸ , ;
  • ;
  • , , , ;
  • ;
  • ;
  • ;
  • USB, UART, SDLC, IrDA;
  • , / .

Intel SA-1111, SA-1110, Ÿ . SA-1111 USB, , PCMCIA- .

ARM7TDMI, ۸. ARM www.arm.com.

ARM7TDMI

ARM7TDMI [1]. :

  • : ARM THUMB. ARM 32- , THUMB 16- ;
  • Ҹ ( );
  • ;
  • JTAG ETM.

ARM7TDMI

ARM :

  1. User - .
  2. Supervisor - (), , .
  3. System - , .
  4. IRQ - , IRQ.
  5. FIQ (Fast IRQ) - , FIQ.
  6. Abort - , ( , , , Abort).
  7. Undefined - .

, 32- , (. 2).

2. ARM

     ARM.

User, , 32- R0-R15 CPSR. R15 ޸ PC. R14 (LR - Link Register) , PC . R13 (SP - Stack Pointer) .

, ̸ ARM [2], . 2 . , , :

  • a1 - a4 (argument 1 4) .
  • v1 - v8 ~(variable 1 - 8) .
  • IP (Intra-Procedure-call scratch register) - .

CPSR (. 3):

3. CPSR

  CPSR.

  • M4-0 - . 2;
  • T - : ARM ( T = 0) THUMB ( T = 1);
  • I, F - ( ) IRQ FIQ;
  • N, Z, C, V - (N), (Z), () (V), .

2.

M4-0
1 0 0 0 0 User
1 0 0 0 1 FIQ
1 0 0 1 0 IRQ
1 0 0 1 1 Supervisor
1 0 1 1 1 Abort
1 1 0 1 1 Undefined
1 1 1 1 1 System

, .pdf

CPSR , User. .

Supervisor. User Ը CSPR , M4-0 = 10000. User Supervisor SWI. . Supervisor User, System, PSR M4-0 = 11111. IRQ, FIQ, Abort, Undefinied .

CPSR ( ) SPSR, . CPSR .

R13 (SP), R14 (LR). . , .

FIQ ( FIQ) R8-R12, R8_fiq - R12_fiq (. 2). . .

, . 3.

3.

#Imm
Rn
Rn, shift #n
[Rn] -
[Rn,±Imm] {!}
[Rn,±Rm] {!}
[Rn,±Rm, shift #n]
[Rn],±Rm
[Rn],±Rm, shift #n

, .pdf

Imm . Rn, .

ARM . Rn n, ( 1 31). "shift" Ҹ , :

  • LSL ;
  • LSR ;
  • ASR ;
  • ROR .

4.

EQ Z = 1
NE Z = 0
CS C = 1
CC C = 0
MI N = 1
PL N = 0
VS V = 1
VC V = 0
HI C = 1, Z = 0
LS C = 0, Z = 1
GE N = V
GE N = V
LT N V
GT Z = 0, N = V
LE Z = 1, N V
AL  

, .pdf

MOV (. 5), . CPSR C. C , . C CPSR.

5.

LDM  
LDR Rd := ()
MOV Rd := Op2
MRS CPSR SPSR Rn := CPSR (SPSR)
MSR PSR SPSR CPSR (SPSR): = Rm
MVN Rd := Op2
STM  
STR <> := Rn
SWP Rd := [Rn], [Rn] := Rm

, .pdf

- Rn , .

: - -. - Rn, Ը Imm, Rm Rm. {!}, Rn . - Rn, .

ARM7TDMI RISC-, . :

  • . , ޸ R13, . STM LDM.
  • CSPR N, Z, C, V S. CPSR .
  • , Ÿ . . 4.

AL - . "", "", " ", " " ; "", "", " ", " " - .

(. 5) ɖ LDM STM. , . 16- , R15-0. , ( STM) ( LDM).

CPSR MSR User N, Z, V, C. . MSR . BX (. 7).

6.

ADC ޸ Rd := Rn+Op2+C
ADD Rd := Rn+Op2
AND Rd := Rn AND Op2
BIC () Rd := Rn AND ( Op2)
CMN CPSR flags := Rn+Op2
CMP CPSR flags := RnOp2
EOR Rd := Rn XOR Op2
MLA Rd := (RmRs)+Rn
MUL Rd := RmxRs
ORR Rd := Rn OR Op2
RSB Rd := Op2Rn
RSC Rd := Op2Rn1+C
SBC Rd := RnOp21+C
SUB Rd := Rn - Op2
TEQ CPSR flags:= Rn XOR Op2
TST CPSR flags:= Rn AND Op2

, .pdf

7.

B PC := PC + (rel<<1)
BL LR LR := PC, PC := PC + (rel<<1)
BX PC := Rn, T := Rn[0]
SWI Supervisor, LR := PC, PC := 0x0008

, .pdf

(. 6) , Op2 - , . Rd. , , Ը ( ).

ARM . - MUL MLA. ( ), ( ). L. , . , : S U, . : MUL, SMULL, UMULL. , MLA, SMLAL, UMLAL.

RSB . " Op2 Rn Rd".

CMN , .

(. 7) . B (. 4) . BL, ޸ PC ( ) LR. 24- rel, - PC. Ը ( LR) , SP . Ը , , . ޸, THUMB, Ҹ, ARM.

BX . (޸ Ҹ) 31-1 31-2 Rn, , - , CPSR T.

SWI . Supervisor, LR 0x0008. . , SWI - , User Supervisor.

(. 8) , , . ARM 16 , 16 cRn. , , , , (. 4). , Ÿ . cRn ( ). CDP, . / LDC, STC, MCR, MPC.

8.

CDP  
LDC cRn := <>
MCR cRn := Rn {cRm}
MRC Rn := cRn {cRm}
STC <> := cRn

, .pdf

4.

 .

ARM7 ARM . DSP- , . Jazelle- Java-. ARM7EJ-S.

ARM . 4, :

  • Cond - (. 4);
  • Rn, Rm - ;
  • Rd - ;
  • Opcode - ;
  • Offset - ;
  • Register List - ;
  • S - ;
  • L - ( / );
  • B - ;
  • W - ;
  • P - - - ;
  • U - ;
  • A - ;
  • N - (/).

, . 4:

  1. .
  2. .
  3. .
  4. .
  5. .
  6. 16- .
  7. 16- .
  8. 32- .
  9. ̸ .
  10. .
  11. .
  12. .
  13. .
  14. .
  15. .

  1. ARM7TDMI Technical Reference Manual. rev. 3,4. ARM Limited. 19942001.
  2. The ARM-THUMB Procedure Call Standart. ARM Limited, 1998.







RISC- ARM. 1. :
 :
: :
<b> </b>
<i></i>
<a href="http://site.ru"> </a>