1461101706-a34fd8fd-c99b-449d-bc58-626e70700ac4

What is claimed is:

1. A method for providing hint instructions to a processor, comprising the steps of:
generating a hint instruction in response to a set of object code to be executed by the processor;
inserting a break instruction into the object code such that the break instruction causes the processor to obtain and execute the hint instruction.
2. The method of claim 1, wherein the step of inserting a break instruction comprises the step of inserting the break instruction in place of a selected instruction in the object code.
3. The method of claim 2, wherein the step of generating a hint instruction comprises the step of generating a set of hint code which includes the hint instruction and the selected instruction such that the break instruction causes the processor to obtain and execute the hint code.
4. The method of claim 2, wherein the step of generating a hint instruction comprises the step of loading the hint instruction into a hint register such that the break instruction causes the processor to obtain the hint instruction from the hint register and execute the hint instruction.
5. The method of claim 4, wherein the step of loading the hint instruction into a hint register further includes the step of loading the selected instruction into the hint register such that the break instruction causes the processor to obtain the selected instruction from the hint register and execute the selected instruction.
6. The method of claim 4, wherein the step of loading the hint instruction into a hint register further includes the step of loading an address into the hint register such that the break instruction causes the processor to load the hint register using the address.
7. The method of claim 1, wherein the step of generating a hint instruction comprises the step of determining the hint instruction in response to a micro-architecture of the processor.
8. A computer system, comprising:
object code adapter that determines a hint instruction in response to a set of object code and that inserts a break instruction into the object code;
processor that executes the object code such that the break instruction causes the processor to obtain and executes the hint instruction.
9. The computer system of claim 8, wherein the object code adapter inserts the break instruction in place of a selected instruction in the object code.
10. The computer system of claim 9, wherein the object code adapter generates a set of hint code which includes the hint instruction and the selected instruction.
11. The computer system of claim 10, wherein the processor branches to the hint code when executing the break instruction.
12. The computer system of claim 9, wherein the processor includes a hint register for holding the hint instruction such that the processor obtains the hint instruction from the hint register and executes the hint instruction in response to the break instruction.
13. The computer system of claim 12, wherein the hint register holds the selected instruction such that the processor obtains the selected instruction from the hint register and executes the selected instruction in response to the break instruction.
14. The computer system of claim 12, wherein the hint register holds an address such that the processor loads the hint register using the address in response to the break instruction.
15. The computer system of claim 8, wherein the object code adapter determines the hint instruction in response to a micro-architecture of the processor.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

Having thus described our invention, what we claim as new and desire to secure by letters patents is:

1. A fault tolerant multichannel communications system having a plurality of communication channels transmitted over a trasmission medium, said communications system comprising:
(a) a plurality of line cards 1, 2, . . . , N at each end of a transmission medium, with one of said line cards at each end of said transmission medium for each of said channels and with one of said line cards s at each end of said medium being designated as a spare line card, each said line card having a plurality of local ports, a link port, and a inputoutput port;
(b) a plurality of switches with one switch at each end of said medium for each of said line cards, each switch capable for interconnecting a link port of a corresponding one of said line cards to an IO port or a local port of latter said corresponding one line card, and each switch also capable of interconnecting said IO port to either said link port or a local port of said corresponding one line card, with a local port of each line card i being hard wired to a local port of line card i 1 mod N and a local port of line card i1 mod N; and
(c) means for rerouting the IO of a failed line card f as follows: for each line card i belonging to a set s, f) of line cards, switching the IO port of line card (i1) mod N to a link port of line card i, where s f, wherein said failed channel is restored, where said set Is,f) is the set of all line cards such that
3
s
,
f

)

=

{
{

s
,

s
+
1

,
,

f
–
1
}

,
if
s

<
f

;
{

s
,

s
+
1

,
,

N
–
1

,
0
,
1
,
,

f
–
1
}

,
if
s

>
f

;
0
,
if
s

=

f
.
2. A fault tolerant multichannel communications system having a plurality of communication channels, said communications system comprising:
(a) a plurality of line cards 1, 2, . . . , N at each end of said communications medium, with one of said line cards at each end of said medium for each of said channels and with one of said line cards s at each end of said medium being designated as a spare line card, each said line card having a plurality of local ports for a link port, and a inputoutput port for;
(b) a plurality of switches with one switch at each end of said medium for each of said line cards, each switch capable for interconnecting a link port of a corresponding one of said line cards to an IO port or a local port of latter said corresponding one line card, and each switch also capable of interconnecting said IO port to either said link port or a local port of said corresponding one line card, with a local port of each line card i being hard wired to a local port of line card i1 mod N and a local port of line card i1 mod N; and
(c) means for rerouting a failed line card f as follows: for each line card belonging to a set of line cards (f, s), switching the IO port of line card i to a link port of line card (i1) mod N, where s f wherein said failed channel is restored, where (f, s) is the set of all line cards such that
4
f
,
s

)

=

{
{

f
,

f
+
1

,
,

f
–
1
}

,
if
f

<
s

;
{

f
,

f
+
1

,
,

N
–
1

,
0
,
1
,
,

s
–
1
}

,
if
f

>
s

;
0
,
if
f

=

s
.
3. In a multichannel communications system having N channels with line cards 0 through N1 connected to each end of a transmission medium of said system with each line card having an IO port, a link port and a plurality of local ports, with one line card connected to each end of said transmission medium for each of said channels, a method of rerouting channels upon detection of a failure of two of said line cards f0 and f1, said method comprising:
(a) designating two of said line cards as spare line cards s0 and s1;
(b) hardwiring one of said local ports of each line card i mod N to one of said local ports of each line card (i1) mod N and (i1) mod N;
(c) rerouting said failed line cards f0 and f1 as follows:
i. if s0f0f1s1 then doing spare-to-failed rerouting from s0 to f0 and failed-to-spared rerouting from s1 to f1, and
ii. if s0f0s1f1 then doing spare-to-failed rerouting from s0 to f0 and spare-to-failed rerouting from s1 to f1, said spare-to-failed rerouting comprising switching each said I0 port of line card (i1) mod N to said link port of line card i mod N for all i ( s, f), where:
5
s
,
f

)

=

{
{

s
,

s
+
1

,
,

f
–
1
}

,
if
s

<
f

;
{

s
,

s
+
1

,
,

N
–
1

,
0
,
1
,
,

f
–
1
}

,
if
s

>
f

;
0
,
if
s

=
f

,
and said failed-to-spare rerouting from f to s comprising switching said IO port of line card i mod N to said link port of line card (i1) mod N for all i(f, s), where:
6
f
,
s

)

=

{
{

f
,

f
+
1

,
,

f
–
1
}

,
if
f

<
s

;
{

f
,

f
+
1

,
,

N
–
1

,
0
,
1
,
,

s
–
1
}

,
if
f

>
s

;
0
,
if
f

=

s
.
4. A fault tolerant multichannel communication system, comprising:
(a) a transmission medium;
(b) N line cards 0 through N1, each line card connecting a separate channel to an end of said transmission medium, each line card having an IO port, a link port, and a plurality of local ports, with two of said line cards s0 and s1 being designated as spare line cards, with one of said local ports of each line card i mod N being connected to one of said local ports of line card (i1) mod N and line card (i1) mod N;
(c) A plurality of switches, each of said switches for interconnecting said IO port, said link port, and said local ports of a corresponding one of said line cards; and
(d) a means for rerouting IOs from failed line cards f0 and f1 using said switches as follows:
i. if s0f0f1s1 then doing spare-to-failed rerouting from s0 to f0 and failed-to-spared rerouting from s1 to f1, and
ii. if s0f0s1f1 then doing spare-to-failed rerouting from s0 to f0 and spare-to-failed rerouting from s1 to f1, said spare-to-failed rerouting comprising switching each said IO port of line card (i1) mod N to said link port of line card i mod N for all i(s, f), where:
7
s
,
f

)

=

{
{

s
,

s
+
1

,
,

f
–
1
}

,
if
s

<
f

;
{

s
,

s
+
1

,
,

N
–
1

,
0
,
1
,
,

f
–
1
}

,
if
s

>
f

;
0
,
if
s

=
f

,
and said failed-to-spare rerouting from f to s comprising switching said IO port of line card i mod N to said link port of line card (i1) mod N for all i(f, s), where:
8
f
,
s

)

=

{
{

f
,

f
+
1

,
,

f
–
1
}

,
if
f

<
s

;
{

f
,

f
+
1

,
,

N
–
1

,
0
,
1
,
,

s
–
1
}

,
if
f

>
s

;
0
,
if
f

=

s
.
5. In a multichannel communications system having N channels with line cards 0 through N1 connected to each end of a transmission medium of said system with each line card having an IO port, a link port and a plurality of local ports, with one line card connected to each end of said transmission medium for each of said channels, a method of rerouting channels upon detection of a failure of one of said line cards, said method comprising:
(a) partitioning said line cards into groups of size at most k1, where each group has at least one spare line card, and where k equals the number of local ports on each line card;
(b) for each line card in each of said groups that is not a spare line card, hardwiring one of latter said each line card’s local ports to a local port of said one spare line card in said each group; and
(c) upon detection of a failure of anv of said line cards, rerouting said IO port of latter said failed line card to the link port of said designated spare line card for the group of line cards containing said failed line card.
6. In a multichannel communications system having N channels with line cards 0 through N1 connected to each end of a transmission medium of said system with each line card having an IO port, a bypass port, a link port and a plurality of k local ports where k<N, with one line card connected to each end of said transmission medium for each of said channels, a method of rerouting channels upon detection of a failure of one of said line cards, said method comprising:
(a) designating one of said line cards as a spare line card s;
(b) hard wiring the local ports of each of said line cards such that there is a path from each of said line cards to said spare line card; and
(c) rerouting the IO port of a failed line card by switching said IO port of said failed line card to its said bypass port which is hard wired to said local port of another one of said line cards and switching said latter local port to said link port of spare line card s.
7. A fault tolerant multichannel communication system, comprising:
(a) a transmission medium;
(b) N line cards 0 through N1, each line card connecting a separate channel to an end of said transmission medium, each line card having an IO port, a bypass port, a link port, and a plurality of k local ports where k<N, with one of said line cards being designated as spare line card s, with said local ports of said line cards being hardwired so that there is a path from each of said line cards to line card s;
(c) A plurality of switches, each of said switches for interconnecting said IO port, said bypass port, said link port, and said local ports of a corresponding one of said line cards; and
(d) a means for rerouting IOs from a failed one of said line cards by using said one of said switches corresponding to said line card to switch said IO port of said failed line card to its said bypass port whichis hardwired to said local port of another one of said line cards and switching said latter local port to said link port of spare line card s.
8. In a multichannel communications system having N channels with line cards 0 through N1 connected to each end of a transmission medium of said system with each line card having an IO port, a bypass port, a link port and a plurality of local ports, with one line card connected to each end of said transmission medium for each of said channels, a method of rerouting channels upon detection of a failure of one of said line cards, said method comprising:
(a) designating one of said line cards as a spare line card;
(b) hard wiring one of said local ports of each of up to k of said line cards to each of said of said spare line cards, where k is the number of local ports each of said line cards;
(c) hard wiring said local ports of each of said line cards hard wired to said local ports of said spare line card to an additional k1 of said line cards;
(d) repeating step 8c for each line card of said k1 line cards by hard wiring each of latter said line cards in turn to an additional k1 of said line cards and so on until all of said line cards form a tree configuration with a plurality of subtrees;
(e) hard wiring the bypass port of each line card that is a leaf of said tree configuration to the local port of another line card that is a leaf of said tree configuration;
(f) hard wiring the bypass port of each of said line cards that is not a leaf to the local port of a line card that is a leaf; and
(g) rerouting the IO port of a failed one of said line cards by switching its IO port to its bypass port and switching appropriate local ports of said line cards so that said IO port of said failed line card is connected to said link port of said spare line card.
9. In a multichannel communications system having N channels with line cards 0 through N1 connected to each end of a transmission medium of said system with each line card having an IO port, a bypass port, a link port and a plurality of k local ports where k<N, with one line card connected to each end of said transmission medium for each of said channels, a method of rerouting channels upon detection of a failure of two of said line cards, said method comprising:
(a) designating two of said line cards as spare line cards s1 and s2;
(b) hardwiring said local ports of each of said line cards such that for any pair of line cards f1 and f2 there are either two paths P1 from f1 to s1 and P2 from f2 to s2 where P1 and P2 have no common wires, or two paths P1 from f1 to s2 and P2 from f2 to s1 where P1 and P2 have no common wires;
(c) rerouting the IO of up to two failed line cards by switching the IO of said failed line cards to said spare cards by setting switches along paths from said failed line cards to said spares, where said paths have no common wires.
10. A fault tolerant multichannel communication system, comprising:
(a) a transmission medium;
(b) N line cards 0 through N1, each line card connecting a separate channel to an end of said transmission medium, each line card having an IO port, a bypass port, a link port, and a plurality of k local ports k<N, with two of said line cards being designated as spare line cards s1 and s2, with said local ports of said line cards being hardwired such that for any pair of line cards f1 and f2 there are either two paths P1 from f1 to s1 and P2 from f2 to S2, where P1 and P2 have no common wires, or two paths P1 from f1 to S2 and P2 from f2, to s1 where P1 and P2 have no common wires;
(c) A plurality of switches, each of said switches for interconnecting said IO port, said bypass port, said link port, and said local ports of a corresponding one of said line cards; and
(d) a means for rerouting IOs from up to two failed line cards by setting said switches along of those of said paths from said failed line cards to said spares. where said paths have no common wires.
11. In a multichannel communications system having N channels with line crds 0 through N1 connected to each end of a transmission medium of said system with each line card having an IO port, a bypass port, a link port and a plurality of local ports, with one line card connected to each end of said transmission medium for each of said channels, a method of rerouting channels upon detection of failures of up to two of said line cards, said method comprising:
(a) designating two of said line cards s1 and s2 as spare cards;
(b) hardwiring another one of said line cards i to said local ports of s1 and s2 to form a dual tree, where i is a leaf card of said dual tree and s1 and s2 are internal cards of said dual tree, and said dual tree comprises two trees T1 and T2, where s1 and line card i belong to T1, and s2 and line card i belong to T2;
(c) hardwiring another line card x of said line cards to said dual tree according to the following rules:
i. if there are two internal cards j and k belonging to T1 and T2 respectively, with each of said cards j and k hardwired to each other by less than k1 leaf cards then hardwire local ports of line card to said local ports of j and k, where is a leaf card of said trees T1 and T2,
ii. if rule 11(c)i cannot be applied, and if a single leaf card l is hardwired to two internal cards i1 and i2 belonging to T1 and T2 respectively, and any other leaf card m hardwired to two internal cards is at least as far as I is from the furthest spare card, then disconnect l from i1, hardwire a local port of to a local port of i1, hardwire a local port of to a local port of 1, where is now a leaf card belonging to T1 and l now belongs exclusively to T2, and
iii. if rules 11(c)i and 11(c)ii cannot be applied, and two leaf cards p and q are hardwired to each other, then disconnect p from q, hardwire local ports of to local ports of p and q, where is a leaf card belonging to both T1 and T2 and p and q become internal cards; and

(d) rerouting the IOs of up to two failed line cards f1 and f2 by finding the shortest paths P1,1 from f1 to s1, P1,2 from f1 to s2, p2,1 from f2 to s1, and p2,2 from f2 to s2, choosing q1 as p1,2 and q2 as p2,2 if p1,1 and p2,2 do not have a common wire, and choosing q1 as p1,2 and q2 as p2,1 otherwise, setting switches along said paths q1 and q2 such that said IOs of said failed line cards are routed to the link ports of said spare line cards.