- 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)