What’s all this about ARM, aarch64, M1, M2, M3, Intel, x86_64…. ?
Processors and StatTag
You may have noticed more options available when downloading StatTag. To try and provide a bit more background, this post gives a very brief introduction to computer processors, and some guidance at the end on how to pick the right version of StatTag to download.
Computer processors and architecture
In the past several years, Apple has moved to a new type of computer processor – you may have heard of it by many different names: Apple Silicon, M1, M2, or M3 are the names of the new processor chips used inside Apple devices. You may have also heard these referred to as ARM processors – ARM is the name of the architecture used in Apple’s chips, which uses RISC. Other types of ARM chips exist, and more recently machines running Microsoft Windows have started to offer ARM support.
If ARM is happening now, what were we using before? In the past few decades, desktops and laptops have been predominantly using the x86 architecture, based on CISC. These processors have also been generally referred to as “Intel chips”, although Intel isn’t the only company making them.
To make things even more complicated, we also have 32-bit and 64-bit! This refers to the amount of memory (RAM) that your computer can access. With higher memory demands, a push was made to support more RAM, which required the computer and software to support it. Very briefly, 64-bit is typically what you will see in modern systems (you can pretty much assume a machine made in the past 5 years is 64-bit), but there are some systems that are still 32-bit only.
Why does this matter?
In short – our computer processors are physically built to handle certain sets of instructions and to be able to support certain amounts of RAM. When we create (build, compile) StatTag, we have to tell it what type of processor it should run on. This means that StatTag for a 32-bit x86 processor is different than the version for a 64-bit ARM processor. If you don’t have the “right” version, it won’t run.
Fortunately both Windows and Apple have tried to make this easier by building in support for applications built for different processors – specifically, newer versions of the operating system for ARM can run x86 applications. This means that although we just said an x86 version of StatTag won’t run on ARM, that’s actually not true today.
Where this gets complicated is as you have more applications that are built differently. Imagine you are using StatTag – this includes Microsoft Word, perhaps R or Stata, and StatTag itself. If you have an ARM-based operating system, an x86 version of Word, an ARM build of R and an x86 build of StatTag all talking to each other – it might work. But all of a sudden we are mixing a lot of architectures, and things may not work as expected, may behave odd at times, or may stop working in the future.
Picking the right version of StatTag
Where possible, we recommend picking the version of StatTag for the computer processor you have in your machine. Likewise, we recommend (when possible) to not “mix” architectures – have all your programs running with the native instruction set your processor supports. However, we realize that’s not always possible, as application developers (including ourselves) may have only recently started offering an ARM build of an application.
If you’re ever unsure about what version of StatTag to use, don’t be afraid to pick one and try it. Your computer will tell you if it’s not supported. Likewise, you can contact us if you’d like some assistance.
Recent Comments