问题描述
在具有 24 位(3 字节)固定指令大小的字节可寻址机器上,具有 3 字节大小的指令有什么缺点?
解决方法
一条指令可以跨越缓存行甚至页面边界进行分割。 (或者在没有缓存的简单 CPU 上,拆分为任意 2 次幂大小的总线宽度)。
指令缓存必须支持未对齐的提取(除非您在解码前在更宽的块和缓冲区中提取)。
作为一个小缺点,代码指针的低位不能保证为零,因此您没有用于标记指针的备用位。
在具有 24 位(3 字节)固定指令大小的字节可寻址机器上,具有 3 字节大小的指令有什么缺点?
一条指令可以跨越缓存行甚至页面边界进行分割。 (或者在没有缓存的简单 CPU 上,拆分为任意 2 次幂大小的总线宽度)。
指令缓存必须支持未对齐的提取(除非您在解码前在更宽的块和缓冲区中提取)。
作为一个小缺点,代码指针的低位不能保证为零,因此您没有用于标记指针的备用位。