程序员可见状态
- Y86-64程序中的每条指令都会读取或修改处理器状态的某些部分。这称为程序员可见状态,这里的程序员既可以是用汇编代码写程序的人,也可以是产生机器级代码的编译器。
Y86-64指令
- X86-64的movq指令分成了四个不同的指令,irmovq,rrmovq,mrmovq,rmmovq,分别显示地指明源和目的的格式。
- 有四个整数操作指令 addq subq andq xorq,只对寄存器数据进行操作。
- 有七个跳转指令,jmp、jle、jl、je、jne、jge和jg
- 有六个条件传送指令cmovle、cmovl、cmove、cmovne、cmovge和cmovg
- call指令将返回地址入栈,然后跳到目的地址
- pushq和popq指令实现了入栈和出栈
- halt指令停止指令的执行。
Y86-64指令集的功能码
Y86-64程序寄存器标识符
逻辑门
- 组合电路有几个限制
每个逻辑门的输入必须链接到下述选项之一1.一个系统输入2.某个存储器单元的输出3.某个逻辑门的输出
两个或多个逻辑门的输出不能连在一起。否则它们可能会导致线上的信号矛盾,可能会导致一个不合法的电压或电路故障。
这个网必须是无环的,也就是在网中不能有路径经过一系列的门而形成一个回路,这样的回路会导致该网络计算的函数有歧义。
Y86-64的顺序实现
- 取指
- 译码
- 执行
- 访问
- 写回
- 更新pc