Why can't apple just put their A11 chip in their Macbooks too? Why do they need chips from Intel which are even slower

Why can't apple just put their A11 chip in their Macbooks too? Why do they need chips from Intel which are even slower

Other urls found in this thread:

en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29
software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks
twitter.com/SFWRedditVideos

I think they probably plan to, OP. they've been happy enough to force their userbase onto a new architecture in the past.

they are prolly already working on it lad. remember they were purely powerpc once

I'm sure they are working on it. But my question was why can't they just put the current A11 into the macbooks? Is the ARM architecture not built to run as a CPU? New Sup Forumsentoolman here so please go easy on me

>Is the ARM architecture not built to run as a CPU?
Wat?

I know the A11 chip is built on the ARM instruction set while Intel and AMD builds its CPUs on the x86 architecture. Why can't they just use their A11 chip instead of going for an Intel chip? Does it have something to do with the architecture

ARM is designed for different goals as I understand it

it is RISC so it is more attuned for lower power consumption, heat dissipation and cost. sure, they can modify the ARM IP and make it a more general purpose design. but these things probably require a lot of time and effort.

I certainly wouldn't complain too much, but a switch in architecture is something that would require everyone to make new versions of every MacOS program, unless they could have some kind of backwards-compatibility layer or something.

Wouldn't the compiler/translator take care of it even if it is RISC

I don't get it. Don't programmers write everything in high level languages and then it gets converted to RISC. Wouldn't it be as simple as changing the compiler or translator or whatever

that would be highly inefficient. it would mean having to execute a lot of instructions for operations that could be built into the chipset itself

Or apple could just dish out for the x86 license, but Intel and AMD probably wouldn't like it much.

Don't macbooks require low power consumption too? Only the desktops don't care about power and that is pretty much all but a niche segment of the market now

i think you are confused about what RISC and CISC (intel and other general purpose processors) means


macbooks are also known for throttling, which is lowering the clock frequency to save power

>Wouldn't it be as simple as changing the compiler or translator or whatever

It is, but nobody make a good compiler for ARM because no proper documentation

What the fuck lads, see this thread and look up A11 chip speeds. Is this for real?

I see the daily shit on apple threads but this would make it the fastest mobile phone on the market by a fair margin wouldn't it?

it is not as simple as that. ARM just doesn't have the same variety of instructions that an intel chipset has because it was designed for a different purpose altogether.

what is gcc?
what is clang?

They are probably on contract with intel to put it in their computers.

Soon they will go back to their roots and use their own chips in the future

Monopoly is a bad thing.
Competition is a good thing.

It is the fastest, by a large margin. The die itself is much bigger than anything Qualcomn does, so it’s probably a lot more expensive as well.

Geekbench is not a good indicator though.

No. Geek bench isn't designed to test x86, so results from those chips are completely wrong. Think of it this way: someone sits you in front of a tap, tells you the flow rate and asks you to to find out how much water comes out in ten minutes. But you're not allowed to use math. So you sit there for ten minutes measuring the water, all the while knowing there's a much faster way if you just use math. That's what it's like when an x86 processor is tested with software designed to test ARM. You aren't utilizing the instructions that make x86 powerful.

I'm only talking about mobile processors but, if it tests all those in the same way this is surely the strongest handset chip out there?

>A cpu is not built to runas a cpu

Let me guess.... American?

I'm American, and I was the guy who wrote this Not all of us are brainlets.

>what the fuck am i reading
the only problem in terms of compiling would be if you have inline assembly (ISHYGDDT) or if you rely on x86-specific memory visibility (ISHYGDDT)

Are you mentally impaired? Maybe Facebook is more your speed.
This

mediakek mt8127 is severely outdated you fucking retard

i don't think you have any clue about what you are talking about.

can you tell me how many instructions it takes for an Intel processor vs. an ARM processor to do a simple bytewise memory comparison block?

here is a what it takes on an Intel processor

repe cmpsb


and here is what it takes on an ARM architecture for the same operation

top:
ldrb r2, [r0, #1]!
ldrb r3, [r1, #1]!
subs r2, r3, r2
beq top


so a single instruction in the loop for intel vs
four in the loop for ARM

this is the difference between a CISC and RISC architecture. an ARM processor could perform complex operations at the cost of executing more instructions, which means lesser efficiency.

Intel chips aren't slower tho LMAO

doesn't mean you can't compile it or that it will have drastically worse performance for normal applications

kill yourself

>doesn't mean you can't compile it or that it will have drastically worse performance for normal applications

let me guess, you are a stinking europoor, right?

and lol at your pathetic handwritten assembly, post real code and we'll see on gcc.godbolt.org, and arm thumb instructions only take 2 bytes each

is that the best you've got, shitty failed troll

right right, pretty sure ARM support SSE/SSE2/SSE3 and SSE4 right??

kill yourself clueless amerikike

en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29

you are just showing your ignorance again and have no clue about what those words mean

not an argument, you're not convincing anyone delusional fool

compile a program for x86 and for arm, the binary size will be about the same, fucking clueless jew

software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks

Because putting A11 chips in their Macbooks would mean making their entire x86 software library incompatible, which would piss off a vast majority of their userbase, and would be a most painful transition. Moreso than it was back in the day when Apple switched from PowerPC to x86.

The biggest problem is that unlike with PowerPC -> x86 where you could emulate PowerPC architecture and still sort of run your old PowerPC applications (I think it was called Rosetta?), Apple cannot write an x86 emulation subsystem for their A11 because Intel would sue their pants off, just like they've threatened to do if Microsoft actually finishes their x86Arm emulation subsystem that was supposed to ease the issues for people running the ARM version of Windows 10.

> would mean making their entire x86 software library incompatible

Isn't all software written in high level languages for both ARM and x86 and then translated to machine code?

Depends on the code written. If it has any optimizations that only works for x86, etc. But generally, yes, as long as you have a compiler on the intended architecture.
But while Apple might be able to easily do so with their own code, they cannot do so with 3rd party software. So a large variety of software and games would no longer work until the developers start compiling for arm, assuming they ever do because of the added cost of having to maintain two versions (basically an x2 increase in cost).

great. Thanks for the help. Maybe one last question. Why do the software and game developers need to compile for arm. I thought the way that it works is people program in high level languages and submit this as an application package or whatever and it is compiled when you run the game for example. Is my understanding wrong

The application package is the compiled program.
If you could compile it locally on your machine it would have to be Open Source, which few games are.

>Is the ARM architecture not built to run as a CPU?
>it is compiled when you run the game
nice bait thread, amerimutt

Please be patient,
OP has autism

> Is my understanding wrong

Kind of.

> Why do the software and game developers need to compile for arm.

Because different CPU architectures (x86, ARM, PowerPC, whatever others) work differently. Essentially you could say they "speak different languages".
You cannot for example compile for x86 and expect it to run on ARM. The arm processor would look at the machine code and just go "What the hell is this gibberish".

> I thought the way that it works is people program in high level languages and submit this as an application package or whatever and it is compiled when you run the game for example.

Nope. What actually happens is that people write the code in a higher level language, then they load it up on a machine with a CPU architecture they want to compile for, then they compile it from the higher level language form to a lower level language form (machine code) which is compacted into a runnable binary. This binary (which can only be run on the architecture it was compiled on) is then submitted to wherever, and can only be run by people with the same architecture.

However in the open source software world, it sort of works like you think it does. You download packages containing higher level language, and then you compile it for your own machine to produce a binary runnable on your system. That way it doesn't matter if you're on a machine running ARM, or x86 or PowerPC or any other future architectures. However this method also means that anyone has access to the code used to make the application (or game) and will be able to modify it in any way they see fit. A lot of people (and especially big companies) don't like this idea because of a variety of reasons, mainly related to money and copyright.

>I thought the way that it works is people program in high level languages and submit this as an application package or whatever and it is compiled when you run the game for example.
it works like that in java for example, but as soon as 'native' code is involved you need either the source code which the user compiles on their own or you need binaries like DLLs on windows

I'm failing my assembly class AMA