写给Android开发者的芯片知识

简介: 接触过计算机的朋友们都知道CPU的含义,就是中央处理器,是负责计算机主要运算任务的组件。一般我们把CPU比喻为人的大脑。而了解略深的用户会听说CPU有x86、ARM等分类,前者主要用于PC而后者主要用于手机平板等设备。

image.png


作为 Android 开发者,免不了要处理 arm、armv7a、armv8a、x86 等架构适配,加上今年各个行业都遇到了“缺芯”的困扰,以及美国对华为的芯片制裁,制裁的是什么技术?本文尝试讲清楚下面几个问题:


  1. Android动态库适配到底在适配什么?
  2. CPU、架构、指令集、芯片之间的关系和联系;
  3. armv7a中的a指什么?
  4. 芯片的核心技术和门槛是什么?


CPU


接触过计算机的朋友们都知道CPU的含义,就是中央处理器,是负责计算机主要运算任务的组件。一般我们把CPU比喻为人的大脑。而了解略深的用户会听说CPU有x86、ARM等分类,前者主要用于PC而后者主要用于手机平板等设备。


那么这里的x86、ARM指的是什么呢?


指令集


CPU执行计算任务时都需要遵从一定的规范,程序在被执行前都需要先翻译为CPU可以理解的语言。这种规范或语言就是指令集(ISA,Instruction Set Architecture)。程序被按照某种指令集的规范翻译为CPU可识别的底层代码的过程叫做编译(compile)。x86、ARM v8、MIPS都是指令集的代号。指令集可以被扩展,如x86增加64位支持就有了x86-64。厂商开发兼容某种指令集的CPU需要指令集专利持有者授权,典型例子如Intel授权AMD,使后者可以开发兼容x86指令集的CPU。


指令集最直接的解释就是CPU理解的语言,对于人类语言之用来交流的,是在一定的环境中孕育出来的。不同的语言之间可以互相”翻译“,特定的一圈人之间还可以发明创造新的语言。世界上这么多语言,为什么国际间沟通主要是用英语?为什么汉语的使用人数最多?


类似的原因,指令集主流的只有这么几个,不在于创造它的复杂度,而在于它的基础和生态环境。


下面介绍ARM、x86、MIPS、PowerPC、RISC-V等主流的几个指令集。


ARM系列


ARM架构,称为进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于行动通讯领域,符合其主要设计目标为低耗电的特性。


在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。


优势:价格低;能耗低;


ARM 授权方式:ARM 公司本身并不靠自有的设计来制造或出售 CPU ,而是将处理器架构授权给有兴趣的厂家。ARM 提供了多样的授权条款,包括售价与散播性等项目。对于授权方来说,ARM 提供了 ARM 内核的整合硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及针对内含 ARM CPU 硅芯片的销售权。对于无晶圆厂的授权方来说,其希望能将 ARM 内核整合到他们自行研发的芯片设计中,通常就仅针对取得一份生产就绪的智财核心技术(IP Core)认证。对这些客户来说,ARM 会释出所选的 ARM 核心的闸极电路图,连同抽象模拟模型和测试程式,以协助设计整合和验证。需求更多的客户,包括整合元件制造商(IDM)和晶圆厂家,就选择可合成的RTL(暂存器转移层级,如 Verilog)形式来取得处理器的智财权(IP)。借着可整合的 RTL,客户就有能力能进行架构上的最佳化与加强。这个方式能让设计者完成额外的设计目标(如高震荡频率、低能量耗损、指令集延伸等)而不会受限于无法更动的电路图。虽然 ARM 并不授予授权方再次出售 ARM 架构本身,但授权方可以任意地出售制品(如芯片元件、评估板、完整系统等)。商用晶圆厂是特殊例子,因为他们不仅授予能出售包含 ARM 内核的硅晶成品,对其它客户来讲,他们通常也保留重制 ARM 内核的权利。


生产厂商:TI (德州仪器)/Samsung(三星)/Freescale(飞思卡尔)/Marvell(马维尔)/Nvidia(英伟达)


x86系列/Atom处理器


xx86或80x86是英代尔Intel首先开发制造的一种微处理器体系结构的泛称。


x86架构是重要地可变指令长度的CISC(复杂指令集电脑,Complex Instruction Set Computer)。


Intel Atom(中文:凌动,开发代号:Silverthorne)是Intel的一个超低电压处理器系列。处理器采用45纳米工艺制造,集成4700万个晶体管。L2缓存为512KB,支持SSE3指令集,和VT虚拟化技术(部份型号)。


现时,Atom处理器系列有6个型号,全部都是属于Z500系列。它们分别是Z500、Z510、Z520、Z530、Z540和Z550。最低端的Z500内核频率是800MHz,FSB则是400MHz。而最高速的Z550,内核频率则有2.0GHz,FSB则是533MHz。从Z520开始,所有的处理器都支持超线程技术,但只增加了不到10%的耗电。双内核版本为N系列,依然采用945GC芯片组。双内核版本仍会支持超线程技术,所以系统会显示出有4个逻辑处理器。这个版本的两个内核并非采用本地设计,只是简单的将两个单内核封装起来。


MIPS系列


MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。


MIPS技术公司是美国著名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS自己只进行CPU的设计,之后把设计方案授权给客户,使得客户能够制造出高性能的CPU。


PowerPC系列


PowerPC 是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自IBM(国际商用机器公司)的IBM PowerPC 601 微处理器POWER(Performance Optimized With Enhanced RISC;《IBM Connect 电子报》2007年8月号译为“增强RISC性能优化”)架构。二十世纪九十年代,IBM(国际商用机器公司)、Apple(苹果公司)和Motorola(摩托罗拉)公司开发PowerPC芯片成功,并制造出基于PowerPC的多处理器计算机。PowerPC架构的特点是可伸缩性好、方便灵活。


PowerPC 处理器有广泛的实现范围,包括从诸如 Power4 那样的高端服务器 CPU 到嵌入式 CPU 市场(任天堂 Gamecube 使用了 PowerPC)。PowerPC 处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量。除了象串行和以太网控制器那样的集成 I/O,该嵌入式处理器与“台式机”CPU 存在非常显著的区别。


RISC-V


RISC-V是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。V表示为第五代RISC.与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。RISC-V被认为是继x86、ARM之后的第三大CPU架构。


RISC-V包括三大优势,


1.模块化:RISC-V将不同的部分以模块化的方式组织在一起,这种模块化是x86与ARM架构所不具备的。


2.指令数目少:受益于短小精悍的架构以及模块化的特性,RISC-V架构的指令数目非常的简洁。


3.RISC-V全面开源,且具有全套开源免费的编译器、开发工具和软件开发环境,大大降低指令集修改的门槛。


RISC-V作为新兴架构,以其精简的体量,未来的IoT(物联网)领域中能取得绝对的优势。IoT的“碎片化”需求,IoT芯片设计速度要快、成本要低、能量身定制。同时嵌入式市场具备少量多样的特点,在各细分应用场景并未形成真正壁垒,架构的选择五花八门。以上原因成就了RISC-V绝佳的突破口。RISC-V的开源能降低成本,也能让用户自由修改,可定制化,RISC-V生态与敏捷设计同源。


目前,国内外已有多家芯片企业投入大量资金研发RISC-V在IoT领域的应用。2015年,RISC-V基金会正式成立,吸引了包括英伟达、NXP、三星、Microsemi在内等企业的加入。迄今为止,该基金会已吸引了全球28个国家327多家会员加入。目前,阿里、亚马逊等都有相关芯片研制出,甚至就连苹果A4/A5、AMD速龙/Zen架构之父JimKeller也创业投身RISC-V了。


架构


我们常说的单核,双核,四核,以及主频等概念。


CPU的基本组成单元即为核心(core)。多个核心可以同时执行多件计算任务,前提是这些任务没有先后顺序。


核心的实现方式被称为微架构(microarchitecture)。微架构的设计影响核心可以达到的最高频率、核心在一定频率下能执行的运算量、一定工艺水平下核心的能耗水平等等。此外,不同微架构执行各类程序的偏向也不同,例如90年代末期Intel的P6微架构就在浮点类程序上表现优异,但在整数类应用中不如同频下的对手。


常见的代号如Haswell、Cortex-A15等都是微架构的称号。注意微架构与指令集是两个概念:指令集是CPU选择的语言,而微架构是具体的实现。i7-4770的核心是Haswell微架构,这种微架构兼容x86指令集。


对于兼容ARM指令集的芯片来说这两个概念尤其容易混淆:ARM公司将自己研发的指令集叫做ARM指令集,同时它还研发具体的微架构如Cortex系列并对外授权。但是,一款CPU使用了ARM指令集不等于它就使用了ARM研发的微架构。Intel、高通、苹果、Nvidia等厂商都自行开发了兼容ARM指令集的微架构,同时还有许多厂商使用ARM开发的微架构来制造CPU。通常,业界认为只有具备独立的微架构研发能力的企业才算具备了CPU研发能力,而是否使用自行研发的指令集无关紧要。微架构的研发也是IT产业技术含量最高的领域之一。


下面先介绍ARM CPU架构


ARM架构


CPU家族


image.png


ARM CPU家族主要包括如下系列,其中需要记住的有三个,分别是Cortex-A系列、Cortex-R系列和Cortex-M系列。


  • Cortex-A系列:主要是面向应用的处理器。Cortex-A系列含有整数运算的指令集架构和浮点数运算的指令集架构,并且支持单指令多数据流高性能计算指令,Cortex-A系列是ARM家族中最丰富的指令集。Cortex-A系列在手机端开发领域被广泛使用。ARMv7-A是指令集为32位的Cortex-A架构,ARMv8-A是对ARMv7-A的扩充,现在使用ARM架构的手机大多使用的是64位的ARMv8-A架构,如Cortex-A57、Cortex-A53以及新发布的Cortex-A76架构。同时,ARM公司也在不断地扩展ARMv8-A指令架构,先后发布了ARMv8.1、ARMv8.2、ARMv8.4和ARMv8.5。Android手机场景多应用了Cortex-A系列,我们Android开发里面的armv7a的a就是代表了Cortex的a系列
  • Cortex-R系列,是ARM家族中体积最小的处理器。Cortex-R系列处理器主要用于对实时性要求较高的硬件平台,比如硬盘、各类控制器等。Cortex-R系列处理器支持ARM、Thumb和Thumb-2指令集。
  • Cortex-M系列,主要是针对超低功耗和核心最小面积进行设计的,所以目前Cortex-M系列的实时操作系统RTOS仅支持32位Thumb的指令集。ARM Cortex-M系列使用Thumb-2指令集,这样可以减少一定的指令代码量,从而减少内存需求,进而就可以更加高效地利用缓存。Thumb-2指令集兼容16位的Thumb指令。
  • 早期处理器SecurCore系列,它们是提供安全解决方案的架构。SecurCore架构是一个针对安全的解决方案,早期处理器SecurCore被用在少量单片机中。
  • 早期的ARM芯片,版本号比较简单,架构复杂度也低。


ARM商业模式介绍


微架构研发完成,或者说核心研发完成,接下来就是将其组装为芯片了。过去的芯片仅仅包括CPU部分,如今大量的芯片集成了CPU、GPU、IO等多种不同的功能组件,此时这种芯片就不是传统意义上的“CPU”了。将各种功能组件组装为芯片的技术含量相比微架构研发来说是较低的,因而业界能做此类工作的企业也数量较多。不同的微架构研发企业使用不同的商业模式。在PC时代,几大主要的CPU研发厂商都只是自己研制微架构自己用。而ARM公司的微架构是授权模式。ARM自己开发微架构后将它们上架出售,其他厂商可以拿这些核心组装为芯片来使用或销售。由于这种模式对第三方的技术能力要求很低,加上ARM的微架构在低功耗领域表现优异,这种模式获得了广泛成功。


如果你发现某款芯片标明使用了Cortex系列核心,则一定是这种模式的产物。如前所述,仅仅从ARM购买微架构来组装芯片的厂商是不能被称作CPU研发企业的,这些芯片也不能被称为“xx厂商研发的CPU”。典型如华为的海思920、三星Exynos 5430,只能说是“使用ARM Cortex-A15核心的芯片”。


但是如果一款基于ARM指令集的芯片使用了厂商自主研发的微架构情况就不同了。高通骁龙800、苹果A7就是这样的例子--它们分别使用了高通、苹果自主研发的CPU。


下面我们看几款主流手机的CPU。


主流CPU供应商及应用手机


在手机端我们重点关注高通、苹果、联发科、华为、三星几家公司设计的芯片,因为它们设计的ARM芯片架构已经可以覆盖主流机型。


高通


高通主要的骁龙系列,目前8XX系列属于高端的骁龙系列,6XX系列定位于中端市场。不过高中端市场也会有交叉,并不是绝对的。骁龙芯片被大量流行手机搭载,包括vivo、OPPO、小米等品牌手机。


12 月 1 日消息 高通在 2020 骁龙技术峰会上正式发布了骁龙 888 旗舰平台处理器,将支持下一代旗舰智能手机

骁龙 888基于三星5nm 工艺制成 , CPU 采用 1 x 2.84GHz (ARM最新 Cortex X1 核心)+3 x 2.4GHz (Cortex A78)+4 x 1.8GHz (Cortex A55),GPU 为 Adreno 660,采用 X60 5G modem 基带,支持 WiFi 6E、Bluetooth 5.2。下面是骁龙888的架构图。


image.png


市面上我们看到的小米11 Pro,魅族18 Pro/魅族18等就是用了骁龙888, 而魅族17 Pro使用的是骁龙865。


image.png


联发科(MTK)


中国的芯片研发公司,以中低端芯片为主。联发科的芯片设计业务已经深度布局家庭娱乐、手机平板和IoT、便携式电子产品等多个领域。我们熟知的索尼,TCL、海尔等电视都有使用联发科芯片;同时它的芯片方案被亚马逊、Google、阿里等国内外一线品牌采用,这三家在智能音箱业务上占据了全球销量前三的位置,市场占有率高达70%以上,天猫精灵同样搭载的是联发科的芯片;


三星


旗下业务众多,芯片只是其中一项,手机也是其重要业务之一,从零部件如芯片、屏幕、存储、电池等,到手机整机都可以制作。Exynos8895是三星发布的一款偏高端的芯片,它的中端芯片有Exynos7870等。三星芯片在中国移动互联网市场的占比较少。国内市场三星手机大部分并不是使用的三星芯片,而且高通,这里肯定有一些其他方面的考量。


苹果


苹果手机中的芯片也都是ARM架构的,目前苹果公司已经有了很强的芯片设计能力。苹果A系列的CPU频率并不是很高。苹果的芯片是自产自销的,芯片架构会直接应用在自家的苹果手机上,所以更加注重性能的提升,而对芯片成本的考量相对少一些,使用了大的芯片面积来换取高性能和低功耗,这一点和大部分同行业公司有显著差别。在苹果A10处理器上,流水线技术使用了六发射,可以同时对六条流水线进行处理,同时A10片上缓存达到了2MB。通过A10可以看到,苹果公司的芯片架构成本比其他公司的更高,综合性能也非常好。从Geekbench跑分也可以看到苹果芯片的性能优势,A10的性能比ARM 73标准架构的性能高75%以上。


今年苹果新推出的M1 Pro与M1 Max,M1Pro款芯片内存带宽最高可以达到200 GB每秒,支持32 GB内存。材料是五纳米工艺具有337根晶体管,具有10个核心的中央处理器,处理速度与上一个芯片相比的话,速度提高了70%左右。


image.png


华为海思


1991年,华为成立了自己的ASIC设计中心,专门负责设计「专用集成电路」(Application-specific integrated circuit,ASIC)。当时的华为,创立仅仅四年,员工只有几十人,资金非常紧张,一度濒临倒闭的边缘。奠定基业的C&C08数字程控交换机,还是三年后的事情。


这个ASIC设计中心的成立,意味着华为开始了IC设计的漫漫征途。


1993年,ASIC设计中心成功研发出华为第一块数字ASIC。


随后,分别在1996年、2000年、2003年,研发成功十万门级、百万门级、千万门级ASIC。总的来说,每一步都算是沉稳有力。


时间到了2004年10月,这时的华为,实力已今非昔比,销售额达到462亿人民币,员工人数也达到数万人。有了一定底气的华为,在ASIC设计中心的基础上,成立了深圳市海思半导体有限公司,也就是我们现在经常说的——「华为海思」


华为手机端的麒麟芯片是不对外销售的,所以截至2019年5月,市面上可体验到华为芯片性能的设备只有华为手机。华为的芯片设计能力的提升速度可谓有目共睹。从麒麟970开始,华为将高性能的专用神经网络芯片NPU带进了SoC。

市面上我们看到的华为 Mate 40 Pro 4G全网通和华为P50 Pro手机使用的是8核的麒麟9000(1Cortex-A77@3.13GHz + 3Cortex-A77@2.54GHz + 4Cortex-A55@2.05GHz);华为P40使用的是八核HUAWEI Kirin 990 5G(麒麟990 5G)(2Cortex-A76 Based 2.86GHz + 2Cortex-A76 Based 2.36GHz + 4Cortex-A55 1.95GHz);而华为P50使用了八核的骁龙888 4G版(1Cortex-X1@2.84GHz + 3Cortex-A78@2.42GHz + 4*Cortex-A55@1.8GHz)。


芯片


说到芯片我们不得不面对一个灵魂拷问:”麒麟芯片是国产吗?“


要回到这个问题,我们必须先搞清楚芯片半导体生产过程。


image.png


半导体芯片生产主要分为 IC(Integrated Circuit 集成电路) 设计、 IC 制造、 IC 封测三大环节以及设计、晶圆制造、EDA工具、芯片原材料、封装、测试、设备七大板块。


  • IC 设计主要根据芯片的设计目的进行逻辑设计和规则制定,并根据设计图制作掩模以供后续光刻步骤使用。
  • IC 制造实现芯片电路图从掩模上转移至硅片上,并实现预定的芯片功能,包括光刻、刻蚀、离子注入、薄膜沉积、化学机械研磨等步骤。
  • IC 封测完成对芯片的封装和性能、功能测试,是产品交付前的最后工序。


image.png


芯片制作是一个复杂过程,如果单从真个链路上讲,麒麟只是其中的一环,芯片自然谈不上纯国产,如果从某一个环节的完整性来讲,真个设计是有自己东西的。


麒麟主要是基于ARM的RISC架构进行SOC的开发,所谓SOC就如联想设计电脑,就是把一些功能芯片整合在一起,包括CPU、GPU、闪存、基带等等。而要将这些核芯整合在一起,本身就需要非常强大的设计能力。


image.png


就上图华为麒麟960来说,黄色部分是华为不能设计的核芯。对于麒麟985华为已经能自研GPU了。在SOC大构架下,这种设计能力,很多公司能在短时间内得以提升,真正考验芯片设计能力的是核芯层次的微架构设计。


有这方面能力的国内芯片设计公司屈指可数,华为和龙芯是其中的佼佼者。


什么是芯片?


芯片,主要原料就是储量最丰富成本最廉价的二氧化硅。要弄清楚为什么原材料是二氧化硅我们先来复习两个概念:


  • 导体
  • 半导体


很明显,像导体这种直男没啥可折腾的,所以导线到了今天仍然是铜线,绝缘体的命运也差不多。


半导体这种暧暧昧昧的性格最容易搞事情,所以与电子设备相关的产业基本都属于半导体产业,如芯片、雷达。芯片是计算机的核心,它的最基本单元是非黑即白的0和1。


经过计算筛选,科学家用硅作为半导体的基础材料。硅的外层有4个电子,假设某个固体由100个硅原子组成,那么它的满轨道就挤满了400个电子。这时,用10个硼原子取代其中10个硅原子,硼这类三价元素外层只有3个电子,所以这块固体的满轨道就有了10个空位。这就相当于在挤满人的公交车上腾出了几个空位子,为电子的移动提供了条件。这叫P型半导体。


同理,如果用10个磷原子取代10个硅原子,磷这类五价元素外层有5个电子,因此满轨道上反而又多出了10个电子。相当于挤满人的公交车外面又挂了10个人,这些人非常容易脱离公交车,这叫N型半导体。


现在把PN这两种半导体面对面放一起会咋样?N型那些额外的电子必然是跑到P型那些空位上去了,一直到电场平衡为止,这就是大名鼎鼎的“PN结”。(动图来自《科学网》张云的博文)


这时候再加个正向的电压,N型半导体那些额外的电子就会源源不断跑到P型半导体的空位上,电子的移动就是电流,这时的PN结就是导电的;加个反向的电压,P型半导体那里再抽电子到N型半导体,而N型早已挂满了额外的电子,多出来的电子不断增强电场,直至抵消外加的电压,电子就不再继续移动,此时PN结就是不导电的。


芯片的制作


1. 芯片设计


芯片行业的设计领域,指的是规格制定、架构设计到tape-out的所有流程。芯片在晶圆厂生产之前的所有流程都属于设计领域:


  • 仅从事芯片设计,没有其他生产、封装、测试业务的公司称之为fabless或者design house(国内的华为海思、紫光展锐、中兴微电子、比特大陆、寒武纪、汇顶科技、全志,美国的高通、博通等)。
  • 既有芯片业务,又有芯片晶圆制造业务的公司,称为IDM(Integrated Device Manufacture),国内的士兰微,美国的英特尔,韩国的三星、海力士,意大利的意法半导体等。


2. 晶圆制造


在芯片行业,把仅从事晶圆制造的企业称之为foundry。


把单晶硅圆柱切片,就得到了圆形的硅片,因此就叫“晶圆”。


晶圆加工的大概流程:


  • 首先在晶圆上涂一层感光材料,这材料见光就融化,这里就用到了我们常听到的光刻机,它可以用非常精细的光线,在感光材料上刻出图案,让底下的晶圆裸露出来。
  • 然后,用等离子体这类东西冲刷,裸露的晶圆就会被刻出很多沟槽,这套设备就叫刻蚀机
  • 再用离子注入机在沟槽里掺入磷元素,加热退火处理,就得到了一堆N型半导体;用离子注入机撒上硼,就有了P型半导体。


image.png


上图晶圆上的小方块就是芯片,一块晶圆可以做多个芯片。芯片放大了看就是成堆成堆的电路。


为啥不把芯片做的更大一点呢?这样不就可以安装更多电路了吗?


  • 一是成本考虑:一块300mm直径的晶圆,16nm工艺可以做出100块芯片,10nm工艺可以做出210块芯片,于是价格就便宜了一半。
  • 二是性能问题:大芯片的布线比小芯片更长,所以延时也更明显,驱动电流也大很多,由此导致整体设计更臃肿,性能上还是会吃亏。


3. EDA工具


EDA是Electronic design automation(电子设计自动化)的英文简称。EDA工具是指利用计算机辅助设计软件,来完成超大规模集成电路芯片的功能设计、综合、验证、物理设计等流程的设计方式。在芯片行业,把提供EDA工具的企业称之为EDA设计服务供应商。


目前EDA工具厂商的三巨头——cadence、synopsys、mentor公司垄断了绝大多数市场份额,其他EDA厂商很多都是在三巨头的阴影之下,夹缝之中求生存。


4. 芯片原材料


芯片生产需要大量的原材料,比如硅晶圆、光刻胶光刻胶等,其中需求量最大的当属硅晶圆,硅晶圆在芯片制造材料中占比最高,达到37%。而硅晶圆的主要原材料是硅,硅的主要评判指标是纯度,如果硅原子之间有一堆杂质,那电子就很难在满轨道和空轨道之间跑顺畅。而纯度越高制造难度越大。用于太阳能发电的高纯硅要求99.9999%,这玩意儿全世界超过一半是中国产的,早被玩成了白菜价。芯片用的电子级高纯硅要求99.999999999%(别数了,11个9),几乎全赖进口,直到2018年江苏的鑫华公司才实现量产。


5. 封装


芯片封装,简单点来讲就是把Foundry生产出来的集成电路裸片放到一块起承载作用的基板上,再把管脚引出来,然后固定包装成为一个整体。


6. 测试


测试的话包括CP测试、FT测试等等,包括了芯片的功能测试、可靠性测试、老化测试等等。


感觉芯片行业技术难度最低的就是测试和封装,这部分国内和国外已经没有太大差距。


7. 设备


芯片行业的设备主要有晶圆制造过程中需要使用的光刻机、蚀刻机,测试过程中需要使用的ATE测试基台。


阿斯麦是全球唯一的高端光刻机生产商,每台售价至少1亿美金,而且产量还不高,无论是台积电、三星,还是英特尔,谁先买到阿斯麦的光刻机,谁就能率先具备7nm工艺。


2017年只生产了12台,2018年24台,这些都已经被台积电三星英特尔抢完了,2019年预测有40台,这些这个东西是很容易被人卡脖子的:


  • 第一:英特尔有阿斯麦15%的股份,台积电有5%,三星有3%,有些时候吧,钱不是万能的。
  • 第二,美国整了个《瓦森纳协定》,敏感技术不能卖,中国、朝鲜、伊朗、利比亚均是被限制国家。


image.png


中国的刻蚀机比光刻机要好很多,16nm刻蚀机已经量产运行,7-10nm刻蚀机也在路上了,所以美国在刻蚀机上没有做太多限制。


离子注入机又比较差了,70%的市场份额是美国应用材料公司的,2017年8月终于有了第一台国产商用机,水平不做评价。

涂感光材料得用“涂胶显影机”,日本东京电子公司拿走了90%的市场份额。即便是光刻胶这些辅助材料,也几乎被日本信越、美国陶氏等垄断。


为什么”光刻机“这么难攻破?说到底设备最后的竞争还是材料。比如发动机,工业皇冠上的明珠,其核心技术说白了就是涡轮叶片不够结实,油门踩狠了就得散架,无论是航天发动机、航空发动机、燃气轮机,只要带个“机”字,我们腰杆都有点软。引用别人对材料的分析:


而材料技术除了烧钱、烧时间,有时还要点运气。还是以发动机为例:金属铼,这玩意儿和镍混一混,做出的涡轮叶片吊炸天,铼的全球探明储量大约2500吨,主要分布在欧美,70%用来做发动机涡轮叶片,这种战略物资,妥妥被美帝禁运。前几年在陕西发现一个储量176吨的铼矿,可把土工乐的,马上拼了老命烧钱,这几年苦逼生活才有了起色。稀土永磁体,就是用稀土做的磁铁,能一直保持磁性,用处大大的。高品位稀土矿大多分布在中国,所以和“磁”相关的技术,土工比美帝还能嘚瑟,比如核聚变、太空暗物质探测等。据说,土工前几年也对美帝禁运,逼得美帝拿铼交换,外加陕西安徽刨出来的那点铼,J20的发动机才算有些眉目。关键核心材料,全球总共约130种,也就是说,只要你有了这130种材料,就可以组装出世界上已有的任何设备,进而生产出已有的任何东西。


人类的核心科技,某种程度上说,指的就是这130种材料,其中32%国内完全空白,52%依赖进口。在高端机床、火箭、大飞机、发动机等尖端领域比例更悬殊,零件虽然实现了国产,但生产零件的设备95%依赖进口。这些可不是陈芝麻烂谷子的事情,而是工信部2018年7月发布的数据,还新鲜着呢。

看看国内半导体产业整个链路的情况:


image.png


总结


本文总结了CPU、指令集、架构、芯片的概念。并对他们的概念做了详细介绍和区分:指令集相当于函数头,微架构相当于函数体,微架构说白点就是CPU硬件图纸,设计这里有几个晶体管,那里怎么连接晶体管,而芯片是设置设计的物理实现。并详细介绍了ARM架构以及芯片设计的流程及关键技术。


参考

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
1月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
59 3
|
3月前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
90 0
|
1月前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
2月前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
360 3
|
2月前
|
IDE Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在数字时代的浪潮中,移动应用成为人们生活的延伸。两大操作系统——安卓与iOS,如同两座技术高峰,各自占据着半壁江山。本文将探索这两个平台的开发环境差异,并讨论这些差异如何塑造开发者的编程习惯与职业选择。我们将从工具和语言、用户界面设计、系统架构、市场定位以及开发社区和资源五个方面进行比较,旨在为开发者提供一份实用的指南,帮助他们在不断变化的技术世界中,找到适合自己的发展路径。
55 3
|
2月前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
70 1
|
3月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第22天】在移动开发的广阔舞台上,安卓与iOS两大操作系统各自占据着半壁江山。它们不仅是用户手中的智能设备,更是开发者展示创意和技术的战场。本文将深入探讨这两个平台的开发环境差异,以及这些差异如何塑造开发者的技术路线和职业生涯。从编程语言到开发工具,从市场定位到用户需求,我们将一探究竟,这两种不同的生态系统是如何影响开发者的决策和成长的。
|
3月前
|
Java 开发工具 Android开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第21天】在移动应用开发的广阔天地中,安卓和iOS两大平台各据一方,它们不仅在用户体验上有所区别,更在开发环境上展现出独特的风貌。本文将深入探讨这两大平台的开发环境差异,以及这些差异如何塑造开发者的技术路径和职业生涯。从工具和语言的选择到市场份额的争夺,我们将一一剖析,以期为即将踏入这一领域的新手开发者提供一盏明灯。
|
2月前
|
监控 算法 数据可视化
深入解析Android应用开发中的高效内存管理策略在移动应用开发领域,Android平台因其开放性和灵活性备受开发者青睐。然而,随之而来的是内存管理的复杂性,这对开发者提出了更高的要求。高效的内存管理不仅能够提升应用的性能,还能有效避免因内存泄漏导致的应用崩溃。本文将探讨Android应用开发中的内存管理问题,并提供一系列实用的优化策略,帮助开发者打造更稳定、更高效的应用。
在Android开发中,内存管理是一个绕不开的话题。良好的内存管理机制不仅可以提高应用的运行效率,还能有效预防内存泄漏和过度消耗,从而延长电池寿命并提升用户体验。本文从Android内存管理的基本原理出发,详细讨论了几种常见的内存管理技巧,包括内存泄漏的检测与修复、内存分配与回收的优化方法,以及如何通过合理的编程习惯减少内存开销。通过对这些内容的阐述,旨在为Android开发者提供一套系统化的内存优化指南,助力开发出更加流畅稳定的应用。
73 0
|
3月前
|
JSON Java Android开发
Android 开发者必备秘籍:轻松攻克 JSON 格式数据解析难题,让你的应用更出色!
【8月更文挑战第18天】在Android开发中,解析JSON数据至关重要。JSON以其简洁和易读成为首选的数据交换格式。开发者可通过多种途径解析JSON,如使用内置的`JSONObject`和`JSONArray`类直接操作数据,或借助Google提供的Gson库将JSON自动映射为Java对象。无论哪种方法,正确解析JSON都是实现高效应用的关键,能帮助开发者处理网络请求返回的数据,并将其展示给用户,从而提升应用的功能性和用户体验。
94 1