added ports diagram to architecture manual
[fleet.git] / doc / archman.tex
index 707e71a..5d79cc8 100644 (file)
@@ -1,6 +1,7 @@
 \documentclass[10pt,oneside]{book}
 \reversemarginpar 
 \usepackage{palatino}
+\usepackage{epsfig}
 \usepackage{parskip}
 \usepackage{register}
 \usepackage{bytefield}
@@ -22,6 +23,38 @@ Bypass\\
 
 
 \pagebreak
+\section*{Programmer's View of The Ship-Fabric Interface}
+
+The diagram below represents a {\it programmer's} conceptual view of
+the interface between ships and the switch fabric.  Actual
+implementations may differ radically, as long as such differences are
+not visible to software programs.
+
+%\begin{wrapfigure}{R}{2in}
+\epsfig{file=ports,width=6in}
+%\end{wrapfigure}
+
+The term {\it port} refers to each interface to the ship (either
+inbound or outbound) and the machinery required to manage this
+interface.  The machinery consists of a {\it latch}, which is as wide
+as a single machine word, a {\it pump}, which is a circular fifo of
+instruction-width latches, and a number of {\it sources} or {\it
+  destinations}.  Sources and destinations which can only send or
+recieve tokens (rather than data items) are drawn as dashed lines.
+Buffering fifos are drawn where they appear.
+
+Note in particular that every pump is a destination capable of
+recieving a data word.  This is how instructions are dispatched to
+pumps -- they are inserted into the switch fabric as {\it packets}
+whose destination addresses
+
+Note that addresses are actually paths.
+
+Define packets.
+
+
+
+\pagebreak
 \section*{Data Formats}
 
 \subsection*{Packet Destination Address (12 bits)}