OpenHarmony适配移植:X86、ARM、RISC-V、MIPS、LoongArch芯片架构简析

2023-05-16

  • 前言

基于OpenHarmony的开发相关工作,特别适配移植、设备开发这块,芯片的基础构架知识,是最初的学习起点。本文我们整理了几种常见的芯片构架的基础知识。

一、整体分析

序号

架构

特点

运营机构

1

X86

性能高,速度快,兼容性好

英特尔

2

ARM

成本低,低功耗

英国ARM公司

3

RISC-V

模块化,极简,可拓展

RISC-V基金会

4

MIPS

简洁,优化方便,高拓展性

MIPS科技公司

5

LoongArch

完全自主、技术先进、兼容生态

龙芯中科

二、简要介绍

1、X86架构

X86是微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。1978年6月8日,Intel 发布了新款16位微处理器 8086,也同时开创了一个新时代:X86架构诞生了。

   X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU–i8088(i8086简化版)使用的也是X86指令。随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的 Pentium 4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以 Intel公司所生产的所有CPU仍然继续使用X86指令集。

2、ARM架构

ARM架构是一个32位 精简指令集处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。

如今,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置到电脑外设 甚至在导弹的弹载计算机等军用设施中都有它的存在。

ARM和X86架构最显著的差别是使用的指令集不同。ARM主要是面向移动低功耗领域,因此在设计上更偏重节能能效方面。X86主要面向家用商用领域,在性能兼容性方面做得更好。

3、RISC-V架构

RISC-V 架构是基于 精简指令集计算(RISC)原理建立的开放 指令集架构(ISA),RISC-V是在指令集不断发展和成熟的基础上建立的全新指令。RISC-V 指令集完全开源,设计简单,易于移植Unix系统,模块化设计,完整工具链,同时有大量的开源实现和流片案例,得到很多芯片公司的认可。

RISC-V 架构的起步相对较晚,但发展很快。它可以根据具体场景选择适合指令集的指令集架构。基于RISC-V 指令集架构可以设计服务器CPU,家用电器CPU,工控CPU和用在比指头小的传感器中的CPU。

4、MIPS架构

MIPS架构是一种采取 精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,它是基于一种固定长度的定期编码指令集,并采用 导入/存储(Load/Store)数据模型。经改进,这种架构可支持高级语言的优化执行。其算术和逻辑运算采用三个操作数的形式,允许编译器优化复杂的表达式。

如今基于该架构的芯片广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。最早的MIPS架构是32位,最新的版本已经变成64位。

5、LoongArch

2020年,龙芯中科基于二十年的CPU研制和生态建设积累推出了龙芯架构(LoongArch),包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近2000条指令。2021年4月15日,龙芯自主指令系统架构(Loongson Architecture,以下简称龙芯架构或LoongArch)的基础架构通过国内第三方知名知识产权评估机构的评估,并在2021年信息技术应用创新论坛主论坛上正式对外发布。龙芯架构具有完全自主、技术先进、兼容生态三方面特点。

龙芯架构从整个架构的顶层规划,到各部分的功能定义,再到细节上每条指令的编码、名称、含义,在架构上进行自主重新设计,具有充分的自主性。

龙芯架构摒弃了传统指令系统中部分不适应当前软硬件设计技术发展趋势的陈旧内容,吸纳了近年来指令系统设计领域诸多先进的技术发展成果。同原有兼容指令系统相比,不仅在硬件方面更易于高性能低功耗设计,而且在软件方面更易于编译优化和操作系统、虚拟机的开发。

龙芯架构在设计时充分考虑兼容生态需求,融合了各国际主流指令系统的主要功能特性,同时依托龙芯团队在二进制翻译方面十余年的技术积累创新,不仅能够确保现有龙芯电脑上应用二进制的无损迁移,而且能够实现多种国际主流指令系统的高效二进制翻译。

CPU方面,龙芯产品实现了从嵌入式到桌面/服务器的全方位覆盖,还包括多种特种芯片。最新的桌面CPU型号是3A5000,使用境内的12nm工艺生产,集成4个核心,主频2.5GHz。依靠优秀的核心设计能力,其单核性能在国产CPU中达到了最高,整体性能大致有Intel/AMD当前的低压版4核CPU的水平。另外还有16核的3C5000及3C5000L服务器CPU等。与CPU配套的芯片组产品,有自主设计的7A1000等。除了中国国内,龙芯的产品也在跟随一带一路向国外推广使用。

                                            根据网络公开材料整理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenHarmony适配移植:X86、ARM、RISC-V、MIPS、LoongArch芯片架构简析 的相关文章

随机推荐

  • Docker-dockerfile

    目录 一 dockerfile概念 二 Docker镜像创建 1 基于现有镜像创建 2 基于本地模板创建 3 基于dockerfile创建 3 1 dockerfile结构 3 2 构建镜像命令 三 dockerfile操作指令 1 ENT
  • windows/linux 下iozone参数详解

    iozone是一个文件系统的benchmark工具 xff0c 可以测试不同的操作系统中文件系统的读写性能 可以测试 Read write re read re write read backwards read strided fread
  • Windows认证Kerberos访问HDFS

    一 Windows认证Kerberos访问HDFS 1 官网下载地址 xff1a http web mit edu kerberos dist 2 安装步骤 默认安装地址 C Program Files MIT Kerberos C Pro
  • 2022(招聘季)linux面试高频题

    大家好 xff0c 今天给大家分享一下2022最新最全的linux面试高频题 xff0c 希望你们喜欢 linux运维工程师在面试的时候经常会被问到各种问题 xff0c 接下来我也会根据自己的经验将面试题整理下来供大家参考 有不同见解的欢迎
  • 自动化测试工具——Selenium详解

    目录 前言 Selenium的几个特点 seleniun组成部分 selenium RC selenium IDE selenium Grid selenium webDriver 那么selenium RC 与webdriver 主要有什
  • Linux命令新建目录mytest并且设置权限

    1 在 usr目录中新建一个目录目录名称 xff1a mytest 并在mytest目录中新建文件net txt 设置文件的属 性为文件属主 u 增加执行权限 xff0c 文件属主同组用户 g 增加写入权限 xff0c 其他用户 o 删除读
  • ubuntu18.04安装realsenseD435驱动

    1 下载编译librealsense master 1 1 更新内核 运行代码 uname r 如果 gt 61 4 4 0 50的版本则ok xff0c 否则需要升级内核 1 2 更新cmake xff08 需要3 6以上版本 xff09
  • 用realsensed435录制数据集并跑orb-slam2

    1 lt 利用ros记录话题 xff0c 获得bag文件 gt 首先launch相机节点 roslaunch realsense2 camera rs camera launch rosbag获得 bag 文件 xxx为 bag文件的命名
  • QT上位机控制stm32,并利用PID控制编码电机旋转

    QT上位机控制stm32 xff0c 并利用PID控制编码电机旋转 由于最近在学习电机控制算法之类的东西 xff0c 看到论文大多使用PID 或以PID衍生的ADRC作为电机的主流控制 xff0c 于是自己也写了一个stm32控制L298N
  • 第十一章 STM32中断应用

    目录 11 1 中断概述 11 1 1 中断的基本概念和原理 11 1 2 STM32中断系统结构和工作原理 11 1 3 中断向量表及存储位置 11 2 中断控制器 11 2 1 NVIC的功能和特点 11 2 2 中断优先级的设置方法和
  • 第十二章 SysTick—系统定时器

    目录 12 1 STM32 SysTick基础知识 12 1 1 什么是SysTick 12 1 2 SysTick的作用和优势 12 1 3 SysTick寄存器及其功能介绍 12 2 STM32 SysTick标准延时函数设计 12 2
  • C语言入门:可变参数

    有时 xff0c 您可能会碰到这样的情况 xff0c 您希望函数带有可变数量的参数 xff0c 而不是预定义数量的参数 C 语言为这种情况提供了一个解决方案 xff0c 它允许您定义一个函数 xff0c 能根据具体的需求接受可变数量的参数
  • linux/clearlinux/ubun开机自动挂载文件配置方法

    开机自动挂载配置文件 etc fstab 以空格或制表位分隔为6列 本例以EXT分区 dev sda6配置自动挂载 xff0c 只跟设备设备名或挂载点即可进行挂载 xff0c 重启后将自动挂载 为交换分区 dev sda8配置自动挂载 xf
  • Ubuntu18.04 ROS melodic环境下,通过Gazebo软件仿真SLAM算法的学习(gmapping/karto/cartographer/hector)

    目录 一 环境场景搭建world 1 下载insert插件 xff08 该插件下会提供一些建好的场景 xff0c 也可不下载 xff09 2 环境搭建 xff08 自建 xff09 3 保存环境 4 配置修改 5 启动环境 二 机器人模型U
  • rosbag命令 | EVO工具 的使用

    目录 一 rosbag录制及查看 1 rosbag话题录制 2 rosbag信息查看 3 rosbag转换格式 xff08 bag2txt xff09 4 rosbag截取录制时间 二 EVO工具使用命令 1 evo traj 命令 2 e
  • 记一次FreeRTOS移植到STM32f103遇到的问题

    问题 xff1a 移植FreeRTOS源码后写了简单的程序验证 xff0c 使用keil软件仿真发现程序一直卡在开启任务调度函数vTaskStartScheduler 中 解决 xff1a 在FreeRTOSConfig h文件中加入以下代
  • 阿里云服务器怎么登陆

    一 xff0e 连接登录Windows阿里云服务器 对于Windows操作系统 xff0c 可通过PUTTY VNC和Windows系统自带远程桌面工具等方式访问 此处以Windows自带远程桌面工具为例 xff1a 1 单击 开始 图标
  • putty连接不上该怎么办

    虚拟机Oracle VM VirtualBox 操作系统是CentOS7 1 首先有配置好的虚拟机网络 2 要登陆虚拟机 3 用管理员身份打开cmd 4 连接putty 创建好虚拟机 xff0c 启动虚拟机 xff0c 进行登录 输入ip
  • LT87121 适用于EDPx/VBO转DP/EDP应用方案,支持中心扩频+5000ppm@30kHz,温度范围: -40°C~+85°C

    1 说明 LT87121 是一款高性能 eDPx 至 eDP DP 转换器 xff0c 专为将 eDPx 源连接至一个 eDP DP 灌电流而设计 该器件能够自动操作 xff0c 由集成微处理器启用 xff0c 该微处理器使用嵌入式SPI闪
  • OpenHarmony适配移植:X86、ARM、RISC-V、MIPS、LoongArch芯片架构简析

    前言 基于OpenHarmony的开发相关工作 xff0c 特别适配移植 设备开发这块 xff0c 芯片的基础构架知识 xff0c 是最初的学习起点 本文我们整理了几种常见的芯片构架的基础知识 一 整体分析 序号 架构 特点 运营机构 1