From: adam Date: Wed, 11 Jun 2008 18:47:26 +0000 (-0700) Subject: checkpoint X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=8fe3acac8d700ba6773b505f9fa03936ebc3e51e;p=fleet.git checkpoint darcs-hash:20080611184726-5007d-71ec54f97a39ad5177bed48382165706311a3006.gz --- diff --git a/am33.tex b/am33.tex index 50fcf5f..ce927e6 100644 --- a/am33.tex +++ b/am33.tex @@ -66,14 +66,18 @@ Adam Megacz Changes: \begin{tabular}{rl} -\color{red} 06-Jun -& \color{red} Factored in Russell Kao's comments (thanks!)\\ -& \color{red} Added mechanism for setting C-flag from fabric even on outboxes\\ -\color{red} 05-Jun -& \color{red} Made {\tt OLC} test a predicate-controlled condition\\ -& \color{red} Rewrote ``on deck'' section \\ -& \color{red} Added ``{\tt unset}'' value for {\tt ILC}\\ -& \color{red} Changed {\tt DP} to {\tt DataPredecessor} for clarity\\ +\color{red} +11-Jun +& \color{red} XXX \\ +\color{black} +06-Jun +& Factored in Russell Kao's comments (thanks!)\\ +& Added mechanism for setting C-flag from fabric even on outboxes\\ +05-Jun +& Made {\tt OLC} test a predicate-controlled condition\\ +& Rewrote ``on deck'' section \\ +& Added ``{\tt unset}'' value for {\tt ILC}\\ +& Changed {\tt DP} to {\tt DataPredecessor} for clarity\\ \color{black} 30-Apr & added comment about address-to-path ship \\ @@ -195,13 +199,13 @@ may differ. Each dock consists of a {\it data latch}, which is as wide as a single machine word and a {\it pump}, which is a circular fifo of instruction-width latches. The values in the pump control the data -latch. \color{red}The dock also includes a {\it path latch}, which +latch. The dock also includes a {\it path latch}, which stores the path along which outgoing packets will be sent.\color{black} Note that the pump in each dock has a destination of its own; this is the {\it instruction destination} mentioned in the previous section. -\color{red} From any source to any dock's data destination there are +From any source to any dock's data destination there are two distinct paths which differ by a single bit. This bit is known as the ``signal'' bit, and the routing of a packet is not affected by it; the signal bit is used to pass control values between docks. Note that paths @@ -319,7 +323,6 @@ one instruction and {\it outer} loops of multiple instructions. Inner loops may be nested within an outer loop, but no other nesting of loops is allowed. -\color{red} The dock has two loop counters, one for each kind of loop: \begin{itemize} @@ -358,7 +361,6 @@ The pump has three flags: {\tt A}, {\tt B}, and {\tt C}. % operations (such as sending a completion token) only on the last % iteration of an outer loop. -\color{red} \item The {\tt C} flag is known as the {\it control} flag, and may be set by the {\tt move} instruction based on information from the ship or from an inbound packet. See the {\tt move} instruction @@ -367,18 +369,15 @@ The pump has three flags: {\tt A}, {\tt B}, and {\tt C}. \end{itemize} -\color{red} - The {\tt P} field specifies a three-bit {\it predicate}. The predicate determines which conditions must be true in order for the instruction to execute; if it is not executed, it is simply {\it ignored}. The table below shows what conditions must be true in order for an instruction to execute: -\color{red} \begin{center} \begin{tabular}{|r|ll|}\hline -\color{red}Code & Execute & if \\\hline +Code & Execute & if \\\hline {\tt 000:} & {\tt OLC$\neq$0} & and {\tt A=0} \\ {\tt 001:} & {\tt OLC$\neq$0} & and {\tt A=1} \\ {\tt 010:} & {\tt OLC$\neq$0} & and {\tt B=0} \\ @@ -393,8 +392,6 @@ order for an instruction to execute: \pagebreak \subsection{On Deck} -\color{red} - When an instruction arrives on deck, two concurrent processes are started. No subsequent instruction may come on deck until both processes have completed: @@ -506,8 +503,6 @@ The dock supports for instructions: The data successor and token successor must both be empty in order for a {\tt move} instruction to attempt execution. -\color{red} - Every time the {\tt move} instruction executes, the {\tt C} flag may be set: @@ -570,7 +565,7 @@ The FleetTwo implementation is likely to have an unarchitected ``literal latch'' at the on deck ({\tt OD}) stage, which is loaded with the possibly-extended literal {\it at the time that the {\tt set} instruction comes on deck}. This latch is then copied into the data -latch when \color{red}a {\tt set Data Latch} instruction +latch when a {\tt set Data Latch} instruction executes\color{black}. If the {\tt Dest} field is {\tt flags}, the {\tt Payload} field is