操作系统
文章平均质量分 65
LastEditor
这个作者很懒,什么都没留下…
展开
-
二.调度 之 基于最简单的CPU的问题
根据一中我们对智能芯片添加的规则现在我们再假定物理内存在0x2000地址开始存在与上面0x1000地址有相同的程序(指令序列)物理内存安排如下:0x1000: nop0x1001: nop0x1002: nop0x1003: nop0x1004: nop0x1005: nop0x1006: jmp原创 2009-11-19 13:29:00 · 526 阅读 · 0 评论 -
五. MMU 之 IPvirtual
我们继续向智能芯片添加下列规则:规则十二.存在一个16位寄存器VAB和一个16位寄存器PAB规则十三.存在一个IP虚拟访问控制IPvirtual,当IPvirtual打开时,IP每次访问内存读取指令,实际给出的内存物理地址等于IP-VAB+[PAB],[PAB]表示PAB指向的内存物理地址连续两个字节内容规则十四.当规则十一发生后关闭IPvirtual规则十五.当IRET指令执行之后打开IPvir原创 2009-11-19 17:17:00 · 518 阅读 · 0 评论 -
一.调度 之 一个最简单的CPU
假设有一块智能芯片,内部存在一个规则列表,初始时列表为空,初始功能是可以向规则列表里添加规则. 我们向智能芯片添加下面这些规则:规则一.可以处理NOP指令,指令长度为1个字节规则二.可以处理JMP指令,指令长度为3个字节,后两个字节为要跳转的物理内存地址规则三.可以从物理内存中读取指令并且执行规则四.存在一个指令指针寄存器IP,用于指示要读取的物理内存地址规则五.如果当前执行的是NOP指令原创 2009-11-17 17:57:00 · 575 阅读 · 0 评论 -
三. 调度 之 最简单的调度
目前我们向我们的智能芯片添加的规则有:规则一.可以处理NOP指令,指令长度为1个字节规则二.可以处理JMP指令,指令长度为3个字节,后两个字节为要跳转的物理内存地址规则三.可以从物理内存中读取指令并且执行规则四.存在一个指令指针寄存器IP,用于指示要读取的物理内存地址规则五.如果当前执行的是NOP指令,IP=IP+1 规则六.如果当前执行的是JMP指令,IP=(JMP指令的后两个字节) 规则七.I原创 2009-11-19 13:37:00 · 613 阅读 · 0 评论 -
四. MMU 之 基于最简单CPU的第二个问题
假设存在这样一段指令序列 nop nop nop nop nop nop jmp 0x0000最后一条指令jmp 0x0000的意图是为了跳转到指令序列的开头的nop指令处我们通过某种方法把它放到了物理内存0x1000和0x2000处0x1000: nop0x1001: n原创 2009-11-19 17:15:00 · 467 阅读 · 0 评论 -
调度--操作系统的欺骗
假设有一个CPU体系假设一、这个体系不存在Branch指令(分支或跳转的指令)假设二、这个体系不响应任何异常和中断那么根据这个体系编译得到的指令序列安排在内存中后,一定能得到执行的机会,因为CPU一直按照各条指令的宽度递增取指令的地址, 读取下一条指令执行一.CPU指令和指令执行1.顺序执行:x86体系中MOV, ADD等都是顺序执行的指令定义:顺序执行是指CPU下一次取指原创 2009-11-28 18:22:00 · 749 阅读 · 0 评论