想象一座从不设立“总部大楼”的城市:一千万个居民各自在家中办公,平时互不打扰,只在需要合作时给对方寄出一张明信片。收信人拆开一看——“邻居家着火了,请帮忙”——立刻做出反应。没有 CEO,没有中央审批,没有排队等文件,整座城市却运转得井井有条。这就是大脑的工作方式。而本文的主角 SpiNNaker,就是人类用硅片仿照这座“信件城市”搭建的巨型沙盘:约一百万个微型处理器像一百万个社区邮局,通过脉冲“明信片”实时通信,试图在芯片上重现大脑的神经洪流。我们将从它为什么诞生、如何组织、怎样编程,一直聊到它能模拟多少大脑、离真正的人脑还差多远。

岗位关联

理解 SpiNNaker 的“事件驱动 + 百万核并行”设计,是读懂未来低功耗类脑硬件的一把钥匙。对 AI 从业者而言,它会刷新你对“算力”的定义——真正的智能也许不在更快的 GPU 里,而在更聪明的架构中。

目录
  1. 可视化演示
  2. 类脑芯片背景
  3. 百万核阵列
  4. 脉冲路由机制
  5. 实时仿真哲学
  6. 软件生态
  7. 脑科学应用
  8. 局限与展望
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示SpiNNaker的ARM核阵列架构(57核/chip+组播路由网络)、实时仿真能力(10⁹神经元vs人脑86B的规模对比/1:1实时)与脑回路模拟(视觉皮层/小脑/基底神经节+STDP学习)三大核心特性。

本节配有交互动效(进入视口后自动加载,约 3KB)。

SpiNNaker ARM核阵列架构 每芯片集成57个ARM968核心,每核模拟约1000个神经元及突触,芯片间通过组播路由网络分发脉冲事件 组播路由模拟生物神经元扇出连接,脉冲事件异步传播实现大规模并行仿真 57 cores/chip × 1000 neurons/core 大规模数字ARM阵列模拟生物脉冲神经网络

类脑芯片背景

想象一家老牌大公司:所有部门把文件送到 CEO 桌上,CEO 批完再让秘书送回各部门。平时没事,可一到月底,走廊里全是抱着一摞摞文件跑腿的人——公司不是不会算账,而是“送文件”的速度拖垮了算账的速度。传统计算机正是如此:计算在 CPU 里进行,数据存放在内存中,每一步操作都要先“取数—计算—存回”,数据搬运成了最昂贵的环节。这个困境,就是著名的冯·诺依曼瓶颈。

大脑给我们的启示恰好相反:一千亿个神经元既当“算盘”又当“仓库”,每个神经元自己就地处理信号,没有谁需要把所有数据送到中央。这种“分布式自治”让大脑在极低功耗下完成惊人计算。神经形态计算(Neuromorphic Computing)正是要模仿这种结构——不追求单核更快,而是让海量简单处理单元协同工作。SpiNNaker(Spiking Neural Network Architecture)就是这条路线上的代表工程,由曼彻斯特大学牵头,目标是在芯片上搭建一个“信件城市”级别的类脑平台。

用一句公式概括冯·诺依曼瓶颈的无奈:

SpiNNaker 的思路是“干脆裁掉 CEO”:让每个邮局即算即存、各自为政。只有当真正需要协作(神经元发放脉冲)时,才向邻居寄出一张明信片。于是,传统计算机最头疼的“大规模数据搬运”,在类脑架构中变成了稀疏、按需发生的轻量通信。

t=DB\displaystyle t = \frac{D}{B}
数据搬运时间等于数据量除以带宽——文件越多、走廊越窄,等待就越久。
  1. D(数据量)需要搬运的数据总字节数,好比月底堆积如山的文件。
    D\displaystyle D
  2. B(带宽)数据总线每秒钟能搬运多少数据,好比走廊的宽度。
    B\displaystyle B
  3. t(搬运时间)搬完这些数据所需的时间。当 D 爆炸式增长而 B 增长缓慢,t 就成了整个系统的瓶颈。
    t=DB\displaystyle t = \frac{D}{B}

百万核阵列

这座城市如何容纳一百万间邮局?SpiNNaker 的答案是:用最普通的 ARM968 处理器当“邮局员工”,把芯片像乐高积木一样拼成巨大的六角网格。每个芯片上有 18 个核,整机最终扩展到了约 100 万个核。每个核都配有自己的 SRAM 小仓库,信件存在自家门口,不需要去市中心取——这是“分布式存储”的精髓。

网格互连的设计也大有讲究。芯片之间通过片上网络(NoC)连接成三角形/六角形的拓扑,像蜂窝一样紧密。任何一个邮局想给远处邮局寄信,只需要把明信片交给邻居,邻居再传给下一个邻居,逐跳送达。没有“中央交换机”,因此不存在单点瓶颈,也正因如此,系统可以像搭积木一样不断扩展规模。

不过,并行不是免费的午餐。Gm 的加速效果受制于程序中不可并行的部分,这就是 Amdahl 定律想告诉我们的道理:

所以 SpiNNaker 不仅拼硬件规模,更在软件和网络设计上拼命降低串行开销——让每个核都尽量独立运转,彼此只靠稀疏的脉冲事件通信。正如一座真正高效的城市,从不需要所有邮局同时向总部汇报工作。

Smax=1(1−P)+PN\displaystyle S_{\text{max}} = \frac{1}{(1 - P) + \frac{P}{N}}
并行加速比的极限由串行比例决定:就算给你一亿个核,只要程序有 10% 必须串行,加速比也超不过 10。
  1. P(可并行比例)整个计算中能被拆开同时处理的部分占比,比如一座城市里可以同时派送的快递比例。
    P\displaystyle P
  2. N(处理器数量)参与并行计算的核数,相当于邮局数量。
    N\displaystyle N
  3. 加速比 S_max用了 N 个核后最多能快多少倍。当 N 趋于无穷大,加速比被限制在 1/(1-P)。
    Smax=11−P\displaystyle S_{\text{max}} = \frac{1}{1 - P}

脉冲路由机制

在这座城市里,邮递的货物不是厚重的文件,而是“明信片”——也就是脉冲(spike)。神经元不输出连续的数值,而是输出一串瞬时的“0/1 事件”:兴奋了就放一个电脉冲,安静了就一言不发。明信片上只写着一行字:“第 i 号神经元在时刻 t 发放了一次。” 这种编码方式称为 AER(地址事件表示,Address Event Representation)。

SpiNNaker 的每个核都配有一个路由器,相当于每个邮局都有个分拣台。收到明信片后,路由器看一眼目标地址,在路由表里查一下该往哪个方向送,然后转交给下一个邻居。整个过程不需要知道明信片内容——只需要知道“谁发给谁”。这种逐跳转发机制,让任意两个核之间都不用拉专线,而是共享一套庞大的道路系统。

信息量大小与明信片的频繁程度直接相关:

事件驱动的妙处还在于“没有明信片就没有流量”。传统 GPU 无论网络是否空闲,都要按固定节奏刷新每一层;而 SpiNNaker 的通信与神经活动同步——城市安静时道路空空如也,突发活动时道路才迎来脉冲洪流,这让平均功耗大幅下降。

f=nT\displaystyle f = \frac{n}{T}
发放率 f 等于时间窗口 T 内脉冲次数 n 除以窗口长度,它是脉冲神经网络中最基本的信息编码维度。
  1. n(发放次数)在统计窗口内,该神经元总共放了多少个脉冲。
    n\displaystyle n
  2. T(时间窗口)统计时长,好比观察城市交通流量的时间段。
    T\displaystyle T
  3. f(发放率)每秒脉冲次数,单位是赫兹(Hz)。发放率越高,代表神经元越兴奋、信息强度越大。
    f=nT\displaystyle f = \frac{n}{T}

实时仿真哲学

最好的同声传译员,不是翻译得最快的人,而是跟得上说话人节奏的人——对方说完一句,译员就必须在一秒内把意思递出去。SpiNNaker 的设计目标正是如此:“实时”意味着仿真时钟与生物时钟同步流逝——生物大脑过了 1 毫秒,仿真系统也精确走过 1 毫秒。既不能慢(否则无法做闭环实验),也不必快(快太多反而要等真实世界,失去了同步的意义)。

为了实现实时,SpiNNaker 采用时间片步进方式:每 1ms 生物时间对应一个仿真步,系统在该步内处理完所有到达的事件包,就算“跟上了节奏”。如果一个核上没有事件到达,它就可以进入低功耗等待状态——这就是“事件驱动休眠”:没有活干就熄灯打烊,明信片一到才立刻开门营业。省下来的功耗,被用于支撑更大规模的神经回路。

实时程度可以用加速比精确描述:

正是因为实时,SpiNNaker 才能与真实世界无缝对接:机器人手臂的传感器信号实时传入芯片上的小脑模型,模型计算出的矫正指令又实时传回电机。像同声传译一样,每一毫秒都被精确兑现,这正是“类脑”最迷人的地方。

R=tbiotwall\displaystyle R = \frac{t_{\text{bio}}}{t_{\text{wall}}}
R=1 表示仿真与生物时间完全同步,R>1 表示仿真快于生物时间,R<1 表示仿真跟不上。
  1. t_bio(生物时间)真实神经系统经历的时间,比如一只果蝇从闻到气味到转身飞走所经过的毫秒数。
    tbio\displaystyle t_{\text{bio}}
  2. t_wall(墙上时间)仿真程序实际运行消耗的时间,因为通常用墙上的挂钟测量所以得名。
    twall\displaystyle t_{\text{wall}}
  3. 实时加速比 R两者的比值。SpiNNaker 的荣耀不是“跑得快”,而是“不拖拍”——让 R 无限接近 1。
    R=tbiotwall\displaystyle R = \frac{t_{\text{bio}}}{t_{\text{wall}}}

软件生态

有了百万间邮局,还得有一套城市规划语言,否则每间邮局各自为政,城市必然乱套。PyNN 就是这套“普通话”:它提供统一的 Python 接口,让研究者用同一种语法描述神经元类型、连接方式、刺激协议,而不用关心底层硬件是谁。sPyNNaker 工具链则相当于“规划院”——把用 PyNN 写好的网络蓝图,自动编译、映射、路由到每个 ARM 核上,生成每个核可以执行的 C 代码。

在众多神经元模型中,LIF(Leaky Integrate-and-Fire,泄漏积分发放)是最经典的一款。它的物理图像非常直观:把神经元膜电位想成一个水池,输入电流是注水管,细胞膜则是一面会渗水的墙——水一边注进来,一边从墙缝漏走。只有注水速度超过漏水速度,水位才会持续上涨,直到达到某个高度(阈值)后,神经元“叮”地发放一个脉冲,然后水位迅速回落到静息值。

这就是 LIF 模型的数学表达:

在 sPyNNaker 的帮助下,研究者只需像写普通 Python 一样定义模型,剩下的编译、映射、路由都由工具链自动完成。正如城市规划者不需要给每个邮局员工写培训手册,只需画好蓝图,规划院就会把图纸变成百万份定制排班表。

τmdvdt=−(v−vrest)+RmI(t)\displaystyle \tau_m \frac{dv}{dt} = -(v - v_{\text{rest}}) + R_m I(t)
膜电位的变化率由两项竞争决定:泄漏项把电位拉回静息值,输入项把电位推向阈值。
  1. v(膜电位)神经元细胞膜内外的电压差,也就是“水池水位”。
    v\displaystyle v
  2. dv/dt(变化率)膜电位每秒上升或下降的速度。
    dvdt\displaystyle \frac{dv}{dt}
  3. 泄漏项 -(v - v_rest)水位离静息值越远,渗漏回流的力量越强。
    −(v−vrest)\displaystyle -(v - v_{\text{rest}})
  4. 输入项 R_m I(t)输入电流乘以膜电阻,相当于注水管粗细与水流速度的乘积。
    RmI(t)\displaystyle R_m I(t)
  5. 时间常数 τ_m决定水池反应快慢的惯性指标。τ 越小,神经元反应越快。
    τm\displaystyle \tau_m
  6. 发放条件当 v 达到阈值 v_th,神经元发放脉冲并将电位重置为 v_reset。
    v≥vth⇒spike\displaystyle v \ge v_{\text{th}} \Rightarrow \text{spike}

脑科学应用

有了这套“城市沙盘”,科学家最想做的事,是在沙盘里做现实中无法轻易完成的实验:把某条街封掉,看整座城市如何拥堵;把某些居民的联络规则改掉,看信息如何传播。对应到脑科学,就是在 SpiNNaker 上实时模拟神经回路,验证“大脑如何工作”的假说。

SpiNNaker 已成功应用于多个脑科学方向。比如模拟皮层微回路——皮层是大脑负责高级认知的外层,研究者构建数千到数百万个 LIF 神经元的网络,观察不同连接参数下网络是否出现与真实脑电一致的振荡节律;又比如癫痫研究——在模型中人为增强兴奋性神经元比例,观察网络是否从正常放电滑向同步爆发,帮助解释癫痫发作的机制。SpiNNaker 平台甚至被用于模拟小脑和基底神经节,为运动控制和帕金森病研究提供计算验证。

衡量一个神经网络的复杂程度,除了看神经元数量,更要看连接数:

对于脑疾病建模,这一点尤为重要:许多神经系统疾病的根源不在神经元本身,而在于连接模式异常。SpiNNaker 让科学家能够在“活的模型”上反复测试干预方案,这种“可计算假说检验”是传统湿实验难以做到的。城市沙盘里的每一次推演,都在为理解真实大脑投下一束光。

Ctotal≈N×k\displaystyle C_{\text{total}} \approx N \times k
总突触连接数约等于神经元数量乘以每个神经元的平均突触数。连接关系才是大脑信息处理的真正骨架。
  1. N(神经元数量)网络中模拟的神经元总数,好比城市的人口数。
    N\displaystyle N
  2. k(平均突触数)每个神经元平均连接到的下游神经元数量,好比每个人平均认识多少个朋友。
    k\displaystyle k
  3. C_total(总突触数)网络中全部连接的数量,它决定网络能表达多复杂的信息模式。
    Ctotal≈N×k\displaystyle C_{\text{total}} \approx N \times k

局限与展望

百万邮局的城市也有自己的天花板。第一堵墙是“存储墙”:每个核的 SRAM 只有几百 KB,复杂的大规模模型往往塞不进这间小仓库;第二堵墙是“通信墙”:当脉冲风暴来袭,海量明信片同时涌向路由器,城市道路也会堵得水泄不通;第三堵墙是“规模墙”:目前 SpiNNaker 最多能实时模拟约 10 亿个简单神经元,而人脑有约 860 亿个神经元——尚差两个数量级。

更直观地说,人脑是一座真正的“超级城市”:

面对这些挑战,下一代路线已经在路上:SpiNNaker 2/3 改用更强大的专用神经元核,支持突触可塑性等更丰富的生物学机制;光子互连技术被寄予厚望,用光代替电传输脉冲,有望突破通信带宽墙;类脑芯片与深度学习加速器的混合架构也在探索中——用 GPU 做离线训练,用类脑芯片做在线低功耗推理。从一百万个邮局到一整座超级城市,路途尚远,但前进的方向已经无比清晰。

Sbrain≈Nbrain×kavg≈8.6×1010×104≈1015\displaystyle S_{\text{brain}} \approx N_{\text{brain}} \times k_{\text{avg}} \approx 8.6 \times 10^{10} \times 10^{4} \approx 10^{15}
人脑约有 860 亿神经元,每个神经元平均约 1 万条突触,加总起来是 100 万亿条连接——这个数字比银河系恒星数量还要高一个数量级。
  1. N_brain(神经元数量)人脑中约 860 亿个神经元。
    Nbrain≈8.6×1010\displaystyle N_{\text{brain}} \approx 8.6 \times 10^{10}
  2. k_avg(平均突触数)每个神经元平均约形成 1 万个突触连接。
    kavg≈104\displaystyle k_{\text{avg}} \approx 10^{4}
  3. S_brain(突触总量)两者相乘得到约 10^15 条突触,这是人脑信息容量的物理基础。
    Sbrain≈1015\displaystyle S_{\text{brain}} \approx 10^{15}

AI 应用场景

脑科学环路的可计算验证

阶段:模型验证与机制研究

解决的问题:传统脑科学研究主要依赖动物实验和脑电记录,难以对“假设”做系统性验证。SpiNNaker 让科学家把假说写成神经回路模型,在实时仿真中观察模型行为是否复现临床现象。

具体案例:研究者用 PyNN 搭建海马体癫痫网络模型,配置不同比例的兴奋性/抑制性神经元,在 SpiNNaker 上实时运行。当抑制性神经元比例降低时,模型出现与癫痫患者脑电一致的异常同步放电,为“抑制不足导致癫痫”的理论提供了计算证据。

事件驱动的低功耗实时感知

阶段:数据采集与边缘推理

解决的问题:传统视觉系统以固定帧率逐帧处理图像,功耗高、冗余多,且对快速运动目标响应延迟大。事件相机(DVS)只在亮度变化时输出事件,与 SpiNNaker 的脉冲网络天然匹配。

具体案例:在机器人平台上部署 DVS 事件相机与脉冲神经网络,SpiNNaker 实时运行手势识别模型。事件流直接驱动 SNN 发放,系统只在真正有视觉变化时消耗能量,响应延迟低至毫秒级,功耗比传统 GPU 方案低一个数量级。

神经形态机器人的实时闭环控制

阶段:推理与控制

解决的问题:传统机械臂在未知动态环境下需要频繁重调 PID 参数,鲁棒性差。小脑回路擅长做毫秒级的前馈修正,SpiNNaker 能实时模拟这样的小脑脉冲网络。

具体案例:SpiNNaker 实时模拟小脑样 SNN,接收关节角度误差作为输入,输出矫正信号驱动机械臂电机。由于仿真与生物时间同步,整个闭环无需等待批量计算,机械臂能像人手一样对扰动做出即时柔顺反应。

Python 演示

python33 行
# -*- coding: utf-8 -*-"""Runable demo: leaky integrate-and-fire (LIF) neuron simulation."""  def lif_sim(i_inj, sim_time=0.2, dt=0.0001,            v_rest=-70e-3, v_th=-55e-3, v_reset=-75e-3,            tau_m=0.01, r_m=100e6):    """Solve LIF model with Euler method, return spike times."""    v = v_rest    spikes = []    t = 0.0    while t < sim_time:        # 对应 LIF 公式: dv/dt = (-(v-v_rest) + Rm * I) / tau_m        dv_dt = (-(v - v_rest) + r_m * i_inj) / tau_m        v += dv_dt * dt        if v >= v_th:            v = v_reset            spikes.append(t)        t += dt    return spikes  def main():    i_inj = 0.22e-9  # 注入电流 220pA, 对应约 70Hz 发放    sim_time = 0.2   # 统计窗口 200ms    spikes = lif_sim(i_inj, sim_time)    rate = len(spikes) / sim_time    print("spike times (ms):", [round(t * 1000, 1) for t in spikes])    print("estimated rate (Hz):", round(rate, 1))  if __name__ == "__main__":    main()
目的:用欧拉法数值求解 LIF 神经元模型,在恒定电流刺激下统计脉冲发放时刻与发放率。
  1. dv_dt = (-(v - v_rest) + r_m * i_inj) / tau_m这是 LIF 公式的代码化:右边两项分别是泄漏项和输入项,除以时间常数得到电压变化率。
  2. v += dv_dt * dt用欧拉法把瞬时变化率积分成下一时刻的膜电位,相当于每小步给水池注一次水。
  3. if v >= v_th:阈值判定,这是“事件驱动”的雏形:平时静默,只有越过阈值才发放一个脉冲。
  4. rate = len(spikes) / sim_time把脉冲次数除以窗口长度,得到发放率(Hz),对应正文中的公式 f = n/T。

常见误区

误区看到“SpiNNaker 有百万核”的新闻,以为它已经能实时模拟完整人脑,甚至比人脑更强大。

正解SpiNNaker 目前最多实时模拟约 10 亿个“简化”神经元,而人脑有约 860 亿个神经元、10^15 条突触。它模拟的是特定脑区回路(如皮层微柱、小脑),且神经元模型经过了大幅简化。用城市比喻来说,我们只是建成了一座“百万人口的实验新城”,还远没到“北京的规模”。

为何常见:媒体常把“百万核”和“模拟大脑”画上等号,忽略了“简化模型”和“特定回路”这两个关键限定词。

误区听到 SNN 模仿大脑、事件驱动、超低功耗,就认为它应该全面取代 CNN/Transformer,成为下一代 AI 的主流。

正解SNN 与深度神经网络是不同范式的互补工具。SNN 的优势在于生物真实性、事件驱动低功耗、时间编码,但目前在 ImageNet 等图像任务上的精度仍落后于 CNN。SpiNNaker 也主要面向脑科学仿真,而不是替代 GPU 跑大模型。

为何常见:人们容易把“更像大脑”等同于“更聪明”,但工程实用性和生物真实性是两条不同的评价轴。

误区以为百万个 ARM 核就像一台超大型通用计算机,可以随意运行 Python、PyTorch。

正解每个核运行的是经过 sPyNNaker 编译好的专用脉冲网络仿真程序,核上几乎没有操作系统,内存极小,无法安装通用软件栈。它是“专用神经形态处理器”,不是“通用的百万核服务器”。

为何常见:看到“ARM 核”就联想到手机 CPU,忽略了硬件设计目标是神经仿真而非通用计算。

误区认为 SpiNNaker 追求的是把仿真速度推到极限,比生物快成千上万倍才算厉害。

正解SpiNNaker 的目标是“实时”——让 R=1,即生物过 1ms 仿真也过 1ms。慢会被真实世界抛下,快则无法与外部设备同步交互。同声传译最重要的不是说得快,而是跟得上节奏。

为何常见:大众习惯用“算力=速度”来衡量一切计算系统,忽略了实时系统中的“同步”比“极速”更重要。

误区把 SpiNNaker、TrueNorth 等神经形态芯片想象成“类脑版 GPU”,认为它们是用来加速深度学习推理的。

正解神经形态芯片的核心特征是事件驱动、异步、存算一体,目标是模拟脉冲神经网络,与深度学习加速器(如 TPU)的设计哲学完全不同。虽然人们正在探索二者融合,但目前它们是两条发展路线。

为何常见:市场上 AI 芯片概念火热,人们很容易把所有面向 AI 的新芯片都归入“加速卡”的认知框架里。

面试题

Q1. SpiNNaker 的“百万核”指的是什么?

单选题 · easy

  • A.一百万个 GPU 计算核心
  • B.约一百万个 ARM 处理器核← 正确答案
  • C.一百万个专门的神经元芯片
  • D.一百万个高容量内存条

答案:B。SpiNNaker 的百万核由 ARM968 处理器构成,每个核模拟多个简化神经元,而非 GPU(选项 A)或独立芯片(选项 C)。它的本质是“百万个协作的处理器核”,选 B。

Q2. 冯·诺依曼架构的主要瓶颈是?

单选题 · easy

  • A.处理器算力始终不够用
  • B.数据搬运开销超过计算本身← 正确答案
  • C.芯片散热成为最大痛点
  • D.编程语言抽象层次太低

答案:B。冯·诺依曼架构将存储与计算分离,每次运算都先取数再存回,数据搬运(t=D/B)成为真正瓶颈,而不是算力不足。这就像公司里跑腿送文件的走廊堵住了,再快的 CEO 也白搭。

Q3. 脉冲神经网络中信息传递的基本单位是?

单选题 · easy

  • A.高精度浮点数矩阵
  • B.连续变化的电压波形
  • C.离散脉冲事件序列← 正确答案
  • D.布尔逻辑门的开关

答案:C。SNN 用离散的脉冲(spike)事件传递信息,神经元要么放脉冲、要么沉默,类似“明信片”而非连续电压。浮点数矩阵是人工神经网络(如 CNN)的表示方式,连续波形是生物电信号的原始形态,二者都不是 SNN 的编码单位。

Q4. LIF 模型中“泄漏”项的物理含义是?

单选题 · mid

  • A.膜电位不受任何外刺激影响
  • B.膜电位自发回归静息电位← 正确答案
  • C.神经元把记忆完整保留下来
  • D.突触传递效率逐渐降低

答案:B。LIF 模型中的泄漏项 -(v-v_rest) 表示:没有输入电流时,膜电位会像渗水的水池一样自发放电回落到静息电位。选项 A 错误,泄漏恰恰是受膜物理性质支配的被动过程,选项 C 与泄漏的含义相反。

Q5. SpiNNaker“实时仿真”指的是?

单选题 · mid

  • A.仿真时间必须尽可能快
  • B.生物时间与仿真时间同步演进← 正确答案
  • C.芯片时钟必须采用生物时钟
  • D.仿真只能跑一毫秒的短数据

答案:B。实时仿真的核心是 R=t_bio/t_wall=1,即生物过 1ms 仿真也过 1ms。快不是目标,同步才是。芯片仍用电子时钟(选项 C 有误),而是用软件让二者对齐,因此选 B。

Q6. AER(地址事件表示)的核心思想是?

单选题 · mid

  • A.脉冲按照优先级顺序排队传送
  • B.用神经元编号加时间戳表示事件← 正确答案
  • C.所有脉冲共用一个全局共享的地址
  • D.每条突触单独拉一条物理连线

答案:B。AER 把“哪个神经元在何时发放”编码成一个事件包,即“编号+时间戳”,像明信片上写清寄件人和时间。选项 C 与 AER 的“逐事件独立地址”矛盾,选项 D 是极端布线方案,并非 AER 的做法。

Q7. 根据 Amdahl 定律,加速比的最终上限取决于?

单选题 · hard

  • A.处理器数量可以无限增加
  • B.不可并行的串行比例← 正确答案
  • C.存储器总容量大小
  • D.网络带宽的上限

答案:B。Amdahl 定律 S_max=1/(1-P) 表明,无论核数 N 多大,加速比上限由不可并行部分的比例 (1-P) 决定。若串行比例占 10%,加速比永远超不过 10 倍。这与存储容量、网络带宽无关。

Q8. 下列哪些属于神经形态计算的特征?

多选题 · mid

  • A.事件驱动异步通信← 正确答案
  • B.计算与存储紧密耦合← 正确答案
  • C.逐层同步前向传播
  • D.依赖全局时钟同步计算

答案:AB。神经形态计算模仿大脑,采用事件驱动、异步、存算一体(计算存储紧耦合)。逐层同步前向传播是传统神经网络的推理方式,全局时钟同步是 GPU/CPU 的设计特征,故 C、D 错误。

Q9. SpiNNaker 相比生物大脑目前的差距包括?

多选题 · hard

  • A.神经元数量相差约两个数量级← 正确答案
  • B.无法模拟任何脉冲网络
  • C.突触连接数远低于人脑← 正确答案
  • D.完全没有路由通信能力

答案:AC。SpiNNaker 可模拟约 10^9 个简化神经元,人脑约 8.6×10^10 个,差约两个数量级(A 对);突触规模同样远低于 10^15(C 对)。它能模拟脉冲网络且具备完整路由机制,故 B、D 错误。

Q10. 下列对 SpiNNaker 路由网络的描述,正确的有?

多选题 · extreme

  • A.路由器按地址逐跳转发脉冲事件← 正确答案
  • B.事件包内不包含神经元编号
  • C.每次路由都要经过全局共享总线
  • D.神经元安静时网络几乎零流量← 正确答案

答案:AD。SpiNNaker 路由器根据路由表逐跳转发事件包(A 对),AER 事件包恰恰包含神经元编号和时间戳(B 错),网络是分布式网格而非全局共享总线(C 错)。事件驱动特性决定了无活动时无流量(D 对),故选 A、D。