Debian MIPS Port
龙芯吧
全部回复
仅看楼主
level 8
mxcai2005 楼主
MIPS is one of the first RISC CPU architectures invented around 1985. It was a radical design which removed many features deemed unnecessary, since the goal was to get the best possible performance from a limited transistor count. Back then, MIPS were powerful general purpose CPUs, and very successful in that role, until they lost ground to systems based on cheap mass-produced Intel-compatible CPUs. Later on, the simple and elegant design allowed to create a wide range of low power CPUs targeted for embedded applications.
Today, MIPS is a popular architecture for embedded systems, with a strong presence in various networked devices.
Debian currently provides 3 ports, 'mips', 'mipsel', and 'mips64el'. The 'mips' and 'mipsel' ports are respectively big and little endian variants, using the O32 ABI with hardware floating point. They use the MIPS II ISA in Jessie and the MIPS32R2 ISA in Stretch/Sid. The 'mips64el' port is a 64-bit little endian port using the N64 ABI, hardware floating point and the MIPS64R2 ISA.
2F 彻底淘汰了
2016年12月23日 03点12分 1
level 8
mxcai2005 楼主
现在 mips32R2 mips64R2 是最低要求了
mips64 已经到 mipsR6 了
2016年12月23日 03点12分 2
level 8
mxcai2005 楼主
MIPS32/MIPS64
The 32-bit MIPS32 instruction set and the 64-bit MIPS64 instruction set were introduced in 1999.[10] MIPS32 is based on MIPS II with some additional features from MIPS III, MIPS IV, and MIPS V; MIPS64 is based on MIPS V.[10] NEC, Toshiba and SiByte (later acquired by Broadcom) each obtained licenses for the MIPS64 instruction set as soon as it was announced. Philips, LSI Logic, IDT, Raza Microelectronics, Inc., Cavium, Loongson Technology and Ingenic Semiconductor have since joined them.
MIPS32/MIPS64 Release 1
The first release of MIPS32, based on the MIPS II instruction set, added conditional moves, prefetch instructions, and other features from the R4000 and R5000 families of 64-bit processors.[10] The first release of MIPS64 adds a MIPS32 mode to run 32-bit code.[10] The MUL and MADD (multiply-add) instructions, previously available in some implementations, were added to the MIPS32 and MIPS64 specifications, as were cache control instructions.[10]
MIPS32/MIPS64 Release 5
Announced on December 6, 2012.[12]
MIPS32/MIPS64 Release 6
MIPS32/MIPS64 Release 6 in 2014 added[13] the following:
2016年12月23日 03点12分 3
level 8
2f是r1对吧…
2016年12月23日 05点12分 4
MIPS III, 最基本的MIPS64都达不到
2016年12月23日 05点12分
回复桜坂_工兵:看来是我太年轻了,等4k吧
2016年12月23日 07点12分
@桜坂_工兵 如果龙芯再不争气,那么可能3-5年之后,所有的Linux-dist@mips就会最低或默认MIPS32/64-R6了;龙芯就嗝屁了,只能兼容MIPSxx-R3(只是龙芯自己说兼容R3,是否属实我也不知道)。
2016年12月23日 08点12分
@_itsuka_ 4K玄,R6跟现在的R2变化很大,虽然龙芯的研发能力我是承认的,然而我一点都不相信他们能做出来R6
2016年12月23日 13点12分
level 8
我的8089d啊
2016年12月23日 05点12分 5
装Gentoo吧,永远不会出指令集不兼容问题[滑稽]
2016年12月23日 13点12分
@桜坂_工兵 二进制大法好
2016年12月23日 17点12分
level 8
mxcai2005 楼主
其实貌似也只有3A2000 及以后的U 支持mips64R2
3A1000 只支持mips64R1
2016年12月23日 09点12分 6
level 8
mxcai2005 楼主
MIPS32/MIPS64 Release 6
MIPS32/MIPS64 Release 6 in 2014 added[13] the following:
a new family of branches with no delay slot:
unconditional branches (BC) & branch-and-link (BALC) with a 26-bit offset,
conditional branch on zero/non-zero with a 21-bit offset,
full set of signed & unsigned conditional branches compare between two registers (e.g. BGTUC) or a register against zero (e.g. BGTZC),
full set of branch-and-link which compare a register against zero (e.g. BGTZALC).
index jump instructions with no delay slot designed to support large absolute addresses.
instructions to load 16-bit immediates at bit position 16, 32 or 48, allowing to easily generate large constants.
PC-relative load instructions, as well as address generation with large (PC-relative) offsets.
bit-reversal & byte-alignement instructions (previously only available with the DSP extension).
multiply & divide instructions redefined so that they use a single register for their result).
instructions generating truth values now generate all zeroes or all ones instead of just clearing/setting the 0-bit,
instructions using a truth value now only interpret all-zeroes as false instead of just looking at the 0-bit.
Removed infrequently used instructions:
some conditional moves
branch likely instructions (deprecated in previous releases).
integer overflow trapping instructions with 16-bit immediate
integer accumulator instructions (together HI/LO registers, moved to the DSP Application-Specific Extension)
unaligned load instructions (LWL & LWR), (requiring that most ordinary loads & stores support misaligned access, possibly via trapping and with the addition of a new instruction (BALIGN))
Reorganized the instruction encoding, freeing space for future expansions.
2016年12月24日 14点12分 7
level 8
mxcai2005 楼主
a new family of branches with no delay slot:
这个很牛逼呀,这是效率提升呀
2016年12月25日 00点12分 8
delay slot是啥?
2016年12月25日 04点12分
@_itsuka_ 延迟槽指令,搞MIPS核开发的没一个不骂这个决定,还还效率提升
2016年12月26日 06点12分
@ZXER☜ 噗,查到了,是很恶心。不过用高级语言的话这个可以不用管吧?另外硬件实现起来也会容易
2016年12月26日 07点12分
@_itsuka_ 怎么不用管,只要有跳转,延迟槽指令可以提升不少效率,跟语言没关系,编译器编译优化会自动在跳转指令后面加,不要说CPU了,GPU也用延迟槽指令来提升效率
2016年12月27日 07点12分
level 8
勉强看懂…不过那个比特反转和字节对齐看起来很像适用于网络设备或者嵌入式的
2016年12月25日 04点12分 9
level 9
反正看不懂,反正很牛逼,反正不接地气。
我觉得龙芯无所谓跟随外国,走自己的路子,反正现在linux是开源的,大不了自己维护一个分支,反正API都是兼容 POSIX的,怕毛![酷]
2016年12月26日 06点12分 10
龙芯还没你想的这么吊,自己搞==死! 站在巨人肩膀上,龙芯才现在这水平,你还要脱离大环境?
2016年12月26日 08点12分
@我又换昵称了。 麻烦你别这样黑龙芯了,中国能做出自己的CPU已经很不错了,全世界能有几个国家可以自己设计CPU。龙芯才发展多少年,intel发展了多少年,你这样黑龙芯,什么居心,龙芯死了你就高兴了?
2016年12月28日 11点12分
@kyokusanagi98 不能脱离大环境,软件生态比CPU难做。
2017年01月04日 07点01分
@mpysw MIPS都死了说R6有什么用,自己发展才是王道,指令集争来争去的没有半点意义
2017年01月05日 05点01分
1