直指移动芯片市场,开源的处理器指令集架构发布
IoT(Internet of things,物联网)做为下一代的产业应用,欲藉着在现有的设备中加入微型电脑,将所有东西连上网络来创造新的应用。然而,现行的微型电脑价格依然过高,拖慢 IoT 的发展。其中,在整个微型电脑架构中,最贵的非 CPU 莫属了。
现在的 IoT 市场,大多考虑采用 ARM【精简指令的芯片(Advanced RISC Machines) 】架构的 CPU。虽然相较于其他的处理器平台,ARM 的授权相对灵活,但对 IoT 厂商来说价格仍偏高,使得移动 CPU 的成本价格迟迟降不下来。因此,现行市场急需低成本且稳定的新架构。于是,RISC-V,做为开源的新架构, 跃上舞台。
在 CPU 中,指令集架构(Instruction Set Architecture,ISA),扮演着重要的角色,ISA 是电脑的基础,整个系统皆顺其而生。此外,ISA 会影响操作系统的种类以及软件的支持程度,因此,每个 ISA 皆有各自的生态。那么市场上常见的 ISA 有哪些呢?
现行市场主流的指令集架构,能见度最高的就属 X86 和 ARM,X86 由 Intel 主导,也是目前个人电脑的主流,ARM 则是采用授权的方式发布,在移动设备崛起后,在手机、平板等各式嵌入式系统中广为使用。其他 ISA 在这种状况下可说是愈来愈少见了。
然而,X86 和 ARM 的专利被少数几家把持住,厂商需要付出高额的授权费才能使用 ARM,X86 甚至不授权给予其他厂商使用。在物联网设备都需要内建微型电脑来运作下,为 ISA 授权金垫高的成本就造成了另一种阻碍。
避免授权金突围,RISC-V 登场
做为开源的 ISA,RISC-V 是由 UC Berkeley 所发展的,RISC-V 正试着挑战现行主流的指令集架构。藉由 RISC-V,UC Berkeley 正试着从头打造一个全新的生态系,并将其开放,让所有人都可以使用。但是,为何要重新建造一个全新的指令集架构?
以开源的角度来说,软件的生态系比芯片的生态系完善。在软件世界中,任何一套商业软件大多有和其功能类似的开源版本,且功能不逊于商业版本。但是,至今却没有高能见度的开源 ISA 在市场中出现,如果有一套稳定且好用的开源 ISA 出现,或将打破现行被垄断的情形,避免授权所带来的开发成本,也可能改善现在持有 ISA 专利的厂商对授权的态度。
简单易上手开发的优势
除了授权的问题外,X86 和 ARM 的手册皆有上千多页,对工程师而言是相当大的负担,因为要设计一颗 CPU,工程师就要熟悉 ISA 中的所有规定,越熟悉才能设计出越好的 CPU。至于 RISC-V 则只需要约 100 页左右,大幅缩小工程师的负担。
从官网上的文件可以知道,RISC-V 只有大约 100 个 Instructions,且不会再增加。如此便不需为了新增指令而增加新的电路,增加芯片的面积。此外,RISC-V 提供 16、32、64bits 等多种内存定址方式,让厂商有更多的选择。
在软件支持方面,因为 RISC-V 是全新的指令集架构,因此现行的软件都要做修整方能配合使用。为了做后续的发展,他们已经为 RISC-V 开发出 GCC / glibc / GDB、LLVM / Clang、Linux、Yocto、Verification Suite 等软件。
在硬件开发工具部分,他们设计出全新的硬件描述语言 Chisel,以 Scala 为语言核心,辅以硬件开发工具,可以将 Scala 所开发出的电路轻易地转换成 C++ 的电路模拟,或者 FPGA、ASIC 用的 Verilog Code,并进行合成和绕线,提升硬件设计的效率。
实做产品足以挑战 ARM
为了证明 RISC-V 的实际效能,UC Berkeley 甚至实际设计出一颗芯片,并将其制作出来。为了确保公平性,还特别选用和 ARM Cortex-A5 相同的台积电制程。从下图可以得知,采用 RISC-V 的 CPU 不但面积比较小,运算速度较快,而且还耗较少的电。足以证明 RISC-V 做为新进者,已经具有挑战 ARM 的潜力。
■ 利润不受制于人
购买ARM指令集授权的价格非常昂贵,据笔者了解仅仅ARM64指令集每5年的授权费就高达上千万美元乃至近亿美元。而恰恰是如此高昂的授权费致使由U.C. Berkeley等几个大学推出RISC-V指令集,Google、惠普、Oracle、西部数据等公司成立RISC-V基金会的原因——
RISC-V指令集是一个没有专利问题和没有历史包袱的全新指令集,并且以BSD许可证发布。任何公司都可以在自己的产品中免费使用,而修改也无需再开源。
购买ARM IP核授权,比如ARM的A53或A57,集成自己的SOC,这种做法虽然能依附于AA体系,有利于市场化运营,能赚快钱,但在利润方面也被外商控制。因为在购买IP要支付授权费,每生产一片芯片还要支付专利费。而且每个环节做什么,有多少利润,在AA体系中已经形成潜规则,国内IC设计公司依附于AA体系基本上沦为外商的马仔。这也是国内ARM阵营IC设计公司虽然营业收入不低,但利润普遍不高的原因之一。
下面是用户共享的文件列表,安装电驴后,您可以点击这些文件名进行下载 | |
[开源精简指令集处理器RISC-V].homebrew-riscv-master.zip | 3.5KB |
[开源精简指令集处理器RISC-V].riscv-opcodes-master.zip | 15.8KB |
[开源精简指令集处理器RISC-V].riscv-test-env-master.zip | 15.8KB |
[开源精简指令集处理器RISC-V].chisel-sift-master.zip | 29.4KB |
[开源精简指令集处理器RISC-V].chisel-tutorial-master.zip | 57.9KB |
[开源精简指令集处理器RISC-V].riscv-linux-master.zip | 79.4KB |
[开源精简指令集处理器RISC-V].riscv-fesvr-master.zip | 109.7KB |
[开源精简指令集处理器RISC-V].riscv-pk-master.zip | 197.4KB |
[开源精简指令集处理器RISC-V].3_AlbertOu_paper.pdf | 298.2KB |
[开源精简指令集处理器RISC-V].riscv-isa-sim-master.zip | 322.1KB |
[开源精简指令集处理器RISC-V].riscv-spec.pdf | 449KB |
[开源精简指令集处理器RISC-V].lab3.pdf | 508.2KB |
[开源精简指令集处理器RISC-V].riscv-tests-master.zip | 1.3MB |
[开源精简指令集处理器RISC-V].20140224111551942.jpg | 1.4MB |
[开源精简指令集处理器RISC-V].riscv-angel-release.zip | 1.5MB |
[开源精简指令集处理器RISC-V].riscv-gnu-toolchain-master.zip | 1.6MB |
[开源精简指令集处理器RISC-V].lab2-riscv.pdf | 1.8MB |
[开源精简指令集处理器RISC-V].ccbench-master.zip | 3.5MB |
[开源精简指令集处理器RISC-V].HC25.26.p70-RISC-V-Warterman-UCB.pdf | 3.9MB |
[开源精简指令集处理器RISC-V].fpga-images-zedboard-master.zip | 10.9MB |
[开源精简指令集处理器RISC-V].fpga-images-zc706-master.zip | 11MB |
[开源精简指令集处理器RISC-V].riscv-clang-RISCV.zip | 11.7MB |
[开源精简指令集处理器RISC-V].u-boot-Digilent-Dev-master.zip | 16.8MB |
[开源精简指令集处理器RISC-V].chisel-master.zip | 17.2MB |
[开源精简指令集处理器RISC-V].riscv-llvm-RISCV.zip | 17.6MB |
[开源精简指令集处理器RISC-V].riscv-qemu-master.zip | 18.9MB |
[开源精简指令集处理器RISC-V].Linux-Digilent-Dev-master.zip | 143.1MB |
[开源精简指令集处理器RISC-V].berkeley-hardfloat-master.zip | 17.7KB |
[开源精简指令集处理器RISC-V].uncore-master.zip | 22.8KB |
[开源精简指令集处理器RISC-V].rocket-master.zip | 55.6KB |
[开源精简指令集处理器RISC-V].fpga-zynq-master.zip | 720.6KB |
[开源精简指令集处理器RISC-V].rocket-chip-master.zip | 1004KB |
[开源精简指令集处理器RISC-V].riscv-spec-v2.0.pdf | 475.7KB |
[开源精简指令集处理器RISC-V].riscv-privileged-spec-v1.7.pdf | 371.6KB |
[开源精简指令集处理器RISC-V].riscv-compressed-spec-v1.7.pdf | 272.3KB |
[开源精简指令集处理器RISC-V].riscv-sodor-master.zip | 2.3MB |
[开源精简指令集处理器RISC-V].zscale-master.zip | 20.1KB |
[开源精简指令集处理器RISC-V].boom-spec.pdf | 861.3KB |
[开源精简指令集处理器RISC-V].riscv-boom-master.zip | 129.4KB |
[开源精简指令集处理器RISC-V].shakti_public.7z | 128.6MB |
[开源精简指令集处理器RISC-V].adv_dbg_if-master.zip | 444.3KB |
[开源精简指令集处理器RISC-V].apb_event_unit-master.zip | 11.1KB |
[开源精简指令集处理器RISC-V].apb_fll_if-master.zip | 6.3KB |
[开源精简指令集处理器RISC-V].apb_gpio-master.zip | 6.9KB |
[开源精简指令集处理器RISC-V].apb_i2c-master.zip | 10.5KB |
[开源精简指令集处理器RISC-V].apb_node-master.zip | 3.1KB |
[开源精简指令集处理器RISC-V].apb_pulpino-master.zip | 7.1KB |
[开源精简指令集处理器RISC-V].apb_spi_master-master.zip | 10.6KB |
[开源精简指令集处理器RISC-V].apb_timer-master.zip | 10.8KB |
[开源精简指令集处理器RISC-V].apb_uart-master.zip | 23.7KB |
[开源精简指令集处理器RISC-V].apb2per-master.zip | 1.8KB |
[开源精简指令集处理器RISC-V].axi_mem_if_DP-master.zip | 35.1KB |
[开源精简指令集处理器RISC-V].axi_node-master.zip | 56.3KB |
[开源精简指令集处理器RISC-V].axi_slice_dc-master.zip | 15.6KB |
[开源精简指令集处理器RISC-V].axi_slice-master.zip | 15.9KB |
[开源精简指令集处理器RISC-V].axi_spi_master-master.zip | 19KB |
[开源精简指令集处理器RISC-V].axi_spi_slave-master.zip | 17.6KB |
[开源精简指令集处理器RISC-V].axi2apb-master.zip | 21.9KB |
[开源精简指令集处理器RISC-V].core2axi-master.zip | 7KB |
[开源精简指令集处理器RISC-V].debug_bridge-master.zip | 22.6KB |
[开源精简指令集处理器RISC-V].IPApproX-master.zip | 12.5KB |
[开源精简指令集处理器RISC-V].jtag_dpi-master.zip | 3.9KB |
[开源精简指令集处理器RISC-V].link.txt | 109B |
[开源精简指令集处理器RISC-V].riscv_jtag_server-master.zip | 422.2KB |
[开源精简指令集处理器RISC-V].web.7z | 5.1MB |
[开源精简指令集处理器RISC-V].pulpino-master.zip | 2.4MB |
[开源精简指令集处理器RISC-V].pulpino-zedboard-images-master.zip | 8.3MB |
[开源精简指令集处理器RISC-V].ri5cy_gnu_toolchain-master.zip | 850.8KB |
[开源精简指令集处理器RISC-V].ri5cy.riscv-master.zip | 137.8KB |
[开源精简指令集处理器RISC-V].datasheet.pdf | 992.6KB |
[开源精简指令集处理器RISC-V].user_manual.pdf | 647KB |
[开源精简指令集处理器RISC-V.].debugger_ubuntu.tar.gz | 239.9KB |
[开源精简指令集处理器RISC-V.].debugger_x86.zip | 857.3KB |
[开源精简指令集处理器RISC-V.].fpga_images_v20.zip | 1.8MB |
[开源精简指令集处理器RISC-V.].gnss_performance.pdf | 214.7KB |
[开源精简指令集处理器RISC-V.].gnu-toolchain-rv64ima.tar.gz | 244.5MB |
[开源精简指令集处理器RISC-V.].sergeykhbr.txt | 1.2KB |
[开源精简指令集处理器RISC-V.].sergeykhbr_riscv_vhdl-master.zip | 3MB |
[开源精简指令集处理器RISC-V.].workshop3rd.pdf | 1.1MB |
[开源精简指令集处理器RISC-V.].ORCA.txt | 1.2KB |
[开源精简指令集处理器RISC-V.].orca-master.zip | 188.9KB |
[开源精简指令集处理器RISC-V.].Wed1200-2016-01-05-VectorBlox-ORCA-RISC-V-DEMO.pdf | 1.1MB |
[开源精简指令集处理器RISC-V.].riscv-pk-master.7z | 110.6KB |
[开源精简指令集处理器RISC-V.].freedom-master.7z | 26KB |
[开源精简指令集处理器RISC-V.].SiFive-E3-Coreplex-v1.1.pdf | 202.6KB |
[开源精简指令集处理器RISC-V.].jtag_vpi-master.7z | 34.6KB |
[开源精简指令集处理器RISC-V.].sifive-blocks-master.7z | 25.3KB |
[开源精简指令集处理器RISC-V.].riscv-binutils-gdb-riscv-binutils-2.26.7z | 27.7MB |
[开源精简指令集处理器RISC-V.].buildroot-master.7z | 3.4MB |
[开源精简指令集处理器RISC-V.].riscv-gnu-toolchain-master.7z | 773KB |
[开源精简指令集处理器RISC-V.].SiFive-Freedom-U500-datasheet-v1.0.pdf | 108KB |
[开源精简指令集处理器RISC-V.].freedom-e-sdk-master.7z | 32.2KB |
[开源精简指令集处理器RISC-V.].HiFive1_.Open-Source,.Arduino-Compatible.RISC-V.Dev.Kit.7z | 698.4KB |
[开源精简指令集处理器RISC-V.].freedom-u-sdk-master.7z | 13.4KB |
[开源精简指令集处理器RISC-V.].riscv-tests-master.7z | 138KB |
[开源精简指令集处理器RISC-V.].sifive.txt | 202B |
[开源精简指令集处理器RISC-V.].SiFive-U5-Coreplex-v1.0.pdf | 201.9KB |
[开源精简指令集处理器RISC-V.].mriscvprog-master.7z | 5.7MB |
[开源精简指令集处理器RISC-V.].Open-V._.Crowd.Supply.7z | 587.7KB |
[开源精简指令集处理器RISC-V.].mriscv_vivado-master.7z | 5.6MB |
[开源精简指令集处理器RISC-V.].spixio-gui-master.zip | 409KB |
[开源精简指令集处理器RISC-V.].mriscv-master.7z | 5.4MB |
[开源精简指令集处理器RISC-V.].Open-V.txt | 107B |
[开源精简指令集处理器RISC-V.].PID4063257.pdf | 297.1KB |
[开源精简指令集处理器RISC-V.].mriscvcore-master.7z | 1.5MB |
[开源精简指令集处理器RISC-V.].Open.source.IP.core.list.txt | 785B |
[开源精简指令集处理器RISC-V.].GPL.IP-VHDL.7z | 121.7MB |
[开源精简指令集处理器RISC-V.].f32c-master.7z | 1.4MB |
[开源精简指令集处理器RISC-V.].arduino-master.7z | 517.2KB |
[开源精简指令集处理器RISC-V.].tools-master.7z | 27.9KB |
[开源精简指令集处理器RISC-V.].f32c.txt | 3.1KB |
[开源精简指令集处理器RISC-V.].picorv32-master.7z | 68.8KB |
[开源精简指令集处理器RISC-V.].PicoRV32.-.A.Size-Optimized.RISC-V.CPU.odt | 30KB |
[开源精简指令集处理器RISC-V.].picorv32.txt | 664B |
[开源精简指令集处理器RISC-V.].ridecore-master.7z | 689.3KB |
[开源精简指令集处理器RISC-V.].ridecore_document.pdf | 468.4KB |
[开源精简指令集处理器RISC-V.].ridecore.txt | 2.8KB |
全选 | 849.3MB |
直指移动芯片市场,开源的处理器指令集架构发布
IoT(Internet of things,物联网)做为下一代的产业应用,欲藉着在现有的设备中加入微型电脑,将所有东西连上网络来创造新的应用。然而,现行的微型电脑价格依然过高,拖慢 IoT 的发展。其中,在整个微型电脑架构中,最贵的非 CPU 莫属了。
现在的 IoT 市场,大多考虑采用 ARM 架构的 CPU。虽然相较于其他的处理器平台,ARM 的授权相对灵活,但对 IoT 厂商来说价格仍偏高,使得移动 CPU 的成本价格迟迟降不下来。因此,现行市场急需低成本且稳定的新架构。于是,RISC-V,做为开源的新架构, 跃上舞台。
在 CPU 中,指令集架构(Instruction Set Architecture,ISA),扮演着重要的角色,ISA 是电脑的基础,整个系统皆顺其而生。此外,ISA 会影响操作系统的种类以及软件的支持程度,因此,每个 ISA 皆有各自的生态。那么市场上常见的 ISA 有哪些呢?
现行市场主流的指令集架构,能见度最高的就属 X86 和 ARM,X86 由 Intel 主导,也是目前个人电脑的主流,ARM 则是采用授权的方式发布,在移动设备崛起后,在手机、平板等各式嵌入式系统中广为使用。其他 ISA 在这种状况下可说是愈来愈少见了。
然而,X86 和 ARM 的专利被少数几家把持住,厂商需要付出高额的授权费才能使用 ARM,X86 甚至不授权给予其他厂商使用。在物联网设备都需要内建微型电脑来运作下,为 ISA 授权金垫高的成本就造成了另一种阻碍。
避免授权金突围,RISC-V 登场
做为开源的 ISA,RISC-V 是由 UC Berkeley 所发展的,RISC-V 正试着挑战现行主流的指令集架构。藉由 RISC-V,UC Berkeley 正试着从头打造一个全新的生态系,并将其开放,让所有人都可以使用。但是,为何要重新建造一个全新的指令集架构?
以开源的角度来说,软件的生态系比芯片的生态系完善。在软件世界中,任何一套商业软件大多有和其功能类似的开源版本,且功能不逊于商业版本。但是,至今却没有高能见度的开源 ISA 在市场中出现,如果有一套稳定且好用的开源 ISA 出现,或将打破现行被垄断的情形,避免授权所带来的开发成本,也可能改善现在持有 ISA 专利的厂商对授权的态度。
简单易上手开发的优势
除了授权的问题外,X86 和 ARM 的手册皆有上千多页,对工程师而言是相当大的负担,因为要设计一颗 CPU,工程师就要熟悉 ISA 中的所有规定,越熟悉才能设计出越好的 CPU。至于 RISC-V 则只需要约 100 页左右,大幅缩小工程师的负担。
从官网上的文件可以知道,RISC-V 只有大约 100 个 Instructions,且不会再增加。如此便不需为了新增指令而增加新的电路,增加芯片的面积。此外,RISC-V 提供 16、32、64bits 等多种内存定址方式,让厂商有更多的选择。
在软件支持方面,因为 RISC-V 是全新的指令集架构,因此现行的软件都要做修整方能配合使用。为了做后续的发展,他们已经为 RISC-V 开发出 GCC / glibc / GDB、LLVM / Clang、Linux、Yocto、Verification Suite 等软件。
在硬件开发工具部分,他们设计出全新的硬件描述语言 Chisel,以 Scala 为语言核心,辅以硬件开发工具,可以将 Scala 所开发出的电路轻易地转换成 C++ 的电路模拟,或者 FPGA、ASIC 用的 Verilog Code,并进行合成和绕线,提升硬件设计的效率。
实做产品足以挑战 ARM
为了证明 RISC-V 的实际效能,UC Berkeley 甚至实际设计出一颗芯片,并将其制作出来。为了确保公平性,还特别选用和 ARM Cortex-A5 相同的台积电制程。从下图可以得知,采用 RISC-V 的 CPU 不但面积比较小,运算速度较快,而且还耗较少的电。足以证明 RISC-V 做为新进者,已经具有挑战 ARM 的潜力。
■ 利润不受制于人
购买ARM指令集授权的价格非常昂贵,据笔者了解仅仅ARM64指令集每5年的授权费就高达上千万美元乃至近亿美元。而恰恰是如此高昂的授权费致使由U.C. Berkeley等几个大学推出RISC-V指令集,Google、惠普、Oracle、西部数据等公司成立RISC-V基金会的原因——
RISC-V指令集是一个没有专利问题和没有历史包袱的全新指令集,并且以BSD许可证发布。任何公司都可以在自己的产品中免费使用,而修改也无需再开源。
购买ARM IP核授权,比如ARM的A53或A57,集成自己的SOC,这种做法虽然能依附于AA体系,有利于市场化运营,能赚快钱,但在利润方面也被外商控制。因为在购买IP要支付授权费,每生产一片芯片还要支付专利费。而且每个环节做什么,有多少利润,在AA体系中已经形成潜规则,国内IC设计公司依附于AA体系基本上沦为外商的马仔。这也是国内ARM阵营IC设计公司虽然营业收入不低,但利润普遍不高的原因之一。