Beispiel #1
0
 public void stepPipeline(FetchArgs fetchArgs,DecodeArgs decodeArgs,ExecuteArgs executeArgs, WritebackArgs writebackArgs)
 {
     Thread f = new Thread(() => fetch(fetchArgs));
     Thread d = new Thread(() => decode(decodeArgs));
     Thread e = new Thread(() => execute(executeArgs));
     Thread w = new Thread(() => writeback(writebackArgs));
     f.Start();
     d.Start();
     e.Start();
     w.Start();
     f.Join();
     d.Join();
     e.Join();
     w.Join();
 }
Beispiel #2
0
 public void fetch(FetchArgs args)
 {
     if(args.locked == false)
     {
     registerMAR = args.pc;
     registerMDR = memory.instructions[registerMAR];
     registerPC++;
     }
 }