处理器体系结构学习记录
重要知识点 指令集体系结构 一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构。 Y86处理器 Y86处理器状态类似于IA32。有8个程序寄存器:%eax,%ecx,%edx,%ebx,%esi,%edi,%esp和%ebp。处理器每个程序寄存器存储一个字。寄存器%esp被入栈、出栈、调用和返回指令作为栈指针。在其他情况中,寄存器没有固定的含义或固定值。有3个一位的条件码:ZF、SF和OF,它们保存最近的算术或逻辑指令所造成影响的相关信息。程序计数器(PC)存放当前正在执行的指令地址。 Y86指令 字节 halt 0 0 nop 1 0 rrmovl rA,rB 2 0 rA rB irmovl V,rB 3 0 F rB V rmmovl rA,D(rB) 4 0 rA rB D mrmovl D(rB),rA 5 0 rA rB D OPl rA,rB 6 fn rA rB jXX Dest 7 fn Dest comvXX rA,rB 2 fn rA rB call Dest 8 0 Dest ret 9 0 pushl rA A 0 rA F popl rA B 0 rA F 注:rA、rB为寄存器标识符,V,D,为常数,Dest为地址。 Y86指令编码 整数操作编码 addl 6 0 subl 6 1 andl 6 2 xorl 6 3 分支操作编码 jmp 7