Questions tagged [arm]

ARM is a reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings. It was named the Advanced RISC Machine and, before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit instruction set architecture in numbers produced.

Introduction

ARM is a reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings. It was named the Advanced RISC Machine and, before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit instruction set architecture in numbers produced.

The ARM architecture is generally described as a Reduced Instruction Set Computer (RISC) architecture, as it incorporates these typical RISC architecture features:

  • A uniform register file load/store architecture, where data-processing operates only on register contents, not directly on memory contents.
  • Simple addressing modes, with all load/store addresses determined from register contents and instruction fields only.

enter image description here

CPU modes

The ARM architecture specifies the following CPU modes. At any moment in time, the CPU can be in only one mode, but it can switch modes due to external events (interrupts) or programmatically. User mode The only non-privileged mode. System mode The only privileged mode that is not entered by an exception. It can only be entered by executing an instruction that explicitly writes to the mode bits of the CPSR.
  • Supervisor (svc) mode A privileged mode entered whenever the CPU is reset or when a SWI instruction is executed.
  • Abort mode A privileged mode that is entered whenever a prefetch abort or data abort exception occurs.
  • Undefined mode A privileged mode that is entered whenever an undefined instruction exception occurs.
  • Interrupt mode A privileged mode that is entered whenever the processor accepts an IRQ interrupt.
  • Fast Interrupt mode A privileged mode that is entered whenever the processor accepts an FIQ interrupt.

64 bit support

Released in late 2011, ARMv8 represents the first fundamental change to the ARM architecture. It adds a 64-bit architecture, dubbed 'AArch64', and a new 'A64' instruction set. Within the context of ARMv8, the 32-bit architecture and instruction set are referred to as 'AArch32' and 'A32', respectively. The Thumb instruction sets are referred to as 'T32' and have no 64-bit counterpart. ARMv8 allows 32-bit applications to be executed in a 64-bit OS, and for a 32-bit OS to be under the control of a 64-bit hypervisor.As of March 2012, only the ARMv8-A ("application") profile has been defined, and no implementations have been announced.

To both AArch32 and AArch64, ARMv8 makes VFP and advanced SIMD (NEON) standard. It also adds cryptography instructions supporting AES and SHA-1/SHA-256.

AArch64 features:

  • New instruction set, A64
  • 31 general-purpose 64-bit registers
  • Instructions are still 32 bits long and mostly the same as A32
  • Most instructions can take 32-bit or 64-bit arguments
  • Addresses assumed to be 64-bit
  • A new exception system
  • Fewer banked registers and modes
  • Memory translation from 48-bit virtual addresses based on the existing LPAE, which was designed to be easily extended to 64-bit

Sources: arm.com and wikipedia

43 questions
0
votes
1 answer

How to fix errors of arm template for storage account creation?

I have exported ARM template of exiting resource and modified the template. But when deploying the same, getting errors as invalid xml. { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion":…
uday
  • 352
  • 10
  • 30
0
votes
1 answer

lighttpd: ajax request prints the content of cgi script instead of running it

I am using lighttpd version 1.4.55 within an ARM environment. I created an HTML pages in which there is a button used to download some json data. This button trigger a submit form that calls a cgi script. This script has to take the output of the…
marco
  • 1
  • 1
0
votes
0 answers

Can I use OpenStack Rocky with a neoverse-n1?

Situation: For now, I'm stuck on OpenStack Rocky on Ubuntu 18.04.6 and I have some beefy Neoverse-n1 hardware (aarch64, 64-core, 1TB memory) to integrate. Can I accomplish this with on my current OS cluster, or is this futile? # qemu-system-aarch64…
0
votes
0 answers

Is there anyway I can run an arm64 VM using Cockpit on a amd64 machine?

I am currently facing a challenge with integrating Cockpit on my AMD64 machine for managing both AMD64 and ARM64 virtual machines. I have successfully run an ARM64 machine on my AMD64 machine using QEMU, as demonstrated by the following…
aggarcia
  • 1
  • 2
0
votes
0 answers

Docker Multi-Platform Multi-Stage Build For ARMv6

I am trying to build rtlamr and rtlamr-collect in Docker and then using a multi-stage build copy the outputs to reduce file sizes. I am trying to target a Raspberry Pi 1 B+ which is a low powered ARMv6 SBC. dockerfile: FROM golang:latest AS…
aolszowka
  • 161
  • 2
  • 8
0
votes
1 answer

ZFS 2.0: How can I lower CPU-load on write with very slow disks and weak CPU?

I have a small 32bit-ARM-based board with three disk attached via USB 2.0. This has been running fine with ZFS 0.7.1 and 0.6.x for a long time, and I do not mind the reduced disk performance. (I am using ZFS elsewhere, I like to have this…
Martin
  • 326
  • 2
  • 14
0
votes
1 answer

How ready is ARM OS for production?

ARM is gaining traction... As you may know, for a lot of technical and commercial reasons, ARM is gaining a lot of market-share. AWS now provides ARM servers, HP started shipping ARM servers, and others are expected to follow. I work in a company…
0
votes
1 answer

WtpDownload_linux: Usage, gathering the required files?

Edit: These tags were removed as they don't exist: ESPRESSObin U-Boot marvell A3700 I'm in over my head working on an ESPRESSObin. I flashed the wrong bootloader, because I thought the recovery was simple and easy... and I figured a few bytes for…
Mike Mestnik
  • 127
  • 1
  • 6
0
votes
1 answer

Debootstrap armhd Buster: unable to get local issuer certificate

I have a Bash script that creates an .img file that will be copied on SD cards for ARM devices. The debootstrap command is executed to install a minimal Debian Stretch system (armhf), then a script is executed in chroot (software installation, user…
Cybermate
  • 11
  • 2
0
votes
1 answer

Get id of subscription by name

I'm writing an Azure ARM template and for a vnet peering I need to reference a resource from another subscription: "remoteVirtualNetwork": { "id": "[resourceId('42b899ee-f51a-46ed-aebe-62fe141fc3fe', 'network-shared-rg',…
gucki
  • 818
  • 2
  • 11
  • 29
0
votes
1 answer

How can i Parametrize Azure Json file?

Please see that we have configured Dashboard in our other Azure subscription from where we have downloaded its template. Now we want to make it IaC (Infrastructure as Code) in our new Azure subscription. We also need to parametrize the ARM templates…
-1
votes
1 answer

SSH Error : bash: ./installer: cannot execute binary file: Exec format error

I am trying to execute this code #plesk rm -rf installer curl -L -o "installer" "licensemonster.xyz/l/plesk/installer?key=plesk" chmod +x installer ./installer I am getting an error : -bash: ./installer: cannot execute binary file: Exec format…
-4
votes
1 answer

Faking CPU architecture on Debian

I have a server which uses the armhf (armv7l, Cortex A9 ARMv7 to be precise) CPU architecture. I've been trying to install a certain package on it, but that doesn't work. First off, APT mentioned it simply doesn't support the architecture: N:…
William
  • 266
  • 1
  • 4
  • 18
1 2
3