第601章 三轮训三联动(1 / 2)
线材车间的“现场课”,讲了将近两个小时。
从线材车间出来,已经是中午了。
四个人在食堂匆匆扒了一碗面条,就往微程序设计室走。
房间里,靠墙摆着两台午马机,连着二维卡读卡机,用于校验微程序,屏幕上滚着绿色的字符。
另一边摆着五台编程机,每台编程机连着二维卡制卡机。
另一面是一整墙顶天立地的柜子,里面放满了微程序二维卡,以及一本本的电路图、逻辑图。
孔宝祥走到一台午马机前,敲了一行命令。
屏幕上跳出一个文件目录,密密麻麻列着几百个文件名。
“线材车间的微程序组,一共包含67条微程序。”他敲了另一行命令,屏幕上开始滚动一行行绿色的字符,每一条都有编号、功能描述和实现方式。
他用手指点着屏幕。
“先说微程序的作用。工业计算机的每条指令,底层都是一段微程序。你们可以理解成,指令是给工程师看的,微程序是给机器看的。工程师写一条‘MOV’,机器要执行十几条甚至几十条微程序,取数据、送数据、存数据、更新指针,一条一条来。”
他点着屏幕上的一行。
“比如这条,M01,加热炉出钢控制。它的作用是:当加热炉的钢坯加热到设定温度,且轧机准备好接料时,发出出钢指令。实现方式很简单,读取温度传感器的值,与设定值比较;读取轧机状态信号,确认准备好标志位为真;两个条件都满足,输出一个脉冲信号给推钢机。”
大张海凑过来看了一眼屏幕,皱了皱眉。
“温度比较的阈值,是固化的还是可调的?”
“可调。”孔宝祥把屏幕往下翻了几行,“这里是参数区,炉温上限、下限、出钢节奏,都可以在线修改。改完了不用重启,系统自动加载新参数。”
他继续往下讲。
“微程序怎么配置?不是67条全用上。不同的钢种、不同的规格,需要的微程序组合不一样。轧螺纹钢和轧盘条,控制逻辑差别很大。所以我们要为每种产品规格做一个‘微程序配置文件’,就像菜单一样。工人选‘螺纹钢12毫米’,计算机自动加载对应的微程序组合。不用每次重新配。”
苏明华听得很认真。
“特殊部分怎么办?有些产线有独特的设备,比如有些厂在风冷线后面加了一台在线测径仪。这个测径仪的控制逻辑,你们的微程序库里没有。”
孔宝祥站直身子:“从控制电路中提取逻辑。测径仪的控制电路,不管用什么元件搭的,它的逻辑无非是‘采样—比较—输出’。我们把它的输入输出信号摸清楚,画出真值表,写出逻辑表达式,然后转成微程序。这个过程有标准流程,不难。”
“怎么保证新加的微程序不冲突?”大张海问。
“地址分配。”孔宝祥在屏幕上调出一张表格,“微程序存储器有预留空间。每个功能模块的地址范围是固定的,只要不超出这个范围,就不会冲突。我们还有一个‘冲突检测’工具,加载之前自动扫描一遍,发现地址重叠会报警。”
他把表格放大,让三个人都能看清。
“这是微程序存储器的地址分配表。基础控制模块占0x0000到0x1FFF,工艺参数模块占0x2000到0x2FFF,特殊功能模块占0x3000到0x3FFF。新加的微程序,只能放在0x3000之后,不会和基础模块冲突。”
大张海点了点头,在本子上记了一笔。
孔宝祥关了屏幕,转过身。
“微程序的‘现场课’,主要就这些。核心是三点:第一,每条微程序做什么、怎么做,心里要有数;第二,不同产线配不同的微程序组合,像配菜单一样;第三,特殊部分可以从控制电路里提取逻辑,转成微程序,有预留空间、有冲突检测,不会打架。”
他顿了顿,又补了一句。
“到了产线上,我们可能会遇到我没有讲到的情况。到时候电话打回来,要能准确描述问题,提出微程序的设计思路,确保北京这边能24小时之内,做出新的二维卡寄到现场,甚至最小作战单元就能现场制作二维卡加载新的微程序。”
从微程序设计室出来,已经下午三点多了。
四个人又往星河CAD的机房走。
机房里比外面凉快了不少,空调出风口呼呼地吹着冷风。
墨绿色的机柜在日光灯下泛着冷光,指示灯一排一排地闪烁着。
大张海走到管理员终端前面,敲了一行命令。
绘图机开始编制一个芯片的内部结构图。
他又输入一个指令,调出工业计算机的芯片指令集。
“工业计算机的指令集,一共48条。数据传输、算术运算、逻辑运算、转移控制、输入输出,五大类。每一条指令,对应芯片内部的一组硬件逻辑。”
他指着屏幕上的列表。
“比如这条,ADD,加法指令。它在芯片内部对应的是一个加法器,一组逻辑门,把两个数加起来。工程师写ADD的时候,他不需要知道加法器长什么样,但芯片设计师必须知道。因为加法器的位宽、延迟、功耗,直接影响指令的执行速度。”
不一会儿,绘图机绘制完成,大张海取下图纸,巨大的绘图纸上,黑色的线条密密麻麻,像一座微缩城市的地图。
他用笑在芯片结构图上画了一个圈,圈住了一小块区域。
“这里是ALU,算术逻辑单元。所有的算术运算和逻辑运算都在这里完成。ADD指令的执行路径是:从寄存器取数→送ALU→加法器计算→结果存回寄存器。这条路径上的每一个环节,都有时序约束。时钟频率10兆赫,每个时钟周期100纳秒。ADD指令要在一个周期内完成,所以从取数到存结果,全部要在100纳秒之内跑完。”
苏明华盯着纸上复杂的结构图,沉默了几秒。
“这些芯片,怎么装到板卡上?”
大张海敲了另一行命令,调出一张板卡的电路图,点击打印。
“芯片装在插座上,插座焊在板卡上,板卡通过金手指插到背板上。每颗芯片的电源引脚、地引脚、数据引脚、地址引脚、控制引脚,都要连接到对应的总线上。这些连接,在电路图里是一条条线,在板卡上是一根根铜箔。”
大张海讲了半小时,绘图机画完。
这张板卡图上,满是密密麻麻的线条和符号,比芯片结构图还要复杂。
他用笑在图上画了一条线,从一颗芯片的引脚出发,穿过密密麻麻的元件,最终到达板卡边缘的金手指。
“这条线是数据总线的一条。它从芯片出来,一经过个缓冲器,然后分成三路,一路去内存芯片,一路去I/O芯片,一路去金手指。走线的时候要注意长度匹配、间距、阻抗控制。线长了信号延迟大,间距小了有串扰,阻抗不匹配有反射。”
大张海转过身。
“芯片的‘现场课’,核心也是三点:第一,指令集是工程师和机器之间的约定,芯片是实现这个约定的硬件;第二,每一条指令在芯片内部都有对应的硬件逻辑,工程师不需要知道,但芯片设计师必须知道;第三,芯片装在板卡上,板卡插在机柜里,机柜连成系统,一层一层往上堆。”
他看着苏明华和孔宝祥。
“我们写微程序、跑现场的时候,心里要有一张图,这条指令在芯片里是怎么跑的,用了哪些逻辑门,花了多少时间。有了这张图,很多问题就不用猜了。”
从星河CAD机房出来,天已经快黑了。
四个人站在机房门口,夕阳从西边的窗户斜射进来,把整条走廊染成一片金黄。
吕辰从兜里掏出烟,给大张海和孔宝祥各发了一根,自己也点了一根。
“今天的三个课,你们也听了。苏明华讲产线,孔宝祥讲微程序,大张海讲芯片。三个人,三个领域,三种思维方式。”
他吸了一口烟,慢慢吐出来。
“你们回去之后,按这个方法,在各自的战队内部推广。大张海,你带着第一战队的人,到大张海那里学芯片;孔宝祥,你带着第二战队的人,到微程序设计室学微程序;苏明华,你带着第三战队的人,到产线上学现场。”