精华内容
下载资源
问答
  • 属于risc指令集架构的处理器
    千次阅读
    2021-03-18 14:43:24

    最近一直比较疑惑,RISC指令集以及CISC指令集区别在哪些方面呢?趁机也就补充了相关资料,进行了一些总结。

    目前CISC(复杂指令集)的代表为X86(CISC),RISC(精简指令集)的代表为ARM、MIPS(RISC)还有新兴的RISCV指令集架构。

    很长一段时间,我关于处理器的相关知识,都是大学课程《微机系统原理》中的8086,甚至不涉及到x86处理器。在实际项目或者工作中,更多的却是ARM/MIPS等处理器。所以工作过程中,难免疑惑不解,张冠李戴。为什么很多基本知识在面对ARM和MIPS时不再适用,主要是因为X86属于复杂指令集系统(CISC),而ARM,MIPS属于精简指令集系统(RISC)。

    load-store体系结构

    RISC使用的是load-store结构。load-store结构的本质,在于RISC技术的CPU只处理(指逻辑,算术运算处理)寄存器中的数据。相反,X86却能够直接处理存储器中的数据。

    RISC体系架构的CPU,存储器和寄存器之间的数据交互,由专门的load和store指令负责。存储器是指内存或者Flash(NOR Flash)等可以被CPU直接寻址的存储单元。CPU要将某个地址的数据放入寄存器中,只能够使用load指令;要将寄存器中的值存放到存储器中,只能够使用store指令。

    CISC体系架构的CPU对存储器数据操作则要复杂得多。在X86下,数据的传送都是使用MOV指令。MOV指令既负责寄存器和寄存器之间数据的交互,又负责寄存器和存储器之间的数

    更多相关内容
  • 众核技术已成为当前...目前工业界采用基于仿真的验证作为主要的验证方式,本文重点介绍了以覆盖率为导向的RISC 众核处理器的功能验证环境的整体设计,提出了“被动式”的验证思想,并采用“软硬件协同验证”的策略
  • 目前工业界采用基于仿真的验证作为主要的验证方式,本文重点介绍了以覆盖率为导向的RISC 众核处理器的功能验证环境的整体设计,提出了“被动式”的验证思想,并采用“软硬件协同验证”的策略,最终达到每条指令都...
  • 面向RISC-V指令集架构处理器的代码压缩技术.pdf
  • 了解RISC-V指令集架构

    千次阅读 2021-07-25 14:41:43
    浅析RISC-V指令集架构 0. 基础知识 CPU的指令集,其实就是指令的合集,那什么是指令呢?就是你吩咐CPU去做的事情。我在这里给大家打个比方:你有一个佣人,你给他下命令做饭、洗碗、端茶、倒水……这就是指令。把...

    参考资料:
    ARM与RISC-V的恩爱情仇
    ARM与RISC-V架构的区别
    第五代精简指令集计算机RISC-V你了解多少?
    RISC-V能否“重构”芯片产业格局
    浅析RISC-V指令集架构


    0. 基础知识

    CPU的指令集,其实就是指令的合集,那什么是指令呢?就是你吩咐CPU去做的事情。我在这里给大家打个比方:你有一个佣人,你给他下命令做饭、洗碗、端茶、倒水……这就是指令。把所有的指令总结在一起就是指令集。如果指令集里面没有“洗脚”这个命令,那么你下这个命令CPU也不会执行。CPU必须要有指令集才能工作,不同的CPU有不同的指令集,基本上可以分为两种:复杂指令集CISC和精简指令集RISC。

    关于CPU的指令集架构,我们最熟悉的应该就是X86和ARM了,需要注意的是它们都不免费。Intel的X86指令集架构除了自家以外只授权给了AMD和威盛(VIA),ARM稍微好一点不过价格也是不菲,一直有“天下苦ARM久矣”的玩笑。

    那除了它们俩之外还有其他指令集架构吗?答案当然是有,接下来要介绍的RISC-V就是一个,而且还是开源免费的。

    可以说ARM 是商业授权的指令集;RISC-V 是开源的指令集。

    想详细了解指令集知识可参考此篇博文:CPU指令集科普:CISC指令集和RISC指令集ARM指令集和X86指令集对比

    1. RISC-V的起源

    RISC-V起源于2010年的美国加州大学伯克利分校(USNews世界大学排名第4),当时伯克利研究团队要研发一款CPU,上面我们说过了要研发CPU就需要有指令集,X86指令集授权严格,ARM指令集授权费用昂贵,其他指令集要么老旧要么也需要授权,在这种情况下伯克利研究团队决定从零开始设计一套全新的指令集,也就是我们今天说的RISC-V了。据说当时团队四个人仅用了3个月就完成并发布了第一版指令集。当时第一个版本只包含了不到50条指令,可以用于实现一个具备定点运算和特权模式等基本功能的处理器。

    2. RISC-V的特点

    • 完全开源,对指令集使用,RISC-V基金会不收取高额的授权费。开源采用宽松的BSD协议,企业完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展。

    • 简单,这也是RISC-V架构的设计哲学。在处理器领域,X86与ARM架构的发展过程也伴随了现代处理器架构技术的不断发展成熟,为了能够保持架构的向后兼容性,其不得不保留许多过时的定义,导致其指令数目多,指令冗余严重,文档数量庞大,所以操作系统或者开发应用门槛就会很高。而RISC-V架构则能完全抛弃包袱,借助计算机体系结构经过多年的发展已经成为比较成熟技术的优势,从轻上路。RISC-V的规范文档仅有145页,而“特权架构文档”的篇幅也仅为91页。

    • 模块化,RISC-V架构不仅短小精悍,而且其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用场景。用户能够灵活选择不同的模块组合,来实现自己定制化设备的需要,比如针对于低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode(机器模式)与User Mode(用户模式)两种模式。

    如果说 ARM 借助IP授权的商业模式,降低了 CPU 设计难度,让信息技术世界进入泛处理器时代,那么 RISC-V 就是以免费开放的开源指令集模式,降低了 CPU IP的设计门槛,让芯片行业进入到一个满是 CPU IP 的时代。

    3. RISC-V的现状

    RISC-V这几年一直都是比较火的话题,因为同为开源项目,很多人都把他上升到了芯片设计领域的“Linux”地位,在这两年见到的很多芯片设计商业计划书中,RISC-V也是一个频频出现的名词。

    依靠开源和免费,RISC-V 非常受大学和科研院所青睐,并有望在教学领域大展拳脚,而这又会给 RISC-V 培养源源不断的后备军。对于商业公司来说,由于 ARM 的授权费昂贵,也有较强的动力去做 RISC-V,避免被绑死在 ARM 上。

    RISC-V 目前已经有 200 多家成员,不过所有的技术或者商业模式优势,最终还是要转化成商业成功。目前所有参与 RISC-V 的企业,其实还是小公司居多,或者是大公司的小项目有涉及,还没有特别赚钱的。

    不过,RISC-V 也存在一个隐忧,那就是缺乏强有力的主导者,进而导致破碎化的问题。当年的MIPS其实也非常学院派,MIPS阵营的商业公司可以自由添加指令,比如龙芯就以MIPS为基础添加了1000多条新指令,进而形成了自己的指令集 LoongISA。这又使开发软件的时候,即便同样属于MIPS,也必须分为龙芯版和普通MIPS版。

    由于RISC-V也允许用户自己加新指令,这就有可能使RISC-V破碎化,也许未来华为、高通、谷歌开发出的 RISC-V 处理器虽然都属于 RISC-V,但却不能跑同样一套软件。毕竟完全开放与自成一脉是一对矛盾,如果无法解决这个问题,恐怕RISC-V很难成长到能与X86和ARM争雄的水平。

    4. 总结

    最后,引用步日欣老师文章的段落作为最后总结。

    关于RISC-V在国内的消息,较为引人关注的是2019年7月,阿里“平头哥”推出的“玄铁910”,属于嵌入式CPU,正是基于RISC-V指令集架构,主要应用场景将会集中在5G、AI人工智能、自动驾驶以及网络通信方面。
    当然了,对于一款新型芯片的推出,特别是CPU核心芯片,光有芯片是不够的,更要有产业的支持,形成生态。
    生态问题,也是RISC-V同其他RISC,以及CSIC在市场竞争中的焦点所在。这个焦点,也是回答RISC-V究竟面临什么样的机会,能够颠覆或者重构芯片设计行业的终极答案。
    就如同Linux,就算功能很完善了,迄今为止也没有颠覆Windows的一统PC的局面。RISC-V也是一样的。
    开源,硬件领域的开源,是RISC-V的一个大胆尝试,也是优势所在,借助开源的力量,将从CPU设计、软件开发和支持、外围接口电路,片上系统设计等各个方面促进RISC-V在产业界的推广使用。除了前面提到的“平头哥”,西部数据、英伟达、华米等也都在将RISC-V用在自己的芯片中。
    生态正在逐步形成,但任重道远。毕竟面对的竞争对手不但包括独霸天下的X86(CSIC),还有其他RISC强悍厂商(ARM),他们就如同操作系统领域中的微软,已经凭借Windows,建立了稳固的城池。如果没有划时代的产业变革,很难攻城拔寨,只能慢慢渗透。
    所以,目前的RISC-V风生水起的,还主要在一些非主流的CPU应用中,比如平头哥的“玄铁910”,属于嵌入式CPU;比如一些低成本、超低功耗应用设计等等。
    正如芯原微在招股说明书中说的那样,RISC-V、MIPS和PowerPC相继开放其指令集架构,由于三种指令集各有自己的特色和典型应用领域,三者既有一定的竞争,也可相互依存。这种前所未有的指令集开源模式,给芯片设计者带来了广泛的自由和选择的机会,除了降低芯片的设计门槛,并从一定程度上降低芯片的设计成本之外,会给半导体工业带来前所未有的发展活力,促进半导体设计领域的重大创新和发展。
    大而全有其存在的理由,小而精也有其生存空间,这就是RISC-V的未来。

    展开全文
  • 多核处理器二、指令集架构指令集和处理器的关系指令集的重要性指令集的分类三、指令集架构和操作系统总结 前言 当我们在买电脑时,总要关注一下电脑中使用的是哪一款CPU,也就是中央处理单元,不同的CPU会影响电脑...


    前言

    当我们在买电脑时,总要关注一下电脑中使用的是哪一款CPU,也就是中央处理单元,不同的CPU会影响电脑的性能。我们会发现CPU的描述中总会介绍这款CPU是基于什么架构的,比如我们常见的X86、PowerPC以及手机中常见的ARM。

    这些名字就代表着不同的指令集架构,没有它就无法按照规则设计出处理器。

    本文将介绍指令集架构是什么,它和处理器又有什么关系。适合还不清楚计算机组成原理的童鞋们阅读~


    在了解指令集架构前,我们先来明确处理器的概念。

    一、处理器是什么?

    组成计算机的五个经典部件是输入、输出、存储器、数据通路和控制器,后两个部件合称为处理器。

    处理器又被称为中央处理单元(CPU),它的功能主要是解释计算机指令以及处理计算机软件中的数据。处理器从逻辑上包括两个主要部件:数据通路(或称运算器)和控制器,

    • 数据通路负责完成算术运算;
    • 控制器负责指导数据通路、存储器和I/O设备按照程序的指令正确执行。

    在电脑运行程序时,处理器从存储器中得到指令和数据,经过自身的处理和运算后,输出结果到计算机的输出设备如屏幕或存储到存储器中。因此处理器是计算机运行程序完成运算的核心。

    关于数据通路的具体介绍可以参看【计算机组成原理】流水线式指令执行

    多核处理器

    为了提升计算机性能,现在多采用多核并行的设计,其中一个“核”就是一个处理器,而人们常说的“多核处理器”中的“处理器”是一个宏观概念,和上文阐述的处理器不是一个事物。

    或者我们可以认为“多核处理器”原称应该是“多处理器处理器”,为避免重复,用“核”来代替第一个“处理器”。

    二、指令集架构

    指令集和处理器的关系

    处理器在计算机中占主导地位,它本质上是一堆硬件构成的芯片,我们怎么能在这些硬件上实现复杂的计算功能呢。这就需要一个指挥棒去操作硬件完成程序想要实现的运算。

    我们知道,高级语言程序会被翻译成汇编语言。在汇编语言中,每一行就代表了一个指令,来告诉CPU如何操作,这些指令就是指挥棒。

    那么这些指令是哪里来的呢?这就引出了我们的主角——指令集架构。

    准确地说,它是一套指挥CPU工作的规则。当我们要开发一款处理器时,必须要选定一个指令集架构,并按照该架构的规则对处理器进行设计和实现。

    指令集的重要性

    指令集架构(ISA, Instrucion Set Architecture)定义了基本数据类型(BYTE/HALFWORD/WORD/…)、寄存器(Register)、指令、寻址模式、异常或者中断的处理方式等。一台计算机的指令系统反映了该计算机的全部功能,机器类型不同,其指令系统也不同,因而功能也不同。

    ISA作为处理器(即“核”)的基础,对于处理器的整体性能起到了决定性的作用,不同架构的处理器同主频下,性能差距可以达到2-5倍。ISA的实现需要通过编写与指令集中的指令对应的硬件实现的逻辑代码来完成。

    CPU依靠指令来计算和控制计算机系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。

    指令集的强弱也是CPU的重要指标,指令集是提高处理器效率的最有效工具之一。采用相同架构的处理器,性能基本上已经锁定在一定的范围之内,不会有本质的区别。

    指令系统的设置和机器的硬件结构密切相关,一台计算机要有较好的性能,必须设计功能齐全、通用性强、内含丰富的指令系统,这需要复杂的硬件结构来支持。


    总的来说,在开发一款处理器时,

    1. 我们首先需要选定所使用的ISA,这个架构会极大地影响这款处理器的最高性能。
    2. 之后需要根据ISA规则中要求的硬件资源来搭建处理器的硬件平台。
    3. 最后一步,是按照ISA的规则要求,使用硬件描述语言(HDL)进行逻辑编写,控制这个硬件平台按照指令规则进行数据处理。

    ps:我们常说的ISA(或处理器)的宽度指的是CPU中通用寄存器的宽度(二进制的位数),这决定了寻址范围的大小以及数据运算的能力。ISA的宽度和指令编码长度无关。

    指令集的分类

    指令集分为精简指令集(RISC)和复杂指令集(CISC),二者区别在于:

    • CISC针对特定的功能实现特定的指令,导致指令数目比较多,但生成的程序长度相对较短;
    • RISC只定义常用指令,对复杂的功能采用常用指令组合实现,这导致指令数目比较精简,但生成的程序长度相对较长。

    我们常用的X86架构属于CISC,而手机等小平台上的ARM架构就属于RISC。

    三、指令集架构和操作系统

    操作系统(OS)也是计算机中连接底层设备和上层应用程序的重要部分,每台计算机都要有操作系统才能运行。那么OS和ISA之间存在什么关系呢?

    其实ISA代表了底层硬件部分,OS代表了底层软件,它们之间的关系就是OS调用硬件的方式。

    (该部分参考某个博客,没记网址)

    具体来说,操作系统中有一个叫板级支持包BSP(board support package)的东西,这个是负责与硬件沟通的,任何OS都有。

    BSP是介于主板硬件和操作系统中驱动层程序之间的一层,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。

    BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的。BSP所包含的内容一般说来是和系统有关的驱动和程序,如网络驱动和系统中网络协议有关,串口驱动和系统下载调试有关等等。离开这些驱动系统就不能正常工作。

    同时针对不同的指令集,BSP也需要有所改变。比如一个ISA支持乘法指令,另一个ISA不支持乘法指令,操作系统就只能用加法指令去模拟乘法指令。再比如两个ISA通用寄存器的数量不同,这样BSP对于寄存器的使用就不一样。

    因此一个操作系统很难兼容全部的ISA,有些OS只能在特定的ISA上运行,比如最新的Mac OS X Leopard 只支持X86架构处理器。而linux是公开源代码的,谁都可以对源代码进行修改和编译,因此在很多指令集架构上都有相应的版本。

    总结

    没有总结了== 偏个题,希望过年能回家看看~疫情退散!

    在这里插入图片描述

    展开全文
  • 一开始的处理器都是CISC架构,随着时间演进,有越来越多的指令集加入。由于当时编译器的技术并不纯熟,程序都会直接以机器码或是汇编语言写成,为了减少程序设计师的设计时间,逐渐开发出单一指令,复杂操作的程序码...
  • RISC-V架构指令集开源

    2021-12-31 10:04:38
    V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片; 采用 Chisel 硬件设计语言开发,支持 RV64GC 指令集, Chisel是由伯克利大学发布的一种开源硬件构建语言,通过使用高度化的参数生成器...
  • ARM 处理器RISC与CISC 是什么? 0. 基础知识 0.1 什么是指令集 所谓指令集,是CPU中用来计算和控制计算机系统的一套指令的集合。指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。 CPU依靠...
  • 浅谈RISC CPU(精简指令集处理器

    千次阅读 2020-10-24 11:32:16
    目前的处理器中,一般分为CISC和RISC两大系列,CISC(复杂指令集处理器)中常用的指令集只占源代码的20%,剩余的80%不常用。 为了改变这种不合理,出现了RISC即精简指令集处理器。其通道中只包含最有用的指令,确保...
  • (3)RISC-V 指令集架构概述
  • 文章目录RISC-V架构介绍·RISC-V简介·CPU主流架构:x86、ARM、RISC-V·RICS-V的设计理念及优势·RISC-V的历史沿革与市场应用国内外厂商介绍·SiFive·西...
  • RISC-V指令集架构优势

    2022-08-03 20:15:25
    riscv指令集的优势
  • 基于RISC-V架构的开源处理器及SoC研究综述(一)

    万次阅读 多人点赞 2017-02-12 22:24:56
    V是一种新的指令集架构,发布以来得到了大量关注,在描述了RISC-V的产生背景、基本设计的基础上,简单比较了其与现有的开源指令集架构、商业指令集架构的优劣,随后详细介绍了现有的采用RISC-V架构的开源处理器、...
  • RISC-V 手册页,翻译完了的熟肉好吃
  • 架构指令集: CISC, RISC

    千次阅读 2021-10-31 09:39:50
    CPU架构:指令集架构(上层逻辑设计),微架构(底层电路设计) 微处理器的指令集架构-ISA(Instruction Set Architecture)常见种类如下: 复杂指令集运算(Complex Instruction Set Computing,CISC),(X86-...
  • 指令集架构处理器、内核,芯片之间的关系

    千次阅读 多人点赞 2021-11-02 20:59:06
    一、指令集架构指令集主要是指Cpu硬件和软件之间的接口描述...架构架构主要是指某一个处理器所使用的具体指令集,比如说m6ull,他是基于ArmV7架构的,就是指它是使用armV7指令集,在大部分场合,架构等于指令集
  •    处理器(Central Processing Uni,简称CPU)作为...   指令集层面作为运行于底层硬件与软件之间的桥梁和规范的出入口,指令集架构(Instruction Set Architecture,简称ISA)的指令决定了处理器的主要功能。....
  • 处理器指令集架构

    千次阅读 2019-04-27 17:49:35
    现在真是一个IT技术大发展的时代,不断的有新概念...首先了解指令集架构。 目前已存的指令集架构有4种: 复杂指令集运算(Complex Instruction Set Computing,CISC);精简指令集运算(Reduced Instruction Set Comp...
  • Power处理器由来IBM Power架构是业界领先的半导体技术,有超过25年稳定的技术发展历程。近年来,在IBM和Power.org合作伙伴的推动下,其在高端领域的技术优势形成了Power系列产品线。无论是PC机,还是服务器产品,...
  • 什么是指令集架构

    千次阅读 2022-03-08 12:12:31
    指令集架构概念说明
  • 本文介绍了RV32I的基本指令格式及内容,为之后进行处理器的实现打下了基础。
  • 讲述现代主流处理器的基本框架设计原理和方法以及RISC-V的基本ISA
  • 本文回顾了计算机架构宗师Patterson与Hennessy 演讲实录,介绍了指令集架构的发展史以及未来提高CPU性能的途径。
  • 解剖RISC-V架构(一)

    千次阅读 2021-12-29 10:53:21
    解剖RISC-V架构(一) CPU基本知识介绍: 请注意区分“处理器”和“处理器核”,...CPU 的灵魂 — 指令集架构(Instruction Set Architecture,ISA)。指令集,顾名思义是一组指令的集合,而指令是指处理器进行操作
  • Amber核心与ARM v2a指令集架构(ISA)完全兼容,因此受GNU工具集支持。 支持这个旧版本的ARM指令集,因为它仍然得到GNU工具链的完全支持,并且不受专利保护,因此可以在没有ARM许可的情况下实现。 Amber项目提供了...
  • 前言 没钱没设备还是别学了,我还以为买了书会有用,看了作者的公众号才知道,买开发板送书,你可以去...risk5 指令集架构简介 1.模块化的指令子集 risk5的每个模块用一个字母表示,最基本的指令集模块是 I ——基本整
  • 指令集架构、微架构、处理器架构、CPU架构、内核

    万次阅读 多人点赞 2017-12-08 11:27:04
    查阅相关资料后又陆续碰到了“指令集架构”、“微架构”、“处理器架构”等词,于是就更加懵逼了。接着又陆陆续续的看了些资料,同时结合自己的一些理解,给出这些词的解释,也方便以后查阅。以下关于“指令集架构”...
  • 指令集架构ISA:它是CPU的一个特性,决定CPU的解码电路和执行单元,但并不存储在CPU内部。是微结构提供给上层一个接口,类似于程序员编程时用到的api。某CPU能执行哪个指令集的所有指令就称为兼容此指令集。 (2)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,127
精华内容 3,250
关键字:

属于risc指令集架构的处理器