教材知识点总结
程序员可见状态
- 程序员:用汇编代码写程序的人/产生机器级代码的编译器
可见状态
- 15个程序寄存器(RF)
- 3个条件码(CC) ZF:零标志 SF:符号标志 OF:溢出标志
- 程序状态(Stat):
- 程序计数器(PC)
- 内存(DMEM)
Y86-64指令的重点
程序寄存器标识符
- 范围:0-0xE
- 存储:寄存器文件
- 不应访问任何寄存器:用0xF表示
- 指令编码
- 编码长度:1字节-10字节
编码组成:一个单字节的指令指示符/一个单字节的寄存器指示符/一个八字节的常数字
各指令简介:
rrmovq ra,rb:将ra寄存器中的值放入rb寄存器中
irmovq v,rb:将立即数v放入rb寄存器中
rmmovq ra,D(rb):将ra寄存器中的值放入rb+
D的内存单元中opq ra,rb:ra与rb进行整数运算,结果存入rb
jxx dest:跳转指令
cmovXX ra,rb:条件传送指令
call Dest:返回地址入栈,跳入Dest
ret:从call指令返回
pushq ra:将ra值压入栈顶
popq ra:将栈顶值弹入ra
指令集的功能码:高四位代码部分,低四位功能部分
HCL简介
- HCL:硬件控制语言
HDL:硬件描述语言
HCL表达式中的运算符:
- AND用&&表示
- OR用丨丨表示
- NOT用!表示
- 与或非三种逻辑门可以用一种与非门或者或非门实现
HCL整数表达式
情况表达式:
通用格式:
[ select 1 : expr 1 select 2 : expr 2 ·· select k : expr k ]
ALU : 根据控制单元输入
存储器和时钟
- 随机访问寄存器:简称内存
将处理器组织成阶段
六阶段框架
- 取值:fetch
- 译码:decode
- 执行:execute
- 访存:memory
- 写回:write back
- 更新:PC update