arm64 相关问题

64位ARM体系结构,也称为AArch64。

RPI aarch64交叉编译:无法链接

我正在尝试使用 Ubuntu 20.04 中的 cmake 交叉编译树莓派 4(64 位)。 我正在使用最新的牛眼图像和桌面以及树莓派官方网站推荐的软件...

回答 1 投票 0

jdk 版本 8u1.8.0_312 时 JVM 突然挂起

我们的在线Kafka Broker服务突然挂掉了,而且发生的概率很低,而且没有任何时间规律性。没有崩溃、没有警告、没有错误、没有日志 命令“jstack [pid]”...

回答 1 投票 0

neon指令集中vfmaq_f32和vmlaq_f32有什么区别,以及运行速度和精度上的区别

你好,neon指令集中vfmaq_f32和vmlaq_f32有什么区别,运行速度和精度有什么区别 在 macOS ARM64 上,代码运行一致 #包括 你好,neon指令集中vfmaq_f32和vmlaq_f32有什么区别,运行速度和精度有什么区别 在 macOS ARM64 上,代码运行一致 #include<arm_neon.h> #include<iostream> using namespace std; int main(){ float a = 12.3839467819; float b = 21.437678904; float c = 4171.42144; printf("%.17f\n",a); printf("%.17f\n",b); printf("%.17f\n",c); printf("%.17f\n",a+b*c); float32x4_t a_reg = vdupq_n_f32(a); float32x4_t b_reg = vdupq_n_f32(b); float32x4_t c_reg = vdupq_n_f32(c); float32x4_t res_reg = vfmaq_f32(a_reg, b_reg, c_reg); float res[4] = {0.f}; vst1q_f32(res,res_reg); printf("%.17f\n",res[0]); res_reg = vmlaq_f32(a_reg, b_reg, c_reg); vst1q_f32(res,res_reg); printf("%.17f\n",res[0]); res_reg = vmulq_f32(b_reg, c_reg); res_reg = vaddq_f32(res_reg, a_reg); vst1q_f32(res,res_reg); printf("%.17f\n",res[0]); return 0; } vfmaq_f32 定义为单个融合操作,而 vmlaq_f32 can 通过乘法然后累加来实现。 我想到了两种解释。首先,在某些时候,融合版本(FMLA指令)可能是可选指令(我不知道什么时候,而且我有点懒得去挖掘真正旧的文档)。第二种可能性似乎更有可能,那就是融合版本在某些时候可能会慢一些。 如今,编译器看起来几乎只是将两者编译为相同的指令,因此它实际上是一个别名,但如果您想要准确性,您可能仍然应该使用vfmaq_f32,但如果您对速度更感兴趣,则vmlaq_f32 .

回答 1 投票 0

为什么Windows平台不支持交叉编译Android平台的v8

“Android 版本仅在 Linux 和 Mac 主机上受支持” 文件BUILDCONFIG.gn中有这么一句话,但是没有太多解释,官网上也没有资料我

回答 1 投票 0

我需要将此 C 代码转换为 AArch64 macOS (M1) 的程序集的一般提示和指导

我知道您可以使用 GCC 选项将其转换为汇编,但这并没有教我任何有关该过程的信息。有关于如何执行此操作的指南吗?我在 MacOS 上。我的教授...

回答 1 投票 0

我需要有关将此 C 代码转换为汇编的一般提示和指导

不幸的是,我的教授是有史以来最糟糕的教授之一,她制作的材料几乎没有任何材料可以对此提供任何帮助。我不是在寻找直接答案...

回答 1 投票 0

如何强制页面在下次访问时生成页面错误?

我正在尝试使用 SVE 开发一个例程。 SVE 提供了避免故障的加载,这些加载不会从内存中加载,否则访问时会导致故障。由于 CPU 不知道页面为何存在

回答 1 投票 0

aarch64中如何处理异常和中断?

我有一个简单的裸机应用程序,可以通过以下命令在 Qemu 中启动: qemu-system-aarch64 -M virt \ -CPU Cortex-A72 \ -bios“$(QEMU_PATH)/share/qemu/edk2-aarch64-code.fd”\ ...

回答 1 投票 0

如何使用嵌入汇编器(aarch64)循环C数组?

我有下一个糟糕的代码: 无效打印(常量字符*文本){ 无符号长地址 = 0x9000000; 无符号长计数器 = 0; 字符ch = *文本; while (ch != ' ') { 地址 += 库...

回答 1 投票 0

如何在 Apple M1 上的 Mac 操作系统中禁用硬件预取器?

在基于 Intel 的 Linux(或 macOS)中,我们可以通过使用 wrmsr 修改 0xa14 寄存器来禁用预取。 我读到在 ARM Cortex-A53 上,CPUACTLR_EL1 寄存器的 L1PCTL 部分可以设置为 0 来禁用...

回答 1 投票 0

使用 yocto sdk 交叉编译 Qt6 - QWayland 缺少要求

我想用yocto SDK交叉编译Qt6.5。 首先,我编译了 Qt 主机版本,没有出现任何问题。 qt-host -> host-build的安装文件夹 qt-hostbuild -> 主机构建的构建文件夹 qt6-b...

回答 1 投票 0

如何使用asm从C中的arm64上的寄存器返回CPU周期计数? (苹果M2)

我在ARM的网站上发现PMCCNTR_EL0寄存器保存着处理器的周期计数值。但为了访问它,必须实现 FEAT_PMUv3。但我无法访问寄存器。是否

回答 1 投票 0

GNU AS 程序集无法将用户输入转换为十进制

我正在尝试通过在aarch64汇编(GNU AS)中编写一个简单的计算器来学习汇编,我成功提示用户输入,但我无法检查用户输入是否是数字,甚至是像“+”这样的字符...

回答 1 投票 0

如何将代码注入macOS中的arm64e进程?

我编写了一个实用程序,通过使用旧的 mach_inject 方法将编译代码(以 dylib 的形式)注入 Dock 来修改系统行为。然而,mach_inject 尚未更新

回答 2 投票 0

Neoverse N1 中 lsl >4 的 add 流程

我有一个关于 Neoverse N1 中 adds with shift (adds x3, x4, x5, lsl #32) 使用的管道的问题,特别是“adds x3, x4, x5, lsl #32”。 根据Neoverse N1软件优化(http...

回答 1 投票 0

macos/arm64上地址空间不使用第一位吗?

我使用的是ARM64系统(M1)。 $ uname -m ARM64 这是我用来查找系统上虚拟地址空间范围的 C 程序。 #包括 #包括 #定义

回答 1 投票 0

未找到:“未找到包'turtlebot3_gazebo',搜索:['/opt/ros/humble']”

在 Apple Silicon CPU(M2) Ubuntu Linux - Jammy Jellyfish (22.04 arm64 版本) 我像文档一样安装 ROS2 humilitywith-full 每一步,然后安装 sudo apt install ros-humble-turtlebot3* 设置 ROS 2 Hu...

回答 1 投票 0

为什么我在 AArch64 Linux hello world 程序中遇到分段错误?

我运行这个程序在汇编中打印“Hello World”,然后将其发送到Linux服务器。该程序编译正确,但当我尝试运行代码时出现分段错误......

回答 1 投票 0

ARM64 架构的 Objdump

我在 ARM64 (aarch64) 架构的 Ubuntu 中遇到了这个错误,其中 Objdump 不想运行。 以下命令“objdump -d 文件名”的错误消息: 文件名:文件格式 e...

回答 1 投票 0

为什么 Linux 在发出系统调用时将 ARM64 中的 SVE 寄存器的高位清零?

在Linux 5.10 AArch64 syscall.c源代码中,有一个函数sve_user_discard(),它可以使SVE寄存器的[max:128]位清零。这是代码。 我无法理解用法...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.