The actual implementation is more complex than described here - the actual loop takes 7 cycles to complete if no message is available and 10 instructions when a message is available. The goal here is to determine how many RNs are sitting at hardware registers for the next step. The relevant portion of my algorithim looks like this:ġ) Each RN copies the value of the HW register to X (which crashes any EXAs in nodes without hardware registers).ģ) Each RN loops, pulling a message into X, checking to see if it is -9999, and, if not, rebroadcasting it and repeating the process.Ĥ) When an RN receives -9999, it sends a message containing the hostnameĥ) Next, it goes into a loop exactly the same as #3 except the exit condition is -9998.Ħ) When an RN that has already sent its hostname receives a -9998 message, it sends a message with the value in the hardware registerġ) The MN loops 20 times, each time checking to see if MRD is true and (if it is) using VOID M to process the message and increments a counter. MN = "Master Node" - a single EXA sitting in the starting node that will produce the output to solve the level. RN = "Remote RN" - an EXA that is somehwere other than the starting node. I have reasonablly good solutions for #1 and #3 - #2 is where I have problems. :)ġ) Navigate to all the nodes in an unknown, variable, networkĢ) Extract two pieces of data from each of an unknown, variable, number of hardware registersģ) Sort the pairs of data in ascending order. Note - I have a working solution for this problem, but it completes in 2688 cycles (vs 1024 for the 10th percentile).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |