首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 用底层代码说话:龙芯不是“中国心” [已结帖,结帖人:lptt]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2007-08-09 19:42:35 楼主
    所谓   发明自己的CPU   我想应该是这样:1.自己老老实实自己用VHDL或VERILOG写
                                                                            ip   core   (其实ip   core几十个VHD或V文件)
                                                                          2.用综合器一步步综合成自己的标准单元电路
                                                                          3.布线制版
    一。龙芯的ip   core由来
    首先看一段代码(设置好福珑上的编程环境)

    .data
    mess:   .asciiz   “\n   hello   world   ”
    .globl   main
    .text
    main:
    li   $v0,   4   #   打印的系统中断号
    la   $a0,   mess#   要打印的字符串的地址
    syscall   #   调中断
    .end       main      

    这是在福珑机子(基于龙芯2E)上简单的一段HELLO   WORLD汇编代码,可以看出所有指令(li   la   还有这个程序没有包含的龙芯指令都和MIPS指令完全一样)都是MIPS指令,代码段和数据段和系统调用的约定都是MIPS指令集约定,为进一步确定龙芯指令集就是MIPS指令集,我查看连接后的二进制代码,再和MIPS手册指令的opcode对比,结果完全一样。连指令的名称到OPCODE都一样,我真是无语了。

    cpu的各模块

                                                        ROM <-------|                                         |-----> decode单元
                                                                                -----央控制单元-----
                                                        RAM <-------|                                         |-----> ALU单元

    1。中央处理单元从ROM(指令寄存器与内存统一编址)取指令              
    2。然后通过decode单元译码(指令---> opcode)
    3。ALU单元执行decode单元译出来的码(opcode)
    4.   访RAM取数据等操作数
    5。回写

    我们都知道CPU的IP   CORE基本都是由VHDL或VERILOG写成,而其中必然有一decode模块将指令转化为OPCODE,例如8051的ip   core的i8051_dec.vhd文件中的decode模块:
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
    --decode单元
    --i8051_dec.vhd文件

    entity   I8051_DEC   is
            port(rst           :   in     STD_LOGIC;
                      op_in       :   in     UNSIGNED   (7   downto   0);
                      op_out     :   out   UNSIGNED   (8   downto   0));
    end   I8051_DEC;

    architecture   DFL   of   I8051_DEC   is
    begin
            op_out   <=   ( "00 "   &   OPC_ERROR   )   when   rst   =   '1 'else
    --call译码         ( "01 "   &   OPC_ACALL   )   when   op_in(4   downto   0)   =   ACALL     else
    --加法译码   等   ( "00 "   &   OPC_ADD_1   )   when   op_in(7   downto   3)   =   ADD_1     else          
                                ( "01 "   &   OPC_ADD_2   )   when   op_in(7   downto   0)   =   ADD_2     else
                                ( "00 "   &   OPC_ADD_3   )   when   op_in(7   downto   1)   =   ADD_3     else
                                ( "01 "   &   OPC_ADD_4   )   when   op_in(7   downto   0)   =   ADD_4     else
                                ( "00 "   &   OPC_ADDC_1)   when   op_in(7   downto   3)   =   ADDC_1   else
                                ( "01 "   &   OPC_ADDC_2)   when   op_in(7   downto   0)   =   ADDC_2   else
                                ( "00 "   &   OPC_ADDC_3)   when   op_in(7   downto   1)   =   ADDC_3   else
                                ( "01 "   &   OPC_ADDC_4)   when   op_in(7   downto   0)   =   ADDC_4   else
                                ( "01 "   &   OPC_AJMP     )   when   op_in(4   downto   0)   =   AJMP       else
                                                              .
                                                              .
                                                              .
                                                              .
                                ( "00 "   &   OPC_ERROR   );
    end   DFL;

    不难推断龙芯CPU的ip   core中肯定存在类似文件(也许叫loognxin_dec.vhd,或者其实就是MIPS_dec.vhd)包含decode模块,形式和这个近似。
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    --央控制单元
    --i8051_ctr.vhd
    architecture   BHV   of   I8051_CTR   is

            type   CPU_STATE_TYPE   is   (CS_0,   CS_1,   CS_2,   CS_3);
            type   EXE_STATE_TYPE   is   (ES_0,   ES_1,   ES_2,   ES_3,   ES_4,   ES_5,   ES_6,   ES_7);
           
            signal   reg_pc_15_11   :   UNSIGNED   (4   downto   0);
            signal   reg_pc_10_8     :   UNSIGNED   (2   downto   0);
            signal   reg_pc_7_0       :   UNSIGNED   (7   downto   0);
            signal   reg_op1             :   UNSIGNED   (7   downto   0);
            signal   reg_op2             :   UNSIGNED   (7   downto   0);
            signal   reg_op3             :   UNSIGNED   (7   downto   0);
            signal   reg_acc             :   UNSIGNED   (7   downto   0);
            signal   reg_cy               :   STD_LOGIC;
            signal   reg_ac               :   STD_LOGIC;
            signal   reg_f0               :   STD_LOGIC;
            signal   reg_rs1             :   STD_LOGIC;
            signal   reg_rs0             :   STD_LOGIC;
            signal   reg_ov               :   STD_LOGIC;
            signal   reg_nu               :   STD_LOGIC;
            signal   reg_p                 :   STD_LOGIC;

            signal   cpu_state   :   CPU_STATE_TYPE;
            signal   exe_state   :   EXE_STATE_TYPE;
    begin

            process(rst,   clk)

                                    --   execute   state
                                    --
                                    when   CS_3   =>
                                            case   dec_op_in(6   downto   0)   is

    -------------------------------------------------------------------------------
    --
                                                    --   acc   <-   acc   +   (r)
                                                    --
                                                    when   OPC_ADD_1     =>             --注意这一行   表示加法
                                                            case   exe_state   is
                                                                    when   ES_0   =>
                                                                            GET_RAM_ADDR_1(v8);
                                                                            START_RD_RAM(v8);
                                                                            exe_state   <=   ES_1;

                                                                    when   ES_1   =>
                                                                            exe_state   <=   ES_2;

                                                                    when   ES_2   =>
                                                                            alu_op_code   <=   ALU_OPC_ADD;
                                                                            alu_src_1   <=   reg_acc;
                                                                            alu_src_2   <=   ram_in_data;
                                                                            alu_src_cy   <=   '0 ';
                                                                            exe_state   <=   ES_3;

                                                                    when   ES_3   =>
                                                                            ram_out_data   <=   alu_des_1;
                                                                            START_WR_RAM(R_ACC);
                                                                            reg_cy   <=   alu_des_cy;
                                                                            reg_ac   <=   alu_des_ac;
                                                                            reg_ov   <=   alu_des_ov;
                                                                            exe_state   <=   ES_4;

                  when   OPC_CJNE_3   =>     --注意这一行表示不等跳转   下面还有许多不一一列

                                                            case   exe_state   is
                                                                    when   ES_0   =>
                                                                            GET_RAM_ADDR_1(v8);
                                                                            START_RD_RAM(v8);
                                                                            exe_state   <=   ES_1;

                                                                    when   ES_1   =>
                                                                            exe_state   <=   ES_2;

                                                                    when   ES_2   =>
                                                                            GET_PC_H(pch);
                                                                            GET_PC_L(pcl);
                                                                            alu_op_code   <=   ALU_OPC_PCSADD;
                                                                            alu_src_1   <=   pcl;
                                                                            alu_src_2   <=   pch;
                                                                            if(   ram_in_data   /=   reg_op2   )   then

    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-09 19:42:431楼 得分:0
    /////////////////////////////////////////////////////////////////////////////////////
    --ALU单元  
    --i8051_alu.vhd
    begin
            process(rst,   op_code,   src_1,   src_2,   src_3,   src_cy,   src_ac)

                    variable   v16   :   UNSIGNED   (15   downto   0);
                    variable   v8   :   UNSIGNED   (7   downto   0);
                    variable   v_cy,   v_ac,   v_ov   :   STD_LOGIC;
            begin
                    if(   rst   =   '1 '   )   then

                            des_1   <=   CD_8;
                            des_2   <=   CD_8;
                            des_cy   <=   '- ';
                            des_ac   <=   '- ';
                            des_ov   <=   '- ';
                    else

                            case   op_code   is                       --判断opcode是哪个,分别进行处理
                                    when   ALU_OPC_ADD         =>
                                            DO_ADD(src_1,   src_2,   src_cy,   v8,   v_cy,   v_ac,   v_ov);
                                            des_1   <=   v8;
                                            des_2   <=   CD_8;
                                            des_cy   <=   v_cy;
                                            des_ac   <=   v_ac;
                                            des_ov   <=   v_ov;
                                           
                                    when   ALU_OPC_SUB         =>
                                            DO_SUB(src_1,   src_2,   src_cy,   v8,   v_cy,   v_ac,   v_ov);
                                            des_1   <=   v8;
                                            des_2   <=   CD_8;
                                            des_cy   <=   v_cy;
                                            des_ac   <=   v_ac;
                                            des_ov   <=   v_ov;

                                    when   ALU_OPC_MUL         =>
                                            DO_MUL(src_1,   src_2,   v16,   v_ov);
                                            des_1   <=   v16(7   downto   0);
                                            des_2   <=   v16(15   downto   8);
                                            des_cy   <=   '- ';
                                            des_ac   <=   '- ';
                                            des_ov   <=   v_ov;
                                           
                                    when   ALU_OPC_DIV         =>
                                            DO_DIV(src_1,   src_2,   v16,   v_ov);
                                            des_1   <=   v16(7   downto   0);
                                            des_2   <=   v16(15   downto   8);
                                            des_cy   <=   '- ';
                                            des_ac   <=   '- ';
                                            des_ov   <=   v_ov;
    ////////////////////////////////////////////////////////////////////////////////////

    rom和ram单元就不列举  
    列举这么多代码主要为了说明decode模块与其他各个模块密切相关,紧密偶合,此模块相同,其他模块必然相同


                                                                                                                                           
    龙芯_指令集=MIPS_指令集   龙芯_OPCODE=MIPS_OPCODE   ====>   decode模块:loognxin_dec.vhd就是MIPS_dec.vhd     中央处理模块:loognxin_ctr.vhd就是MIPS_ctr.vhd     其他模块也是相同的====> 龙芯的ip   core就是照抄MIPS的ip   core                                                                                                                                                        

    龙芯的ip   core还不是完全的MIPS的ip   core,实际就是超级烂的版本的MIPS的ip   core。据说是向法意半导体买来的,结果人家给的是一个不能完全调通的代码
    这就好理解法意半导体为什么要全程代工,因为中科院的调不出来,还生产什么啊



    2.用综合器一步步综合成自己的标准单元电路   3.布线制版
    网上传说   这两步都由ST代工   我也不太清楚。                                                                      


    写完之后   我心是痛的。劳苦大众的的血汗钱,被这帮人渣中饱私囊。我就坚信一句话:不是不报,时候未到。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pishuli
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-09 20:07:592楼 得分:5
    真实辛苦了       顶下牛人
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hkbyest
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-09 20:17:543楼 得分:5
    强帖留名,mark~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-09 21:32:164楼 得分:5
    人家本来就说了是兼容MIPS的,而且也没有讳言是使用了网上能找到的MIPS核心实现。
    用得着你在N年之后卖弄聪明吗?

    但是“龙芯_指令集=MIPS_指令集”是错误的,人家还有自己扩展的数十条指令。
    还有“据说是向法意半导体买来的”那真的是“据说”,但是说反了,是授权给法意半导体龙芯2E的生产和全球销售权。

    不要不懂装懂。
    你以为贴个8051的VHD就可以吓得住人吗?:)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-09 22:05:495楼 得分:0
    我是用8051的opcode和指令对应关系   来说明龙芯的opcode和指令  
    (   你没仔细看我的文章   我也没说这不是51的VHDL文件   我有注释的   而且我都标明了文件名   要不你也看不出是51吧   ^o^   在decode单元中
                               
                                ( "01 "   &   OPC_ADDC_2)   when   op_in(7   downto   0)   =   ADDC_2   else
                                ( "00 "   &   OPC_ADDC_3)   when   op_in(7   downto   1)   =   ADDC_3   else
                                ( "01 "   &   OPC_ADDC_4)   when   op_in(7   downto   0)   =   ADDC_4   else
                                ( "01 "   &   OPC_AJMP     )   when   op_in(4   downto   0)   =   AJMP       else
                                                              .
                                                              .
                                                              .
                                                              .
                                ( "00 "   &   OPC_ERROR   );
    end   DFL;

    不难推断龙芯CPU的ip   core中肯定存在类似文件(也许叫loognxin_dec.vhd,或者其实就是MIPS_dec.vhd)包含decode模块,形式和这个近似。
    ////////////////////////////////////////////////////////////////////////////////////////////////////////

    从而说明龙芯是照搬的MIPS的核


    两个毫不相干的指令集何谈“兼容”   这句话本身就有问题   ,
    你见过X86指令集兼容ARM7指令集的吗?只能说明龙芯指令集从来就没有过
     
    还有所谓龙芯“自己扩展的数十条指令”不是10条而是只有4条,就这4条根本就没有调通过   所以才跟法意半导体“合作”
    弄来了整个的MIPS@64位架构的使用权   我想我还是没有说反的   见下:
    http://tech.sina.com.cn/it/2007-03-28/14261437442.shtml

    还有我没想吓唬谁
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • czlyc006
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-09 22:22:196楼 得分:5
    我对VHDL并不精通,不过想说一点:龙芯刚研制出来时就声明用的是MIPS,一块CPU,除了是自身科技水平的展示外,还应该考虑一些市场推广方面的因素,也许我们可以自己设计实现一套指令集,但国际上不会有哪个厂商说因为是你中国自己设计的就一定要用你的产品,况且用了MIPS龙芯现在也还没能广泛的应用,如果是自己来一套,恐怕可能会更加举步维艰,我们研究自己的CPU的最终目的是要应用的,最终不能广泛应用的产品我们为什么还要做呢?

    毕竟我们没能处在大规模集成电路刚刚普及的年代,那时的8086还没能形成气候,而现在国际上已有巨头垄断,他们几十年的技术积淀是我们短时间难以超越的,但我们还是要去做,只是策略上得好好把握。

    个人觉得LZ所说的:“劳苦大众的的血汗钱,被这帮人渣中饱私囊。我就坚信一句话:不是不报,时候未到。”实在是有些偏激,当然LZ的知识知识远比我丰富,我也根本没资格指责LZ什么,只是希望,大家都能冷静下来,关注这些,耐住性子,让时间来证明一切。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gougouzhen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-09 23:23:507楼 得分:0
    其实静心想想,龙芯都这么多年了..

    如果真的那么厉害,早就扬威海外了.

    还像现在这样..


    ---个人愚见,偶不懂技术---
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zoologist
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 08:17:428楼 得分:0
    我觉得   Via   C3   挺好的~   就是周边配套的太少了,资料也很少。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dxcnjupt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 09:28:479楼 得分:0
    CSDN的YY高手还真多
    人家龙芯老总一句“我们只是要一个MIPS兼容的商标”,你们就YY起来了。

    MIPS和ARM公司是靠什么赚钱的???
    是靠卖IP   core的授权。
    他们自己从来不做CPU,就靠卖这个授权赚钱

    CPU设计里面最关键的就是这个IP   core
    我们做嵌入式板的软件开发的时候,通常都说,这个是ARM的板子,那个是MIPS的板子,但是从来也不说是某某公司做的兼容ARM的板子。

    就以MIPS为例,breadcom公司的路由器和网卡芯片就是MIPS兼容的,但是从来也没见他们自称过什么核心知识产权(知识产权还是有的);珠海炬力也是做MIPS   CPU的,也没见他们整天吹嘘什么;反而是现在一个中科院的,代表中国最高水平的研究机构,做出来一个MIPS兼容的芯片就像跳梁小丑一样的到处宣传,还说要和intel一争高下,要争也是人家ARM和MIPS去争吧,和你有关系吗。

    顺便说一下,龙心一开始是想造假的,最后被MIPS公司发现了,要打国际官司,这才付了专利费变成了MIPS兼容产品。
    如果是一开始就只想要一个牌子,为什么不直说,而是等谎言被揭穿吃了官司以后才去付专利费
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dx001
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 12:33:4010楼 得分:0
    这里的大牛好多,学习了   mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 15:20:4211楼 得分:0
    lptt,显然你连龙芯的基本结构都不了解。
    所谓“4条指令”,那是因为MIPS科技公司有专利保护,龙芯没办法加进去,所以才需要以合作的方式获得这部分专利的使用权,不是自己实现不了。龙芯自己已经扩展数十条媒体指令,与基本的MIPS指令集完全不同。
    同样的指令集,其实现可能完全不同,性能也不一样。就象AMD和intel的处理器,基本相同的指令集,但是有的指令在AMD处理器上执行快,有的在intel处理器上执行快,这就是实现上的不同造成的差异,你说是谁抄谁的?
    计算所的人还是下了很大工夫的,龙芯的实现和传统的MIPS架构差别也是很大的,并非照搬,而是兼容。比如传统的MIPS处理器是超级流水线架构,已经过时了,龙芯2E使用的是超标量架构,2个定点单元+2个浮点单元,比PIII/PIV的3个执行单元还多,和intel新的core架构是一样的。再比如,MIPS   R10000是7级流水线,龙芯2E是9级流水线。
    就凭龙芯2E在1GHz的频率下,spec2000可以跑到500分以上的成绩,就不是传统的MIPS架构能做到的。
    意法半导体的说明中都明确承认龙芯是计算所自己开发的架构。
    http://www.stmicroelectronics.com.cn/stonline/products/families/computer/microprocessors/loongson.htm
    “Loongson   (龙芯)   处理器是中国科学院计算技术研究所(ICT)和意法半导体公司共同开发研制的。它们整合了ICT开发的高级CPU架构和意法半导体公司的前沿工艺技术、设计专长和制造可靠性。意法半导体公司现已成为Loongson   (龙芯)系列微处理器的独家制造商和销售商。”

    如果龙芯真的是象某些人所说的那样是MIPS的逆向工程仿制品(其实逆向工程也不是什么大不了的事,连intel、AMD这种水平的公司也还要互相逆向工程呢)、是网上就可以找到的MIPS基本指令集实现(在opencores.org上就有)的修改版,那意法半导体会去买它的生产权和销售权?会每颗处理器向计算所支付2美元的专利费?你当人家傻呀?
    欺世盗名的人是有的,但不是什么事情都搞出个“阴谋论”来才能证明自己的高明。
    事实上,从头开始搞一个全新的架构,比兼容现存的架构继续增强更容易。否则intel也不会不顾市场风险抛开IA-32搞Itanium了。这个道理你还懂吧。
    兼容就是财富,连intel、IBM都没能力对抗市场的惯性,更何况计算所了。
    如果计算所真的搞了一个全新的架构,恐怕某些人还会继续跳出来骂“垃圾”、“没市场”、“作秀”之类的。
    在网上诋毁龙芯的人,除了一部分利益受损的洋买办,就是北大的人最多了,因为他们的“方舟”无疾而终了。
    至于楼主你,连这些人都不如,也就是不懂装懂、目高于顶的菜鸟罢了。从你虚张声势贴51的VHD就可以看出来了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 15:43:1012楼 得分:0
    回复人:dxcnjupt()   (   一级(初级))   信誉:100   2007-08-10   09:28:47   得分:0
    ?  
    CSDN的YY高手还真多
    人家龙芯老总一句“我们只是要一个MIPS兼容的商标”,你们就YY起来了。

    MIPS和ARM公司是靠什么赚钱的???
    是靠卖IP   core的授权。
    他们自己从来不做CPU,就靠卖这个授权赚钱

    CPU设计里面最关键的就是这个IP   core
    我们做嵌入式板的软件开发的时候,通常都说,这个是ARM的板子,那个是MIPS的板子,但是从来也不说是某某公司做的兼容ARM的板子。

    就以MIPS为例,breadcom公司的路由器和网卡芯片就是MIPS兼容的,但是从来也没见他们自称过什么核心知识产权(知识产权还是有的);珠海炬力也是做MIPS   CPU的,也没见他们整天吹嘘什么;反而是现在一个中科院的,代表中国最高水平的研究机构,做出来一个MIPS兼容的芯片就像跳梁小丑一样的到处宣传,还说要和intel一争高下,要争也是人家ARM和MIPS去争吧,和你有关系吗。
    ======================================================================
    又一个不懂装懂的东西。
    龙芯只是指令集兼容MIPS,具体实现上是有很大差别的,你不懂就先找些资料学习一下,不要跳出来沐猴而冠、骚扰别人的耳目。
    设计龙芯需要的技术水平和那些做定制MIPS芯片的厂家完全不是一个档次。那些厂家怎么能吹得起来呢?


    顺便说一下,龙心一开始是想造假的,最后被MIPS公司发现了,要打国际官司,这才付了专利费变成了MIPS兼容产品。
    如果是一开始就只想要一个牌子,为什么不直说,而是等谎言被揭穿吃了官司以后才去付专利费
    ======================================================================
    又一个编故事的,可惜水平太次。
    什么叫做“造假”?
    就算计算所逆向工程出一个一模一样的产品,那也不算造假,AMD一开始就是这么起家的。
    你懂不懂?
    更何况计算所还没有这么低级呢。
    汉芯那种直接拿别人的产品印上自己的商标那才是造假。
    龙芯在设计之初,宣称的目标就是“兼容MIPS”,这是早就公开的事实,不是你们这帮半掉子的新发现,“谎言”在哪里?
    为了避开专利限制,龙芯1就没有支持全部MIPS指令集,吃了什么“官司”?
    不要不懂装懂。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 16:00:4013楼 得分:0
    龙芯与MIPS在实现上的差异,   胡伟武早在05就说明了:
    http://www.xtrj.org/godson/godson2-notes.htm

    如果某些“阴谋论”者,能在“技术上”证明胡伟武说谎,我很愿意领教。:)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 16:22:3414楼 得分:0
    大哥   我求求你看看我的文章   再说行吗
    我一再强调
    “我是用8051的opcode和指令对应关系   来说明龙芯的opcode和指令”

    “不难推断龙芯CPU的ip   core中肯定存在类似文件(也许叫loognxin_dec.vhd,或者其实就是MIPS_dec.vhd)包含decode模块,形式和这个近似。”

    MIPS的ip   core是没有公开的   你看到的其实是网络上一些组织或大学的研究或学生的大作业,
    而发在网上缩水版的实现。(你没仔细看,那些基本都是MIPS-I的,能拿来用吗?而且大部分只译拉几条指令)。由于略微复杂   所以我没有采用,而用了最简单的51核   来说明
    “我是用8051的opcode和指令对应关系   来说明龙芯的opcode和指令”

    我是搞嵌入式的   从学校的实验室到公司   研究信令测试仪器相关   arm核的三星的44B0   PHILLPS的lpc2104     powerpc的mpc   8260   8280也都用过。我从来没见过龙芯这样的datasheet(还是网上找了很久才找到,最后找到的是一本才有55页 "datasheet "和mpc   8260的1000多页的datasheet怎么比,怎么拿来用),里边连最基本的芯片内的模块图Block   Diagram都没有   只有外部接口简略说明,内部如何布局完全是个黑盒   这叫什么datasheet啊。
    你给的网页所列举的所谓:
      超标量架构  
      64-位、四发射乱序执行  
      典型时钟频率:700   MHz  
      64-Kbyte指令高速缓存、64-Kbyte数据高速缓存、片上512-Kbyte   L2高速缓存  
      片上DDR存储器控制器  
      同类产品中最佳的功耗:4   W   @   700   MHz   TDP(热设计功率)  
      基于MIPS**  
      领先的90-nm工艺技术
      2个定点单元+2个浮点单元
      龙芯2E是9级流水线
    在DATASHEET里   全部是用嘴“说”出来的而且只有几页。我想这些应由Block   Diagram来“说”而且别的章节要详细说。真是让我长见识了。这只能说明里边见不得人啊。

    引用你的话“事实上,从头开始搞一个全新的架构,比兼容现存的架构继续增强更容易”
    是容易   结果同样的工艺你只能达到几百MHZ   人家老外是几GHZ(抄了别人的东西还不行呢   别说不抄了   不要老看说出来的   要看测出来的   龙芯2E能跑到1GHz吗?能达到800MHZ就不错了)

    请达人多看资料(不是新闻啊)   再说话行吗   先看别人说拉什么再反驳   行吗  


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 19:39:5215楼 得分:0
    lptt,
    你说了什么?全是臆测,不是吗?
    那个说明是意法半导体的正式说明,你要否定那是需要拿出点真东西的,不是你大嘴一撇“里边见不得人啊”就否定了。
    你拿“8051的opcode和指令对应关系”能证明龙芯抄了MIPS吗?
    你没脑子啊?
    你也说了“MIPS的ip   core没有公开”,那么你有龙芯的吗?
    两者都没有,你又根本没有技术能力拿出两者的逆向工程结果对比,你就敢说谁抄了谁的???
    还真是“让我长了见识”!
    至于所谓“结果同样的工艺你只能达到几百MHZ   人家老外是几GHZ”纯粹是白痴言论,意法半导体和intel、AMD相比,有同样的工艺技术水平吗???
    龙芯2E的典型频率是700MHz,0.18微米工艺就可以做到500MHz,0.13微米上到1GHz是很容易的,发布会上是有实际样品的。如果采用更先进的90nm、65nm工艺,主频还可以进一步提升。
    而且你所谓的“几GHZ”到底是几GHz?1GHz和9GHz的差别可是太大了。除了intel高频低能的Pentium4突破了3GHz,就是现在的core架构,65nm工艺也只有2.xGHz。AMD目前也只能做到2.xGHz。
    而且主频不仅仅与工艺相关,与设计也密切相关,同样的工艺,Pentium4能到3.6GHz,PentiumM就只能2GHz出头。你怎么能说主频低就证明抄袭?简直是笑话。
    还有,龙芯面向的主要是嵌入式市场,不是台式机,很多情况下降低功耗比提高性能更重要,要那么高主频干什么?你查查MIPS   R10000的典型频率是多少?
    懂了吗?

    In-Stat公司关于龙芯的报告中明确说到了:
    “After   analyzing   this   information,   MPR   believes   the   Chinese   already   are   capable   of   designing   world-class   microprocessors,   assuming   they   have   access   to   world-class   fabrication   technology.”
    这是美国人说的,你以为人家的研究还不如你半通不通的几句臆测?

    关于所谓龙芯“侵权”、“抄袭”的说法,基本都是从In-Stat公司关于龙芯的报告中关于兼容MIPS部分的说明:
    “The   Godson   architecture   is   a   close   imitation   of   the   MIPS   architecture   and   is   about   95%   MIPS   compatible.   The   Godson-2   is   similar   to   the   MIPS   R10000,   introduced   in   1995.   These   similarities   could   raise   some   controversial   intellectual-property   issues”
    捕风捉影幻想出来的。
    人家说的意思只是这种高兼容度可能涉及到MIPS专利保护的部分,而没有说龙芯实际侵犯了MIPS的知识产权,更没有说龙芯的设计是照搬了MIPS   R10000。
    否则还会有后面“PR   believes   the   Chinese   already   are   capable   of   designing   world-class   microprocessors”这种结论???

    至于MIPS   R10000的技术指标,你不了解就找找资料,能和龙芯2E比吗???
    抄能抄到这种程度,也只能说青出于蓝而胜于蓝了。
    我并不怀疑龙芯在研发时对MIPS处理器进行过某些逆向工程(这不过是业界惯例,连intel、AMD都在搞,没什么丢人的),或者借鉴了某些开源设计。
    但是在最终产品中绝对不是简单的照搬抄袭,这从公开的技术指标中就可以明确反映出来。
    除非你能证明这就是指标是假的。
    但是目前看来这是不可能的,因为意法半导体已经买了生产和销售权,开始生产了。如果技术指标达不到它的说明,那才是一大丑闻。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-10 21:39:4516楼 得分:0


    怎么讲你都不明白   我的方法我再简要概述一下:
    总思路:指令集相同推出decode模块相同   从而证明所有模块相同(既所有VHD文件相同)最后推出他们ip   core相同
    一:验证龙芯指令基就是MIPS的指令集
    1.福珑(基于龙芯2E芯片)的机子上调试我的hello   world汇编代码(就是所谓的龙芯指令基)  
    2.编译,连接,调试得到其二进制代码opcode(也就得到了龙芯指令(汇编代码)与龙芯opcode的对应关系)
    3.将上一步得到的opcode与对MIPS手册上opcode对比
    4.得出结论   龙芯指令(汇编代码)对应的opcode与MIPS的指令的opcode完全相同
        也就是说龙芯指令基就是MIPS的指令集(完全照抄)

    二:以下是证明:从龙芯指令集就是MIPS的指令集,推出他们ip   core相同
    5.两个指令集相同的CPU   推出他们ip   core中的decode模块必然相同,因为译码时指令和opcode是一一对应的关系
    (具体见译码模块)
    6.也就可以说明decode模块所在的vhd文件   必然相同   decode模块与其他各个模块密切相关,紧密偶合,此模块相同,其他模块必然相同。再说既然买了一个   肯定也就买了其他的ip   core的vhd文件
    7.既然两个CPU的ip   core中的VHD全部文件相同,则推出龙芯的ip   core就是MIPS   的ip   core
    8.证毕

    任何cpu的基本模块都肯定是下边这种形式,我从指令集相同入手推出decode单元相同(既所在的vhd文件相同),再到央控制单元和ALU单元   都相同   证明所有VHD文件都相同,则推出龙芯的ip   core就是MIPS   的ip   core.   用一个实际的IP   CORE(51核)只是更好理解一点,在拿不到龙芯和MIPS的核的条件下,只能用这种方法

                                                        ROM <-------|                                         |-----> decode单元
                                                                                -----央控制单元-----
                                                        RAM <-------|                                         |-----> ALU单元
    如果还不明白   见我上边的对每个VHD文件的注释

    DelphiGuy()   你不要老拿些新闻搪塞   有时间去看datasheet,还有如果你有更好的办法   请用“技术”方式提出来,不要老骂谁谁没脑子,别人这样说你   你也不会好受   技术这方面你不一定比我强   我也不一定比你强   所以不要说些侮辱的话
    还有你不要怀疑我受哪个利益集团的驱使来当枪手   我认定在龙芯上我比你更爱国   我自己掏腰包买来了福珑电脑
    我们都希望龙芯好   但我希望龙芯完全是中国自己的(虽然有点偏激)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 01:00:5017楼 得分:0
    这不涉及到什么爱不爱国,而是一个事实真相究竟如何的问题。
    我给你的证据是“新闻”?
    胡伟武的说明是新闻吗?你否定他的话是要有确切证据的,不是靠自己的臆测和“推理”。
    In-Stat公司关于龙芯的报告是新闻吗?你以为人家还不如你?

    你还谈“技术”,我就批批你的“技术”:

    1.   龙芯指令集就是MIPS的指令集?
    早告诉你了龙芯自己扩展了大量的指令,你连这个事实都搞不清楚就出来胡说八道。
    只能说龙芯兼容MIPS的指令集,而不是什么“龙芯指令集就是MIPS的指令集”。
    懂吗?
    而且你的证明方法也非常可笑,简直就是一窍不通嘛。
    比如我在AMD的机器上按你的那套做法“调试我的hello   world汇编代码”...
    能否得出这样的结论“AMD指令(汇编代码)对应的opcode与intel的指令的opcode完全相同,也就是说AMD指令集就是intel的指令集(完全照抄)”???
    这个还好说一点,毕竟众所周知AMD处理器和intel处理器是兼容的,但是能否因为兼容就得出“完全照抄”的结论???
    再比如说,我拿一个32-bit   XP版本的notepad.exe到安腾机器上去,居然可以运行,一反汇编是x86指令,能否得出结论“Itanium指令集就是x86指令集(完全照抄)”???
    你这不是搞笑吗?
    说你没脑子错了吗?

    2.   能“从龙芯指令集就是MIPS的指令集,推出他们ip   core相同”?
    即便指令集一模一样,也不可能逆推出ip   core相同!
    假设A-> B成立,C-> D成立,即便B=D,能得出A=C的结论吗???
    你连基本的逻辑都搞不明白,还证来证去,逻辑都错了,能得出正确的结论?简直笑料百出。
    再说现实,指令集相同不能证明指令的实现方式也是相同的,更不能证明处理器的设计是相同的。
    如果你这种逻辑能成立,那岂不是只要主频率相同,不同厂家的兼容处理器的性能就应该是一样的?现实是如此吗?
    随便举个例子:同样频率下,AMD处理器执行常规ALU指令的性能要高于intel处理器,但是执行SSEx指令却要慢于intel处理器。
    按你的逻辑,指令集相同就证明他们ip   core相同,那么相同的ip   core在同样频率下性能会有明显的差异吗???
    你根本就是对处理器的设计一窍不通。
    别不服气,
    从你这个假设“两个指令集相同的CPU   推出他们ip   core中的decode模块必然相同”就看得出来。
    你都错得没边了,还在自以为是。
    同样的指令集,能证明AMD处理器和intel处理器的解码部分是相同的???
    AMD处理器对x86指令的解码成自己设计的一套RISC86微指令,和intel的设计差别甚大,怎么就“decode模块必然相同”?
    再比如,Pentium+支持全部的80386指令集,能得出结论“他们ip   core中的decode模块必然相同”???
    简直是笑话了。386能支持指令预分析、转移预测?Pentium+的微代码设计能和386相同?那intel早该倒闭了。
    你的一系列假设都是漏洞百出、缺少常识,能证明出什么结论来也就可想而知了。

    你不要自作聪明,“阴谋论”如果能够成立,请你好好想一想:
    计算所再NB也不可能在国外一手遮天吧。
    龙芯虽然没有大量生产,但是市场上已经可以买到基于龙芯的机器了,你不都买了一个吗?
    “阴谋论”者不会搞一个到国外去彻底分析验证一番,只要花钱,能做逆向工程的地方大把抓,不就真相大白了吗?
    想把龙芯置于死地的厂家和个人有多少?花点钱算什么?能打倒早就有人做了。还轮得到你?
    这些人也就只能在网络上咋咋几句,发泄一下不满罢了。
    长点脑子吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 12:10:4218楼 得分:0
    大哥我摆脱你先去熟悉一下AMD和intel还有MIPS和龙芯最起码的指令和OPCODE   再来跟我说好吗。老在这里堆字有意思吗   用代码说话   会吗?平时不用汇编也不看DATASHEET吧,就

    用“goole+二把刀的计算机体系结构知识”上论坛   对吧.   不写程序的不要来说话   ft
    从你回贴   我看出你完全是一个草包   嘴尖牙厉   腹中空空   而且你回答我完全就是“goole+二把刀的计算机体系结构知识”
    你用的资网页料我都似曾相识。我真的奉劝你   平时多看点DATASHEET   省这到关键时刻只会查GOOGLE  
    你的话“386能支持指令预分析、转移预测?Pentium+的微代码设计能和386相同”因为指令集即解码成opcode方式不同   内部DECODE单元译码当然不同了
    你始终没有在IP   CORE的层次分析问题   所以步步都错
    所谓的指令集是是已经经过各层解码   最终在DECODE单元译码(已经是IP   COEE层,VHD中文件中的编码)的opcode
    相同的指令集在不同的CPU的实现是不同   编码译码是不同的   首先你连这一点都不清楚
    我也一条一条来批:
    一:先说你拿AMD和intel来对比龙芯和MIPS完全是错误的
    你拿AMD和intel来对比龙芯和MIPS完全是错误的   连你都知道AMD的有RISC86解码指令,那你想想同样的一条指令   AMD最后解码产生的最后机器运行(EXCUTION   UNIT)的OPCODE能和

    INTEL的一样吗   也就是说指令集不同(不要抬杠AMD执行固定长度的RISC86操作编码,而非直接执行复杂的、长度不固定的X86指令)的情况下他们的DECODE单元能一样吗?怕你不

    懂   再给你细讲一下(以AMD-K6-2为例)
    一条指令的编码分为5部分:
    1.first   byte  
    2.second   byte  
    3.MODR/M   byte  
    4.decode   type  
    5.risc86   opcodes
    一条指令的编码过程(即5部分怎样产生):

    当一条指令将instruction   cache填充后,预编码逻辑单元按字节对其进行预处理也就是加入predecode   bits。然后交给   取指令单元(一时钟周期处理16字节指令),   取指令单元

    将其存储在instruction   buffer当中(其实存储的时间相当短),DECODE单元无延时从instruction   buffer中提取指令(到这一步前三部分已经产生),
    然后根据指令的不同由两个并行
    short   decoder#1,short   decoder#2(处理最常用的指令MOVES,SHIFTS,BRANCHS   通常大于7字节而小于11字节的指令)和long   decoder(处理次常用的指令小于7字节的),vector  

    decoder(处理其他复杂指令,还有中断和异常)生成不同的RISC86   operations(即5.risc86   opcodes,根据指令不同是fixed-length   internal   instructions,保证译码都是固

    定长度)。4个decoder产生一个RISC86   operations(GROUP没有的用NOP填充)码组,然后将整个码组交给Centralized   Scheduler单元进行处理每次处理6组,交给Execution  

    Units(即4.decode   type)做如下运算;store,   load,   integer   X   ALU,   integer   Y   ALU,   MMX   ALU(X),   MMX   ALU   (Y),   MMX/3DNow!multiplier,   3DNow!   ALU,floating-point,   和

    branch   condition.branch   condition还有一系列的处理   我就不叙述了
    AMD执行简单、高效、固定长度的RISC86操作编码,而非直接执行复杂的、长度不固定的X86指令.AMD已经不是简单的X86指令集   解码的方式完全不一样   你说内部的DECODE单元还一

    样吗   进而
    再给你举个实例:

    ADC   AL,AL                 ;译码   0001   0010   1100   0000
                                                    1                   2         3                       4         5
    而经过RISC86解码为     0001   0010         无     1100   0000           11   000101
    (不用解释拉吧,不清楚的自己去查手册,)
    而INTEL肯定是一种OPCODE解码方式
    所以AMD已经不是简单的X86指令集(经过RISC86解码变化后   还可能是原来一模一样的X86译码吗   不长脑子)所以   你拿他当例子完全错误啊连指令集实现都不完全相同你怎么比较  

    内部实现啊。AMD和intel对应关系与龙芯和MIPS对应关系完全不一样,回家好好看看书吧
    二。从龙芯指令集就是MIPS的指令集,推出他们ip   core相同
    你非要我证明到龙芯和MIPS的ip   core对应的每个VHD文件都一样且证明和其他MIPS核处理器达到“管脚级兼容”你才说这是对的   是吗
    在没有ip   core的情况下   我只能通过一定的合理的推理   他们的ip   core大致相同  
    因为上边我已经证明说你拿AMD和intel来对比龙芯和MIPS完全是错误的,而且你连最基本的指令集的概念   CPU的运行方式都不清楚   还来干什么啊   所以你拿AMD和intel为例说,说什么啊  


    本来也是随便写的(查资料到堆字   2个小时完成)   至于吗   你脑子有病吧   这么嚼性。看不得别人做点什么  
    还是学生吧   1点钟都不睡还来回帖   我真是服了   多写点程序   少堆点字。虽然斗了不少气,但还得谢谢你   很久时间没看intel和AMD的datasheet了   这回又复习了一遍                  
    MIPS原来没有接触过,这回算是熟了,整好下一个项目GSM-CDMA信令测试仪要上马,我向经理提一下,考虑从机的主控芯片用一下MIPS核的。
    还有我那个电脑有三个月的试用   不好可以退货   我已经准备退了   全国总共出货1000台   至于出到哪里   你自己想吧(离校前我们实验室进了两台)
    像上边那位兄弟说的   时间能证明一切   就拿时间来证明吧   吃饭去了   放3天   结帖   (再也不堆字了   累)    


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xu_yuanjie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 15:01:4419楼 得分:0
    不懂技术,凑个热闹。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 16:03:5620楼 得分:0
    楼主啊,你这篇诋毁龙芯的帖子是我看到的所有类似帖子中第二搞笑的一个(最搞笑的一个是有人看到胡伟武发布会上演示用的龙芯笔记本和某牌子笔记本的外观一样,就推断出龙芯造假)。

    你自己反省一下你的一大通“逻辑推理”,依据是什么呢?
    你从反汇编一个小程序,发现龙芯能执行MIPS指令,就能浮想连翩,通过一系列“高明”的“推理”,得出那么多结论,你真是太有才了。
    就好象你看到两个男人抽同一牌子的烟,就能得出结论他们挣钱一样多,再推出他们的房子一样大,老婆一样漂亮?
    你这不是纯粹搞笑吗?
    龙芯要是这么容易被打倒,还能轮得到你?
    你现在也知道自己闹笑话了,可你怎么还在狡辩你的“逻辑”不适用于AMD和intel处理器(恐怕任何x86兼容处理器,你都不敢这么“推理”了),只适用于龙芯和MIPS呢???
    你都说了你没接触过MIPS,而龙芯呢,你又了解多少?你连龙芯指令集支持多少条指令都搞不明白,闹出“只扩展了4条指令,还没调通”的大笑话。
    就这种水平,你还没有自知之明,自以为是,胡乱对比,你落到笑料百出、无法收场的地步那也就毫不奇怪了。

    所谓“指令集”是什么?是一个处理器能执行的指令的集合,这里的“指令”是对程序开发者可见的指令。不是处理器内部执行的“微指令”,微指令除了对处理器设计者之外都是不可见的,没办法直接书写和使用,处理器厂家也不会公布自己的微指令设计,因为这种东西,可能每个版本都在改。
    可你倒好,无法自圆其说了,就把“指令集”的定义篡改了,改成了“谓的指令集是是已经经过各层解码   最终在DECODE单元译码(已经是IP   COEE层,VHD中文件中的编码)的opcode”!
    原来“指令集”是什么,是你可以说了算的?
    即便如此,你反汇编出来的指令是什么“指令”?
    是常规意义上的“指令”(程序开发者可见的),还是你所谓的“最终在DECODE单元译码(已经是IP   COEE层,VHD中文件中的编码)的opcode”???
    是后者吗?MIPS的“IP   CORE层,VHD中文件中的编码”你都看到了?你真是太有才了。原来MIPS处理器是您亲自设计的!那本公布了“IP   CORE层,VHD中文件中的编码”的MIPS手册也是您亲自写的吧。如此说来,您花了100万美元,买了MIPS架构的全部授权吧。
    可惜你前面才说过“查看连接后的二进制代码”,显然是常规意义上的“指令”,而不是微指令。
    一个谎言需要十个谎言来掩盖,真是太正确了。你的表现就是这么可笑,顾头不顾腚,丑态百出。

    至于“goole+二把刀的计算机体系结构知识”那实在是太适合你的表现了,你就不要谦虚了。
    你的表现已经反映出你的认知能力很有限,最好不要随便臆测别人“平时不用汇编也不看DATASHEET吧、还是学生吧”之类的。
    你想了解我,不必胡思乱想,先搜索一下,CSDN内部的搜索、google、baidu都可以,这不涉及到什么个人隐私,也不违反任何法律。

    看你表现得这么积极,我就再教教你:
    龙芯是超标量架构,而MIPS系列是超流水线架构,两者差异甚大,根本就可能“原样照抄”。你要搞不清楚什么是超标量,什么是超流水线,就先学习一下“二把刀的计算机体系结构知识”,不要象“满不懂、假行家、窝囊废”那三个开药铺的一样,一再丢人现眼,连自己都搭上了。

    我对你不客气,不是因为你无知,而是由于你这种不懂装懂还要跳出来东拉西扯、拼凑一些可笑的“证据”来诋毁龙芯,闹了笑话还死不认帐、倒打一耙的心态。
    我就是修理人、捉弄人的祖宗,你想在我面前胡说八道、蒙混过关?没有可能!
    好自为之吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:04:4221楼 得分:0
    你所谓的“微指令,微指令除了对处理器设计者之外都是不可见的”
    ///////////////////////////////////////////////////////////////////////
    ADC   AL,AL                 ;译码   0001   0010   1100   0000
                                                    1                   2         3                       4         5
    而经过RISC86解码为     0001   0010         无     1100   0000           11   000101
    ///////////////////////////////////////////////////////////////////////
    0001   0010         无     1100   0000           11   000101是ADC   AL,AL   最终解码形式
    这就是你所谓的“不可见”
    你除了指令集,指令集的乱叫   你还会什么
    你除了解释名词   你还会什么
    你除了查新闻   你还会什么
    大哥你去查查(AMD的网站有   AMD-K6-II   Processor   Data   Sheet)再来说话

    查了你的底细
    http://community.csdn.net/Expert/topic/5591/5591431.xml?temp=2.747744E-02

    http://community.csdn.net/Expert/topic/5626/5626551.xml?temp=.5020105
    终于知道你是个什么东西了   罔我费这么多话     屎一样的东西   我踩你干吗   哎
    套用别的网友的话:
    从现在开始,我不再和你谈任何技术问题。我不能侮辱自己的智商,更不能侮辱网友的智商。至于你这种SB,我见多了。在我已经彻底驳倒你,逼得你看着自己气大的肚皮,写出下面这首歪诗的情况下,我犯的上拿你当菜吗?
    还有你那首事   写的太好了
    ||||||||||||||||||||||||||||||||||||||||
    轰的一声你倒了,
    正如你噗的一声鼓起来,
    你拍一拍爆裂的肚皮,
    垂死中流露出几许无奈;

    轰的一声你倒了,
    正如你噗的一声鼓起来,
    你喷出几个蝌蚪,
    把希望寄托给蛤蟆的下一代
    ||||||||||||||||||||||||||||||||||||||||
    应该送给你自己   去自慰吧
    怪不得人家说你是蛤蟆+小丑
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:17:3022楼 得分:0
    又发现你的一个搞笑之处。
    你这句“相同的指令集在不同的CPU的实现是不同   编码译码是不同的   首先你连这一点都不清楚”是说我吗?

    你现在知道了“相同的指令集在不同的CPU的实现是不同   编码译码是不同的”这很好。
    但是你也不能倒打一耙,把你的“发明创造”硬推给我呀。
    看看你的发言:
    “两个指令集相同的CPU   推出他们ip   core中的decode模块必然相同...推出龙芯的ip   core就是MIPS   的ip   core”,这是你的“高见”哪。
    不是我的吧。
    我是一贯认为“指令集相同不能证明指令的实现方式也是相同的,更不能证明处理器的设计是相同的”,帖子还在前面,看懂了没?
    是我不清楚,还是你不清楚?
    我看你是羞愤难当,以至于神经错乱、颠三倒四、胡言乱语了吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:29:1823楼 得分:0
    我说了   我不再和你谈任何技术问题
    你懂什么啊   你累不累啊   一两点种不睡   回贴斗气   要是正常人能这样吗
    你肯定是有病   抓紧治
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:31:0624楼 得分:0
    帖子   已经变味了   马上结贴
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:35:0125楼 得分:0
    你又不懂装懂,胡说八道了。
    微指令当然是除了对处理器设计者之外都是不可见的了,你还想把微指令的定义都改了呀。
    “不可见”是什么意思,就是“透明”,你如果不把我的话断章取义,看完整“微指令除了对处理器设计者之外都是不可见的,没办法直接书写和使用”就应该明白的。
    AMD告诉了你x86指令的进一步译码就说明微指令是可见的?
    简直是笑话。
    你最好重修一下《计算机系统结构》再出来发言。

    而且你拿AMD的译码出来能证明什么?
    除了证明“指令集相同,译码部分也未必相同,核心实现也未必相同”之外,
    难道能证明你的“两个指令集相同的CPU   推出他们ip   core中的decode模块必然相同...”的“英明论断”???
    省省吧。

    还有,你不要出了丑就转移话题,我累不累不劳您关心,我一贯就是以耍弄你这种不懂装懂、眼高于顶的笑料为乐的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:38:3926楼 得分:0
    你耍的了谁呀   你哪里说的是对的   你见到的译码是鬼啊
    你除了指令集,指令集的乱叫   你还会什么
    你除了解释名词   你还会什么
    你除了查新闻   你还会什么
    屎一样的人
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:52:4927楼 得分:0
    精神病抓紧治   不要象疯狗一样到处咬人   你也没足够的技术资本来说服别人   还一贴一贴的跟  
    你还是当湿人,蛤蟆,小丑
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:54:4428楼 得分:0
    看看,恼羞成怒了吧,你这种废柴一贯这样的。
    我哪里说的是对的?
    我说的“指令集相同不能证明指令的实现方式也是相同的,更不能证明处理器的设计是相同的”是对的吧。
    你最后不是都不得不承认“相同的指令集在不同的CPU的实现是不同   编码译码是不同的”了吗?
    帖子还在,我没有篡改你的话吧。

    至于微指令对于处理器设计者之外是不是“可见”的,这是属于基本的常识,你再狡辩也没用。
    你以为AMD公开了一部分译码,就算是“可见”的了?你这种理解还真是幼稚得可以。
    按你这种逻辑,如果AMD给你看了它的核心实现,就能证明“处理器的核心也是可见的”了???

    我没有说自己多么了不起,
    但是即便我什么都不懂,就能证明你的那套“推理”是正确的了???
    我至少不会愚蠢到看到龙芯能执行MIPS指令,就能得出“他们ip   core中的decode模块必然相同...推出龙芯的ip   core就是MIPS   的ip   core”这种惊世骇俗的“高见”。
    哈   哈   哈   哈   哈   ...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lptt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 17:57:1029楼 得分:0
    AMD公开了一部分译码,就算是“可见”的了?你这种理解还真是幼稚得可以
    //////////////
    这句话   纯粹暴露了你什么都不懂   为什么你自己去想吧   太可笑了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 18:15:5130楼 得分:0
    哎哟,别跑啊。
    我没有“足够的技术资本”,您应该有啊。
    能创造出“两个指令集相同的CPU   推出他们ip   core中的decode模块必然相同...推出龙芯的ip   core就是MIPS   的ip   core”这种“高见”,您的“技术资本”显然应该很足,估计比探空气球飞得还高。
    您还怕什么呀?
    继续用您的“底层代码”+“蒙太奇逻辑”体系来打倒龙芯啊,至少也要教育教育我这个啥都不懂的无知之辈吧。
    怎么摆个POSE就落慌而逃了呢。

    顺便称赞您一句,您这个“蒙太奇逻辑”实在是21世纪最伟大的发明,什么数理逻辑呀都太落后了,该淘汰了,您这种直接由现象推到本质的逻辑多伟大呀,用起来多爽啊。
    比如看见两个人穿同样的衣服,就证明他们是同一个人,至少父母相同,诸如此类,对警察办案多有用啊,只要拿着嫌犯的脚印对比,穿同样鞋的就抓,多省事啊,效率多高啊。
    建议诺贝尔奖委员会把什么物理学奖...之类的全取消,只设一个“蒙太奇逻辑”奖,而且只发给您一个人。
    因为您太有才了,您是创造历史的伟人,我要深情地对您说:我敬爱侬。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-11 18:28:4631楼 得分:0
    对,我什么都不懂。
    请您继续发表“高见”,比如“两个指令集相同的CPU   推出他们ip   core中的decode模块必然相同...推出龙芯的ip   core就是MIPS   的ip   core”,再比如“微指令对于处理器设计者之外也是可见的”之类,您千万不能放弃,“伟大的发现”就在您眼前了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • novolin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-15 11:23:3632楼 得分:0
    这个帖子有争议~道理应该越辩越明
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-15 14:38:1033楼 得分:0
    对,道理越辩越明。
    可惜楼主的破绽越来越多,落慌而逃了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-08-24 19:32:2334楼 得分:0
    Hellooo
    楼主,你还.还..在...在....在.....吗......吗.......吗........吗.........吗..........
    哈哈哈哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wen800cn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-09-05 23:39:4135楼 得分:0
    看两位的争论真有意思,都是有点水平的人。但似乎水平都不足(我这个不懂指令集的都看出来了)。争论是好事,有争论才有进步。不过不要人身攻击。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DelphiGuy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-09-12 15:11:5136楼 得分:0
    您的水平足吗?:)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • solar
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-01 23:33:4437楼 得分:0
    hehe
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • huyongzs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-02 21:28:4038楼 得分:0
    居然通过指令集一样就能推导出CPU就一样。8086和intel T7500双核那么多指令一样,还有小霸王和某些文曲星的指令集基本一样我都不敢说是抄袭的。
    其实搂住不是不明白。而是胡搅蛮缠另有所图谋。
    我告诉你楼主,你们把我们中国人的智商想的太低了!

    那些汇编指令下边体现的是汗水和实力铸造的具体实现。具体实现不是买来的。而指令集一样是为了更好的发展!

    所有的csdn的底层工程师,包括驱动程序级的,嵌入式级的。大家都能看明白很多东西!

    我一个大专生都能看出问题的帖子,我不相信大家都没看懂。我不相信我们中国人的技术水平还比不上"忽悠"的水平。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Thaiki
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-03 11:21:2539楼 得分:0
    龙芯不是完全自主开发...
    人早就承认了吧?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • superwushu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-03 18:41:2840楼 得分:0
    好老的帖子,怎么现在又翻出来了。

    看了下,两位辩手的逻辑都不能算严密。但是个人认为楼主的说服力强些,DelphiGuy有些强词夺理。只是最后都转到人身攻击了,好端端的论战就被破坏了,可惜啊。

    没有看到真正的设计代码,谁的话都不能完全相信,不管是院士还是学生的。

    其实大家争论的“龙芯是不是中国芯”就像争论歼7是不是“中国机”一样,意义不大。即使指令集我们完全实现、扩展了,但MIPS指令集中包含的技术沉淀也是继承MIPS的,绝非一朝一夕能吃透的。而这个“即使”是否成立也不能就听信胡XX的。

    重要的不是“是不是中国芯”,而是是否真正吃透了它,以后能以此开发自己想要的新的芯片。

    对于龙芯的技术保持中立和沉默。但坚决鄙视利用龙芯搞政绩工程。不过几年来对龙芯的感觉是:20%的技术含量,80%的政治含量,所以前景嘛……
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • huyongzs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-03 21:15:3041楼 得分:0
    龙芯不是完全自主开发...
    人早就承认了吧?
    --------------------
    什么时候承认的?和别人一样的指令集是为了更好的利用现有的软件成果。
    指令集一样就能判断CPU一样,这根本不是搞IC的人能说的出来的话。只要有汇编基础就不会判断错。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • huyongzs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-03 21:24:4442楼 得分:0
    看了下,两位辩手的逻辑都不能算严密。但是个人认为楼主的说服力强些,DelphiGuy有些强词夺理。只是最后都转到人身攻击了,好端端的论战就被破坏了,可惜啊。
    --------------------------------------------
    楼主说是通过指令集一样就能推断CPU一样。居然楼主会更有说服力?你不是不懂装懂就是故意的。
    DelphiGuy据理力证。我看不出哪里比楼主更加的强词夺理而且人身攻击也是楼主先开始的。
    不相信的可以自己去看。

    我举个例子:

    好比windows下可以使用C++语言。linux和DOS也可以使用C++语言。难道他们就都是相互抄袭了?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rastevil
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-04 09:09:5043楼 得分:0
    虽然是看不太懂, 不过这样的辩论还是很有意思的。
    中国技术论坛太平静了。
    中国技术氛围太糟糕了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ciahi
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-04 19:00:2644楼 得分:0
    Mark一下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cjaizss
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-05 00:39:0545楼 得分:0
    LZ精神可嘉,但.......
    敢于发文,我很佩服。
    但是LZ对VLSI不一定理解的很深,对于CPU,还不够深入。
    ISA和整个CPU的arch确实是有一定联系的,但是并非全部的联系。
    两个CPU可以支持完全一模一样的ISA,但可以采用两个完全不同样的arch.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mailbomd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-21 22:37:1946楼 得分:0
    1.如果是MIPS3架构的话,有部分指令不是单周期指令,可以通过运行若干次这些指令来计算运行这些指令的总机械周期,可以在一定程度上判断在复杂指令上的动作是否一样.
    2.MIPS不一定是超流水线机,那只是R4000,R10000是超标量机.
    3.龙芯之错在于话说得太过,国内某芯之死罪当归龙芯I,一粒只有486性能的CPU硬讲成相当于PII,导致某人设计错误后相互推委.
    修改 删除 举报 引用 回复