![Intel IXP45X Скачать руководство пользователя страница 919](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092919.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
919
Exponentiation Acceleration Unit—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network
Processors
25.5
Performance Requirements
The equation for calculating the # of clock cycles for an exponentiation is given below:
Total clocks = (size of exponent) x (number of modular multiplies) x (number of long
multiplies per modular multiply) x (number of clocks for each long multiply). Using a
32-by-32-bit, single-cycle multiplier, it takes 1,024 (32 * 32) clocks to multiply two
1,024-bit numbers.
For an operand length of 1024 bits the number of clocks needed for an exponentiation
operation is: (exp) * (# Mod Mults) * (# Long Mults) * (# clks per long mult) or
specifically;
If statistically half the exponent bits are 1,then an exponentiation operation would be
approximately:
Public key operations (short exponent) are approximated by:
Note:
This does not include Montgomery operations on the operands, which require additional
clocks.
Table 290.
EAU RAM Memory Locations
Address Offset
from EAU RAM
Base
(0x7000_0000)
Modular
Exponentiation
1
(C=Me mod n)
Modular
Reduction
2
(R =A MOD n)
Big number
Multiplication
(R=A*B)
Big Number
Add, Sub
(R=A op B)
MonPro
3
(R= a_bar *
b_bar * r-1 mod
n)
Copy,
Clear,
Fill
700H - 0FFFH
unused
unused
unused
unused
unused
Reg7
600H - 6FFH
unused
unused
unused
unused
unused
Reg6
500H - 5FFH
Modulus (n)
Modulus (n)
unused
unused
Modulus (n)
Reg5
400H - 4FFH
temp
temp
unused
unused
temp
Reg4
300H - 3FFH
Op1/Result (M/C)
A_hi
Result_hi
unused
Modulus (n)
Reg3
200H - 2FFH
Temp
A_lo/Result
Result_lo
Result
b_bar/Result
Reg2
100H - 1FFH
Temp
temp
B
B
a_bar
Reg1
000H - 0FFH
Exponent (e)
temp
A
A
unused
Reg0
Notes:
1.
The Modular Exponentiation operation requires that the MSB and LSB of the modulus be 1.
2.
The Modular reduction operation requires that the MSB of the modulus be 1.
3.
MonPro is used for testing only.
4.
The top two registers are used to temporarily store parameters for algorithms based on the Chinese Remainder
Theorem (CRT).
1,024* 2 * 3* 1024= 6,291,456 clocks @ 133 MHz = 47 ms for a worst case,
1,024 * 1.5 * 3 * 1,024 = 4,718,592 @ 133 MHz = 35 ms
3 * 2 * 3 * 1,024 = 18,432 clocks @ 133 MHz = 0.14 ms