将奇数值作为指令长度以字节为单位有什么缺点?

问题描述

在具有 24 位(3 字节)固定指令大小的字节可寻址机器上,具有 3 字节大小的指令有什么缺点?

解决方法

一条指令可以跨越缓存行甚至页面边界进行分割。 (或者在没有缓存的简单 CPU 上,拆分为任意 2 次幂大小的总线宽度)。

指令缓存必须支持未对齐的提取(除非您在解码前在更宽的块和缓冲区中提取)。

作为一个小缺点,代码指针的低位不能保证为零,因此您没有用于标记指针的备用位。