Jump to content

ARM and x86 on the same system?

DiggsMcGee

What if you had a system that utilized both an ARM and x86 processor on the same board? Then you could run applications on either instruction set by passing them through the OS (which would be made to handle this sort of thing) on to the CPU that it needs to run? Everything else is just an interface, right? So graphics cards, USB devices, etc. would act as usual, with the OS and maybe a third chip on the motherboard directing traffic to and from each CPU...

Link to comment
Share on other sites

Link to post
Share on other sites

In theory it could run fine, but it's such a niche use case that it would never happen or would be hyper expensive if it did

🌲🌲🌲

Β 

Β 

Β 

β—’Β β—’Β 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, DiggsMcGee said:

What if you had a system that utilized both an ARM and x86 processor on the same board? Then you could run applications on either instruction set by passing them through the OS (which would be made to handle this sort of thing) on to the CPU that it needs to run? Everything else is just an interface, right? So graphics cards, USB devices, etc. would act as usual, with the OS and maybe a third chip on the motherboard directing traffic to and from each CPU...

The PS4 has both an x86 and ARM system in it; one handles gaming, and the other handles connected standby (so it can download games/updates when it's asleep). However, AFAIK, these don't operate at the same time, even if they share the same memory/storage. The PS4 OS is tailored specifically for this.

Β 

Because the instruction sets are different, you'd have a really hard time operating them simultaneously, without some sort of Java-like universal VM on top of it all, translating universal instructions into whatever core it's being run on at that moment (which would be a huge performance hit).

Β 

You could perhaps use the other instruction set as a co-processor (a la early Xeon Phi orΒ QNAP Mustang), but then you loose much of the benefit of being tightly integrated when you do that.

Main System (Byarlant):Β Ryzen 7 5800X | Asus B550-Creator ProArt | EK 240mm Basic AIO |Β 16GB G.Skill DDR4 3200MT/s CAS-14 | XFX Speedster SWFT 210 RX 6600 | Samsung 990 PRO 2TB / Samsung 960 PRO 512GB / 4Γ— Crucial MX500 2TB (RAID-0) | Corsair RM750X | Mellanox ConnectX-3 10G NIC | Inateck USB 3.0 CardΒ | Hyte Y60 Case | Dell U3415W Monitor | Keychron K4 Brown (white backlight)

Β 

Laptop (Narrative):Β Lenovo Flex 5Β 81X20005US | Ryzen 5 4500U | 16GB RAM (soldered) | Vega 6 Graphics | SKHynix P31 1TBΒ NVMe SSD | Intel AX200 Wifi (all-around awesome machine)

Β 

Proxmox Server (Veda):Β Ryzen 7 3800XT | AsRock Rack X470D4U | Corsair H80i v2 | 64GB Micron DDR4 ECC 3200MT/s | 4x 10TB WD Whites / 4x 14TB Seagate Exos / 2Γ— Samsung PM963a 960GB SSD |Β Seasonic Prime Fanless 500W |Β Intel X540-T2 10G NIC | LSI 9207-8i HBAΒ | Fractal Design Node 804 Case (side panels swapped to show off drives) | VMs: TrueNAS Scale; Ubuntu Server (PiHole/PiVPN/NGINX?); Windows 10 Pro; Ubuntu Server (Apache/MySQL)


Media Center/Video CaptureΒ (Jesta Cannon):Β Ryzen 5 1600X | ASRock B450M Pro4 R2.0 | Noctua NH-L12S |Β 16GB Crucial DDR4 3200MT/s CAS-22 | EVGA GTX750Ti SC | UMIS NVMe SSD 256GB / Seagate 1.5TB HDDΒ | Corsair CX450M |Β Viewcast Osprey 260e Video Capture | Mellanox ConnectX-2 10G NIC | LG UH12NS30 BD-ROM | Silverstone Sugo SG-11 Case | Sony XR65A80K

Β 

Camera: Sony Ι‘7II w/ Meike Grip | Sony SEL24240Β | Samyang 35mm Ζ’/2.8 | Sony SEL50F18FΒ | Sony SEL2870 (kit lens) | PNY Elite Perfomance 512GB SDXC card

Β 

Network:

Spoiler
                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Office/Rack ────────────────────────────────────────────────────────────────────────────┐
Google Fiber Webpass ────── UniFi Security Gateway ─── UniFi Switch 8-60W ─┬─ UniFi Switch Flex XG ═╦═ Veda (Proxmox Virtual Switch)
(500Mbps↑/500Mbps↓)                             UniFi CloudKey Gen2 (PoE) ─┴─ Veda (IPMI)           ╠═ Veda-NAS (HW Passthrough NIC)
╔═══════════════════════════════════════════════════════════════════════════════════════════════════╩═ Narrative (Asus USB 2.5G NIC)
β•‘ β”Œβ”€β”€β”€β”€β”€β”€ Closet ──────┐   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Bedroom ──────────────────────────────────────────────────────┐
β•šβ• UniFi Switch Flex XG ═╀═ UniFi Switch Flex XG ═╦═ Byarlant
   (PoE)                 β”‚                        ╠═ Narrative (Cable Matters USB-PD 2.5G Ethernet Dongle)
                         β”‚                        β•šβ• Jesta Cannon*
                         β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Media Center ──────────────────────────────────┐
Notes:                   └─ UniFi Switch 8 ─────────┬─ UniFi Access Point nanoHD (PoE)
═══ is Multi-Gigabit                                β”œβ”€ Sony Playstation 4 
─── is Gigabit                                      β”œβ”€ Pioneer VSX-S520
* = cable passed to Bedroom from Media Center       β”œβ”€ Sony XR65A80K (Google TV)
** = cable passed from Media Center to Bedroom      └─ Work Laptop** (Startech USB-PD Dock)

Β 

Retired/Other:

Spoiler

Laptop (Rozen-Zulu):Β Sony VAIO VPCF13WFX | Core i7-740QM | 8GB Patriot DDR3 | GTΒ 425M | Samsung 850EVO 250GB SSD | Blu-ray Drive | Intel 7260 Wifi (lived a good life, retired with honor)

Testbed/Old DesktopΒ (Kshatriya):Β Xeon X5470 @ 4.0GHz |Β ZALMAN CNPS9500 | Gigabyte EP45-UD3L | 8GB Nanya DDR2 400MHz | XFX HD6870 DD | OCZ Vertex 3 Max-IOPS 120GB | Corsair CX430M | HooToo USB 3.0 PCIe Card | Osprey 230 Video Capture | NZXT H230 Case

TrueNAS Server (La Vie en Rose):Β Xeon E3-1241v3 | Supermicro X10SLL-F | Corsair H60 | 32GB Micron DDR3L ECC 1600MHz | 1x Kingston 16GB SSD / Crucial MX500 500GB

Link to comment
Share on other sites

Link to post
Share on other sites

21 minutes ago, DiggsMcGee said:

What if you had a system that utilized both an ARM and x86 processor on the same board? Then you could run applications on either instruction set by passing them through the OS (which would be made to handle this sort of thing) on to the CPU that it needs to run? Everything else is just an interface, right? So graphics cards, USB devices, etc. would act as usual, with the OS and maybe a third chip on the motherboard directing traffic to and from each CPU...

If you have a modern CPU, this is already the case. The Intel Management Engine and AMD PSP run on an integrated ARM chip on the CPU. Of course, it's invisible to the OS.

Main: AMD Ryzen 7 5800X3D, Nvidia GTX 1080 Ti, 16 GB 4400 MHz DDR4 Fedora 38 x86_64

Secondary: AMD Ryzen 5 5600G, 16 GB 2667 MHz DDR4, Fedora 38 x86_64

Server: AMD Athlon PRO 3125GE, 32 GB 2667 MHz DDR4 ECC, TrueNAS Core 13.0-U5.1

Home Laptop: Intel Core i5-L16G7, 8 GB 4267 MHz LPDDR4x, Windows 11 Home 22H2 x86_64

Work Laptop: Intel Core i7-10510U, NVIDIA Quadro P520, 8 GB 2667 MHz DDR4, Windows 10 Pro 22H2 x86_64

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, svmlegacy said:

Intel Management Engine

Near as I can tell, IME is still x86 (I mean, why would Intel license ARM into every one of their chips when they already own a processor architecture?)

Main System (Byarlant):Β Ryzen 7 5800X | Asus B550-Creator ProArt | EK 240mm Basic AIO |Β 16GB G.Skill DDR4 3200MT/s CAS-14 | XFX Speedster SWFT 210 RX 6600 | Samsung 990 PRO 2TB / Samsung 960 PRO 512GB / 4Γ— Crucial MX500 2TB (RAID-0) | Corsair RM750X | Mellanox ConnectX-3 10G NIC | Inateck USB 3.0 CardΒ | Hyte Y60 Case | Dell U3415W Monitor | Keychron K4 Brown (white backlight)

Β 

Laptop (Narrative):Β Lenovo Flex 5Β 81X20005US | Ryzen 5 4500U | 16GB RAM (soldered) | Vega 6 Graphics | SKHynix P31 1TBΒ NVMe SSD | Intel AX200 Wifi (all-around awesome machine)

Β 

Proxmox Server (Veda):Β Ryzen 7 3800XT | AsRock Rack X470D4U | Corsair H80i v2 | 64GB Micron DDR4 ECC 3200MT/s | 4x 10TB WD Whites / 4x 14TB Seagate Exos / 2Γ— Samsung PM963a 960GB SSD |Β Seasonic Prime Fanless 500W |Β Intel X540-T2 10G NIC | LSI 9207-8i HBAΒ | Fractal Design Node 804 Case (side panels swapped to show off drives) | VMs: TrueNAS Scale; Ubuntu Server (PiHole/PiVPN/NGINX?); Windows 10 Pro; Ubuntu Server (Apache/MySQL)


Media Center/Video CaptureΒ (Jesta Cannon):Β Ryzen 5 1600X | ASRock B450M Pro4 R2.0 | Noctua NH-L12S |Β 16GB Crucial DDR4 3200MT/s CAS-22 | EVGA GTX750Ti SC | UMIS NVMe SSD 256GB / Seagate 1.5TB HDDΒ | Corsair CX450M |Β Viewcast Osprey 260e Video Capture | Mellanox ConnectX-2 10G NIC | LG UH12NS30 BD-ROM | Silverstone Sugo SG-11 Case | Sony XR65A80K

Β 

Camera: Sony Ι‘7II w/ Meike Grip | Sony SEL24240Β | Samyang 35mm Ζ’/2.8 | Sony SEL50F18FΒ | Sony SEL2870 (kit lens) | PNY Elite Perfomance 512GB SDXC card

Β 

Network:

Spoiler
                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Office/Rack ────────────────────────────────────────────────────────────────────────────┐
Google Fiber Webpass ────── UniFi Security Gateway ─── UniFi Switch 8-60W ─┬─ UniFi Switch Flex XG ═╦═ Veda (Proxmox Virtual Switch)
(500Mbps↑/500Mbps↓)                             UniFi CloudKey Gen2 (PoE) ─┴─ Veda (IPMI)           ╠═ Veda-NAS (HW Passthrough NIC)
╔═══════════════════════════════════════════════════════════════════════════════════════════════════╩═ Narrative (Asus USB 2.5G NIC)
β•‘ β”Œβ”€β”€β”€β”€β”€β”€ Closet ──────┐   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Bedroom ──────────────────────────────────────────────────────┐
β•šβ• UniFi Switch Flex XG ═╀═ UniFi Switch Flex XG ═╦═ Byarlant
   (PoE)                 β”‚                        ╠═ Narrative (Cable Matters USB-PD 2.5G Ethernet Dongle)
                         β”‚                        β•šβ• Jesta Cannon*
                         β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Media Center ──────────────────────────────────┐
Notes:                   └─ UniFi Switch 8 ─────────┬─ UniFi Access Point nanoHD (PoE)
═══ is Multi-Gigabit                                β”œβ”€ Sony Playstation 4 
─── is Gigabit                                      β”œβ”€ Pioneer VSX-S520
* = cable passed to Bedroom from Media Center       β”œβ”€ Sony XR65A80K (Google TV)
** = cable passed from Media Center to Bedroom      └─ Work Laptop** (Startech USB-PD Dock)

Β 

Retired/Other:

Spoiler

Laptop (Rozen-Zulu):Β Sony VAIO VPCF13WFX | Core i7-740QM | 8GB Patriot DDR3 | GTΒ 425M | Samsung 850EVO 250GB SSD | Blu-ray Drive | Intel 7260 Wifi (lived a good life, retired with honor)

Testbed/Old DesktopΒ (Kshatriya):Β Xeon X5470 @ 4.0GHz |Β ZALMAN CNPS9500 | Gigabyte EP45-UD3L | 8GB Nanya DDR2 400MHz | XFX HD6870 DD | OCZ Vertex 3 Max-IOPS 120GB | Corsair CX430M | HooToo USB 3.0 PCIe Card | Osprey 230 Video Capture | NZXT H230 Case

TrueNAS Server (La Vie en Rose):Β Xeon E3-1241v3 | Supermicro X10SLL-F | Corsair H60 | 32GB Micron DDR3L ECC 1600MHz | 1x Kingston 16GB SSD / Crucial MX500 500GB

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, AbydosOne said:

Near as I can tell, IME is still x86 (I mean, why would Intel license ARM into every one of their chips when they already own a processor architecture?)

You might be right, but the PSP appears to include ARM:

https://www.extremetech.com/computing/292722-amds-secure-processor-firmware-is-now-explorable-thanks-to-new-tool

It seems rather silly to run simplistic software on a CISC instruction set, when RISC could achieve the same result with less silicon and power dissipation.

From my reading, at least the modern Intel CPU's use a Quark based core, which makes a lot of sense for Intel (Super basic x86 core.)

Main: AMD Ryzen 7 5800X3D, Nvidia GTX 1080 Ti, 16 GB 4400 MHz DDR4 Fedora 38 x86_64

Secondary: AMD Ryzen 5 5600G, 16 GB 2667 MHz DDR4, Fedora 38 x86_64

Server: AMD Athlon PRO 3125GE, 32 GB 2667 MHz DDR4 ECC, TrueNAS Core 13.0-U5.1

Home Laptop: Intel Core i5-L16G7, 8 GB 4267 MHz LPDDR4x, Windows 11 Home 22H2 x86_64

Work Laptop: Intel Core i7-10510U, NVIDIA Quadro P520, 8 GB 2667 MHz DDR4, Windows 10 Pro 22H2 x86_64

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks for the replies!

Β 

I guess my thought was a laptop that runs an ARM processor most of the time (for power conservation) and is able to run some applications on a more powerful chip (or simply a chip it needs) in order to do video editing, gaming, or high power processing.

Β 

Thanks again!

Link to comment
Share on other sites

Link to post
Share on other sites

The AMD processors also have an ARM core, for security reasons.

Β 

Anyway, even if you could get it working, the application would not be able to switch between using the arm and the x86 cores, due to different instruction sets. Then you'd have all kinds of issues with little endian vs big endian, exchanging data between practically two computers...

Link to comment
Share on other sites

Link to post
Share on other sites

I guess no one in this thread has heard of e.g. Intel's upcoming Alder Lake CPUs, which will sport both x86 - and ARM - cores.

Β 

In embedded systems, it has already been done years ago, like e.g. I have a cable-modem that uses Intel's Puma - arch and has both x86 - and ARM - cores, which communicate over a virtual internal Ethernet-network.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Γ—