处理器结构与操作系统相关(MIPS为例).ppt_第1页
处理器结构与操作系统相关(MIPS为例).ppt_第2页
处理器结构与操作系统相关(MIPS为例).ppt_第3页
处理器结构与操作系统相关(MIPS为例).ppt_第4页
处理器结构与操作系统相关(MIPS为例).ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、See MIPS Run 周剑 2010 7,Contents,MIPS概述,1,协处理器0,2,异常处理,4,函数调用,5,MIPS概述,五级流水(四个时钟周期) IF取指 RD读寄存器 ALU算术运算 MEM访问内存 WB写回寄存器,要求: 1. 指令等长(32位) 2. 内存操作限制(load 2. 异常处理次序与指令次序一致; 3. 后续指令无效化:后续指令不影响寄存器的值和CPU;,异常处理,异常处理步骤,Mips CPU 设置EPC返回地址; 设置SR(EXL)位,进入内核态禁止中断; 设置Cause寄存器(地址异常设置BadVAddr寄存器); 进入异常入口,软件处理; 软件处理

2、: 用k0和 k1索引一块内存,保存寄存器; 查询Cause寄存器确定异常种类; 构建异常处理环境:提供内存栈保存信息;(高级语言子程序) 处理异常; 从异常调用子程序返回到底层的异常处理程序;(内核态,关中断); 异常返回(eret);,异常处理,1. 全局中断使能位:SR(IE) 2. SR(EXL)(异常级)和SR(ERL)(错误级) 置位,则中断禁止 3. 中断屏蔽位SR(IM) 4. Cause寄存器中有8个中断位,一般5-6个为输入引脚驱动,剩下2个用于软件中断;查看Cause(IP),判断活跃的中断。,中断资源,异常处理,中断处理过程,Cause(IP)&SR(IM),确定活跃且

3、使能的中断 ; 通过一个优先级选择一个中断来处理; 保存SR(IM)老屏蔽位,可能在主异常处理保存了SR; 写SR(IM),禁止优先级小于等于该中断的中断; 必要时保存中断上下文; SR(IE)置1,并且将SR(KSU)置于核心态以便清除SR(EXL)离开异常模式; 调用中断处理程序; 返回时禁止中断,以便恢复被中断任务的执行。,异常处理,软件中实现中断优先级,1. 软件中每个中断源都属于某个优先等级(IPL); 2. CPU运行在最低优先级,任何中断允许; 3. CPU运行在最高优先级,任何中断禁止; 4. 任意IPL上,分配到该级和更低优先级的中断被禁止,而 更高优先级的使能,同一级的不同

4、中断先来先服务; 5. IPL和被运行代码相关:任意一段代码以固定IPL执行; 6. 如果不在最低优先级并且没有更高优先级中断活跃时,中断返回被中断的代码,如果在最低优先级可能会进行任务调度来实现CPU共享。,异常处理,原子性实现,原子操作可以通过禁止所有中断来实现,但禁止中断本身(对SR的R-M-W)不保证是原子的。 有三个方法修正: 中断处理例程返回前必须恢复被中断代码的SR; 用一个系统调用来禁止中断; MiPS 指令集中用load-linked和store-conditional指令来设置关键区 (MIPS中的信号量机制) ;,异常处理,启动注意点,1. CPU从非缓存区Kseg1的0

5、 xBFC00000取值; 2. SR保证三个态:CPU在内核态、中断禁止、SR(BEV)=1; 3. 高速缓存处于随机无意义状态; 4. TLB处于随机状态,初始化前不可访问;,异常处理,启动顺序,1. 跳到ROM空间:异常入口在0 xBFC00000;跳转是简单测试 2. 配置&CPU初始化:SR设置成有效状态,可从非缓存空间取值; 3. 内存初始化:在初始化部分RAM并对其进行完整性检查前,只能使用寄存器,可以将初始化缩小到一块能放下ROM中的程序的内存大小; 4. 状态跟踪:利用控制台端口(诊断寄存器)报告初始化过程的一些问题; 5. 现在可以分配栈,设置足够多的寄存器,以便调用C过程; 6. 初始化Cache,运行其他初始化代码;,函数调用,堆栈参数结构,1. 所有函数调用参数在堆栈里分配空间,但参数结构的前四个字通过寄存器传递(a0-a3); 1. SP指向栈底; 2. 至少分配16个字节的参数空间; 3. 任何半字类型参数扩展成32位的对象传递,除了结构体中的参数(字节和半字紧缩成一个字存储);,函数调用,寄存器传递参数,1. 任何位于参数结构开头16个字节的参数传递到a0a3中; 2. 除非第一个参数是浮点,否则不能在FP中传递浮点参数; 3. 整型或者指针型返回值放于v0($2)中,浮点返回到$f0中; 4. 返回数据结构太大,调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论