• No se han encontrado resultados

ARRAY

11. Metro Link

11.2 Interfaces

On t h e node side,MLINKconnect s t o t h e 64-b it , pipelined b us. Th is b us serves t w o purposes for eachMLINKint erface. Recall from Ch apt er 10 t h at each net w ork int erface on an MBTA node h as a designat ed cycle on t h e pipelined b us once every 80 ns.MLINKuses t h is slot t o read or w rit e dat a from t h e fast memory at 100MB/ s. Th e processor also h as a designat ed slot on t h e pipelined b us.

During t h e processor’s slot , it may read or w rit e 32-b it values at memory-mappedMLINKaddresses.

Th ese memory-mapped addresses allow t h e processor t o:

1. configure eachMLINK

2. launch or ab ort net w ork operat ions

3. ch eck on t h e st at us of eachMLINK’s ongoing or recent ly complet ed operat ions

On t h e net w ork side,MLINKh as a b yt e-w ide net w ork port w h ich b eh aves like aMETROforw ard or b ackw ard port . Th e net w ork port h as t h e same set of configurat ion opt ions as eachMETRO

forw ard and b ackw ard port (See Tab le 9.2).

11.3 Primitive Network Operations

MLINKdist inguish esfive kinds of primit ive net w ork operat ions:

1. READ

2. WRITE

3. RESET

4. NOOP

5. ROP(remot e funct ion invocat ion)

Th eRESET,NOOP,READ, andWRITEoperat ions are h andled ent irely b y t h e receivingMLINKw it h out involving t h e processor, w h ereas t h e remot e funct ion invocat ion is only queued b yMLINK t o b e h andled b y t h e node processor. Th eREADoperat ion performs a mult i-w ord, memory read operat ion on t h e remot e node, ret urning t h e dat a at t h e specified address t o t h e source. Th eWRITEoperat ion performs t h e complement ary funct ion, allow ing dat a t o b e w rit t en int o a remot e node’s memory.

Th ese operat ions are direct , h ardw are reads and w rit es and are associat ed w it h no guards for coh erence. Th eRESET operat ion signalsMLINK t o release t h e associat ed processor and allow it t o b oot . Comb ined w it h t h eWRITEoperat ion, t h is primit ive allow s each node t o b e remot ely configured and b oot ed across t h e net w ork. Th eNOOPoperat ion performs no funct ion on t h e dest inat ion node b ut does ret urn connect ion st at us informat ion w h ich is useful during t est ing.

Remot e funct ion invocat ion is a generic primit ive w h ich allow s soft w are configurat ion of arb it rary message t ypes and remot e net w ork funct ions.MLINK simply conveys t h e specified dat a

and a dist inguish ed address from t h e source endpoint t o t h e dest inat ion via t h e net w ork. Th e dest inat ionMLINK queues t h e arriving dat a and address on t h e incoming message queue for t h e

MLINKMessage Formats:

(ROUTE)*RESET(DATAcksum)2TURN (ROUTE)*NOOP(DATAcksum)2TURN

(ROUTE)*READlen(DATAaddr)3(DATAcksum)2TURN

(ROUTE)*WRITElen(DATAaddr)3(DATAcksum)2(DATAwrite)(8len)(DATAcksum)2TURN (ROUTE)*ROPlen(DATAaddr)3(DATAcksum)2(DATA)(8len)(DATAcksum)2TURN

MLINKReply Formats:

(DATAmlink status)2ACK/NACKDROP

(DATAmlink status)2(DATA IDLE)*(DATAread)(8len)(DATAcksum)2DROP

Each primit ive message t ype h as it s ow n init ial message format . Wh ere det ermined b y

MLINK, superscript s indicat e t h e numb er of b yt es composing each port ion of t h e message dat a. Th e read operat ion is t h e only primit ive message w h ich receives dat a along w it h it s reply message.

Figure 11.1: MLINKMessage Format s

dest inat ion processor t o service. Th e dest inat ion processor dequeues each message and invokes t h e funct ion at t h e specified address w it h t h e associat ed dat a. [E+92] calls t h is kind of low -overh ead, remot e code invocat ion anActive Message. Th is primit ive export s t h e b asic funct ionalit y of t h e net w ork t o t h e soft w are level w h ere cust om message h andlers can b e craft ed in soft w are for each applicat ion or run-t ime syst em.

Figure 11.1 summarizes t h e message format s used b yMLINKnet w ork int erfaces t o perform t h e primit ive net w ork operat ions. Wh ere appropriat e, t h e t arget address and dat a lengt h are guarded

w it h t h eir ow n ch ecksum so t h at dat a can b e w rit t en int o memory w h ile it is b eing received (See Sect ion 4.7.4). In reply t o aWRITE,RESET,NOOP, orROPmessage,MLINKsends st at us informat ion

and an acknow ledgement . Wh en replying t o an uncorrupt edREADoperat ion,MLINKret urns t h e dat a associat ed w it h t h e read. Th eDATA IDLEw ords preceding t h e read dat a in t h e read reply message are used t ofill in any delays b efore t h efirst b yt e of read dat a is availab le. Th is delay arises part ially from t h e need t o w ait for t h efirst read dat a on t h e node dat a b us and part ially from t h e need t ofill pipeline st ages w it h inMLINKw it h reply dat a.

Th ese primit ives form a minimal set of net w ork primit ives. Th ey provide a h igh -degree offlex- ib ilit y for a general-purpose mult iprocessor. In sit uat ions w h ere t h e applicat ion and programming model are limit ed or b iased t o a part icular domain, it may make sense t o cust omize a net w ork int er- face w it h addit ional net w ork primit ives implement ed direct ly in h ardw are w it h out t h e processor’s

int ervent ion. For inst ance, w h en b uilding a dedicat ed, sh ared-memory mach ine w it h a part icular memory-model in mind, it w ould b e b eneficial t o provide primit ive net w ork operat ions t o h andle coh erent memory t ransact ions.