signed int getValue(unsigned int x){ unsigned int pageNum = getPageNum(x) + 1; unsigned int offset = getPageOff(x); //cout << pageNum; if(working_tlb.check(pageNum)){ //need more things here, like returning the actual physical address return (ptable.getValue(working_tlb.getFrameNumber(pageNum), offset)); } else if(ptable.checkPageTable(pageNum)){ //if in the page table, return the physical address working_tlb.addEntry(pageNum, ptable.getFrameNumber(pageNum)); return (ptable.getValue(ptable.getFrameNumber(pageNum), offset)); } else if((!(ptable.checkPageTable(pageNum)) && !(working_tlb.check(pageNum)))){ //up the page fault counter Frame f; f.setVal(getFrameDat(pageNum)); f.setPageNumber(pageNum); ptable.addEntry(f); ptable.incCounter(); working_tlb.addEntry(pageNum, ptable.getFrameNumber(pageNum)); return (ptable.getValue(ptable.getFrameNumber(pageNum), offset)); } }