Пример #1
0
Файл: main.c Проект: leec1/yess
int main(int argc, char * argv[]) {
    if (argc < 2) {
        printf("Please provide a filename.\n");
        return 0;
    }

    if (!openFile(argv[1])) {
        printf("Failed to open file.\nUsage: yess <filename>.yo\n");
        return 0;
    }
    
    initialize();
    
    if (!load()) {
        dumpMemory();
        return 0;
    }
    
    while(!stop) {
        stop = writebackStage(&fwd);
        memoryStage(&fwd);
        executeStage(&fwd);
        decodeStage(&fwd);
        fetchStage(&fwd);
        clockCount++;
    }

    printf("\nTotal clock cycles = %d\n", clockCount);

    return 0;
}
Пример #2
0
void CSMDoc::Operation::run()
{
    prepareStages();

    QTimer timer;

    timer.connect (&timer, SIGNAL (timeout()), this, SLOT (executeStage()));

    timer.start (0);

    exec();
}
Пример #3
0
int main(int argc, char * argv[])
{
  argc -= setDebugOptions(argc, argv);

  initialize();

  bool loadError = !load(argc, argv);
  if (loadError)
  {
    dumpMemory();
    return 1;
  }

  unsigned int clockCount = 0;
  bool stop = FALSE;
  
  pipelineForward forward;
  clearBuffer((char*)&forward, sizeof(pipelineForward));

  while(!stop)
  {
    dumpStage(DBG_WRITEBACK_STAGE);
    stop = writebackStage(&forward);

    dumpStage(DBG_MEMORY_STAGE);
    memoryStage(&forward);

    dumpStage(DBG_EXECUTE_STAGE);
    executeStage(&forward);

    dumpStage(DBG_DECODE_STAGE);
    decodeStage(forward);

    dumpStage(DBG_FETCH_STAGE);
    fetchStage();

    ++clockCount;
  }

  printf("\nTotal clock cycles = %d\n", clockCount);

  return 0;
}
Пример #4
0
int main(int argv, char * args[]){
    initialize(); 
    if(!load(argv, args)){
        dumpMemory();
        exit(0);
    }

    int clockCount = 0;
    bool stop = false;
    forwardType forward; //added for lab7
    statusType status;//lab 9
    while(!stop){
        stop = writebackStage(&forward, &status);
        memoryStage(&forward, &status);
        executeStage(&forward, status);
        decodeStage(forward);
        fetchStage(forward);
        clockCount++;
    }

    printf("\nTotal clock cycles = %d\n", clockCount);
}