首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JNing的专栏

    手机指令集:armv7 & armv8

    经验总结: 手机指令集主要跟芯片相关,如果是c端,就默认是arm芯片了,也只有arm芯片才有armv7和armv8之分。 寄存器个数不一样,指令集也不一样。需要针对这些不同重新设计计算的方式。 armv7: 一般偏低端机才有armv7,而armv7 是可以优化的。 模型一般在armv7上跑得较慢,而MNN现在对armv7不能加速。但是据说抖音的都跑在armv7上,且还能加速。 armv8: 目前开源的库基本都是在armv8上做的优化。 armv8 比armv7大概10%~20%的收益,一般能用v8,就不用v7。 MNN量化之后armv8大概比armv7快一倍。 tnn的armv8做的还可以,v7这块笔者不太了解,关注得比较少。

    2K10编辑于 2021-12-06
  • 来自专栏全栈程序员必看

    git指令集

    Git 是分散式的版本控制系統, 從架設、簡易操作、設定, 此篇主要是整理 基本操作、遠端操作 等.

    56120编辑于 2022-08-23
  • 来自专栏乐行僧的博客

    java指令集

    把double类型的数据转化为float类型 i2b 把int类型的数据转化为byte类型 i2c 把int类型的数据转化为char类型 i2s 把int类型的数据转化为short类型 7.

    56510编辑于 2022-02-24
  • 来自专栏全栈程序员必看

    luaJIT指令集介绍

    luaJIT指令集介绍 —————-目录————— (a)相关ByteCode定义介绍 (b)lj_bc.h和lj_bc.c (1)字节码format简介 (2)操作数的相关范围定义,和部分定义常量 (3)通过掩码镜像,来获取相对应区域的值 (4)通过掩码镜像,来设置相对应区域的值 (5)合成实现操作符 (6)关于字节码指令的定义 (7)BCMode定义 (8)参数类型校验 ——————— dependency problem, change as needed. */ #define FF_next_N 4 这里说FF_next_N是用来解决循环依赖问题的,之后可以关注下 (7) 定义 typedef enum { BCMnone, BCMdst, BCMbase, BCMvar, BCMrbase, BCMuv, /* Mode A must be <= 7 10位 d 与c相同,但是有hasd这个校验步骤,就是检验b是不是modeNone mm 11位以后 到这里全部的指令集定义已经完全介绍完毕,接下来将介绍read和write来进一步讲解

    1.2K20编辑于 2022-11-08
  • 来自专栏同步文章

    jvm指令集

    dup_x1 复制栈顶部一个字长的内容,然后将复制内容及原来弹出的两个字长的内容压入栈

    48220编辑于 2022-10-25
  • 来自专栏林欣哲

    ISA指令集

    今天的内容来源于《计算机系统概论》的第4章,介绍的指令是作者根据x86指令简化设计的一个自称为LC-3(Little Computer-3 edition)的指令集

    1.9K70发布于 2018-04-10
  • 来自专栏Android开发经验分享

    Dalvik指令集

    转载请以链接形式标明出处: 本文出自:103style的博客 对于 Android 4.4 之前的系统, 可以在 Android 源码 davik/libdex/DexOpcodes.h中找到完整的Dalvik指令集 对于 Android 4.4 及之后的以 ART 主导的系统, 可以在 Android 源码 art/runtime/dexinstuctionlist.h中找到完整的Dalvik指令集。 有以下两种指令集: iinstanceop vA, vB, field@CCCC : 操作普通字段,以i开头 – iget读,iput写 sstaticop vAA, field@CCCC : 操作静态字段 sget-char 、iput-char 、sput-char iget-short 、sget-short 、iput-short 、sput-short 在 Android 4.0 中, Dalvik指令集增加了以下两类指令

    1K20编辑于 2022-12-19
  • 来自专栏全栈程序员必看

    ARM指令集

    根据指令的不同,有些指令中要求Rd必须有R0~R7之间,有些要求Rd必须在R0~R14之间,有些则没有特殊要求。 因此,当子程序使用Thumb指令集,而调用者使用ARM指令集时,可以通过BLX指令实现子程序的调用和处理器工作状态的切换。 , {R0 – R7 , LR} ;现场保存,将R0 – R7 , LR入栈,满递减堆栈。 LDMFD SP! , {R0 – R7 , PC}^ ;恢复现场,异常处理返回,满递减堆栈 在进行数据复制时,先设置好源数据指针,然后使用块拷贝寻址指令进行读取和存储。 Thumb指令集合 Thumb指令集是ARM指令集的一个子集,允许指令编码为16位的长度,Thumb指令集在保留32位代码优势的同时,大大节省了系统的存储空间。

    1.6K20编辑于 2022-07-05
  • 来自专栏全栈程序员必看

    eBPF指令集_sse3指令集

    寄存器及调用约定 通用的RISC指令集,11个64位寄存器,一个程序计数器和512字节的栈空间构成。 10个通用寄存器+1个只读FP(帧指针寄存器),所有寄存器64bit宽。

    72920编辑于 2022-11-08
  • 来自专栏iOS开发~

    iOS_Apple 指令集

    (RISC) Intel处理器:使用复杂指令集(CISC) ARM处理器指令集 ARM指令集:计算机ARM操作指令系统 armv6、armv7、armv7s、arm64、arm64e 都是arm处理器的指令集 (比如:你的设备是armv7s指令集,那么它可以兼容运行比armv7s版本更低的指令集:armv7、armv6,只是使用armv6指令集时无法充分发挥其性能,即无法使用armv7指令集中的新特性) Xcode4.5 苹果的A7处理器支持两个不同的指令集: 32位ARM指令集(armv6、armv7、armv7s) 64位ARM指令集(arm64) 另外: i386:通常被用来作为Intel 32位微处理器的统称。 参考: CPU Architectures iOS 指令集架构 armv6、armv7、armv7s、arm64、arm64e、x86_64、i386 Xcode 12 Release Notes iOS 指令集架构Architectures armv6、armv7、armv7s、arm64、arm64e、x86_64、i386 iOS和iPadOS设备列表

    1.8K20编辑于 2022-07-20
  • 来自专栏Node Python Go全栈开发

    使用 Makefile 构建指令集

    使用 Makefile 构建指令集 make 是一个历史悠久的构建工具,通过配置 Makefile 文件就可以很方便的使用你自己自定义的各种指令集,且与具体的编程语言无关。 使用 Makefile 构建指令集可以很大的提升工作效率。

    1.1K10发布于 2020-07-17
  • 来自专栏叶子的开发者社区

    MIPS指令集实验

    首先先初始化一些数据,包括需要排序的数据和数据的长度以及需要输出的字符串和CONTROL和DATA的地址 .data array: .word 8,6,3,7,1,0,9,4,5,2 size: . jal show halt 使用asm.exe检验所写的程序语法正确性,无语法错误  运行程序,证明程序成功对数组排序 全部代码如下  .data array: .word 8,6,3,7,1,0,9,4,5,2

    54540编辑于 2023-10-09
  • 来自专栏JusterZhu

    IL指令集--box

    再往下一层可以通过一些反编译工具查看IL指令集,可以看到一个box指令,那这个指令做了什么事情呢? int i = 123; object o = i; // 箱装操作 IL指令集: .locals init ( [0] int32, [1] object ) // 初始化变量i IL

    48330编辑于 2023-09-18
  • 来自专栏Postgresql源码分析

    Postgresql引入SIMD指令集

    snapshot->xcnt; i++) { if (TransactionIdEquals(xid, snapshot->xip[i])) return true; patch引入SIMD指令集

    74530编辑于 2022-11-21
  • 来自专栏用户7721898的专栏

    什么是cpu指令集

    当我们查看cpu的时候在最下面的就是cpu指令集 ? CPU指令集是什么? CPU指令集都是存储在CPU内部的,主要是对CPU运算进行优化、指导的硬程序,有了这些CPU指令集,CPU就能够更快速高效的工作。 一般来说,预设存储的指令越多,那么CPU就越“聪明”,预设存储的指令越先进,CPU也就越高级,预设的很多指令集中在一起,那么就是所谓的“指令集”。 CPU指令集的作用 CPU指令集的多少,对CPU的效率影响较大,但是对于普通用户来说,功能几乎并不会有影响。 文章结束,以上就是关于CPU指令集是什么?

    1.9K20发布于 2021-03-02
  • 来自专栏cwl_Java

    快速学习-EVM指令集

    EVM指令集 所有的指令都是针对"256位的字(word)"这个基本的数据类型来进行操作 具备常用的算术、位、逻辑和比较操作,也可以做到有条件和无条件跳转 合约可以访问当前区块的相关属性,比如它的块高度和时间戳

    73410发布于 2020-04-13
  • 来自专栏AI系统

    【AI系统】CPU 指令集架构

    Intel 和 AMD CPU 使用 x86 指令集,IBM 处理器使用 PowerPC R 指令集,HP 处理器使用 PA-RISC 指令集,ARM 处理器使用 ARMR 指令集(或其变体,如 Thumb CPU 在设计之前,就需要先设计一套指令集,或者说使用现成的指令集(如 ARM、X86 指令集),在硬件电路上实现这些指令。 此时,出现了两种不同的 CPU 设计理念:精简指令集 RISC 和复杂指令集 CISC。 ,存在长期隐患; LoongArch 路线:23 年下半年完成流片的龙芯 3A6000 部分性能指标有望追上 Intel 第 12 代 Intel 酷睿 i7,意味着有 1 代或 3 年左右的性能差距, 总结一下,CISC(复杂指令集计算机)和 RISC(精简指令集计算机)代表了两种不同的计算机指令集架构设计思想。

    90810编辑于 2024-11-27
  • 来自专栏全栈程序员必看

    ARM指令集介绍「建议收藏」

    ARM指令介绍 ARM 指令集是针对ARM体系架构设计的指令。 指令有B、BL、BLX、BX L将PC的值保存到LR寄存器中,X带状态切换的跳转(可以切换到thumb指令集,目标地址处的指令类型有目标地址的bit[0]决定)。 ARM指令集中的除法运算是通过协处理器来实现的,所以没有除法算术的指令。 AND、ORR、EOR、BIC分别是按位逻辑与、或、异或、清除操作。 异常中断产生指令 在ARM概述中,咱们知道ARM有7种模式,可以分为用户模式和特权模式。在特权模式中可以访问系统的所有资源以及任意切换到别的模式。 在ARM指令集中立即数使用#标记。

    3.6K10编辑于 2022-11-15
  • 来自专栏全栈程序员必看

    CPU指令集——AVX2

    1.查看CPU所支持的指令集 对于windows系统,可借助CPU-Z工具,可查看当前CPU所支持的指令集: 对于Linux系统,可运行cat /proc/cpuinfo | grep flags 来查看当前CPU所支持的指令集: 由此可知,Intel i7-7700CPU支持AVX2指令集,但是不支持AVX-512指令集。 Intel AVX introduces support for 256-bit wide SIMD registers (YMM0-YMM7 in operating modes that are 32 Doublewords 5)VPBLENDD – Blend Packed Dwords 6)VPERMD – Full Doublewords Element Permutation 7) articles/introduction-to-intel-advanced-vector-extensions [6] https://en.wikipedia.org/wiki/SIMD [7]

    19.1K10编辑于 2022-08-23
  • 来自专栏IC知识库平台

    RISC-V指令集讲解(7)指令地址对齐和加减法溢出处理

    下面举例说明加法如何处理(减法与之类似): 无符号数相加溢出(假设 x6,x7 是无符号数) ADD x5,x6,x7 BLTU x5,x6,overflow (跳转到 结果不正确的处理分支) 解释说明 x7 >= x6)  ||  (x7 >= 0)  &&  (x6 + x7 < x6) ADD x5,x6,x7 SLTI x28,x7,0 SLT x29,x5,x6 BNE x28,x29,overflow (跳转到 结果不正确的处理分支) 解释说明: 如果x7小于0,那么x28为1,那么x6和x7的和应该是小于x6,对x5和x6进行比较,如果x5小于x6,x29为1,如果x5不小于x6,即说明溢出,此时 x28不等于x29,即可以转到不正确的处理分支 如果x7大于等于0,那么x28为0,同时x6和x7的和应该不小于x6,同样对x5和x6比较,如果x29为1,说明x5小于x6,即说明溢出,x28不等于x29 ,也会转到不正确的处理分支 或者可以理解为:若 (x7 < 0)  &&  (x6 + x7 >= x6)  ||  (x7 >= 0)  &&  (x6 + x7 < x6)则为不正确的处理分支 备注

    2.3K50发布于 2021-08-02
领券