最近IC被大众关注,掀起了一股全民IC(集成电路)热。本期,我想给朋友们分享一下IC世界,以不求甚解的方式走马观花溜一遍这个看似神秘的地方。虽然说是“观花”,却不是“看花”,因为这个世界更加是一个抽象的世界,而不是一个实际的世界,是看不到的世界。这是一个信息如何承载、组织以及表达的世界。

最近IC被大众关注,掀起了一股全民IC(集成电路)热。本期,我想给朋友们分享一下IC世界,以不求甚解的方式走马观花溜一遍这个看似神秘的地方。虽然说是“观花”,却不是“看花”,因为这个世界更加是一个抽象的世界,而不是一个实际的世界,是看不到的世界。这是一个信息如何承载、组织以及表达的世界。

IC是计算机、互联网的实物载体

20190422ic.png

图1 IC世界的三大部分

如图1所示,IC世界分为应用软件,系统软件和硬件三大部分。每一部分在自己的领域又有更细的划分。应用软件诸如大家熟悉的EXCEL,王者荣耀,支付宝等等。系统软件像window,IOS,android等。硬件比如CPU,GPU,TPU,我们忆芯的SSD controller这样的专用ASIC等。应用软件和系统软件大家都很熟悉了(图2),都不用我贴图示例,但其实十几年前很多人还对电脑一头雾水的时候,说清楚什么是应用程序还是需要费点工夫,现在肯定还有很多读者嫌我啰嗦了。可见,许多东西不是神秘不神秘,只是知道不知道而已。

系统软件是控制和协调计算机及外部设备,支持应用软件开发和运行的系统。为什么要有这一层软件,我们后面看实例再讲解。

最后就是硬件。硬件是计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。

20190422ic2.png

图2 各种应用程序

20190422ic.JPG

20190422ic3.png

ic3.JPG

图3 硬件设备

硬件之下

前面说过,前面的每个层级在各自领域还会进一步分化。比如应用软件领域的通讯协议TCP/IP 就有7层,每一层可能耗尽一个普通人一辈子的精力去研究。当然,当效率提高,做法得到证明已经优化得当,就会固化下来,固化之后因为屏蔽了内部繁琐的内容,就会变得简单。这样一个人能处理多层时,可能层次的分化又会合并,比如TCP/IP的应用层、表示层、会话层也会合并成应用层,使协议变成5层。反之又分离,比如以前计算单元只有CPU,后来图像处理需要分离出GPU,现在AI需要分离出TPU。

这种层次抽象的做法在IC世界非常普遍。

而硬件领域也分成很多层。一方面硬件芯片跟软件一样是一个逻辑系统,有很多逻辑分层,比如我们的忆芯芯片的管理接口协议分层(图4)。

20190422ic5.png

图4 star1000管理接口协议分层

另外一方面,还有硬件实现的分层。第一层是从逻辑设计到物理设计(图5)。大家不要细看图中的内容,听我简单解释就行,咱们要不求甚解!图5中的HDL coding 是前端架构师设计的芯片架构和逻辑。有点像我们的应用软件编程的意思。通过图中的DC Explorer,Design Compiler这样的工具变成 Physical design。

20190422ic6.png

图5 从逻辑网表到物理网表

20190422ic7.png
图6 HDL coding

20190422ic8.png

20190422ic9.png

图7 physical design

HDL coding大概长成图6这个样子,它是一个代码表达的逻辑表述。physical design如图7,是用真实的器件代表了抽象的逻辑表述。图6的HDL 只是我们很长很长的代码的一点点。我们图7也是很大很大的physical design的一点点。有点像我们截取了宇宙的一点点来细看。
前面提到的“器件”,那“器件”是什么?为什么能代表逻辑?这里我们就在拿放大镜看到我们“宇宙”的最基本单元:逻辑器件。

逻辑器件可以进行逻辑操作。图8 是一个逻辑器件。左边是它的电路组成,右边是它的设计版图。有了这个设计版图就可以在晶圆厂去生产这个器件了。这个器件为什么可以表示逻辑呢?这个就比较复杂了,长话短说:计算机世界里,高电压代表逻辑1(真),低电平

20190422ic10.JPG

图8 一个逻辑器件

20190422ic11.png

图9 逻辑器件的真值表

代表逻辑0(假)。这个器件有输入端A 和 B,输出端 Y。当A和B 不同高低压组合的时候Y会有相应的高低压变化。这就可以代表很多逻辑了。

逻辑怎么用?有一门学科叫“数理逻辑”。有了逻辑可以代表很多事情。比如这个与非门器件。我们可以处理我们实际世界的事情,比如:

家里只有一个小鱼干。对输入端A喵 和 B喵来说,给出0是不吃小鱼干,1是吃小鱼干。对输出端来说1代表小鱼干够吃,0代表小鱼干不够吃了。当输入端A B 喵都要吃小鱼干,AB都输入是1,输出端就输出0,代表说“糟了,小鱼干不够吃了。”
所代表的事情是我们事先约定好的。

杠精:“等等,它们可以分一个小鱼干啊!”

“走开!”

当然也可以用逻辑表示加减乘除。篇幅有限,我这里就不展开了。

再往硬件底层走走,组成“器件”的就是更基础的单元:MOS管。如果把逻辑器件比作分子,而MOS管就是原子了。图10分别是MOS管的符号,工作原理图,结构示意图。MOS管的大小决定了我们硬件的工艺点,比如28nm,7nm等。节点越小工艺越复杂,速度越快,功耗越低。是摩尔定律得以实现最重要的保障。到此我也不再往下科普了。太复杂了。因为解决MOS管里面一个小小的事情都需要费很多脑子。记得小编读书的时候,有位教授讲到“悬浮电子”(MOS管里有些电子因为某些原因跑到不该去的绝缘体去了,又出不来,对周围空间产生了不该有的磁场,造成MOS管不能正常工作)的问题时说,就围绕这个问题全世界每年发表不少论文,并没有有效解决,不过可以毕业不少博士。教授是北大的教授,他口中的博士不只是北大清华的博士,也包括伯克利、麻省的博士。可见,最优秀的人在这方面花掉一个青春可能只是解决了一个“小麻烦”。

所以就不继续深究了,大家晓得MOS管是构成逻辑器件的开关就行了。开关,就是要么开,要么关。通过开和关,形成逻辑组合。从而形成最基本的逻辑行为。

总之,从应用层面到最后的MOS管。每个层面都能横向、纵向分出非常多的领域分支,需要很多人协力完成。就MOS管的制备就分几百个工艺步骤,每个工艺步骤又对应着相应的设备,相应的设备又对应化工、机械、材料等各领域的成就。全世界都没几个国家可以独立掌握。可想而知,虽然不太神秘的IC世界却足够复杂。复杂得需要许许多多的智慧和劳动。所以,IC是一个聚集大量智慧与劳动的世界性工程。只有与世界的通力合作,手头有先进环节的技术,与他人交换,才能坐稳自己的地位,才不被“卡脖子”。现在被“卡脖子”是因为连一个要挟别人的点都没有。形势很严峻,我备当努力!
20190422ic12.png

20190422ic13.png
图10 MOS

计算

前面带大家从每天触手可见的应用程序看到一辈子都不太可能亲眼所见的最底层的MOS管。那我们的应用软件是如何运行在这些MOS管之上的呢?

应用软件现在可以用于导弹弹道计算,打游戏,支付,定位等等。它们本质都是计算。什么?有朋友表示不懂这句话。朋友说我最喜欢看小视频了,我最讨厌计算了,它们怎么是一回事呢?

比方说,我们用python处理一张图片:

20190422ic14.jpg
from PIL import Image
im = Image.open("E:\mywife.jpg")
print(im.mode)
rgb2xyz = (0.412453,0.357580, 0.180423, 0,
0.212671,0.715160, 0.072169, 0,
0.019334,0.119193, 0.950227, 0 )
new_im = im.convert("L", rgb2xyz)
print(new_im.mode)
new_im.show()

嗯,不要看这些代码,看也看不懂。大概你晓得通过python的库,程序员做到了图像处理。不管是大家看的抖音,还是用的photoshop,虽然没有让你来敲代码。但是每一个操作的背后都对应着相应的代码。别的不重要,重要的是晓得应用程序是由一行行代码组成的就行了。而一行行代码背后就是图像的数学模型。图11。不仅图像可以由数学模型表示,

20190422ic15.png

图11 一种图片的数学模型

世界上很多事物都有对应的数学模型。数学界有一句话是说,数学的终极目标是证明整个世界!

有朋友又表示不懂,为什么数学可以表示那么多东西呢?

那小编在此处再多说几句吧。比如1可以表示一个人,一只猫,一个动作,一个颜色,一块钱,也可以是一万块钱,甚至也许是3块钱。世界的万事万物都可以表示。比如图12的RGB部分编码。现在世界上很多东西都有世界性的标准编码。后面会带大家看到机器编码。计算世界的强大之处在于计算快,所以一个简单的事情它可以用简单的加减乘除做成千上万次来完成。比如图13的图像,为了获得这样的效果GPU使用了超过1400各指令。当然每个指令又会分解成成倍的加减或是逻辑运算。

20190422ic16.png

图12 RGB部分编码

20190422ic17.png

图13 GPU使用超过1400各指令渲染的图像

你玩的游戏亦是如此。你轻轻的一点鼠标可能引发上亿次计算获得你要得到一次抬手、奔跑这些动作。

除了计算效果之外,还有很多事件控制。比如I2C协议,nvme协议,PCIE协议前面说的TCP/IP等等。还有火得不得了的区块链技术。其它的还有加密解密技术等。

很多人觉得黑客很厉害,可以敲敲键盘盗取钱财。其实他常常只是利用了一些设计漏洞,做了手脚,跟捡到你手机成功骗你爸妈打来一点钱一样。只是黑客操作的层面普通人不太容易接触到而已。随着信息化社会逐渐完善,每一步涉及利益的操作都会附带冗余的信息日志保存,在公安机关的打击下,网络作案获得收益便不太容易。也因为在信息上面做手脚也是很容易的,所以各个国家才会担心使用设备可能会被留后门。

言归正传。前面解释了应用程序为什么可以做那么多事情。是因为成千上万行的代码,代表着那些实际世界的数学模型,不断地计算的结果。

代码也可以分层:一个完整的应用程序是由很多部分组成的,我们叫它“模块”,而模块又是由语句组成,语句是由表达式组成。

我们抛去那成千上万行代码,把注意力看到一个“语句”上面来。继续我们的探索。

比如高级脚本语言的“cd””print”等命令,涉及到目录跳转,磁盘存取,终端打印等。这个就是前面所介绍的系统软件的功劳了。系统软件就像一个管家一样,把硬件系统管理得井井有条。就像你走进城堡,给管家说“倒一杯茶来”,你得到的相应是茶到你手上了。

但管家却做了很多事情:听到指令>跑到厨房>找到茶叶>选择你需要的茶叶>煮水>泡茶>端上来。系统软件也是一样,比如打印字符。系统可能会涉及:从终端得到ASCII码> 信息进入内存>解析命令、分解操作数操作码>把操作数放到最优化的内存>如果内存没位置>启动页面管理将暂时不用的放到硬盘去腾出空间并记录>数据终于放好了>计算>将计算结果输出到相应文件(计算机设备都叫文件)>文件是什么设备,给相应设备>相应设备启动>相应设备得到数据>相应设备响应并返回>操作结束。。。。
有点累了吧。歇一下。我们的IC世界就是这么孜孜不倦地完成你的指令的!

图14是一个高级程序语言变成机器语言,然后被执行的过程。这里每一步都是跟上一步可以脱离的。所以高级程序员会考虑平台移植、将常用程序做成机器码以加快运算等操作。

20190422ic18.png

图14是一个高级程序语言变成机器语言,然后被执行的过程。

在高级语言里加法可能是:
f = (g+h) –(i+j)
这是通俗易懂,容易学习的。
经过编译转换成“汇编语言”就是:
add $t0,$s1,$s2
add $t1,$s3,$4
sub $s0,$t0,$t1
等等!!有朋友问:$s1,$s2,$s3,$s4,$t1,$t2这些是什么?

嗯,是内存里的寄存器编码。你使用高级语言就不需要了解那么多了,这就是高级语言高效之处。内部的事情机器帮你优化分配好了。

是不是有点晕了?等等!再坚持一下!马上就到最终的0101010101什么的了。这是本篇文章想揭示的终极奥秘!

当然前面的“$s1,$s2,$s3,$s4,$t1,$t2”都只是代码,它是计算机芯片附带的软件告诉你有这些寄存器可以拿来用。但是其实它对应的是:0101这样的编码。

拿“add $t0,$s1,$s2”为例

它变成对应的机器编码是:

20190422ic19.JPG

是说,做编号为’0’的操作,第一个操作数在第‘18’号寄存器内取数,第二个操作数在第‘19’号寄存器内取数,把结果送到第‘8’号寄存器。
进一步变成二进制:

20190422ic20.JPG

好了,机器看到它的就是

“00000010010100110100000000100000”
数一数,32位。这就是大家熟悉的32位处理器。响应的寄存器的位数也是32位,可以表达的数值就可以从 -2^31~2^31。(小编记得因为补码什么的原因幅度好像多一位少一位。但是不要在意那么多细节了)。

朋友问为什么操作码的000000是加法啊?是因为设计芯片的人乐意。它也可以设计成减法。所以想定义底层架构吗?要不加入starblaze, 是加是减你说了算!

这里再说下功能码。这里有6位,就可以定义2^6个状态。比如我拿一位做是否是有效数据。0代表无效,1代表有效。所以当你擦除数据的时候只是改变了这个状态位,并没有把数据位一一修改。因为这样节约了31次操作。如果数据很大的话便节约了很大的开销。你也可以明白为什么拷贝比删除要花多得多的时间了:因为拷贝真真切切要把数据搬过来,删除可能只是把状态位切换了下。而且有些状态位代表一大批的数据。这也是为什么数据公司可以轻易恢复你删除的数据,因为在底层只是做了状态位切换的操作。
至于这些机器码怎么执行的。小编把图贴了自己看吧。这个就有点复杂了,涉及到CPU基本的操作行为。篇幅有限就不再展开聊了。图15,某几步的流水线操作。

20190422ic21.png

图15,某几步的流水线操作。

所以,IC世界真的并不神秘。在MOS管的物理载体以下是力热声光电的物理承载,以上,它本质是数学。

阅读全文,请先
您可能感兴趣
碳化硅(SiC)衬底已在电动汽车和一些工业应用中确立了自己的地位。然而,近来氮化镓(GaN)已成为许多重叠应用的有力选择。了解这两种衬底在大功率电路中的主要区别及其各自的制造考虑因素,或许能为这两种流行的复合半导体的未来带来启示。
对于大多数片上系统(SoC)设计而言,最关键的任务不是RTL编码,甚至不是创建芯片架构。如今,SoC主要是通过组装来自多个供应商的各种硅片知识产权(IP)模块来设计的。这使得管理硅片IP成为设计过程中的主要任务。
英特尔的嵌入式多裸片互连桥(EMIB)技术,旨在解决异构集成多芯片和多芯片(多芯粒)架构日益增长的复杂性,在今年的设计自动化大会(DAC)上掀起了波澜。它提供了先进的IC封装解决方案,包括规划、原型设计和签核,涵盖了2.5D和3D IC等广泛的集成技术。
一项技术要想产生广泛的影响,它不仅要解决短期的挑战,还应该超越现有技术的进步,为未来的创新打开大门。这就是我们对泛林集团(Lam Research)今年早些时候推出的全球首个用于半导体量产的脉冲激光沉积(PLD)技术的描述。
能量采集是低功耗电子设备供电技术发展的基本支柱,为实现对环境影响最小的可持续技术的未来铺平了道路。
许多人都听说过缓存一致性这个术语,但并不完全了解片上系统(SoC)器件,尤其是使用片上网络(NoC)的器件中的注意事项。要了解当前的问题,首先必须了解缓存在内存层次结构中的作用。
• 得益于西欧、关键亚洲市场和拉丁美洲市场的增长,以及中国品牌的持续领先,全球折叠屏手机出货量在2024年第二季度同比增长了48%。 • 荣耀凭借其在西欧特别强劲的表现,成为最大的贡献者,成为该地区排名第一的品牌。 • 摩托罗拉的Razr 40系列在北美和拉丁美洲表现良好,为其手机厂商的出货量贡献了三位数的同比增长。 • 我们预计,头部中国手机品牌厂商的不断增加将至少在短期内抑制三星Z6系列在第三季度的发布。
AI技术的发展极大地推动了对先进封装技术的需求,在高密度,高速度,高带宽这“三高”方面提出了严苛的要求。
奕斯伟计算2024首届开发者伙伴大会以“绿色、开放、融合”为主题,从技术创新、产品应用、生态建设等方面,向开发者、行业伙伴等相关方发出开放合作倡议,加速RISC-V在各行各业的深度融合和应用落地,共同推动RISC-V新一代数字基础设施生态创新和产业发展。
2024年 Canalys 中国云计算渠道领导力矩阵冠军厂商分别是:阿里云、华为云和亚马逊云科技(AWS)
文|沪上阿YI路特斯如今处在一个什么样的地位?吉利控股集团高级副总裁、路特斯集团首席执行官冯擎峰一直有着清晰的认知:“这个品牌的挑战依然非常大。首先,整个中国市场豪华汽车整体数据下滑了30%~40%,
文|萝吉今年下半年开始,国内新能源市场正式跨过50%历史性节点,且份额依然在快速增长——7月渗透率破50%,8月份破55%……在这一片勃勃生机万物竞发的景象下,新能源市场占比最高的纯电车型,却在下半年
文|德福很多去成都旅游的朋友都有个疑惑——为什么在成都官方的城市标志上看不到熊猫,而是一个圆环?其实这个“圆环”大有来头,它被唤作太阳神鸟,2001年出土于大名鼎鼎的金沙遗址,距今已有三千余年历史。0
天眼查信息显示,天津三星电子有限公司经营状态9月6日由存续变更为注销,注销原因是经营期限届满。该公司成立于1993年4月,法定代表人为YUN JONGCHUL(尹钟撤),注册资本约1.93亿美元,
8月28-30日,PCIM Asia 2024展在深圳举行。“行家说”进行了为期2天的探馆,合计报道了200+碳化硅相关参展企业(.点这里.)。其中,“行家说”还重点采访了骄成超声等十余家企业,深入了
9月6日,“智进AI•网易数智创新企业大会”在秦皇岛正式举行,300+企业高管及代表、数字化技术专家齐聚一堂,探讨当AI从技术探索迈入实际应用,如何成为推动组织无限进化的新引擎。爱分析创始人兼CEO金
往期精选2023年度中国移动机器人产业发展研究报告发布!超200个——2024年上半年AGV/AMR行业中标项目盘点市场保有量超10000台的8大中国AGV/AMR厂商总额超190亿-盘点全球移动机器
随着汽车智能化升级进入深水区,车载ECU(域)以及软件复杂度呈现指数级上升趋势。尤其是多域、跨域和未来的中央电子架构的普及,以及5G/V2X等车云通信的增强,如何保障整车的信息与网络安全,以及防范外部
近日,3个电驱动项目迎来最新进展,包括项目量产下线、投产、完成试验等,详情请看:[关注“行家说动力总成”,快速掌握产业最新动态]青山工业:大功率电驱项目下线9月5日,据“把动力传递到每一处”消息,重庆