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

38 questions
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
  • 316
  • 2
  • 13
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
  • 1
  • 1
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
  • 788
  • 2
  • 10
  • 28
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
0 answers

Cannot access Debian Docker container by SSH

I am addressing this question as I have a hard time connecting by SSH to a Docker container based on arm64v8/debian image. The sshd service seems to be running properly: ssh.service - OpenBSD Secure Shell server Loaded: loaded…
-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
  • 286
  • 1
  • 4
  • 17
1 2
3