亲,欢迎光临天天书吧!
错缺断章、加书:站内短信
后台有人,会尽快回复!
  • 主题模式:

  • 字体大小:

    -

    18

    +
  • 恢复默认

7月6日清晨,天刚蒙蒙亮,吕辰就从床上爬了起来。

娄晓娥还在睡,小吕晓晚上不老实,她半夜起来了两次。

吕辰轻手轻脚穿好衣服,到院子里洗了把冷水脸。

今天是个大日子。

昆仑工程的所有核心成员,将在计算机所召开第一次技术方案论证会。

各组要拿出自己的技术思路,摆在桌面上,接受所有人的质询。

这是昆仑工程从构想走向图纸的关键一步。

吕辰推着自行车出门的时候,何雨柱已经在厨房忙活了。

他探出头来:“小辰,不吃早饭了?”

“不吃了,要提早赶去开会。”吕辰跨上车,“表哥,一会告诉晓娥,今天会开得晚,中午不回来。”

他蹬着车,穿过清晨的胡同,往计算机所的方向骑去。

七点半,吕辰赶到计算机所。

门口的卫兵站得笔直,吕辰出示了证件,登记完毕,推车进去。

院子里已经停了不少吉普车、自行车。

熟悉的面孔三三两两往里走,包康建、秦世襄、陈光远、宋颜、谢凯......

每个人都拎着厚厚的文件袋,脸色郑重。

吕辰停好车,跟着人流走进二楼大会议室。

此时,主席台上放着一块巨大的黑板,旁边支着几个木架,用来挂图纸。

台下是一排排长条桌,铺着白布,每个座位前摆着一个搪瓷缸子。

吕辰在后排找了个位置坐下。

他今天不是主讲,是来听的。

但刘星海教授特意叮嘱他:“这是难得的学习机会,必须来。”

八点整,会议室的门关上了。

主席台上,刘星海教授站起来,扫视全场。

“同志们,今天这个会,是昆仑工程第一次技术方案论证会。”

他的声音清晰有力:“从4月13号到现在,将近三个月。二十七个组,一百多家单位,每个人都拿出了自己的方案。今天,我们要把这些方案摆在一起,一个一个过,一条一条问,看它们能不能拼成一台机器。”

他顿了顿:“昆仑工程是什么?是一台向量计算机。是咱们国家第一次,用自己的芯片,用自己的架构,去造一台能解决实际问题的机器。”

“这不是实验室里的玩具,是要装进机柜,插上电,跑起来的。是要给魏知远教授的数字孪生用的,是要给气象局预报天气用的,是要给国防科委算弹道用的。”

“所以,今天问的问题,不能客气。能问多深问多深,能问多狠问多狠。现在暴露的问题越多,将来机器跑起来之后出的问题就越少。”

他坐下,看向第一排的宋颜教授:“宋教授,你先来。”

宋颜站起来,走上主席台。

他穿着洗得发白的蓝色中山装,袖口有些磨毛,但整个人收拾得干干净净。

手里拿着一叠图纸,厚厚一摞,用牛皮纸袋装着。

他把图纸一张一张挂在黑板上方的木架上,然后转过身,面向全场。

“各位同志,我现在代表红星所集成电路实验室,向大家汇报,昆仑运算核心的设计方案。”

他拿起一根教鞭,指着第一张图纸。

那是一张系统框图,上面画着八个方块,用线条连接着。

中间一个方块标着“KL-01”,周围七个方块标着“KL-pE1”到“KL-pE7”。

“这是昆仑运算核心的整体架构。一个控制芯片,加七个运算芯片。”

台下安静下来,所有人都盯着那张图。

宋颜的教鞭指向中间那个方块:“KL-01,控制芯片。它的核心功能有四块:指令译码、微程序控制、时钟分发、中断处理。”

他指向周围那七个方块:“KL-pE1到pE7,运算芯片。每颗芯片集成八个独立的运算单元。七颗芯片加起来,一共五十六个运算单元。”

他把教鞭放下,转过身:“这是一个典型的SImd架构,单指令多数据流。所有运算单元在同一时钟节拍执行同一条指令,但处理各自的数据。”

台下有人举手,是数学所的陈教授。

“宋教授,我问一个问题。”陈教授站起来,“你这个七颗芯片、五十六个单元的设计,是基于什么考虑?为什么是七颗,不是六颗,不是八颗?”

宋颜点点头:“陈教授问得好。这个数字,是反复算出来的。”

他走到黑板前,拿起粉笔,写下一行字:“魏知远教授数字孪生需求:1024x1024网格,每步运算量约10^7次。”

他转过身:“我们算过,如果每颗芯片集成八个单元,七颗芯片就是五十六个单元同时算,可以在可接受的时间内完成一个时间步的迭代。八颗当然更快,但芯片面积会更大,良率会更低。六颗勉强够,但余量不足,将来算法升级可能吃力。”

他把粉笔放下:“七颗,是目前技术条件下,性能和可行性的平衡点。”

陈教授点点头,坐下。

宋颜继续讲。

他走到第二张图纸前,那是一张更详细的框图,标着“KL-01内部结构”。

“控制芯片KL-01,相当于整个系统的大脑。按现在的设计,需要集成大约400到500个逻辑门。”

他用教鞭指着图纸上的几个方块。

“这是微程序控制器,存放昆仑的微指令序列。每条微指令同时驱动所有运算芯片,告诉它们这拍该干什么。”

“这是指令寄存器与译码器。从外部来的指令,在这里被解析,转化成微程序的入口地址。”

“这是时钟分发网络。主时钟信号进来,在这里整形、放大,然后分发给七颗运算芯片。”

“这是状态寄存器。记录每个运算芯片当前是忙是闲,有没有出错。”

“这是中断控制器。处理运算溢出、除零这些异常情况。”

他放下教鞭,看向台下:“这个设计,参考了夏先生他们搞103机、104机的经验,也参考了西军电秦教授他们搞雷达信号处理的经验。微程序控制的好处是灵活,以后要加新指令,改微程序就行,不用改硬件。”

秦世襄举手:“宋教授,微程序的容量有多大?能存多少条?”

“初步设计是256条。”宋颜说,“够用。昆仑的指令集不会太复杂,向量运算就那么几种。”

秦世襄点点头:“256条,400门,差不多。再大,芯片面积受不了。”

宋颜走到第三张图纸前。

那是“KL-pE运算芯片”的内部结构图。

图纸上画着八个相同的方块,每个方块里面又有更小的方块。

“这是运算芯片的内部设计。”他用教鞭指着其中一个方块,“每颗芯片集成八个独立的处理单元,我们叫pE,processing Element。”

他看向第四张图,这是其中一个方块的放大版,指着里面的结构。

“每个pE包含三个部分:寄存器文件、算术逻辑单元、局部数据缓存。寄存器文件用来暂存中间结果,算术逻辑单元负责算数运算和逻辑运算,局部数据缓存用来存放当前需要处理的数据。”

他放下教鞭,看向台下:“每个pE的逻辑门规模,大约80个逻辑门。八颗pE加起来,加上芯片内部的控制逻辑、数据通路、时钟缓冲,整颗KL-pE的总规模大约400个逻辑门。”

台下响起一阵低低的议论声。

400门。

这个数字,在场的人都明白意味着什么。

陈光远举手了。

“宋教授,我问一个工艺问题。”他站起来,“400个逻辑门,在5微米工艺下,能不能实现?”

宋颜看着他:“陈厂长,这个问题,应该问你。”

陈光远点点头,走到台上。

他接过教鞭,指着那张图纸。

“我简单说几句。”

“800个逻辑门,按5微米工艺,每个门大概占多大面积?按我们现在能做到的集成度,一个门大约需要0.1到0.15平方毫米。400个门,就是40到60平方毫米。”

台下安静下来。

陈光远在空中比划了一下:“这么大面积的芯片,良率会很低。按6305厂现在的工艺水平,100平方毫米的芯片,良率可能只有百分之十几。也就是说,做100颗,能用的只有十几颗。”

“但这不是不能做。”他话锋一转,“陶瓷封装可以支持这么大面积的芯片。功耗方面,如果设计合理,每颗芯片可以控制在两瓦以内。七颗运算芯片加一颗控制芯片,总功耗十五瓦左右,风冷可以解决。”

他看向宋颜:“宋教授,我需要你保证一件事,芯片内部的功耗分布要均匀。不能有的地方热死,有的地方凉快。否则陶瓷封装也救不了。”

宋颜点点头:“这个我们设计的时候会考虑。每个pE的功耗差不多,布局的时候均匀分布。”

陈光远把教鞭还给他,回到座位。

宋颜继续讲。

他走到第五张图纸前,那是一张更细的图,画着芯片的引脚分配。

“芯片间的互联,我们采用物理互联。”他用教鞭指着图纸上的引脚,“每颗芯片用双列直插式封装,陶瓷的,可靠性高,适合军工级应用。”

他放下教鞭,念出一串数字:“引脚数,我们定在48个。间距2.5毫米。”

台下有人记笔记。

宋颜继续念:“这48个引脚的分配是:电源两个,地线两个,数据总线二十四个,地址总线八个,控制线八个,保留测试四个。”

夏先生举手:“宋教授,二十四条数据总线,是单向还是双向?”

“双向。”宋颜说,“控制芯片和运算芯片之间要交换数据,必须双向。”

“那冲突怎么解决?”夏先生问,“同一时刻,两边同时往总线上发数据,不就烧了?”

宋颜点点头:“夏先生问得好。这个问题,我们在设计总线控制器的时候会考虑。基本原则是,控制芯片掌握总线控制权。运算芯片要发数据,必须先申请,控制芯片同意之后才能发。”

夏先生点点头,在本子上记了一笔。

陈教授又举手了:“宋教授,我问一个逻辑层面的问题。你这八个芯片,用什么样的逻辑互联方式?是总线式,还是点对点?”

宋颜走到第六张图纸前。

那是一张拓扑图,画着一个中心方块,周围七个方块,全部用线条连接到中心。

“总线式星型拓扑。”他用教鞭指着图纸,“所有通信,都通过控制芯片中转。”

他把教鞭放在中心方块上:“全局指令总线,16位,从控制芯片广播到所有运算芯片。这条总线上携带的,是当前要执行的指令操作码。所有pE同时接收,同时执行。”

他把教鞭移到周围的一个方块上:“局部数据总线,16位,双向,用于控制芯片与运算芯片之间的数据交换。每次只能和一个运算芯片交换数据,通过片选线选择。”

他指着另外几条线:“片选线,7根,控制芯片用它们单独选中某个运算芯片。全局时钟线,1根,所有芯片共用同一个时钟源。”

他放下教鞭:“这套方案的好处是简单。所有pE听同一个指令,步调一致。数据交换虽然要分时进行,但对向量运算来说够了。大部分时候,pE只跟自己的局部缓存打交道,不需要频繁跟控制芯片换数据。”

秦世襄举手:“宋教授,时钟同步的问题,你打算怎么解决?”

宋颜走到第七张图纸前。

那是一张时钟分发网络的示意图。

图上画着一个晶振,然后一根线分叉成7根,每一根都画得弯弯曲曲,长度一样。

“秦教授问到了关键。”宋颜说,“向量运算的精髓,就是‘步伐一致’。所有pE必须在同一个时钟节拍执行同一条指令。差几纳秒都不行。”

他用教鞭指着那个晶振:“时钟源,我们准备用秦教授你们西军电研制的石英晶体振荡器。温漂控制在百万分之一以内,稳定性没问题。”

他指着那些弯弯曲曲的线:“时钟分发,我们从控制芯片出发,通过等长的蛇形走线,分发给七颗运算芯片。所有走线长度一模一样,确保传输延迟一致。”

他指着接收端:“在每个运算芯片内部,我们设计了时钟缓冲与整形电路,消除信号在传输过程中可能产生的畸变。”

他放下教鞭:“秦教授,这套方案,您认为可行吗?”

秦世襄点点头,没说话。

包康建举手了:“宋教授,我问一个数据交互的问题。数据从磁盘到芯片,再从芯片回磁盘,这个流程怎么走?”

宋颜走到第八张图纸前。

那是一张时序图,画着几条横线,上面标着各种时间刻度。

“包教授,这个问题,我们是这样设计的。”

他用教鞭指着第一条横线:“广播指令。从控制芯片发起,通过指令总线同时广播到所有pE。这个过程,一个时钟周期内完成。”

他指着第二条横线:“加载数据。从控制芯片发起,通过数据总线送到指定pE。这个过程需要地址译码,哪个pE,哪个寄存器,都要指定。所以慢一点,两到四个时钟周期。”

他指着第三条横线:“读取结果。从指定pE,通过数据总线送回控制芯片。同样需要两到四个时钟周期。”

他把教鞭放下:“至于pE之间的直接通信,我们这个版本不支持。向量运算的特点是‘数据并行’,每个pE处理自己那一块数据,不需要跟邻居交换。需要交换的时候,通过控制芯片中转。”

包康建点点头:“明白了。”

夏先生站起来,走到台上。

他接过宋颜手里的教鞭,面对全场。

“同志们,宋教授刚才讲的这个方案,我听了,也问了。现在我说几句我的看法。”

他用教鞭指着那张系统框图。

“八个芯片,一个控制,七个运算。五十六个运算单元。800的集成度。五微米工艺。双列直插陶瓷封装。总线式星型拓扑。等长蛇形走线时钟分发。”

他一口气念完,然后转过身。

“这个方案,在当前的技术条件下,是极具雄心的。但它不是空中楼阁。它建立在6305厂的工艺能力上,建立在西军电的晶振技术上,建立在我们计算机所十几年搞计算机的经验上。”

他顿了顿:“如果这个方案能成功,这将是完全自主的、达到国际前沿水平的中国第一代向量处理系统。”

台下响起一阵掌声。