这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 测试测量 » MIPS学习笔记

共9条 1/1 1 跳转至

MIPS学习笔记

高工
2011-06-13 14:58:13     打赏

看到寒泥同学整理的MIPS方向的学习心得笔记,想必可以给思路还未清晰的初学者指个方向,小虾们加油哦!
如下:

第一是空间上的分配。MIPS空间上共分四个部份:
0x00000000 - 0x7fffffff 为kuser区,主要用于MMU映射,用于运行用户程序;
0x80000000 - 0x9fffffff 为kseg0区,访问方式为Cache访问,主要用于运行无MMU系统的大部份程序或操作系统的核心程序;
0xa0000000 - 0xbfffffff 为kseg1区,为无Cache方式访问。主要用于运行Bootloader程序,或映射寄存器。
0xc0000000 - 0xffffffff 为kseg2区,MMU映射访问,用于运行一些管理态的程序。
需要注意的是:kseg0和kseg1都是映射上物理地址0x00000000-0x1fffffff上。
因些,程序运行的起始地址0xbfc00000实际上是物理地址0x1fc00000。

第二是寄存器。MIPS一共有32个通用寄存器。
$0 zero,该寄存器桓为0,用途较广,可用于清空其它寄存器,做一些空操作等。
$1:at,主要保留用于汇编的一些宏指令。编译器可能使用到它。
$2 - $3:v0 - v1,主要用于函数调用的定点返回值
$4 - $7:a0 - a3,函数调用时传递的4个定点参数
$8 - $15:t0 - t7,非保存的临时寄存器,可能被子程序改变其值。
$16 - $23:s0 - s7,保存的临时寄存器,使用完毕需要还原原来的值。
$24 - $25:t8 - t9,同t0 - t7;
$28:gp,全局指针(Global Pointer),访问一些全局变量时会用到,具体用法暂时还不是太清楚 ;
$29:sp,堆栈指针(Stack Pointer) ;
$30:fp,帧指针(Frame Pointer) ,主要用于保存函数入口的堆栈指针。
$31:ra ,执行jr,jalr后保存的返回PC地址。

第三是协处理器CP0。
用的最多的就是$12 SR和$13 CAUSE了。




关键词: 学习     笔记    

菜鸟
2011-06-13 15:11:12     打赏
2楼
我是初学者啊,泪流满面

专家
2011-06-13 17:00:37     打赏
3楼
MIPS空间的分配是固定的?

菜鸟
2011-06-14 11:30:45     打赏
4楼
初学……楼主~这个东西是不是很难呀?可否亲自指导一下?

高工
2011-06-15 09:54:11     打赏
5楼
MIPS是衡量CPU性能的指标。MIPS指令为定长的

高工
2011-06-15 09:55:07     打赏
6楼

这个……互相学习吧……


专家
2011-06-15 11:11:00     打赏
7楼
这个我知道: MIPS(Million Instructions Per Second)

但是你说的这个MIPS应该是一个体系结构,我想知道的是你是怎么样分配的?

菜鸟
2011-06-20 10:32:05     打赏
8楼

公司名称:深圳市迈辰视频技术有限公司

公司网址:www.szmvt.com

主要经营:笔记本、平板电脑(7寸、9.7寸)

联系人:颜经理

联系电话:13600415885

联系qq:892173346


菜鸟
2012-02-15 18:19:40     打赏
9楼

大家讨论,共同进步


共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]