Skip to content

设计依据

  • 一方面,硬件设计者根据指令系统进行硬件的逻辑设计

  • 另一方面,根据指令系统来建立计算机系统软件;

指令格式

操作码OP + 地址码A

寻址方式

  • 显地址:

  • 隐地址: 减少指令中地址数;

  • 顺序寻址:访问连续数据的时候高效,比如循环和数组遍历

  • 跳跃寻址:处理器根据地址跳到另一个地方执行,方便执行非顺序的代码段,实现分支和循环控制

  • 立即寻址:不用通过访问内存来获取操作数,操作数直接包含在指令字中

  • 寄存器寻址: 寄存器寻址涉及到使用寄存器中的数据作为操作数

  • 间接寻址: 涉及到通过一个变量来访问内存地址,先访问指定寄存器或者内存

单地址指令

  • 隐含约定目的地的双操作数:

其中一个操作数(通常是目的操作数)的位置是隐含的,不需要在指令中明确给出其地址; 而另一个操作数则默认来自某个特定的寄存器,比如累加器(ACC);

  • 目的操作数的单操作数:

在这种指令格式中,只有一个操作数的地址被给出,并且这个操作数同时也是操作的结果存放地 增加、减少、取反等,操作完成后将结果存回原地址

零地址

不用操作数的指令,栈顶单元部分操作

字长拓展的问题:

cache替换算法

  • 先进先出算法 可能导致命中率不高

  • 最不经常使用算法Least Frequently Used (LFU)记录淘汰率,最小的淘汰

一些冷数据可能因为历史使用次数高而不会被淘汰;

  • 近期最少使用算法Least Recently Used(LRU) 淘汰近期最久没有访问过的算法

  • 随机替换算法:命中率一般,对于数据量多的时候,可以减少些损失;

cache的写入策略

  • 写回法:只改缓存,而只有当缓存被认为“脏”,需要被替换出去时,才会被写回主存;

  • 写穿法:只写法,任何对缓存的更改都会反映到主存中

本站访客数 人次 本站总访问量