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; }
void CSMDoc::Operation::run() { prepareStages(); QTimer timer; timer.connect (&timer, SIGNAL (timeout()), this, SLOT (executeStage())); timer.start (0); exec(); }
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; }
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); }