2018-2019-1 20165330 《信息安全系统设计基础》第四周学习总结
学习内容总结
学习目标
- 了解ISA抽象的作用
- 掌握ISA,并能举一反三学习其他体系结构
学习内容
Y86-64指令
-
程序员可见状态
- 15个程序寄存器(RF):每个寄存器存储一个64位的字

- 3个条件码(CC):保存最近的算术或逻辑指令所造成影响的有关信息
- ZF:零标志(操作结果为0 ZF=1;结果不为0 ZF=0)
- SF:符号标志(结果最高位为0 SF=0;结果最高位为1 SF=1)
- OF:溢出标志(对有符号 结果无溢出 OF=0;结果溢出计算出错 OF=1)
- 程序状态(Stat)
数值 名称 含义 1 AOK 正常操作 2 HLT 遇到执行halt指令 3 ADR 遇到非法地址 4 INS 遇到非法指令 - 程序计数器(PC):存放当前指令的地址
- 内存(DMEM):是很大的字节数组,存放程序或数据
- 15个程序寄存器(RF):每个寄存器存储一个64位的字
-
Y86-64指令
- Y86-64程序寄存器标识符
- 存储在CPU的一个寄存器文件中
- 不应访问任何寄存器:用
0xF表示 
- Y86-64指令编码
- 编码长度:1字节~10字节
- 编码组成:
一个单字节的指令指示符+一个单字节的寄存器指示符+一个八字节的常数字 
- 整数操作指令
OPq:addqsubqandqxorq - 跳转指令
jXX:jmpjlejljejnejgejg - 传送指令
comvXX:comvlecomvlcomovecmovnecmovgecomovq - 字段fn(功能码)指明是某个整数操作、数据传送条件或是分支条件

- Y86-64程序寄存器标识符
逻辑设计与硬件控制语言HCL
- HCL表达式
- AND
&&、OR||、NOT! - 与、或、非三种逻辑门可以用一种与非门或者或非门实现
- AND
- HCL整数表达式
- 情况表达式格式:
[ select 1: expr 1 select 2: expr 2 . select k: expr k ]- 集合关系:
iexp in{ iexp1,iexp2,...iexpk } - 算术/逻辑单元(ALU)

Y86-64的顺序实现
- 将处理组织成阶段
- 取值fetch-->译码decode-->执行execute-->访存memory-->写回write back-->更新PC update
- SEQ硬件结构

- 白色方框表示时钟寄存器
- 淡蓝色方框表示硬件单元
- 灰色圆角矩形表示控制逻辑块
- 白色圆圈中表示线路的名字
- 中等粗线表示宽度为字长的数据连接
- 细线表示宽度为字节或更窄的数据连接
- 虚线表示单个位的连接
浙公网安备 33010602011771号