micro.isa
来自「M5,一个功能强大的多处理器系统模拟器.很多针对处理器架构,性能的研究都使用它作」· ISA 代码 · 共 106 行
ISA
106 行
//This delcares the initiateAcc function in memory operationsdef template MacroInitiateAcc {{ Fault initiateAcc(%(CPU_exec_context)s *, Trace::InstRecord *) const { panic("Tried to execute a macroop directly!\n"); return NoFault; }}};def template MacroCompleteAcc {{ Fault completeAcc(PacketPtr, %(CPU_exec_context)s *, Trace::InstRecord *) const { panic("Tried to execute a macroop directly!\n"); return NoFault; }}};//This template provides the execute functions for a storedef template MacroExecute {{ Fault execute(%(CPU_exec_context)s *, Trace::InstRecord *) const { panic("Tried to execute a macroop directly!\n"); return NoFault; }}};output header {{ class SparcMacroInst : public SparcStaticInst { protected: const uint32_t numMicroops; //Constructor. SparcMacroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass, uint32_t _numMicroops) : SparcStaticInst(mnem, _machInst, __opClass), numMicroops(_numMicroops) { assert(numMicroops); microops = new StaticInstPtr[numMicroops]; flags[IsMacroop] = true; } ~SparcMacroInst() { delete [] microops; } std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; StaticInstPtr * microops; StaticInstPtr fetchMicroop(MicroPC microPC) { assert(microPC < numMicroops); return microops[microPC]; } %(MacroExecute)s %(MacroInitiateAcc)s %(MacroCompleteAcc)s }; class SparcMicroInst : public SparcStaticInst { protected: //Constructor. SparcMicroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : SparcStaticInst(mnem, _machInst, __opClass) { flags[IsMicroop] = true; } }; class SparcDelayedMicroInst : public SparcMicroInst { protected: //Constructor. SparcDelayedMicroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : SparcMicroInst(mnem, _machInst, __opClass) { flags[IsDelayedCommit] = true; } };}};output decoder {{ std::string SparcMacroInst::generateDisassembly(Addr pc, const SymbolTable *symtab) const { std::stringstream response; printMnemonic(response, mnemonic); return response.str(); }}};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?