URN Logo
UNIX Resources » Linux » China Linux Forum » CPU 与 编译器 » 1 » 求助mips1和mips2指令集得差别
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
求助mips1和mips2指令集得差别
求助mips1和mips2指令集得差别 - lotsnow [2007-08-22 11:39 | 168 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - shy828301 [2007-08-22 13:40 | 178 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - lotsnow [2007-08-29 11:50 | 548 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - 1help1 [2008-06-30 15:17 | 115 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - 1help1 [2008-06-30 16:44 | 295 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - 1help1 [2008-06-30 17:25 | 377 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - leil [2007-08-29 20:23 | 107 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - lotsnow [2007-08-31 01:29 | 162 byte(s)]
 
Re: 求助mips1和mips2指令集得差别 - lotsnow [2007-08-23 04:59 | 8 byte(s)]
 
Subject: 求助mips1和mips2指令集得差别
Author: lotsnow    Posted: 2007-08-22 11:39    Length: 168 byte(s)
[Original] [Print] [Top]


请问mips1和mips2指令集得详细差别,或是哪里可以找到指令集
得白皮书之类得东东。Mips官方网站上没找到。

非常感谢!
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: shy828301    Posted: 2007-08-22 13:40    Length: 178 byte(s)
[Original] [Print] [Top]
MIPS官网上应该有指令集手册,但是不会把I和II的分开列,没一条指令下面应该有注释,注明可以在哪个版本里面用。还于一个比较笨的办法是看gas的代码,里面有一个指令表,每条指令标的很清楚。
----
我的blog:http://hi.baidu.com/juventus
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: lotsnow    Posted: 2007-08-23 04:59    Length: 8 byte(s)
[Original] [Print] [Top]
非常感谢
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: lotsnow    Posted: 2007-08-29 11:50    Length: 548 byte(s)
[Original] [Print] [Top]
谢谢你,我在binutils的mips-opc.c文件里找到了。另外还要请教一个问题:
我在构建交叉编译环境时,加了选项-mabi=32 -march=r3000 -mtune=r3000编译了gcc,在编译glibc时也用CFLAGS=-mabi=32 -march=r3000 -mtune=r3000 -O2。 但是反汇编libc.so.6之后,有两个指令不是r3000的。分别是0x7c03e83b(应该是rdhwr)和sync两个。 有两个问题请教
0x7c03e83b是r3000预留指令,可以通过kernel trap处理,那么有没有办法在编译时不生成这个指令?
sync是r3900和mips2的指令,不知道为什么会出现在r3000里,请问有没有办法不生成这个指令?

多谢!
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: leil    Posted: 2007-08-29 20:23    Length: 107 byte(s)
[Original] [Print] [Top]
被你弄糊涂了
glbc难道不是属于交叉编译环境?
你试试-mtune=r4600 -mips2 -DCPU=MIPS2之类的吧
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: lotsnow    Posted: 2007-08-31 01:29    Length: 162 byte(s)
[Original] [Print] [Top]
现在只要用NPTL就会产生rdhwr和sync指令,而且是直接用汇编语言写的,所以gcc不能处理了。rdhwr只能用kernel来trap了。不知道rdhwr跟move的区别,为什么不能用move来替换掉?
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: 1help1    Posted: 2008-06-30 15:17    Length: 115 byte(s)
[Original] [Print] [Top]
我也遇到了这个问题。不管我如何指定 -march,总是会产生 0x7c03e83b 这个指令,只要我在程序中使用 __thread 这个关键字。
----
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: 1help1    Posted: 2008-06-30 16:44    Length: 295 byte(s)
[Original] [Print] [Top]
跟踪了一下,对于没有实现rdhwr的CPU,指向这个指令会 产生RI的exception。
然后0x80000180 -> handle_ri_rdhwr

handle_ri_rdhwr 会模拟rdhwr指令。

所以即使CPU没有实现这条指令,glibc 产生这条指令也是没有问题的。



----
[Original] [Print] [Top]
Subject: Re: 求助mips1和mips2指令集得差别
Author: 1help1    Posted: 2008-06-30 17:25    Length: 377 byte(s)
[Original] [Print] [Top]
又查了一下

rdhwr 是 glibc 用来产生__thread类型的变量用的(当然还有其他用途)。

http://www.linux-mips.org/archives/linux-mips/2006-06/msg00101.html

所以要想不产生 这条指令, 修改 glibc 代码吧
----
[Original] [Print] [Top]
« Previous thread
IA32 LOAD? STORE?
CPU 与 编译器
1
Next thread »
请问多核CPU怎样关掉一个核?
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 03:47:07, cost 0.042107820510864 ms.