DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1144|回复: 0
打印 上一主题 下一主题

[待整理] 基于RISC架构的龙芯处理器

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 14:10:37 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
市场上可见到的处理器大致可以分为以下两类:CISC处理器和RISC处理器。CISC技术多用在个人电脑等通用处理器上。RISC技术多用在嵌入式处理器上(我们可以认为除了通用处理器,所有的处理器都是嵌入式处理器),比如手机处理器芯片、GPS处理器芯片、掌上电脑处理器芯片、工业控制芯片、医疗设备芯片。甚至数字电视机顶盒、空调、电冰箱、洗衣机等家电产品中也有基于RISC技术的嵌入式微控制器。ARM公司和MIPS公司的处理器IP核、SUN公司的SPARC处理器、IBM公司的Power PC处理器都是基于RISC技术的。使用ARM、MIPS处理器IP核的SoC片上系统更是不可胜数,代表企业恩智浦半导体公司、三星公司等。据统计,每年Intel的个人电脑处理器出货量,只占世界处理器出货量的1%。加上AMD、Mackintosh的个人电脑处理器,也只有大约2%的市场份额。剩下的98%市场份额,都是基于RISC技术的嵌入式处理器的天下。

       北京神州龙芯集成电路设计有限公司自主研发的,具有自主知识产权的龙芯处理器和龙芯处理器IP核基于MIPS架构。MIPS架构是RISC架构中结构最先进、性能最出众的一个大家族。

RISC的定义

       那么什么是RISC呢?RISC这个概念运用比较混乱。有的书上将“Reduced Instruction Set Computing”,即精简指令集的英文首字母缩写,定义为RISC。有的书上将“Reduced Instruction Set Computer”,即精简指令集计算机的英文首字母缩写,称为RISC。Dominic Sweetman的《See MIPS Run》给了关于RISC最精确的定义:RISC是一个形容词,它可以和“计算机”、“处理器”、“体系结构”、“指令集”等词搭配,组成“RISC计算机”、“RISC处理器”、“RISC体系结构”、“RISC指令集”等概念。更重要的是,RISC是一种理念、一个灵魂、一条处理器发展的道路。

       长期以来,人们都有以下偏见:认为RISC性能上、技术上不如CISC,认为RISC是CISC的缩减版,RISC中的R不就指的是“精简”么?为了理解RISC,我们有必要先从RISC的起源说起。

        早在RISC这个词被提出以前,处理器和指令集是没有CISC和RISC之分的。换句话说,当时所有的处理器和指令集都是Complex Instruction Set Computer/Computing(CISC)。直到1974年IBM公司的研究员John Cocke通过分析计算机指令和处理器的运行得出这样的论断:20%的简单计算机指令完成了处理器80%的工作。复杂的指令可以用几个简单的指令的组合来实现。后来加州Berkely大学的David Patterson正式提出了RISC这个名词。从此,RISC的理念开始深入人心。可以说,上世纪八十年代以来的处理器,或多或少都用到了RISC的技术。

RISC的特点

1. 减少指令子集和取消微指令

       相比CISC,RISC除了削减一些复杂的指令,由简单指令的组合完成它们的功能外,使用用的计算机指令子集也更少。指令子集是指具有类似功能的指令的集合,比如加法指令子集、移位运算指令子集、分支跳转指令子集。由于处理器完成每个指令子集需要特定的晶体管和电路来实现,更大的指令集和更多的指令子集意味着处理器的结构相对复杂,效率相对低下。

       传统的CISC处理器采用微指令,即利用软件算法来处理一些复杂指令。RISC的核心思想是取消微指令和复杂指令,将所有的简单指令用硬件来实现。众所周知,用硬件实现一个算法,其执行速度是用软件实现这个算法的成千上万倍,因此使用RISC的处理器可以在更高的速度下运行。

2. 随设计工艺的进步而发展

       除性能提高外,RISC还带来了相关设计方法的进步。首先,由于复杂指令的摒弃和指令类型的减少,处理器内用来实现这些指令消耗的晶体管减少了,电路也得到了简化,这意味着更低的成本。其次,由于RISC处理器结构得以简化,芯片上晶体管和电路布局更具有灵活性。第三,RISC技术往往和新兴的EDA软件相结合,使设计和验证的效率得到了很大提高,处理器的设计周期也大大缩短。芯片设计制造商可以利用技术优势得到最多价值。第四,由于指令集精简,操作系统和应用程序的开发员更容易掌握它们。第五,由于高级计算机语言编译器倾向于使用更小的指令集,所以可以生成效率更高的代码。

3. 使用流水线大大加快指令执行效率

        RISC处理器的另外一个特点是采用流水线。由于摒弃了复杂指令,每个简单指令的执行时间,甚至每个指令步骤(比如取指令、译码、运算、写回)的执行时间得到了统一。可以用专门的晶体管和电路来实现特定的指令步骤,比如让一部分晶体管和电路专门用来取指令,而另一部分晶体管和电路则专门用来译码,等等。这样,这些功能模块就可以像流水线上的工人一样,各负其职。当前面一个指令进行运算的同时,后面一条指令已经在进行译码。如果一个指令步骤需要很长的时间,可以将它分成几级流水线,尽量让每级流水线工作所占的时间大致相同。


MIPS的五级流水线:分别是取指令(IF)、读CPU寄存器(RD)、算数逻辑运算(ALU)、读写数据缓存(MEM)、写回(WB)。

CSIC向RISC过渡

       提到RISC必然会提到CISC。只有对CISC和RISC进行比较,才会明白为什么RISC终将取代CISC,为什么RISC前途光明,道路曲折。

       CISC的典型代表是曾经在个人PC市场几乎处于垄断地位的奔腾系列处理器,以及现在流行的酷睿2双核处理器、AMD64位双核处理器等。运用在Intel IA32架构的x86指令集就是一个CISC指令集,而应用在Intel酷睿系列处理器上的EM64T架构,虽然取消了一部分x86的复杂指令,运用流水线技术、高速指令+数据缓存等一些RISC的执行手段来提高处理器的性能,但其本质上还是属于CISC架构。

       Intel的EM64T架构不直接使用RISC架构的原因是:一方面采用全新的RISC指令集和RISC架构需要耗费大量的人力、财力和时间投入到研发部门,而且要承担巨大的风险,Intel在这一领域还“不专业”;另一方面,微软Windows操作系统是基于x86指令集的,它不支持RISC。即使RISC处理器使用了微指令的手段,可以运行Windows操作系统,其性能也要大打折扣。(这也是为什么基于RISC指令集的龙芯处理器不能运行Windows操作系统的原因。)Intel为了保持和微软的战略同盟,也由于CISC不但还没有到寿终正寝的一天,反而发展到了其辉煌的顶峰,所以并没有将处理器架构进行本质的变革。但是从中可以发现,个人电脑处理器正在逐步从CISC向RISC过渡。毕竟RISC已经成为现今处理器发展的趋势。基于RISC指令集的Ubuntu7.10操作系统,由于其优越的性能和图形界面、完全免费、几乎不会受到病毒和木马的攻击等特性,越来越受到大众的欢迎。相信在不久的将来,微软也会推出基于RISC指令集的Windows操作系统,到那时,通用计算机处理器也将成为RISC家族的一员。

基于RISC架构的龙芯处理器

       由此看来,发展我国自主知识产权的RISC处理器是相当重要的。龙芯处理器从无到有只用了短暂的几年时间,就达到了国外处理器行业几十年才达到的技术水平。虽然从总体上来说,龙芯处理器的性能还无法和Intel、ARM这样的国际先进企业的处理器系列相抗衡,但是龙芯处理器的设计理念始终走在处理器技术发展的前沿。



        2002年龙芯一号处理器问世时,频率只有200~266MHz,只能应用在低端嵌入式领域。最新问世的龙芯2F处理器,主频达到1.2GHz,相当于奔腾4处理器。龙芯2F是一款64位、四发射、乱序执行的RISC处理器,采用MIPS III指令集。该处理器采用先进的乱序执行技术(如寄存器重命名、转移预测和动态调度)和Cache技术(如非阻塞Cache、load猜测、动态内存相关和写合并技术),并集成片上二级Cache、DDR2内存控制器和I/O控制器,来提高流水线效率和I/O能力。

        龙芯2F已经是一款有较强竞争力的CPU芯片产品,与龙芯2E相比,主要有以下几个方面的提高:1. 主频提高30%以上,通过频率筛选,将有1GHz以上的产品;2. 相同频率下功耗降低40%左右,并增加了很多诸如降频、温度传感器、关闭L2等功耗管理功能;3. 集成了更多的系统功能,除了CPU外,还集成了DDR2内存控制器、66MHz PCI/100MHz PCIX控制器、Local IO控制器、GPIO、中断控制器、DMA控制器、部分显示加速等功能,将大幅度降低系统成本;4. 封装更小,龙芯2E的封装为35×35mm,龙芯2F为27×27mm;5. 可测性设计(DFT)和可生产性设计(DFM)有明显提高,可以降低芯片成本。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 19:55 , 耗时 0.093864 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表