USO0RE41904E
(19)
United States
(12) Reissued Patent
(10) Patent Number:
Barry (54)
(45) Date of Reissued Patent:
METHODS AND APPARATUS FOR
5,165,023 A
PROVIDING DIRECT MEMORY ACCESS CONTROL
5,301,287 A 5,418,970 A 5,579,493 A
(75)
_
-
Inventor.
-
-
.
(21)
Appl.NO.Z 11/526,296
(22)
Flledl
* 11/1996
Kiuchiet al.
8/1997
BoWes et al.
12/1997
5,758,182 A
Related US. Patent Documents Reissue of:
7/1998 Oberlin et al.
5,828,903 A 5,860,025 A 5,864,876 A
10/1998 Sethuram et al. 1/1999 Robeiis er a1, 1/1999 Rossum et al.
5,890,201 A
3/1999 McLellan et al. *
9/1999 Babaian et a1. ........... .. 712/241
09/854,789
6,047,307 A 6,058,437 A
5/2000
May 14’ 2001
6,081,854 A
6/2000 Priem et al.
. _
6,145,076 A
US‘ Apphcanons' (
4/2000 Radko *
11/2000
6,256,683 B1 6,260,082 B1
Division of application No. 09/472,372, ?led on Dec. 23,
GabZdylet al.
........... .. 712/241
* Cited by examiner _
Provisional application No. 60/113,637, ?led on Dec. 23, 1998.
(51) Int- ClG06F 13/28
Park et al.
7/2001 Barry 7/2001 Barry et al.
1999, now Pat. No. 6,256,683
(60)
Stewart et al.
10/1998 BoWes et al.
5,958,048 A
.
9/1998
5,828,856 A
6,453,367
.
l.
9/1998 Caceres et al.
sep_ 17, 2002
'
t
5,784,706 A
Issued;
Med‘
'
5,802,554 A
Patent NO.Z
APPI'FIO'Z
Y
5/l998 R2111}; et 31‘
5,802,604 A
56P- 22, 2006
............. .. 712/207
8/1997 Blumrich et a1‘
5,698,913 A
_
(62)
4/1994 Herrell 6t 31 5/1995 Gifford
5,659,798 A
.
Oct. 26, 2010
11/1992 Gifford
5,655,151 A
Edwin Franklin Barry, Vilas, NC (US)
(73) Ass1gnee: Altera Corporation, San Jose, CA (US)
(64)
US RE41,904 E
_
Primary ExamineriChrlstopher B $11111 (74) Attorney, Agent, or FirmiPriest & Goldstein, PLLC
(57)
ABSTRACT
(2006.01) G06F 9/26
Techniques are described for providing mechanisms of data
(52)
us. Cl. ........................................ .. 710/26; 711/203
distribution to and Collection Of data from multiple 11191110
(58)
Field 61 Classi?cation Search .................. .. 710/26, 710/22i25’ 27*35; 711/16’ 203, 200*207;
lies in? data Processing System The System may suitablybe a manifold array (ManArray) processing system employing
712/22 200 24 245 209
See application ?le for Complete séarchshist’ory ’ (56)
junction With a ManArray PE interconnection topology to support a variety of communication models, such as hyper cube and such. Also, PE addressing nodes are based upon
References Cited U.S. PATENT DOCUMENTS 3,593,306 A
4,538,241 A
*
7/1971
an array of processing elements. Virtual to physical process
ing element (PE) identi?er translation is employed in con
logically nested parameterized loops. Mechanisms for
Toy .......................... ..712/241
8/1985 Levin etal.
updating loop parameters, as Well as exemplary instruction _ formats are also descnbed
4,783,736 A
* 11/1988 Ziegleretal. ............. .. 711/130
4,794,521 A
* 12/1988 Ziegler et al. ............. .. 711/130
13 Claims, 19 Drawing Sheets
425
lLANEBUg) 43”
WU
SP
/
INSTRUCIIUN RAH
"0 SYSIEH
“All BUS 430\
430
\
‘3“'\
SP DA“ MN
0
[12%
a
PE1
--
DATA
‘3°\
HM PEZ
a
"5 43B
1 !
140 a 1 11111811" um ’“°
RAM
437
101 |
w \
(5031
(mm liml.
i
mu
‘1
| -
ERROR INTERRUPT INPUIS
US. Patent
0a. 26, 2010
Sheet 1 0f 19
FIG .
11°\
US RE41,904 E
1
HOST
\-__..1 PROCESSOR / 12° LOCAL UNIPROCESSOR --—--MEMORY
71 1 1 DNA
/ 150
-----__..7 CONTROLLER
SYSTEM (BULK) MEMORY /
L130 L 140
150
US. Patent
Oct. 26, 2010
US RE41,904 E
Sheet 2 0f 19
FIG. 2
2022
DMA BUS
205
[203 LOCAL MEMORY
-'- LHI *
2023 213'\ 214
\
it
LOCAL MEMORY SP
LOCAL MEMORY
OSP
‘ ‘r1 -' LMI -
poi
I.-'
V2021 I210
ManArray
u
SDIPHU
II.
LOCAL MEMORY
N205
V202 2o=
OMA
SPIMIU
~/- 201
i {2025 i L
225
cum HEGS -..
5
SCB MASTER! SLAVE
.
nsnom
._..L.....
/ ..---...-.-.’_
230 I1IOIl|
CONTROL PROCESSOR
I10 BLOCK
SYSTEM MEMOHY
US. Patent
Oct. 26, 2010
Sheet 3 0f 19
US RE41,904 E
FIG. 3 310 DNA BUS LANE O
3% 321'\
SP
INSTRUCTION RAN
305 DNA BUS
LANE 1
‘F
u
£3 [mt--__“_H_H_DNA_TONTROLLE l
|
I
RAN
1
f-H
L
l
L
PEZ
TRANSFER CONTROLLER 0
DATA RAM
PE3 DATA RAN
CONTROLLER 1
l
DATA
PEI
/
.1 K
SP DATA RAM
DATA RAH
300
11-.
F v'O
US. Patent
0a. 26, 2010
Sheet 4 0f 19
FIG .
US RE41,904 E
4
425
DNA BUS
(LANE 0) 430
SP
/_400
0
INSIRUCIION RAM
470 SYSTEM
DATA BUS
43o\
SP
TsDDT
UAIA RAH
430\
PEO
DATA
n-h
401
AAA
...................... l........... A.
F‘3°\
430\ 430\
PEI HAM
--
PE?
""-
DATA
! -_ I cons ; ~1- TRANSFER 40s
i 2
IDO
40;!
/ ! T TRANSFER-‘~14 SYSTEM
405/
i
DATA
1 408 : ‘———_-—'
RAM
I
P53
um
HAM
__,_
\}
435 ‘mm 435 ERROR ‘mm 47 INTERHUPT 3
TRANSFER EONTHOLLEH o
i
i
INSTRUCTION /'440 CONTROL
UNIT
--—-l
450 1
EVENT J coNTnoL
UNIT
!
HT
i
_____.&_J; v
SY4SST%H CONTROL BUS was)
g E 465 SIGNAL
US. Patent
0a. 26, 2010
Sheet 5 0f 19
US RE41,904 E
FIG. 5 501
1 BASE OPCODE
51o
510 520
530
0'5 “0
550
\
0m TYPE
\
5B°\
540
\ x x
510
\
ADDRESS MODE
\
X
TRANSFER COUNT
ADDRESS PARAMETER ADDITIONAL PARAMETER wonos (IF ANY)
\soo FIG. 5
5021 VIRTUAL PE IU
/
500
PHYSICAL s04 PE ID /
US. Patent
0a. 26, 2010
Sheet 6 0f 19
US RE41,904 E
FIG. 7
CTU IRANSFER INSTRUCTION
710
k
775 PE VIU-to-PID TABLE
770
730 '\
OFFSET - BASE . INDEX
750 f
MEMORY OFFSET
P10
740]
755
US. Patent
0a. 26, 2010
Sheet 7 0f 19
US RE41,904 E
FI6.8
/BUO 33222222222211111111110000000000
109875543210587554321098785432I0
00
0110
TTYIéE
(USED FOR EXT THANSLATE TABLET
2X2 TABLE
01
(USED FOR 4x4 THANSLATE TABLET
2x2 TABLE
CONTAINS A TABLE OF THO BIT PE I05. A SEQUENCE OF THU BIT VALLES (STARTING WITH 0) WHICH SPECIFY THE PE VTD. ARE APPLIED AS AN INDICES INTO THIS TABLE NHEN LINE OF TIE PE ADLRESSING NODES IS USED IN A TRANSFER INSTRUCTION. TIE TRANSLATED VALTE IS THEN USED TO PERFORM THE HEHORY ITCIZESSSv WITH THIS APPROACH. PEs HAY BE ACCESSEB IN ANY BETTER FOR TTESE TNIIS.
MA TYPE
Tammy TYPE SPECIFIES THE TTTTTTTTTTTTATTOTT TARGETED TTTT THEREFORE THE SIZE OF THE 00 - T12 TUPTOZPEST
(Tl-2x2 TUPTOTPEsT 10 - 2x4 (LP T0 8 PES!
11-4x4TUPT01EPEsT
FIG. 9
faoo 33222222222211111111110000000000 10987554321098785432109875543210 USED FOR PE ID TRANSLATION TABLES TTTTGETT THAN 4 ELEMENTS
P103 P102 P101 P100
US. Patent
0a. 26, 2010
Sheet 8 0f 19
US RE41,904 E
FIG. 10 mmmzwa;
INITIALIZHBASEI 1
V
1002
/
1000
INITIALIZEHNDEX);
whi 1e (TRUE)
1005
--——{ while ( IBaseLoopComplete)
1010
while HIndexLoupCompletel
‘ 102°
while llPELoopCompletel
‘ 1030
newness (PE. Base, Index)
‘
“4° r1050
2' f ( Icontinuousl
./
Decrement (TC! ;
iflTC
0)
>IMER
EndTransfer;
[0GP
’UpdataAddress (PE) ;
»'%za“'
(PEI ; PUEdataLoopControl LuopComplete = CheckLonpStatus (PE) = ‘ Endvhile I
Reinitialize(PE)
1050 J
J
1°55
UpdateAddress llndex) ;
V- 1070
UpdateLoogControl lIndex) ; IndexLoop omplete = EheckloopStatus lIndex) ; Enduhile
y
d
Reini tlal ize (Index) K1075 H UpdateAddress(Base) ;
UpdateLoopControl (Base) ; BaseLoopComplete = CheckLnopStatus (Base) ;
‘ Rei M t ial i ze (Base) Endwhi l8
V1085
f 10”
US. Patent
0a. 26, 2010
Sheet 9 0f 19
US RE41,904 E
FIG. 11 INITIALIZHPE):
fnoz
INITIALIZHBASE);
/
1100
INITIALIZEHNDEX) :
whi le (TRUE)
ms
—-_~Lwh1. 1e 1 l BaseLuopComplete) I‘’ 1110 ——-l while 1 lPELooptomplete) jfmo while ( lIndexLoupCompletel
T
‘ mo
\ 1140
{MEMAccEss (PE. Base. Index)
'- 1150
(i f I !cunt1' nuuusl
/
Decrement (TC! .
iHTC 0) ) EndTransfer ;
INNER 1 100? HIIIILE
-
H00? 91%
UpdateAddresslIndexJ ;
UpdateLoopControl (Index) ; IndexLuopComplete = CheckLoopStatuslIndex) -.
Endwhile Heinitializellndexl
1150 J “55
updateAddress (PEI 1 UpdateLoopControl lPEl ; PELoopComplete = CheckLonpStatus lPE) ; Endwhile
J
P” “70
I
J
l?einitializHPE) 1/1175 UpdateAddressIBase) =
M1180
UpdateLoopControl (Basel ; BaseLoopComple1e - CheckLoopStatus18asel 1
'
HeinitializeiBase)
J
1185
-
US. Patent
0a. 26, 2010
Sheet 10 0f 19
US RE41,904 E
FIG. 12 ' INITIALIZEIPEI :
1-1202
INITIALIZEIBASE):
/
120°
mnuuzumosm ;
1205
whi 18 l TRUE)
whi 1e ( lPELoopComplete)
/ 12 10
while HBaseLoopCumplEte)
T 1220
\
while ( ! IndexLoopCnmplete)
MEHACCESS (PE. Base. Index)
‘24°
(if ( lcuntinuous)
1250
_/
Decrement (TE) ;
if [TC
0)
> INNER
EndTransfer ;
LOOP
LOUP
UpdateAddresslIndex) ;
UpdateloogControl (Index) 5 IndexLoop omplete = CheckloopStatuslIndexl = Endwhi 12
1250 J 1255
Reini tialize?ndex) UpdateAddresslBase! =
f 1270
UpdateLoopCuntrol (Base) ; BaseLoupComplete = CheckLoopStatus(8asel ;
Endwhile
Heinitia1ize(Base)
1275
UpdateAddress IPE) = UpdateLoopConirol (PE) : PELoopComplete = CheckLoupStatuslPE) =
Endwhi 19 Reini t ialize IPEI
1285
r1290
LOOP
US. Patent
0a. 26, 2010
Sheet 11 0f 19
US RE41,904 E
FIG. 13
fnoo 3322222222221111111111oooooooouo 109B7554321098765432105876543210 cm TRANSFER 1 TYPE BLDCKCYCLIC x RSVD
CORE TRANSFER mum (cm
I
0
LOOP mm
LOOP C TRL
RESERVED PE coum BASE UPDATE coum RANGE: 110 25s INDEX coum (HOLD) RANGE:
swarms TRANSFER ADDRESS (WITHIN PE MEMORY) BASE UPDATE (51mm muse; muex UPDATE DESERVE“ RANGE: 1-256
LOOP CTRL SPECIFIES A PARTICULAR ORDER IN )A'IICH PE. BASE AND INDEX VALUES ARE UPDATED. THREE POSSIBLE ORDERS ARE SELECTABLE NHICH CORRESPOND TO THREE ASSIGNMENTS OF PE. BASE AM) INDEX UPDATE )0 THREE NESTED CONTROL LOOPS (OUTER, RIDDLE AN) INNER). OO - BASE (OUTER). INDEX (HIDOLE). PE (INNER) - RIP ()1 - BASE (OUTER), PE (RIDDLE). INDEX (INNER) - BPI (D - PE (OUTER). BASE (RIDDLE). INDEX (INNER) - PBI
PE COUNT
SPECIFIES THE NUHBER OF PEs TO BE ACCESSED FOR EACH TIHE THE PE COUNTER IS SICNALED TO RELOAD. VALID VALUES ARE; - HAX NUHBER OF PEs AS SPECIFIED IN THE PE CONFIGURATION REGISTER DDID - 2
001(- 3 ETC., ETC.
BASE lPDAIE (STRIDE) DISTANCE BETNEEN SUCCESSIVE BLOCKS. UNITS ARE OF ‘DATA TYPE’ SIZE. BASE UPDATE COUNT USED FOR PBI LOOP CONTROL. SPECIFIES TIE TAIHBER OF TIHES THE BASE IS UPDATED BEFORE EXITING TO THE OUTER LOOP (PE UPDATE) . RANGE IS 1 ID 255.
INDEX COUNT (HOLD) NUMBER OF CONTIBLXXJS DATA ITEMS IN A BLOCK
INDEX UPDATE
DISTANCE BETNEEN SUCCESSIVE ITEHS WITHIN A BLOCK. UNITS ARE OF 'TYPE' SIZE.
US. Patent
Oct. 26, 2010
Sheet 12 0f 19
FIG. 14 LOOP comm. BIP (PE 10 muss FIRST. MN 1mm. THEN mm ADDRESS PEO m M000 0 1 0x0001 0x000? 4 s 0110003
US RE41,904 E
f 1400 PEZ 2
PE3 a
s
1
0x0004
moons 010005 0x000] M000 0110009 0x000a
8
a
m
11
12
13
14
15
- AN msoum SEQUENCE OF 1s um ELEMENTS wnn VALUES 0.1.2.3... .15 - PETABLE 52mm; 0F 0x000000E4 mo mmsuuou or PE 1054 - 13mm msmucnou IN m2 sw mums NE 15 muss H4044 SYSTEM HENOHYT - TCTblockcycIic msmucnou IN THE cw mm PE coum = 4. Low comm ; BIP. ease UPDATE 4 a. BASE coum =. INDEX UPDATE = 2. INDEX cwm = 2
FIG. 15 LOOP CONTROL: BPI (INDEX VARIES FIRST. THEN PE ID. THEN BASE) ADDRESS PEO PEI 0x0000 0x0001 0x000? M003 M004 010005 010006 010007 010008
010009 0110009
f 1500 PEZ
PE3
0
2
4
E
1
3
5
7
0
10
12
14
5
11
13
15
' AN INBDUND SEQUENCE 0F 15 DATA ELEMENTS UITH VALUES 0.1.2.3. . . .15
' PETABLE SETTING 0F 0x000000E4 (N0 TRANSLATION 0F PE IDsI ' TST.bI0ck INSTRUCTION IN THE STU [READING THE 18 VALUES PRU‘! SYSTEM IENDIIY) - TDIbluckcagIic INSTRUCTION IN THE TITU NITH PE COUNT = 4, LDDP CUTTRDL = DPT, BASE UPDATE = B. BASE DDUNT
I EX UPDATE : 2. INDEX EDUNT - 2
US. Patent
0a. 26, 2010
Sheet 13 0f 19
US RE41,904 E
FIG. 15 LOOP CONTROL : POI TINDEX VARIES FIRST, THEN BASE. THEN PE IOT ADDRESS PEO PEL OXOOOD O 4 OxOOOL 0x000? 1 5 OXOOOS OXODOA OXOOOS OxOOOS OXOOOT M000 OxOOOS OxOOOa
PE? 0
S
13
2
S
10
14
3
7
L1
15
' AN INBOUND SEOUENCE OF 10 DATA ELEMENTS VITH VALUES 0.1.2.3, I . . 15
- PETABLE SETTING 0F OXOOOOOOEA LNO TRANSLATION OF PE IDs) ' ISL . block INSTRUCTION IN THE STU (READING THE 15 VALUES FROM SYSTEM MEMORY) - TCI .blockc C! it INSTRUCTION IN THE 0T0 NITH PE COUNT = 4. LOLAJ CONTROL = OPT. BASE UPDATE - O. BASE COUNT =. I EX UPDATE * 2. INDEX COUNT = 2
NOTE THAT A FOR PBI MODE. THE BASE COUNT HIST DE 2 IN DRIER TO GET 2 'BLOOKS' OF DATA. INDEX COUNT EORRESPONOES TO THE NUMBER OF ELEMENTS WRITTEN OEFOTE UPDATING TIE NEXT ADDRESS VARIABLE. THE GAP BETWEEN ELEMENTS VIITHIN A PE IS DUE TO TIE INDEX UPDATE VALUE OF 2 (RATHER THAN 1)
US. Patent
0a. 26, 2010
Sheet 14 0f 19
US RE41,904 E
FIG. 17
/-1IDD 33222222222211111111110000000000 109B7554321098755432109875543210 cw TRANSFER 1 TYPE PE SELECT ./ INDEX
A nsvo
CORE TRANSFER coum (cm
Jo
INDEX CDUNT RESERVED STARTING TRANSFER ADDRESS (WITHIN PE MEMORY) (0UP cm INDEX mum BASE UPDATE coum BASE UPDATE (STRIDE) TU.7 IUB IUS IU4 TUB IUZ IUI IUD LDDP C TRL
LDDP CTRL SPECIEIES APARTICULAR DRDER IN IMICH PE. BASE AND INDEX VALUES ARE UPDATED. THREE PDSSIBLE ORDERS ARE SELECTABLE NHICH CDRRESPDND TD THREE ASSIGNMENTS DE PE. BASE AND INDEX UPDATE TD THREE NESTED CDNTRDL LDDPS (DUTER. MIDDLE AND INTER). ()0 ' BASE (DUTER). INDEX (MIDDLE). PE (INNER) - BIP D1 - BASE (OUTER). PE (MIDDLE). INDEX (INNER) - BPI 10 - PE (DUTER). BASE (MIDDLE). INDEX (INNER) ~ PBI
PE COUNT
SPECIFIES THE NUMBER OF PES TD BE ACCESSED FDR EACH TIME THE PE COUNTER IS SIGNALED TD RELDAD. VALID VALUES ARE: - I‘IIAX NUMBER DE PEs AS SPECIFIED IN THE PE CDNFIBURATIDN REGISTER 0010 ~ 2
0011 - 3 ETC‘. ETC.
BASE UPDATE (STRIDE) DISTANCE BETVEEN SUCCESSIVE BLOCKS. UNITS ARE OF ‘DATA TYPE‘ SIZE. BASE UPDATE CDUNT USED FDR PBI LDDP CDNTRDL. SPECIEIES THE NUMBER OF TIMES THE BASE IS UPDATED BEEDRE EXITINC TD THE DUTER LCOP (PE UPDATE). RANGE IS 1 T0 255. IUx
IUD - IUI FORM AN INDEX UPDATE TABLE VIITH EACH ENTRY BEING A I—BIT UPDATE
INDEX CDUNT
VALUE. UPDATE VALUES ARE INTEBERS IN THE RANBE DF ~B TD (7 NUMBER OF TIMES TD EXECUTE THE INDEX UPDATE LDDP. THIS VARIABLE PROVIDES THE LDDP EXIT CDNTRDL FOR THE INDEX LDDP.
US. Patent
0a. 26, 2010
Sheet 15 0f 19
US RE41,904 E
FIG. 13
f 1000 LOOP CONTROL: DIP [INDEX VARIES FIRST. TTEN BASE, THEN PE 101 ADDRESS PEO PEI 010000 0 1
PEZ 2
PE3 3
010001
24
Z5
Z5
27
010002 010003
4 20
5 21
0 22
T 23
010001
0
5
10
11
0110005 OXOOOE 010007 0110000 0X0005 0X000?
10 12
11 13
10 11
19 15
20
29
3O
31
32
33
31
35
PATTERN ABOVE RESULTS FROM AFTER A TRANSFER VIITM THE EDLLONINC ASSUMPTIONS:
' 531.1510“ INSTRUCTION READS SUCCESSIVE ADDRESSES FROM SYSTEM MEMORY, DATA ELEMENT VALUES ARE .
.
.elc.
' TCLSETBCL INDEX INSTRUCTION PLACES VALUES IN PE MEMORIES USING THE FOLLOITINO PARAMETERS ' ASSUT‘E NO PE VIO-LO-PID TRANSLATION ' TRANSFER COUNT = 36 ' PE ADDRESS = O - PE COUNT = 4
' LOOP CONTROL = DIP ' BASE UPDATE COUNT = O ' BASE UPDATE - O
' INDEX UPDATE TABLE VALUE IS 0XO0EEF222M1‘TIOH01VES TPDATES 2.2.2.-1.-2.-2 ' INDEX COUNT = 7
US. Patent
0a. 26, 2010
Sheet 16 0f 19
US RE41,904 E
FIG. 19
/1SOO 33222222222211111111110000000000 10987654321098765432109875543210 CTU TRANSFER I TYPE SELECT-PE X HOW CORE TRANSFER COUNT (CTCT O
RESERVED
STARTING TRANSFER ADDRESS (NITHIN PE HEHORY)
LOOP CTRLI PE COUNT T BASE UPDATE COUNT PEHSK7 LOOP CTRL
INDEX COUNT (HOLD) RANGE: 1 TO 55535 PEHSKB PENSKS
BASE UPDATE (STRIDE) RESERVED
PEHSK4
PEHSK3
PENSKZ
INDEX UPDATE RANGE: 1-255 PENSKI PENSKO
LOOP CTRL SPECIFIES A PARTICULAR ORDER IN HHICH PE. BASE AND INDEX VALUES ARE UPDATED. THREE POSSIBLE ORDERS ARE SELECTABLE HHICH CORRESPONO TO THREE ASSIGNHENTS OF PE. BASE AND INDEX UPDATE TO THREE NESTED CONTROL LOOPS (OUTER. HIDOLE AND INNER). O0 - BASE (OUTERT. TTDEX (RIDDLE). PE (INNERI — RIP 01 - BASE (OUTERT. PE (RIDDLE). INDEX (INNERT - BPI 1O - PE (OUTER). BASE (HIODLET. INIEX (INTER) - POI
PE COUNT (NOT USED FOR THIS ADDRESS HDDET BASE UPDATE (STRIOET DISTANCE BETNEEN SUCCESSTVE BLOCKS. UNITS ARE OF 'OATA TYPE‘ SIZE. BASE UPDATE COUNT USED FOR PBI LOOP CONTROL. SPECIFIES THE NUHBER OF TIHES THE BASE IS UPDATED BEFORE EXITINO TO THE OUTER LOOP (PE UPDATE]. RANGE IS 1 TO 255. INDEX COUNT (HOLDT NUT’BER OF CONTIGUOUS DATA ITEHS IN A BLOCK
INDEX UPDATE
lgggANCE BETWEEN SUCCESSIVE ITEHS WITHIN A BLOCK. UNITS ARE OF ‘DATA TYPE‘
PEVEC
THESE VALUES FORM A TABLE OF (-BTT FIELDS THAT ARE USED TO SPECIFY PE SELECTIONS FOR UP TO B PASSES THROUGH THE PEs. FOR EACH FOUR BIT FIELD. A '1' BIT SELECTS THE PE VID CORRESPONDING TO ITS BIT POSITION. PENSKO NUST HAVE AT LEAST ONE '1' BIT. AND THE FIRST ALL-ZERO FIELD DETECTED CAUSES SELECTION TO BEGIN AGAIN NITH THE PENSKO FIELD. IN BIP AND BPI LOOP HOOES. VIHEN NE BASE IS UPDATED. THE PEVEC TABLE RESETS TO THE FIRST (-BIT ENTRY REOAROLESS OF WHICH ENTRY HAS LAST IN USE. IN PBI LOOP HODE THE PEVEC ENTRIES ARE CYCLEO THROUGH CONTINUOUSLY.
US. Patent
Oct. 26, 2010
US RE41,904 E
Sheet 17 0f 19
FIG. 20
/ LOOP CONTROL: BIP (INDEX VARIES FIRST. TNEN BASE. THEN PE IO) ADDRESS INOROS) OxOOOO 0x0001 0x000? OXO003 OxOOOA
PEO
PEI
arwo
Rscnmru
OXOOOS
OxOOOB 0x000] OXOOOB 010009 OXOOOA MM
15 23
14 17 20 24
PATTERN ABOVE RESULTS FRON AFTER A TRANSFER NITH THE EOLLWINB ASSUNPTIONS:
' (TSIJZJTOBR INSTRUCTION REAOS SUCCESSIVE AOORESSES FRON SYSTEN NENORY. DATA ELENENT VALUES ARE .
.
.me C.
ASSURE PE TRANSLATE TABLE NAPS 0*1. 1--2. 2+3. 3—~O TCLselecipe INSTRUCTION PLACES VALUES IN PE NET'ORIES USINB THE EOLLONING PARANETERS TRANSFER COUNT = 25 INITIAL PE AOORESS OFFSET = 0 PE COUNT = NOT USED LOOP CONTROL = BIP BASE UPOATE COUNT = 0 BASE UPDATE = 8 INDEX UPOATE = 1 INDEX COUNT = 4
PE TABLE IS OXOOOOOFTT ' FIRST PASS SELECT 0105: O. 1. 2 (TRANSLATION CONVERTS TNESE T0 PIOS: 1.2.31 ' NEXT PASS SELECT VIOs (TRANSLATION CONVERTS TLESE TO PIOS: 1.2.3! ' NEXT PASS SELECT VIOS 0. .3 LTRANSLATITNT CONVERTS THESE T0 PIOS: 1.2.3.0T
2000
US. Patent
0a. 26, 2010
Sheet 18 0f 19
US RE41,904 E
FIG. 21
[210D 3322222222221111111111000OOOOOOO 10587654321098765432109875543210 CTU 1RANSFER I TYPE SELECTX TTJVTI CORE TRANSFER COUNT (CTCT
(I)
INDEX-PE
IU COUNT LOOP CTRL IU7
PE COUNT IUG
PEHSK7
PERSKS
LOOP CTHL
RESERVED BASE UPDATE COUNT IUS IUA PEMSXS
PEHSKA
STARTING TRANSFER ADDRESS (NITHIN PE MEMORY] BASE UPDATE (STRIOET IU3 IU2 IUL IUO PEMSX3
PENSK2
PEHSKI
PENSKO
LOOP CTRL SPECIFIES A PARTICULAR ORDER IN WHICH PE. BASE AND INDEX VALUES
ARE UPDATED. THREE POSSIBLE ORDERS ARE SELECTABLE RHICH CORRESPOND TO THREE ASSIGNMENTS OF PE. BASE AND INDEX LPOATE TO THREE NESTED CONTROL LOOPS (OUTER. MIDDLE ATO INNERT. 0O - BASE (OUTER). INDEX TNIODLE]. PE (INNER) - RIP 01 - BASE (OUTER). PE (MIDDLE). INDEX (IANERT - BPI 1O - PE (OUTERT. BASE (MITXJLET. INDEX (INNER) - PBT
PE COUNT (NOT USED FOR THIS ADDRESS MODE) BASE UPDATE (STRIDET DISTANCE BETVEEN SUCCESSIVE BLOCKS. UNITS ARE OF ‘DATA TYPE‘ SIZE. BASE TPOATE COUNT USED FOR PBI LOOP CONTROL. SPECIFIES THE NUMBER OF TIMES TTE BASE IS UPDATED BEFORE EXITINC TO THE OUTER LOOP (PE (POATET. RANGE IS 1 TO 255. TU CDLNT INJEX UPDATE COUNT. THIS IS THE NUMBER OF ENTRIES IN THE ITIIEX UPDATE TABLE. VHEN 'IU Count‘ INDEX UPDATES HAVE OCCURRED (NITH ASSOCIATED ACCESSES AFTER UPDATE] . THE NEXT OUTER LOTP VARIABLE TO OR PT IS UPDATE). SUBSEOUENT INDEX UPDATES START AT TIE FIRST ENTRY AGAIN (IUOT. IF 'IU Count‘ IS GREATER THAN D. THE TABLE ENTRIES ATE USED AGAIN. STARTING AT THE BEGINNING OF THE TABLE. IUx
PENSKx
IUO - ID] FORM AN INDEX UPDATE TABLE VITH EACH ENTRY BEING A A-BIT UPDATE
VALUE. UPDATE VALUES APE INTEGERS IN TIE RANGE OF -(T TO (I. TTESE VALUES FORM A TABLE OF (-BIT FIELDS THAT ARE USED TO SPECIFY PE SELECTIONS FOR UP TO 8 PASSES THROUGH THE PEs. FOR EACH FLAIR BIT FIELD. A 'T' BIT SELECTS THE PE CORRESPONDING TO ITS BIT POSITION. PEMSKO MUST HAVE AT LEAST ONE '1' BIT. AND THE FIRST ALL-ZERO FIELD DETECTED CAUSES SELECTION TO BEGIN AGAIN VITH (TE PENSXO FIELD.
US. Patent
0a. 26, 2010
Sheet 19 0f 19
US RE41,904 E
FIG. 22
f’ 2200 LOOP CDNTHDL: BIP (INDEX VARIES FIRST. THEN BASE. TTEN PE ID) AIDRESS PEO PEI (NDRDSI M000 0 010001 0110002
3
PE2
PE3
1
2
A
5
010003 0110004 0110005
B
0110005 0x000? 010000 0110009 0x000a 0x000a
19
B
T
8
10
11
12
13
14
15
1E
17
1B
PATTERN ABOVE RESULTS FRUN AFTER A TRANSFER WITH THE FDLLUNING ASSUMPTIONS:
' 551.510“ {NSTRUCTIDN READS SUCCESSIVE ADDRESSES FRDH SISTER IEHDRY. DATA ELENENT VALUES ARE .
.
. . . .E
t.
ASSUNE PE TRANSLATE TABLE NAPS 0+1. 1+2. 2*3. 3*0 TCI .SEIECIDE INSTRUCTION PLACES VALIES IN PE NEIXIRIES USITNS THE FULLWING PARAMETERS TRANSFER CDUNT = 20 INITIAL PE ADDRESS OFFSET = 0 PE COUNT = NOT USED LOOP CDNTRDL = BIP
BASE UPDATE COUNT = 0 BASE UPDATE = 5 INDEX COUNT = 3
INDEX TABLE = 0x00000032 L12. THEN 13)
PE ' ' '
HELPE IS 0X00000F77 FIRST PASS SELECT VIDS 0. 1.2 ITRANSLATIUN CONVERTS THESE T0 PIDs: 1.2.3] NEXT PASS SELECT T1105 0. 1.2 [TRANSLATION CDNVERTS THESE T0 P105: 1,2,3} NEXT PASS SELECT 1110s 0. 1.2.3 (TRANSLATION CDNVERTS THESE T0 PIDS: 1.2.3.0)