苹果M1运行Linux,揭示M1系统架构的新细节


苹果M1运行Linux,揭示M1系统架构的新细节


【美国华人网综合报道】Corellium是一家专门从事虚拟化解决方案的软件公司,它成功地将Linux移植到一台基于苹果M1公司的个人电脑上,甚至成功地使几乎所有的系统外设都能工作。在这个过程中,Corellium发现了一些关于苹果M1处理器和系统架构的有趣新细节。


几周前,我们报道了一家名为Corellium的初创公司成功地在一台苹果M1公司的电脑上运行了Linux。当时操作系统运行,但是不支持很多东西,本质上很大程度上让PC无法使用。最近公司终于设法让大部分东西(包括Wi-Fi)工作起来,这意味着Linux现在可以用在最新款的Macs上了。但是在这种计算机上运行非苹果操作系统的整个项目有一个有趣的副作用,因为它揭示了苹果的操作系统与其他基于Arm的架构相比有多么不同。


大量专利技术


众所周知,苹果公司很长一段时间以来一直专注于构建自己的基于Arm的微体系结构,以提供与苹果手机和苹果平板电脑不可匹敌的性能。与竞争对手不同,该公司没有投入更多内核,而是提高了内核的单核/单线程性能。据Corellium称,除了定制内核,苹果显然还使用了高度定制的系统架构。


苹果M1运行Linux,揭示M1系统架构的新细节


当几乎所有64位基于Arm的系统启动时,它们通过一个名为PSCI的接口调用固件,但在M1的情况下,中央处理器内核从MMIO寄存器指定的地址开始,然后开始运行内核。此外,苹果系统还使用不符合Arm标准的专有苹果中断控制器(Apple Interrupt Controller.AIC)。同时,定时器中断连接到FIQ,这是一个模糊的架构特性,主要用于与Linux不兼容的32位Arm系统。


为了使M1电脑中的各种处理器相互协作,操作系统必须提供一组处理器间中断(IPIs)。以前,IPIs的处理方式与传统的IRQs一样,使用MMIO访问AIC,但是在M1的情况下,苹果使用处理器核心寄存器来分派和确认依赖于FIQs的IPIs。


苹果的奇特之处还不止于此。例如,苹果的Wi-Fi/蓝牙控制器使用非标准的基于PCIe的协议连接到SoC(幸运的是,Corellium虚拟化软件支持该协议)。更复杂的是,苹果的PCIe和集成的Synopsys DWC3 USB控制器使用了公司专有的输入-输出内存管理单元(IOMMU),称为设备地址分辨率表(DART)。此外,苹果的I2C有一个使用独家协议的定制固件,这阻碍了USB-A型端口的使用。


复杂化系统设计


对苹果来说,使用专有系统架构并不是什么新鲜事,但这将使得将其他操作系统移植到其平台以及以虚拟化模式运行这些操作系统变得更加困难。最近,一名开发人员使用QEMU虚拟化技术,成功地使微软即将推出的Windows 10X在基于苹果M1的系统上运行,但这种操作系统还不是最终版本,不清楚它有多稳定。此外,Windows 10X不运行Win32应用程序,这使得它对一些用户来说价值更低。


在苹果电脑上运行Windows 10或Linux对大多数苹果电脑用户来说可能并不重要。但是,以多种专有技术为特征的复杂系统架构可能会使为基于Arm的Macs开发某些类型的软件和硬件变得更加困难。

展开阅读全文

页面更新:2024-06-16

标签:苹果公司   架构   苹果   寄存器   系统   内核   控制器   处理器   苹果电脑   有趣   细节   困难   操作系统   协议   电脑   游戏   公司

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top