历史上的今天
今天是:2024年08月25日(星期日)
2020年08月25日 | 硅光子芯片的奥秘:光学计算
2020-08-25 来源:EEWORLD
近年来,光子芯片发展势头正猛,其中两家初创公司(Lightmatter和Lightelligence)都展示了为人工智能加速设计的光学计算芯片,还有其他几家公司仍在研究这项技术。以Lightmatter为例,它在上周Hotchips上发布了AI光子处理器,该处理器利用光来计算和传输数据。
光学计算几乎不使用任何电能,以光速(硅)运行,有望在人工智能推理等工作负载方面比基于晶体管的计算有重大改进。

实现光学计算的技术是硅光子学,该领域致力于通过芯片上的硅结构发送红外光。在光通信应用,特别是数据中心基础设施的驱动下,硅光子学被用于将光学组件集成到硅芯片上,以利用CMOS的低成本和可扩展性以及CMOS设备的制造和组装的便利性。
虽然光学计算的概念已经存在了一段时间,但只有在过去几年里,硅光子学的发展才真正使它成为可能。之前试图利用传统光学技术制造光学晶体管的尝试都失败了;Lightmatter和Lightelligence等公司的工作并不是试图迫使光像晶体管中的电子一样工作,而是利用光的基本特性来执行MAC操作。
在最基本的层面上,光学计算机将数据编码为光的亮度。
Lightmatter首席执行官Nick Harris解释:“想象一下,你有一个手电筒,它前面有一些透明的材料,你可以控制有多少光通过它——这就要用到一个调制器,我们使用调制器来控制光的亮度,可以这样编码信息。最后就是乘法计算,你是在用信号乘以透明度。”
此外,在基本的层面上,只是简单地将两个波导连接在一起(波导是光向下传播的“线”——在Lightmatter的芯片中,波导约为300×200纳米)。
将这些概念组合在一起就可以制成光学乘法累加器(MAC),并用于创建更大的MAC阵列,这些阵列用于将矩阵相乘,这是计算当今AI推理工作负载所需的关键操作。
光调制
当然,真正芯片上的设备要复杂一些。
Lightmatter的光学计算架构使用马赫曾德尔干涉仪(MZI)作为调制器。MZI采用相干光(一束具有相同波长和相位的光),在y结处将这束光一分为二,然后对每半束光施加不同的相位偏移。然后,半光束在另一个y结点重新组合。不同的相位会引起相的干涉或相的干涉,从而有效地按所需的量调制光。

在硅光子学中是如何产生相移的?Lightmatter工程副总裁Carl Ramey介绍这里有几种不同的方法。
“最常见的方法是通过加热器,通过在波导上加热,可以改变折射率,也可以影响光通过波导的速度。这反过来会导致相移,它与温度的变化成正比,也与被加热的部分的长度成正比。”
不幸的是,热移相器对于高速计算来说,由于被加热段的热时间常数(它们可以在kHz范围内工作),通常速度太慢。
另一种光子相移结构是在波导中加入掺杂剂,以形成一个可以高速驱动的p-n结,但是这种类型的器件对于计算阵列来说太大了,而且损耗很大。
制造硅移相器的其他技术限制使得光物质从MEMS中得到提示并使用机械装置。实际上,这是一种纳米光学机电系统,缩写为NOEMS。
在NOEMS移相器中,波导的构造类似于MEMS结构,上面和下面的材料都被蚀刻掉了。在上面和下面的面板上施加电荷可以机械地使波导弯曲一小部分,足以影响其折射率并使通过的光信号的相位偏移。
Ramey介绍,Lightmatter之所以选择NOEMS,是因为它们的损耗极低,静态功耗接近于零,动态功耗很小,而且它们可以在高频(数百兆赫兹)驱动。
“如果你可以调节相位,你就可以创造一个以光速运行的倍增器,唯一消耗的能量就是移相器的能量和通过波导本身产生的少量光损耗,这是一个先进的概念。计算过程中不需要基本能量,当操作数被输入到输入端时,输出端几乎是零能耗。这与工艺规模或电压无关。”
多路复用信号
光计算的一个独特特性是多路复用的能力。这个想法已经在光纤通信中得到应用,在光纤通信中,对每个信号使用不同波长的光意味着可以同时将多个信号发送到同一个波导中。同样的理论也适用于光计算:通过将每组输入数据编码到不同波长的光中,可以同时进行多个人工智能推理。虽然理论上有一千多个通道是可用的,但由于目前激光技术的限制,在实践中只能同时得出八种推理。
同时进行多个推理,可以有效地使光学芯片同时执行8个芯片的工作,是提高计算性能的有力手段。
史海拾趣
|
如题,本来一直以为只是硬件相关的问题,可昨天一位朋友说,从软件也是可以调整这样的误差的,s3c2410手册里no.17就给了一个关于中断周期的公式,从哪入手呢?哪位知道,给个方向啊.3Q~… 查看全部问答> |
|
if(KeGetCurrentIrql()>PASSIVE_LEVEL)作用? 网上代码: HANDLE openfile(WCHAR* name,ACCESS_MASK access,ULONG share) { //return 0 for error. HANDLE hfile; IO_STATUS_BLOCK iosb; int stat; OBJECT_ATTR ...… 查看全部问答> |
|
eeworld在我心中不错,也不知从何时起就被eeworld吸引了,我想,在新的一年里,eeword应多组些制作,为了省经费可以走让厂家来赞助的方式,为什么强调做呢,这是在每次做时,增长的本事.单片和电子,是动手很强的学科.不动手永远不会开发出任何东东的.我想就 ...… 查看全部问答> |
|
又是中断问题! 之前有 xuanyu 和 lsdfae11 告知小弟中断嵌套,需要重新用_EINT()重新开启总中断。之后可以了。但是,最近我又写一个程序,同样用到中断嵌套。结果就大不一样了。下面是我的程序结构。 void main(void) { WDTCTL=WDTPW+WDTHO ...… 查看全部问答> |
|
大家好,我是单片机初学者,刚学汇编程序,用PIC16F876A-A/SP做了块实验板,调A/D模块部分快一个星期了,没调试成功,想借助宝地请各位老师指点下。 下面是相关的实验板原理图 此汇编程序实现A/D转换功能,应用于pic单片机上,A/D采用 ...… 查看全部问答> |
|
#include \"msp430g2231.h\"void main( void ){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; TACTL = TASSEL0 + TACLR; CCTL0 = CCIE; CCR0 = 16384; P1DIR |= BIT0; TACTL |=MC0; _EINT(); while(1);}# ...… 查看全部问答> |




