高通芯片为什么输苹果

Apple’s Worldwide Developer Conference, which kicked off at the end of June, brought a slew of software changes to all of its devices. We finally got to see widgets on the home screen of iPads and iPhones, and macOS has received its biggest visual update since macOS Yosemite. But, the biggest announcement was saved for the end of the Keynote, where CEO Tim Cook announced over the next two years, their Mac lineup would transition away from Intel to their own Apple Silicon.

苹果全球开发者大会于6月底开始,在其所有设备上进行了大量软件更改。 我们终于在iPad和iPhone的主屏幕上看到了小部件,并且macOS收到了自macOS Yosemite以来最大的视觉更新。 但是,最大的公告保存在主题演讲的结尾,CEO蒂姆·库克(Tim Cook)在接下来的两年中宣布,他们的Mac系列将由英特尔过渡到自己的苹果芯片。

Let’s break down what this means.

让我们解释一下这意味着什么。

Here’s me explaining why Apple has taken this move to move to their own silicon
这是我的解释,为什么苹果公司采取了此举,转向自己的芯片

As a software engineer who has done a 4 year computer science degree, I thought I’d try to explain exactly what this change means, and why I think Apple has decided to go down this path.

作为拥有4年计算机科学学位的软件工程师,我认为我会尽力解释这一变化的确切含义,以及为什么我认为Apple决定沿着这条道路前进。

Let me begin by explaining what happens when software is built. Every app on your phone, website built or program on your PC is backed by code. The code describes exactly how everything on screen is displayed, and what happens when you click a button or tap an image. Even when you use a tool like Wix or Squarespace to create your website, even though you don’t need to write any code, in the background they are generating code for you, as this is what web browsers need to display the website.

让我首先解释构建软件时会发生什么。 您的手机,网站上构建的或PC上的程序中的每个应用程序都具有代码支持。 该代码准确描述了屏幕上所有内容的显示方式,以及单击按钮或点击图像时发生的情况。 即使您使用Wix或Squarespace之类的工具来创建您的网站,即使您不需要编写任何代码,它们也会在后台为您生成代码,因为这是Web浏览器显示网站所需要的。

An example of some code used to generate an app
用于生成应用程序的一些代码示例

And, each of these programs, websites or apps needs to be understood by the hardware in your computer. The CPU or processor, the graphics card and the memory all need to be told what to do in order to display and run the app you have just downloaded. But, this hardware doesn’t directly understand the code that a software developer has written. In fact, the code that the developer is writing is often very far removed from how the processor in your computer or phone runs the program.

而且,计算机中的硬件需要理解这些程序,网站或应用程序中的每一个。 为了显示和运行您刚刚下载的应用程序,需要告知CPU或处理器,图形卡和内存的操作。 但是,这种硬件不能直接理解软件开发人员编写的代码。 实际上,开发人员正在编写的代码通常与计算机或电话中的处理器运行程序的方式相去甚远。

Thomas Jensen on Thomas Jensen on UnsplashUnsplash

The best way to explain this is through a metaphor. Imagine you need to get 5 basic robots to bake you a cake. The robots only know a few basic words — move their arms up or down, clasp their hands, and release their hands. Basically, they have the motor skills to bake a cake, but they have no idea how to open a packet of chocolate chips, or that eggs need to be combined with flour.

最好的解释方式是通过隐喻。 想象一下,您需要获得5个基本的机器人来烤蛋糕。 机器人只知道一些基本的单词-上下移动手臂,扣紧手,然后松开手。 基本上,他们具有烘烤蛋糕的运动技能,但是他们不知道如何打开一包巧克力片,或者鸡蛋需要与面粉混合。

So, what you could do is spend a lot of time meticulously telling them every step along the way:

因此,您可以做的是花大量时间仔细地告诉他们过程中的每个步骤:

  1. Grasp the packet of chocolate chips抓一包巧克力片
  2. Lift your arms up举起你的手臂
  3. Keep one arm still保持一只手臂静止
  4. Move the other arm in the opposite direction etc.以相反的方向等移动另一只手臂。

But, this process is tedious, and if you had to write it down and give it to the robots before they started baking the cake, and you couldn’t modify it while they were baking it, you’d probably find they’d make a lot of mistakes because you’ve missed some steps.

但是,此过程很繁琐,如果您必须先将其记录下来并交给机器人,然后再开始烘烤蛋糕,而您又不能对其进行修改,那么您可能会发现它们会很多错误,因为您错过了一些步骤。

And, this is the same with programming or coding a program. The processor is the robots, and the processor only understands very basic commands — although it can do a lot of them at once. So, if you wanted to write a simple program to multiply two numbers together, you’d need to specify a large number of steps to get it to multiply the numbers, like pull the first number out of memory, pull the second number out of memory, multiply the numbers, and then put the product back into memory. This is tedious, and it’s easy for a software developer to make mistakes.

并且,这与对程序进行编程或编码相同。 处理器是机器人,处理器只理解非常基本的命令-尽管它可以一次执行很多命令。 因此,如果您想编写一个简单的程序来将两个数字相乘,则需要指定大量步骤来使它与数字相乘,例如将第一个数字从内存中拉出,将第二个数字从内存中拉出内存,将数字相乘,然后将产品放回内存。 这很繁琐,而且软件开发人员容易犯错误。

So, some smart person invented the idea of compiled programming languages. The idea being, you can write some code, and a program compiles, or converts the code into much simpler commands that the processor can understand.

因此,一些聪明人发明了编译程序语言的思想。 想法是,您可以编写一些代码,然后程序进行编译,或将代码转换为处理器可以理解的简单得多的命令。

The command to compile a Swift file
编译Swift文件的命令

Back to our robots metaphor, the idea would be you could write a recipe for the cake, with much more general steps. For example, you could write: combine the eggs with flour, and then pour this into a cake tray, instead of having to specify the exact body movements the robots needed to take. Then, the compiler would take those instructions, and it knows that combining eggs with flour requires certain moves of the arms and opening and closing of the hands, and converts your recipe into much more specific commands.

回到我们的机器人比喻,想法是您可以编写蛋糕的食谱,并提供更多常规步骤。 例如,您可以这样写:将鸡蛋和面粉混合,然后将其倒入蛋糕托盘,而不必指定机器人需要采取的确切身体运动。 然后,编译器将采用这些指令,并且知道将鸡蛋和面粉混合需要手臂的某些动作以及手的张开和合拢,并将您的配方转换为更具体的命令。

Now, the reason why I’m explaining what a compiler is and how code is converted into commands a processor can understand, is this is the fundamental difference between Intel Macs, as they are currently built, and new Apple Silicon Macs.

现在,我要解释什么是编译器以及如何将代码转换为处理器可以理解的命令的原因是,这是目前正在生产的Intel Mac与新的Apple Silicon Mac之间的根本区别。

If a developer was to build a new app for an iPhone or a Mac, they would write it in a programming language called Swift. This lets developers specify where the buttons are on the screen, and what happens when you click those buttons. For example, in the calculator app on both Mac and iPhone, Swift has been used to lay out where the numbers are on the screen, and where the text input is at the top. The Swift code describes what should happen when one number is entered, the plus button is clicked, another number is entered, and then the equals button is clicked.

如果开发人员要为iPhone或Mac开发新的应用程序,他们将使用一种称为Swift的编程语言来编写它。 这使开发人员可以指定按钮在屏幕上的位置以及单击这些按钮时会发生什么。 例如,在Mac和iPhone上的计算器应用程序中,已使用Swift来布局数字在屏幕上的位置以及文本输入在顶部的位置。 Swift代码描述了当输入一个数字,单击加号按钮,输入另一个数字然后单击等于按钮时应该发生的情况。

The calculator app on MacOS
MacOS上的计算器应用

But, it isn’t enough for the developer to just write the code — how do they get the app to you? When you download a new app from the app store, you don’t know and also don’t care what the code is — you want to use the app. How do we convert the code into something that you can actually use? Well, we need to compile it from Swift code into something that your computer hardware will understand.

但是,仅开发人员编写代码是不够的-他们如何将应用程序提供给您? 从应用程序商店下载新应用程序时,您既不知道也不在乎代码是什么—您想使用该应用程序。 我们如何将代码转换为您可以实际使用的内容? 好吧,我们需要将它从Swift代码编译成计算机硬件可以理解的东西。

But, Macs and iOS devices use completely different hardware. Your Mac uses a CPU from Intel, whereas your iPhone or iPad uses a CPU that is custom designed by Apple, which is based on the ARM architecture. Don’t worry too much about the names, just know that the hardware in Macs versus other iOS devices is very different.

但是,Mac和iOS设备使用完全不同的硬件。 您的Mac使用Intel的CPU,而您的iPhone或iPad使用Apple定制设计的CPU,该CPU基于ARM架构。 不必太担心名称,只要知道Mac与其他iOS设备的硬件有很大不同即可。

Because this hardware is different, the commands that the CPU understands are also different. Going back to my robots example, consider Intel robots and ARM robots to understand different commands. Intel robots might understand opening and closing their hands, but ARM robots only understand commands such as rotating the motor in their shoulder by 30 degrees. The commands that our ARM robots understand are even more basic than the commands given to our Intel robots.

由于该硬件不同,因此CPU可以理解的命令也不同。 回到我的机器人示例,考虑使用英特尔机器人和ARM机器人来理解不同的命令。 英特尔机器人可能会懂得张开和合上双手,但ARM机器人只会听懂诸如将肩膀上的电机旋转30度之类的命令。 我们的ARM机器人所能理解的命令比提供给英特尔机器人的命令更为基础。

Rock'n Roll Monkey on 摇滚猴子上UnsplashUnsplash

So, when I’ve written my Swift code, I want it to work on both my Mac and my phone. But, the Intel CPU in my Mac and the custom Apple Silicon in my iPhone both understand different types of commands. The commands the Apple Silicon in my phone understands are a lot more basic than the ones given to the Intel CPU in my Mac, and the commands aren’t at all compatible with each other.

因此,当我编写了Swift代码后,我希望它在Mac和手机上都能正常工作。 但是,Mac中的Intel CPU和iPhone中的自定义Apple Silicon都可以理解不同类型的命令。 手机中的Apple Silicon可以理解的命令比Mac中提供给Intel CPU的命令要基本得多,并且这些命令根本不兼容。

Luckily, we aren’t directly writing the commands — we are writing Swift code, which is a lot more general. And, we have a compiler. As software developers, we don’t care what CPU-level commands are required to get our software to run, we just know that when we click a certain button, we want something to happen.

幸运的是,我们没有直接编写命令,而是编写了更通用的Swift代码。 并且,我们有一个编译器。 作为软件开发人员,我们不在乎要运行我们的软件需要什么CPU级别的命令,我们只知道单击某个按钮时,我们希望发生某些事情。

Enter the compiler. Once I’ve written the Swift code that describes that I want to add two numbers together after I hit the equals button in my calculator app, I need to compile my app so we can actually use it.

输入编译器。 一旦编写了描述要在计算器应用程序中的“等于”按钮后将两个数字加在一起的Swift代码,就需要编译我的应用程序,以便我们可以实际使用它。

Selecting the platforms we want our app to run on
选择我们希望我们的应用程序运行的平台

So, at the moment, after I’ve written my calculator app and I want to run it on both my Mac and my phone, I select both of these devices as ‘targets’, or platforms that I want to run my app on, and then I hit compile. What the Swift compiler does is generate two files. One has specific commands that an Intel CPU can understand for my Mac, and another file that Apple Silicon, or ARM, can understand. Then, I can run the file it generated for Intel CPUs to use the calculator on my Mac, and I can run the file it generated for Apple Silicon to use the calculator on my iPhone or iPad.

因此,此刻,当我写完计算器应用程序并想同时在Mac和手机上运行它之后,我将这两种设备都选为“目标”或要在其上运行应用程序的平台,然后我点击编译。 Swift编译器所做的是生成两个文件。 一个具有Intel CPU可以为我的Mac理解的特定命令,另一个具有Apple Silicon或ARM可以理解的文件。 然后,我可以运行它为Intel CPU生成的文件以在Mac上使用计算器,也可以运行它为Apple Silicon生成的文件以在iPhone或iPad上使用计算器。

What our compiled code looks like to our computer hardware
我们的编译代码对计算机硬件的外观

This is how some apps are currently built. For example, you’ll notice many of the default apps like calculator, news, stocks or reminders look very similar on iPad compared to Mac. This is because they both share the same Swift code, despite running on different types of CPU.

这就是当前构建某些应用程序的方式。 例如,与Mac相比,iPad上的许多默认应用(如计算器,新闻,股票或提醒)看起来非常相似。 这是因为尽管它们在不同类型的CPU上运行,但它们都共享相同的Swift代码。

The news app on a Mac
Mac上的新闻应用
The news app on iOS. Notice it looks very similar to the Mac app.
iOS上的新闻应用程序。 请注意,它看起来与Mac应用程序非常相似。

But now, Apple has announced Macs are moving to Apple Silicon — or the same type of CPU that is currently found in your iPhone, iPad, Apple Watch, Apple TV or even HomePod, and moving away from Intel. For apps that are written in Swift now, this is actually a really easy change to make. All the developer needs to do is open XCode, which is the software Apple provides for making apps, and tick a checkbox that says they want to compile the app for Macs running Apple Silicon. This will create two separate machine code versions of the app, and when users go to run the app, their computer will decide whether to run the Intel version, or the Apple Silicon version, depending on what type of Mac is running it.

但是现在,苹果公司宣布Mac电脑将迁移到Apple Silicon —或与iPhone,iPad,Apple Watch,Apple TV甚至HomePod中当前使用的CPU相同的类型,并且不再使用Intel。 对于现在使用Swift编写的应用程序,这实际上是一个非常容易的更改。 开发人员所需要做的就是打开XCode(这是Apple提供的用于制作应用程序的软件),然后勾选一个复选框,表明他们希望针对运行Apple Silicon的Mac编译该应用程序。 这将创建该应用程序的两个单独的机器代码版本,当用户运行该应用程序时,其计算机将根据运行它的Mac类型决定是运行Intel版本还是Apple Silicon版本。

For some apps that aren’t maintained or haven’t yet had the developer tick that checkbox, Apple is going to be providing a software called Rosetta 2, which allows software developed for Intel CPUs to run on Apple Silicon. Essentially what this is doing is converting all the machine code designed for Intel CPUs into machine code that Apple Silicon can understand.

对于某些尚未维护或尚未被开发人员选中的应用程序,Apple将提供一个名为Rosetta 2的软件,该软件允许为Intel CPU开发的软件可以在Apple Silicon上运行。 本质上,这是将所有为Intel CPU设计的机器代码转换为Apple Silicon可以理解的机器代码。

So, between the ease of compiling existing apps for Apple Silicon, and the Rosetta 2 emulation software that allows software developed for Intel CPUs to run on Apple Silicon, most apps will be able to run on new Macs with Apple Silicon.

因此,在为Apple Silicon编译现有应用程序的简便性以及允许为Intel CPU开发的软件在Apple Silicon上运行的Rosetta 2仿真软件之间,大多数应用程序将能够在装有Apple Silicon的新Mac上运行。

The Rosetta 2 emulator will allow older compiled apps to run on Apple Silicon
Rosetta 2仿真器将允许较早编译的应用在Apple Silicon上运行

Notably, however, are a few apps that won’t work with Apple Silicon. Generally, apps for Mac are written in Swift, or the older Objective-C programming language. However, there are a number of apps which aren’t written in these languages and therefore can’t use XCode to simply compile them to Apple Silicon machine code. This is where Rosetta 2 would come in, as it can convert Intel machine code to Apple Silicon machine code. But, there are a few cases where Rosetta 2 isn’t able to convert the Intel machine code to Apple Silicon.

但是,值得注意的是,有些应用程序无法与Apple Silicon一起使用。 通常,适用于Mac的应用程序是用Swift或较旧的Objective-C编程语言编写的。 但是,有许多应用程序不是用这些语言编写的,因此无法使用XCode将其简单地编译为Apple Silicon机器代码。 这就是Rosetta 2出现的地方,因为它可以将Intel机器代码转换为Apple Silicon机器代码。 但是,在某些情况下,Rosetta 2无法将Intel机器代码转换为Apple Silicon。

These are apps that interact directly with the kernel, which is the part of your computer that deals directly with the hardware. Apps in this category could include software for USB devices like mice or piano keyboards.

这些是与内核直接交互的应用程序,内核是直接与硬件打交道的计算机的一部分。 此类别中的应用可能包括适用于USB设备的软件,例如鼠标或钢琴键盘。

Tamas Pap on Tamas Pap在UnsplashUnsplash

The other category of apps that won’t be able to be converted are apps which virtualise operating systems designed for Intel CPUs. This includes apps like Parallels and other virtual machine software. So, Windows, as an operating system designed for Intel CPUs, won’t be able to run as a virtual machine as an app on your Mac. Unfortunately, this exact same limitation will also prevent Boot Camp from working on Apple Silicon Macs in the future. The only solution will be if Microsoft comes out with a version of Windows for ARM based CPUs like what will be in the new Apple Silicon Macs.

无法转换的另一类应用是虚拟化为英特尔CPU设计的操作系统的应用。 这包括Parallels等应用程序和其他虚拟机软件。 因此,Windows作为为Intel CPU设计的操作系统,将无法作为虚拟机作为Mac上的应用程序运行。 不幸的是,这个完全相同的限制也将阻止Boot Camp将来在Apple Silicon Mac上运行。 唯一的解决方案是,如果Microsoft推出了适用于基于ARM的CPU的Windows版本,如新的Apple Silicon Mac中所使用的Windows版本。

Panos Sakalakis on Panos UnsplashSakalakis

那么,为什么我认为苹果公司正在做出这一改变呢? (So, why exactly do I think Apple is making this change?)

The main fundamental difference is in the instructions given to the CPU. Like I explained earlier with the robots, ARM based architectures take simpler commands compared to Intel based CPUs. There is actually, yet another, complicated acronym for explaining this. ARM based CPUs run what’s called a Reduced Instruction Computer Set architecture, or RISC. This is in comparison to what Intel CPUs run, which is the Complex Instruction Computer Set architecture. As the name implies, ARM CPUs run simpler commands, as described in the robots example, whereas Intel CPUs take more complex commands.

主要的根本区别在于提供给CPU的指令。 如前所述,与基于Intel的CPU相比,基于ARM的体系结构采用的命令更简单。 实际上,还有另一个复杂的首字母缩写词可以解释这一点。 基于ARM的CPU运行所谓的精简指令集计算机体系结构(RISC)。 这与Intel CPU所运行的(复杂指令计算机集架构)相比。 顾名思义,如机器人示例中所述,ARM CPU运行更简单的命令,而Intel CPU使用更复杂的命令。

Alexandru-Bogdan Ghita on 亚历-波格丹Ghita上UnsplashUnsplash

What this means is ARM CPUs using RISC require more lines of machine code in order to run the same program. Because CISC has more complex commands, one command can do multiple pieces of work that would typically be split into several commands in RISC. What this means is the ARM CPU doesn’t have to take on such complex tasks, and so it can be optimised to do the simple tasks well.

这意味着使用RISC的ARM CPU需要更多行机器代码才能运行同一程序。 由于CISC具有更复杂的命令,因此一个命令可以完成多项工作,而这些工作通常在RISC中会拆分为多个命令。 这意味着ARM CPU不必承担如此复杂的任务,因此可以对其进行优化以很好地完成简单任务。

On the other hand, a CISC architectured CPU such as what Intel builds takes on more responsibility within the CPU, which enables it to use fewer lines of code. But, because memory in computers has become cheaper since the first microprocessors were made, using more lines of code with RISC isn’t as much of an issue as it once was — and it enables the CPUs to be more optimised for the tasks given.

另一方面,CISC架构的CPU(例如Intel构建的CPU)承担着CPU的更多责任,这使它可以使用更少的代码行。 但是,由于自从第一个微处理器问世以来,计算机中的内存已经变得越来越便宜,因此与RISC一起使用更多行代码已不再是一个大问题-并使CPU可以针对给定的任务进行更优化。

The second reason I believe Apple is making this change is to take advantage of its System on a Chip design, or SOC as you may have heard. Intel’s CPUs generally have two main responsibilities. The first is the processing, and the second is the onboard graphics — essentially a tiny graphics card in the CPU to enable video output without a separate piece of hardware in the computer to enable this.

我相信苹果做出这一改变的第二个原因是要利用其片上系统设计或您所听说的SOC。 英特尔的CPU通常承担两个主要责任。 第一个是处理,第二个是板载图形-本质上是CPU中的微型图形卡,可实现视频输出,而无需在计算机中安装单独的硬件即可实现此功能。

Apple’s array of single-task-focused modules on their chips
苹果在芯片上配置了以单任务为中心的模块

Apple’s Silicon, on the other hand, has many modules built right into the processor. Some you may have heard of include the Secure Enclave, which is where they store sensitive information like your fingerprint or facial structure for Face ID, and the Neural Engine, designed to speed up machine learning and artificial intelligence tasks. These modules are specifically designed for these tasks, instead of being just a general purpose processor. Other modules you might not have heard of include ones for audio processing, power management, video playback and camera image processing. Basically, these are tiny parts on the processor which have a specific focus, allowing them to be really, really good at these tasks.

另一方面,Apple的Silicon处理器中内置了许多模块。 您可能听说过其中的一些内容,包括Secure Enclave(用于存储敏感信息,例如用于Face ID的指纹或面部结构)和神经引擎(旨在加速机器学习和人工智能任务)。 这些模块专门用于这些任务,而不仅仅是通用处理器。 您可能没有听说过的其他模块包括用于音频处理,电源管理,视频播放和相机图像处理的模块。 基本上,这些只是处理器上的微小部分,它们具有特定的重点,使它们能够非常,非常地擅长于这些任务。

On Apple’s Intel-based Macs, a few of these features have made their way over as separate components — for example the Secure Enclave to support Macs with a fingerprint reader. But for the most part, most tasks happen in the general purpose processor within the Intel CPU. By bringing the Apple designed custom System on a Chip to the Mac, Mac’s will be able to take advantage of all these modules, which may help with enabling more advanced graphics, increasing the speed of machine learning tasks, and maybe even bringing some of the iPhone’s great camera image processing to the Mac.

在苹果基于Intel的Macs上,其中一些功能已作为独立的组件出现了,例如,Secure Enclave支持带有指纹读取器的Mac。 但是大多数情况下,大多数任务都发生在Intel CPU的通用处理器中。 通过将Apple设计的定制芯片上系统集成到Mac,Mac将能够利用所有这些模块,这可能有助于启用更高级的图形,提高机器学习任务的速度,甚至可能带来一些iPhone对Mac具有出色的相机图像处理能力。

The final reason I think Apple is making this change is heat and power. The Apple chips are physically much smaller than the Intel equivalents, despite taking on all the extra responsibility as just described. In addition, they output much more performance per watt of electricity used. This not only means we can get more battery life as less watts are used, but doing an equivalent task on Apple Silicon is going to generate less heat than the same task on an Intel CPU. The maximum performance we get out of a piece of computer hardware is entirely based on how many tasks we can do before it gets too hot. When your computer slows down, it is because your computer is limiting the number of tasks the processor can do because it is too hot, and any more heat would cause damage to the processor. So, if a task requires less watts, it will get less hot, and we can push the CPU further, getting extra performance.

我认为苹果做出这一改变的最终原因是热量和电力。 尽管承担了上述所有额外责任,但Apple芯片实际上要比Intel芯片小得多。 此外,它们每使用一瓦特的电,其性能就会提高很多。 这不仅意味着使用更少的瓦特,我们可以获得更长的电池寿命,而且在Apple Silicon上执行相同的任务所产生的热量将比在Intel CPU上执行相同的任务所产生的热量更少。 我们从计算机硬件中获得的最大性能完全取决于在过热之前我们可以完成多少任务。 当计算机速度变慢时,这是因为计算机因温度过高而限制了处理器可以执行的任务数量,而热量过多会损坏处理器。 因此,如果一项任务需要的功率更少,那么发热量就会减少,我们可以进一步推动CPU,以获得更高的性能。

Xiong Yan on 熊焰在UnsplashUnsplash

So, by switching to Apple Silicon, Apple should be able to get higher performance in exactly the same form factor. As in, if we swapped out a Macbook Air’s Intel processor for Apple Silicon, it should be able to run less hot doing the same task, which means we can do those tasks faster, or do more tasks at the same time.

因此,通过改用Apple Silicon,Apple应该能够以完全相同的外形尺寸获得更高的性能。 例如,如果我们将Macbook Air的Intel处理器换成Apple Silicon,则它应该能够以较低的速度运行相同的任务,这意味着我们可以更快地完成这些任务,或者同时执行更多任务。

And, we’re already seeing iPad Pros get better performance than MacBook Airs. Geekbench is a software which can test the performance of a CPU, giving a number to allow you to compare two different CPUs. For the 2020 11-inch iPad Pro, Geekbench gave a score of 4654, whereas the 13” MacBook, which has fans cooling the processor, unlike the iPad Pro, only got a score of 2989. Imagine the score the CPU in the iPad Pro could get if it was put into a MacBook Air, which has fans and a much larger surface area for cooling the processor!

而且,我们已经看到iPad Pro的性能比MacBook Air更好。 Geekbench是一款软件,可以测试CPU的性能,并提供一个数字来让您比较两个不同的CPU。 在2020年的11英寸iPad Pro上,Geekbench得分为4654,而13英寸MacBook(其风扇为处理器冷却)不同于iPad Pro,得分仅为2989。想象一下iPad Pro中的CPU得分如果将它放到MacBook Air中,可能会得到效果,它具有风扇和更大的表面积用于冷却处理器!

One final benefit is we will now be able to run both iPad and iPhone apps directly on a Mac. While this is actually currently possible, as apps are already compiled to Intel machine code in order for developers to run them in a simulator, this is only really for apps you are developing yourself. My guess is Apple will love now being able to say that they have millions of apps available for Mac, even though the majority of them were designed for mobile devices. I also suspect a lot of these apps won’t work very well with a single mouse pointer, considering they were designed for multi-touch devices.

最后一个好处是我们现在可以直接在Mac上运行iPad和iPhone应用程序。 虽然目前实际上是可行的,但由于应用程序已经编译为Intel机器代码,以便开发人员在模拟器中运行它们,但这仅适用于您自己开发的应用程序。 我的猜测是,苹果公司现在会喜欢说他们有数百万种适用于Mac的应用程序,即使其中大多数应用程序是为移动设备设计的。 考虑到这些应用程序是为多点触摸设备设计的,我还怀疑其中许多应用程序无法通过单个鼠标指针很好地运行。

So to summarise, Apple is making this change because they believe they can get better efficiency from their CPUs. By moving from the CISC architecture of Intel CPUs to the RISC architecture of their own Apple Silicon, combined with their own system on a chip design, they hope to get more performance for the same amount of power usage and heat output.

总而言之,Apple之所以做出这一改变,是因为他们相信自己可以从CPU中获得更高的效率。 通过将Intel CPU的CISC架构转移到他们自己的Apple Silicon的RISC架构,再结合他们自己的片上系统,他们希望在相同的功率使用和热量输出下获得更高的性能。

To be fair, we haven’t seen any real benchmarks yet. There were a number of demos in the main keynote as well as the Platforms State of the Union of both apps running on Apple Silicon natively, as well as other Intel-CPU based apps running via their emulation software, Rosetta 2. None of these demos really showed anything particularly groundbreaking in terms of performance, other than that the work to run apps has been done and developers can start to test their own apps.

公平地说,我们还没有看到任何真正的基准。 主要主题演讲中有许多演示,以及本机运行在Apple Silicon上的两个应用程序的联盟平台状态,以及通过其仿真软件Rosetta 2运行的其他基于Intel-CPU的应用程序。实际上,除了在运行应用程序方面的工作已经完成并且开发人员可以开始测试自己的应用程序之外,其他方面在性能方面确实表现出了突破性的成就。

I’m interested to see some real world demonstrations of performance — where we will actually be able to see if this switch is worth the time and effort by both Apple as well as app developers. Apple says there will be Apple Silicon based Macs available for consumers by the end of the year, and Apple is already providing a $500 USD Developer Transition Kit to developers starting this week.

我有兴趣看到一些真实的性能演示-我们实际上将能够看到此切换是否值得苹果以及应用程序开发人员的时间和精力。 苹果公司表示,到今年年底将为消费者提供基于苹果硅的Macs,苹果公司已经从本周开始向开发人员提供500美元的开发人员转换套件。

Overall I think it was a pretty logical next step, and given that, it was rumoured for a long time, for Apple to move Macs to their own silicon, given the rest of the devices they have all run on their own series of chips. I suspect this will mean a fairly substantial leap forward for Macs in terms of performance, as they not only get all the benefits of the years of development on their own chips, but they will continue to benefit from this in the future. It would be pretty safe to assume that given the amount of money iOS devices make for Apple in comparison to their computer lineup, that they would have far more engineers working on optimising their own chips as opposed to improving Intel based Macs, and so we could continue to see big performance jumps and improvements in future Macs.

总的来说,我认为下一步是很合乎逻辑的,而且有传言说,很长一段时间以来,苹果将Mac迁移到自己的硅片上,因为其余的设备都使用自己的系列芯片运行。 我怀疑这将意味着Mac在性能方面的相当大的飞跃,因为Macs不仅可以在自己的芯片上获得多年开发的所有好处,而且将来会继续从中受益。 可以肯定地假设,鉴于iOS设备相对于其计算机产品线为Apple赚钱,他们将拥有更多的工程师来优化自己的芯片,而不是改进基于Intel的Mac,因此我们可以继续在未来的Mac中看到巨大的性能飞跃和改进。

So there you go, my perspective as a software developer. I don’t have all the answers, so I’d love to know if I’ve missed anything, or if you have any questions in the comments below.

就我作为软件开发人员的观点而言,您就可以了。 我还没有所有答案,所以我很想知道我是否错过了任何事情,或者您是否在下面的评论中有任何疑问。

翻译自: https://levelup.gitconnected.com/a-software-engineer-explains-why-apple-moving-to-its-own-silicon-acf1c141ebd9

高通芯片为什么输苹果


http://www.taodudu.cc/news/show-5568975.html

相关文章:

  • Spring Boot+Spring Security+JWT 实现token验证
  • Hei苹果安装历程
  • 反Secure Boot垄断:兼谈如何在Windows 8电脑上安装
  • 苹果芯片安全隔区 “Apple Secure Enclave” 分析笔记
  • (转)详解 Secure Boot 和 Winows 8 及 UEFI启动的关系
  • [Windows_UEFI BIOS]详解 Secure Boot 和 Winows 8 及 UEFI启动 的关系
  • Android Security boot
  • 电脑无法从USB启动可能是 UEFI Secure Boot 在捣鬼!
  • 自媒体小风口:利用QQ公众空间引流吸粉
  • 日记侠:撰写吸粉文案的5大步骤
  • 随机森林预测发现这几个指标对公众号文章吸粉最重要
  • 短信猫(GSM MODEM)安装指南
  • 一个按键控制LED闪烁与关闭(定时器中断)
  • 【GDAL学习】用GDAL读取栅格数据
  • 一体机中病毒了文件夹变exe应用程序资料找到方法
  • 一体教学电脑鸿蒙,华为P50最新确认,一体全视屏+鸿蒙OS+双8500万,这才是华为...
  • “麒麟”助力“鸿”鹄之志 |鸿合科技与麒麟软件开启战略合作
  • 鸿合hiteboard驱动_鸿合盛视HiteBoard软件使用
  • 服务器一体机电脑如何重装系统,一体机电脑开不了机如何重装系统?看过这个你就明白了!...
  • 鸿蒙一体机使用方法,多媒体教学一体机使用方法和操作流程
  • 鸿合一体机触屏没反应怎么办_鸿合多媒体黑屏 鸿合触控一体机官网
  • Excel 快捷键 (Mac版本)
  • java下载excel模板-SpringBoot版本
  • 数据库之基础知识
  • python qq自动登陆_Python自动登录QQ的实现示例
  • Geoframe教程2——加载地震数据
  • C++的GEOS库实现几何计算,多个面和一条线相交后得到多条线段的例子。
  • GeoTools读取shp文件中文乱码解决方案汇总
  • xml的复杂解析取值和节点插入导出合并后的xml文件
  • Geomagic Studio鼠标操作及热键

高通芯片为什么输苹果_一位软件工程师解释了为什么苹果要转向自己的芯片相关推荐

  1. 苹果xsmax有高通基带吗_高通基带终于来了!彻底抛弃英特尔的苹果12:信号真的稳了吗?...

    [10月26日讯]相信大家都知道,在最近几年时间里,苹果推出的iPhone手机一直都因为"信号问题",而遭到广大用户们的疯狂吐槽,比如iPhone XR.iPhone 11等等,都 ...

  2. 苹果xsmax有高通基带吗_高通基带终于来了!彻底抛弃英特尔的苹果12:信号真的稳了吗?|基带|高通|iphone|手机|iphone手机...

    [10月26日讯]相信大家都知道,在最近几年时间里,苹果推出的iPhone手机一直都因为"信号问题",而遭到广大用户们的疯狂吐槽,比如iPhone XR.iPhone 11等等,都 ...

  3. 高通骁龙cpu排行_最新手机性能排行榜出炉:高通骁龙865霸榜,前十不见华为!...

    经过3月份手机厂商的一波新机轮番轰炸之后,市场上呈现了一片浓浓的"新老交替"的格局.4月1日,国内知名测试软件安兔兔发布了最新的智能手机性能排行榜,分为高端旗舰和中端产品榜,结果表 ...

  4. 高通骁龙cpu排行_骁龙系列处理器性能分析,你的手机是什么处理器?

    首先来看下目前使用比较多的骁龙处理器排行 毫无疑问8系列最新出的骁龙855 Plus性能最强,刚刚发布的vivo NEX 3 5G版搭载的就是这款处理器.那么到底855和855 Plus有什么区别呢? ...

  5. 高通的快充协议_高通QC5.0快充发布:百瓦级时代,高通被国产厂商牵着鼻子走了?...

    手机的快充和高刷新率屏幕一样,属于用了就回不去的那种,从OPPO R9系列开始出现的vooc闪充技术打出"充电5分钟通话两小时的"口号开始,闪充技术正式成为了手机的一大卖点,当时高 ...

  6. 高通骁龙cpu排行_高通骁龙865深度解读:CPU、GPU、内存全新升级

    12月3日的2019年骁龙技术峰会上,高通正式发布了骁龙865移动平台,这是高通第二代5G平台了,相比骁龙855平台有着全方位的升级,工艺.架构.能效及5G等方面再上一层楼. 业界权威网站Anande ...

  7. 高通的快充协议_高通:后续骁龙旗舰将标配100W快充

    高通于昨晚正式推出了Quick Charge 5充电解决方案,经过3年时间的准备,高通这一次在Quick Charge快充的升级可谓重磅,在功率上实现了重大突破,达到了100W. 官方数据显示,高通Q ...

  8. 红米note4X_高通版(2016101)_官方线刷包_救砖包_解账户锁

    红米Note4x高通版2016101解账户锁直刷包下载地址: https://pan.baidu.com/s/1D8wl7uBsZ3pevXdPkpxbig 刷机包+平台+驱动+教程,全部打包在一起 ...

  9. 高通骁龙处理器排行榜_一加9系列手机将于明年3月发布 搭载高通骁龙875处理器...

    一加于本月推出一加8T 之后,凭借真香的价格以及次旗舰的配置成为了广受欢迎的产品.首销就囊获了京东,苏宁购物平台的销量&销售额双料冠军,开售一分钟销售额即破亿,10分钟破2亿,表现非常出色. ...

最新文章

  1. C++ 笔记(32)— 预处理、文件包含include、宏替换define、条件包含ifndef、define
  2. pandas使用applymap函数替换dataframe的内容或者数值:applymap函数使用字典替换多个列的内容(数值)
  3. 高红冰:“五新”创新乡村商业实践
  4. 微软欢迎所有热爱开源软件的朋友们来投稿![征稿开放时间:2015年8月17日]
  5. Linux System Programming --Chapter Two
  6. python怎么将if和try一起用_Python使用try/catch还if效率更高一些?
  7. c语言autoi函数如何使用,C++的auto声明、memset函数
  8. WordPress 博客平台
  9. 多目录Makefile(库及分层目录)
  10. Eclipse 常用快捷键和使用技巧
  11. jvisualvm/Jconsole监控WAS(WebSphere)中间件
  12. 在本地搭建hyperledger fabric 网络
  13. 读写文本文件时汉字乱码
  14. 看书学python靠谱吗_自学Python靠谱吗?
  15. C语言线性表学生管理系统,c语言 学生信息管理系统(线性表版)
  16. VS2019 打包WPF安装程序最新教程(图文详解)
  17. 手把手学会gitbub(4)
  18. mapgis考试111
  19. 谱尼医学幽门螺旋杆菌快速检测 三步直达 欢迎选测~
  20. Python爬虫教程(一):爬虫

热门文章

  1. 【京东账户】——Mysql/PHP/Ajax爬坑之用户登录
  2. 给自建网站加入统计功能
  3. ubuntu新增固态硬盘的方法
  4. cpu主频与外频的关系
  5. 数字电子技术之组合逻辑电路
  6. Linux 查看进程、杀死进程
  7. css引入矢量图标_css图标库_css常用的矢量图标大全
  8. Cordova使APP不跟随系统字体变化
  9. matlab画服装版,教你画一手漂亮的服装款式图!(手绘款式图模板)
  10. IOC 控制反转(Inversion of Control,英文缩写为IoC)