前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大模型与AI底层技术揭秘(21)幽灵的暗流

大模型与AI底层技术揭秘(21)幽灵的暗流

作者头像
用户8289326
发布2024-02-05 17:42:54
1060
发布2024-02-05 17:42:54
举报

我们在以前提到过,Intel通过多核技术,推翻了PowerPC,SPARC等大小型机的反动统治,将计算技术带入了一个崭新的时代,并迅速在服务器领域占据统治地位。

但是,另一股暗流从弱到强,像当初游荡在欧洲的共产主义幽灵一样。

早在2000年,ARM处理器就成为了移动端手机处理器的事实标准。2010年代,随着Apple、Android手机的快速普及,也出现了ARM服务器,用于手机游戏等应用的开发环境。

由于ARM处理器的性能与Intel Xeon存在差距,且应用生态也不够丰富,因此,在2010年起的近十年间,ARM服务器的出货量与x86服务器相比,有着数量级的差距。

与此同时,在地球另一半的东方,这股暗流从来没有停止冲撞和奔腾。早在2001年,中国海军航空兵英雄以生命捍卫海疆的行动过后,美国就将以北京航空航天大学为代表的一批单位列入了“实体清单”,限制对这些单位出口先进的计算机等科技产品。

从此,中国人走上了自研CPU的艰难的道路,其中一个探索的方向就是ARM处理器,在这条探索的道路上,还出现了飞腾系列处理器等具有实用价值和领先性的成果。

显然,ARM和x86处理器的架构是有差异的,而ARM架构下,虚拟化的实现也和x86是不一样的。

ARM与x86的Ring 0 ~ Ring 3类似,也有四个异常等级Exception Level(简称EL)。与x86相反的是,EL0的权限最低,而EL3的权限最高。

对于生产虚拟机,并为虚拟机分配独占的PCI-E外设(如GPU卡、NVMe SSD和RDMA网卡等设备),需要实现以下几件事:

1、实现虚拟机上GuestOS内核的特权级别高于用户态应用,但与真实物理机的内核特权级别有区别;

2、把虚拟机的内存空间、外设PCI-E配置空间和BAR空间正确地映射到对应的真实硬件物理地址(也就是逻辑分析仪抓到的总线上的地址)

3、把分配给虚拟机的硬件中断通到虚拟机的操作系统处理;

在ARM AArch64体系中,虚拟机的用户态在EL0运行,虚拟机的GuestOS在EL1运行,宿主机上的Hypervisor(如KVM)在EL2运行,而系统固件BIOS等在EL3运行。这一点与Intel体系有较大的差异(其实也就是没有VM_ENTRY和VM_EXIT了,处理器的特权级别为虚拟化做了原生的设计)

ARM的内存虚拟化和Intel类似,是两级地址转换(Stage-2 Translation)实现的。

如图,对于虚拟机中程序访问的地址(Virtual Address Space),首先由GuestOS管理的地址转换表TLB翻译为虚拟机的物理地址(Virtual Physical Address),也称为中间物理地址(Intermediate Physical Address)。这种转换机制与x86几乎是完全一样的。

较为复杂的机制是ARM的中断管理。

ARM的终端管理由GIC(Generic Interrupt Controller)来控制。GIC的作用为:

1、接受硬件中断电信号;

2、进行初步处理,确定这个电信号应当触发哪个中断;

3、将中断分发到处理者。

如图,ARM V8 Cortex A系列的GICv3包含以下组件:

Distributer:用于管理SPI(Shared Peripheral Interrupt,共享外设中断),可以类比Intel x86_64的APIC,可基于CPU的配置,将到来的中断源派发到Redistributer;

Redistributer:用于管理PPI(Private Peripheral Interrupt,私有外设终端)/SGI(Software Generated Interrupt,软件生成中断)/LPO(Locality-specific Peripheral Interrupt,本地特殊外设终端),将这些中断发送到CPU Interface;

CPU Interface:将中断传输给Core;

ITS:用来解析LPI中断;

其中,Distributer,Redistributer和ITS在GIC内部实现,而CPU Interface在CPU核内部实现。

看到这里,我们理解了,GPU、网卡和NVMe SSD为代表的PCI-E设备产生的MSI(Message Signaled Interrupts)中断属于SPI,可以通过对GICv3进行编程,将MSI定向到特定的CPU核。但是,这里仍然没有解决另一个问题。

这是什么问题呢?

请看下期分解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档