ARM指令集的模拟.docVIP

  • 8
  • 0
  • 约3.53千字
  • 约 6页
  • 2020-05-29 发布于湖北
  • 举报
ARM指令集的模拟 文档控制级别:内部 版本 作者 Email 时间 1 陈杰 alt_alt@163.com 2005.6.5 2 3 指令模拟执行流程 和其它体系结构类似,ARM的指令执行流程包括取指,译码,执行,保存结果,每条指令执行后还有一个可选的改写状态寄存器过程。可以看到,在指令模拟执行过程中,要访问寄存器或是内存的值的时候,并不是直接访问的,而是通过处理器来取得的,这样做的目的可以防止在指令执行中进行非法的操作,同时也和真实硬件的工作机制更加相似。在上面的执行流程图中,并未涉及到异常的处理。 具体指令的模拟执行 ARM::Instruction 这个类为各种ARM指令的基类,它包含了各类指令的最基本操作,比如寄存器移位操作,得到CPU的指针等等。其它指令都由此继承而来,重载虚函数execute来具体模拟各自的执行流程。 ARM::Instruction_Set 这个类为各种指令类的集合,每一类的指令对象必须被注册到这个类之中去。此类做的主要工作有二: 1.条件码的判断;由于ARM指令是条件执行的,当条件不满足是便不执行,判 断每条指令是否满足条件是这个类的主要工作之一,通过函数test_cond来实现。 2.指令的初步译码分类;ARM指令格式比较复杂,统一译码难度较大,可读性也 较差,我们用2步译码的方式。第一步在这个类中初步译码,判断即将要执行的是 哪种类型的指令,

文档评论(0)

1亿VIP精品文档

相关文档