一.调度 之 一个最简单的CPU

来源:互联网 发布:2016淘宝店铺销售排名 编辑:程序博客网 时间:2024/06/13 21:51

假设有一块智能芯片,内部存在一个规则列表,初始时列表为空,初始功能是可以向规则列表里添加规则.

 

我们向智能芯片添加下面这些规则:
规则一.可以处理NOP指令,指令长度为1个字节
规则二.可以处理JMP指令,指令长度为3个字节,后两个字节为要跳转的物理内存地址
规则三.可以从物理内存中读取指令并且执行
规则四.存在一个指令指针寄存器IP,用于指示要读取的物理内存地址
规则五.如果当前执行的是NOP指令,IP=IP+1
规则六.如果当前执行的是JMP指令,IP=(JMP指令的后两个字节)
规则七.IP内容改变时到物理内存中取指令

 

假定物理内存从0x1000地址开始存在下面的程序(指令序列)
0x1000:        nop
0x1001:        nop
0x1002:        nop
0x1003:        nop
0x1004:        nop
0x1005:        nop
0x1006:        jmp 0x1000

 

根据上面添加的规则,假定当前的IP内容是0x1000,并且已经开始执行.则我们的智能芯片就一直在循环执行上面

的指令序列.