migrated ships into .ship files
authoradam <adam@megacz.com>
Mon, 12 Feb 2007 09:36:42 +0000 (10:36 +0100)
committeradam <adam@megacz.com>
Mon, 12 Feb 2007 09:36:42 +0000 (10:36 +0100)
12 files changed:
src/edu/berkeley/fleet/ships/Adder.java [deleted file]
src/edu/berkeley/fleet/ships/Alu1.java [deleted file]
src/edu/berkeley/fleet/ships/Alu2.java [deleted file]
src/edu/berkeley/fleet/ships/Dcache.java [deleted file]
src/edu/berkeley/fleet/ships/Debug.java [deleted file]
src/edu/berkeley/fleet/ships/Execute.java [deleted file]
src/edu/berkeley/fleet/ships/FetchShip.java [deleted file]
src/edu/berkeley/fleet/ships/Fifo.java [deleted file]
src/edu/berkeley/fleet/ships/HaltShip.java [deleted file]
src/edu/berkeley/fleet/ships/Icache.java [deleted file]
src/edu/berkeley/fleet/ships/Lut.java [deleted file]
src/edu/berkeley/fleet/ships/Shifter.java [deleted file]

diff --git a/src/edu/berkeley/fleet/ships/Adder.java b/src/edu/berkeley/fleet/ships/Adder.java
deleted file mode 100644 (file)
index e4955a6..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-/**
- * @author Adam Megacz <megacz@cs.berkeley.edu>
- */
-public class Adder extends InterpreterShip {
-
-    private int link;
-
-    DataInbox a = new DataInbox(this, "a");
-    DataInbox b = new DataInbox(this, "b");
-    DataOutbox out = new DataOutbox(this, "out");
-
-    public String getBalsaName() { return "adder"; }
-
-    public Adder(Interpreter fleet, String name) {
-        super(fleet, name);
-    }
-
-    public void service() {
-        if (!out.readyForDataFromShip()) return;
-        if (!a.dataReadyForShip()) return;
-        if (!b.dataReadyForShip()) return;
-
-        int inA = a.removeDataForShip();
-        int inB = b.removeDataForShip();
-        int result = inA + inB;
-
-        out.addDataFromShip(result);
-    }
-}
diff --git a/src/edu/berkeley/fleet/ships/Alu1.java b/src/edu/berkeley/fleet/ships/Alu1.java
deleted file mode 100644 (file)
index b2b6648..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Alu1 extends InterpreterShip {
-
-    DataInbox   in  = new DataInbox(this,  "in");
-    DataInbox   op  = new DataInbox(this,  "op");
-    DataOutbox  out = new DataOutbox(this, "out");
-
-    public Alu1(Interpreter fleet, String name) { super(fleet, name); }
-
-    public String getBalsaName() { return "alu1"; }
-
-    public void service() {
-        if (in.dataReadyForShip() && op.dataReadyForShip()) {
-            int data   = in.removeDataForShip();
-            int opcode = in.removeDataForShip();
-            switch(opcode) {
-                case 0: out.addDataFromShip(-1 * data);      // NEG
-                    break;
-                case 1: out.addDataFromShip(data+1);         // INC
-                    break;
-                case 2: out.addDataFromShip(data-1);         // DEC
-                    break;
-                case 3: out.addDataFromShip(Math.abs(data)); // ABS
-                    break;
-                default: out.addDataFromShip(0);
-                    break;
-            }
-        }
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/Alu2.java b/src/edu/berkeley/fleet/ships/Alu2.java
deleted file mode 100644 (file)
index 75a82dc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Alu2 extends InterpreterShip {
-
-    DataInbox   ap  = new DataInbox(this,  "a");
-    DataInbox   bp  = new DataInbox(this,  "b");
-    DataInbox   opp = new DataInbox(this,  "op");
-    DataOutbox  out = new DataOutbox(this, "out");
-
-    public Alu2(Interpreter fleet, String name) { super(fleet, name); }
-
-    public String getBalsaName() { return "alu2"; }
-
-    public void service() {
-        if (ap.dataReadyForShip() && bp.dataReadyForShip() && opp.dataReadyForShip() && out.readyForItemFromShip()) {
-            int a      = ap.removeDataForShip();
-            int b      = bp.removeDataForShip();
-            int op     = opp.removeDataForShip();
-            switch(op) {
-                case 0: out.addDataFromShip(a+b); // ADD
-                    break;
-                case 1: out.addDataFromShip(a-b); // SUB
-                    break;
-                case 2: out.addDataFromShip(a*b); // MUL
-                    break;
-                case 3: out.addDataFromShip(a/b); // DIV
-                    break;
-                case 4: out.addDataFromShip(a%b); // REM
-                    break;
-                default: out.addDataFromShip(0);
-                    break;
-            }
-        }
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/Dcache.java b/src/edu/berkeley/fleet/ships/Dcache.java
deleted file mode 100644 (file)
index c570f87..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Dcache extends InterpreterShip {
-
-    DataInbox   read_addr  = new DataInbox(this,   "read_addr");
-    DataOutbox  read_data  = new DataOutbox(this,  "read_data");
-    DataInbox   write_addr = new DataInbox(this,   "write_addr");
-    DataInbox   write_data = new DataInbox(this,   "write_data");
-    TokenOutbox write_done = new TokenOutbox(this, "write_done");
-
-    public Dcache(Interpreter fleet, String name) { super(fleet, name); }
-
-    public String getBalsaName() { return "dcache"; }
-
-    private long[] mem = new long[0];
-    public long readMem(int addr) { return mem[addr]; }
-    public void writeMem(int addr, long val) {
-        if (addr >= mem.length) {
-            long[] newmem = new long[addr * 2 + 1];
-            System.arraycopy(mem, 0, newmem, 0, mem.length);
-            mem = newmem;
-        }
-        mem[addr] = val;
-    }
-
-    public void service() {
-        if (read_addr.dataReadyForShip() &&
-            read_data.readyForItemFromShip()) {
-            read_data.addDataFromShip((int)readMem(read_addr.removeDataForShip()));
-        }
-
-        if (write_addr.dataReadyForShip() &&
-            write_data.dataReadyForShip() &&
-            write_done.readyForItemFromShip()) {
-            writeMem(write_addr.removeDataForShip(),
-                     write_data.removeDataForShip());
-            write_done.addTokenFromShip();
-        }
-    }
-}
diff --git a/src/edu/berkeley/fleet/ships/Debug.java b/src/edu/berkeley/fleet/ships/Debug.java
deleted file mode 100644 (file)
index c6273f0..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Debug extends InterpreterShip {
-
-    DataInbox   data  = new DataInbox(this,  "data");
-    DataOutbox  out   = new DataOutbox(this, "out",  true);
-
-    public String getBalsaName() { return "debug"; }
-
-    public Debug(Interpreter fleet, String name) {
-        super(fleet, name);
-    }
-    
-    public void service() {
-        if (data.dataReadyForShip())
-            Log.println(Log.invert("   DEBUG: got a datum: " +  data.removeDataForShip()+Log.clreol()));
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/Execute.java b/src/edu/berkeley/fleet/ships/Execute.java
deleted file mode 100644 (file)
index 7880738..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Execute extends InterpreterShip {
-
-    DataInbox   in    = new DataInbox(this,  "in",    true);
-    DataOutbox  ihorn = new DataOutbox(this, "ihorn", true, true, false);
-    DataOutbox  dhorn = new DataOutbox(this, "dhorn", true, false, true);
-
-    public String getBalsaName() { return "execute"; }
-
-    public Execute(Interpreter fleet, String name) {
-        super(fleet, name);
-    }
-
-    public void service() {
-        //throw new Error("the Execute ship is only for FPGA simulations");
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/FetchShip.java b/src/edu/berkeley/fleet/ships/FetchShip.java
deleted file mode 100644 (file)
index f6d1656..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class FetchShip extends InterpreterShip {
-
-    DataInbox    codebag = new DataInbox(this,  "codebag");
-    TokenInbox  release = new TokenInbox(this, "release");
-    TokenInbox  revoke  = new TokenInbox(this, "revoke");
-    TokenOutbox done    = new TokenOutbox(this, "done");
-
-    public FetchShip(Interpreter fleet, String name) {
-        super(fleet, name);
-    }
-
-    public void service() {
-        if (!codebag.dataReadyForShip()) return;
-        if (!release.tokenReadyForShip() && !revoke.tokenReadyForShip()) return;
-        if (!done.readyForTokenFromShip()) return;
-        int cbd = codebag.removeDataForShip();
-
-        CodeBag cb = CodeBag.getCodeBagByDescriptor(cbd);
-        if (revoke.tokenReadyForShip()) {
-            revoke.removeTokenForShip();
-            Log.print("revoking codebag: " + cb + "\n");
-        } else {
-            release.removeTokenForShip();
-            if (cb==null)
-                throw new RuntimeException("bogus codebag -- this should not happen");
-            cb.dispatch(getInterpreter());
-        }
-
-        done.addTokenFromShip();
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/Fifo.java b/src/edu/berkeley/fleet/ships/Fifo.java
deleted file mode 100644 (file)
index b0fb610..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Fifo extends InterpreterShip {
-
-    DataInbox   in  = new DataInbox(this, "in");
-    DataOutbox  out = new DataOutbox(this, "out");
-
-    public String getBalsaName() { return "fifo"; }
-
-    private Queue<Integer> fifo = new LinkedList<Integer>();
-
-    public Fifo(Interpreter fleet, String name) {
-        super(fleet, name);
-    }
-
-    public void service() {
-        if (in.dataReadyForShip()) {
-            fifo.add(in.removeDataForShip());
-            //Log.println(name + ": fifo occupancy is now " + fifo.size() + " items");
-        }
-        if (out.readyForDataFromShip() && fifo.size() > 0) {
-            out.addDataFromShip(fifo.remove());
-            //Log.println(name + ": fifo occupancy is now " + fifo.size() + " items");
-        }
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/HaltShip.java b/src/edu/berkeley/fleet/ships/HaltShip.java
deleted file mode 100644 (file)
index d5d72e3..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class HaltShip extends InterpreterShip {
-
-    TokenInbox in = new TokenInbox(this, "in");
-
-    public HaltShip(Interpreter fleet, String name) {
-        super(fleet, name);
-    }
-
-    public void service() {
-        if (!in.tokenReadyForShip()) return;
-        in.removeTokenForShip();
-        ((Interpreter)getInterpreter()).halt = true;
-        Log.println(Log.yellow("    HALT: ====== halt ship got a token; halting the fleet ======"));
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/Icache.java b/src/edu/berkeley/fleet/ships/Icache.java
deleted file mode 100644 (file)
index 11b8bbf..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-import edu.berkeley.fleet.api.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Icache extends InterpreterShip {
-
-    DataInbox   write_addr = new DataInbox(this,   "write_addr");
-    DataInbox   write_data = new DataInbox(this,   "write_data");
-    TokenOutbox write_done = new TokenOutbox(this, "write_done");
-
-    DataInbox   cbd        = new DataInbox(this,   "cbd");
-
-    // only for hardware fleet
-    DataInbox   command    = new DataInbox(this,  "command", true);
-    DataOutbox  ihorn      = new DataOutbox(this, "ihorn",   true, true, false);
-    DataOutbox  dhorn      = new DataOutbox(this, "dhorn",   true, false, true);
-
-    public Icache(Interpreter fleet, String name) { super(fleet, name); }
-
-    public String getBalsaName() { return "icache"; }
-
-    private long[] mem = new long[0];
-    public long readMem(int addr) { return mem[addr]; }
-    public void writeMem(int addr, long val) {
-        if (addr >= mem.length) {
-            long[] newmem = new long[addr * 2 + 1];
-            System.arraycopy(mem, 0, newmem, 0, mem.length);
-            mem = newmem;
-        }
-        mem[addr] = val;
-    }
-
-    public void dispatch(int addr, int size) {
-        for(int i=addr; i<addr+size; i++) {
-            Instruction instr = ((Interpreter)getFleet()).readInstruction(readMem(i));
-            ((Interpreter)getFleet()).dispatch(instr, i);
-        }
-    }
-
-    public void service() {
-        if (cbd.dataReadyForShip()) {
-            int val = cbd.removeDataForShip();
-            int addr = val >> 6;
-            int size = val & 0x3f;
-            dispatch(addr, size);
-        }
-
-        if (write_addr.dataReadyForShip() &&
-            write_data.dataReadyForShip() &&
-            write_done.readyForItemFromShip()) {
-            Interpreter f = (Interpreter)getFleet();
-            f.writeMem(write_addr.removeDataForShip(),
-                       write_data.removeDataForShip());
-            write_done.addTokenFromShip();
-        }
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/Lut.java b/src/edu/berkeley/fleet/ships/Lut.java
deleted file mode 100644 (file)
index 4fa1a9d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Lut extends InterpreterShip {
-
-    DataInbox   ap      = new DataInbox(this,  "a");
-    DataInbox   bp      = new DataInbox(this,  "b");
-    DataInbox   lutp    = new DataInbox(this,  "lut");
-    DataOutbox  out     = new DataOutbox(this, "out");
-
-    public Lut(Interpreter fleet, String name) { super(fleet, name); }
-
-    public String getBalsaName() { return "lut"; }
-
-    public void service() {
-        if (ap.dataReadyForShip() && bp.dataReadyForShip() && lutp.dataReadyForShip()) {
-            int a      = ap.removeDataForShip();
-            int b      = bp.removeDataForShip();
-            int lut    = lutp.removeDataForShip();
-            int ret = 0;
-            if ((lut & 1) != 0) ret |= (~a) & (~b);
-            if ((lut & 2) != 0) ret |= (a)  & (~b);
-            if ((lut & 4) != 0) ret |= (~a) &  (b);
-            if ((lut & 8) != 0) ret |=   a  &    b;
-            out.addDataFromShip(ret);
-        }
-    }
-
-}
diff --git a/src/edu/berkeley/fleet/ships/Shifter.java b/src/edu/berkeley/fleet/ships/Shifter.java
deleted file mode 100644 (file)
index f532e7f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-package edu.berkeley.fleet.ships;
-import edu.berkeley.fleet.interpreter.*;
-import edu.berkeley.fleet.*;
-
-import java.util.*;
-import java.io.*;
-
-public class Shifter extends InterpreterShip {
-
-    private int count = 0;
-
-    DataInbox   valp      = new DataInbox(this, "val");
-    DataInbox   shamtp    = new DataInbox(this, "shamt");
-    DataOutbox  out       = new DataOutbox(this, "out");
-
-    public Shifter(Interpreter fleet, String name) {
-        super(fleet, name);
-    }
-
-    public String getBalsaName() { return "shift"; }
-
-    public void service() {
-        if (valp.dataReadyForShip() && shamtp.dataReadyForShip()) {
-            int val = valp.removeDataForShip();
-            int shamt = shamtp.removeDataForShip();
-            if (shamt < 0) val = val >> (-1 * shamt);
-            else           val = val << shamt;
-            out.addDataFromShip(val);
-        }
-    }
-
-}