星河计划被接管以后,对于红星所来说,其实没什么区别。
这本就不是什么新鲜事。
红星所从成立那天起,就涉及国防军工,大门外站的从来都是军人,进出查三证一天没断过。
6305厂破土动工那会儿,保卫就换成了现役部队,荷枪实弹,二十四小时巡逻。
惊雷项目组成立后,国防科委又派了代表驻所,办公室就在三楼东头,门上连个牌子都没挂。
全所研究员早就被筛了好几遍。
谁家几口人,什么成份,社会关系清不清楚,有没有海外关系,全在本子上记着。
吕辰早就是“绝对可靠”,最近那两则登报声明,又堵上了最后一点疑虑,这事儿就算翻篇了。
所以军管不军管的,对吕辰来说,该上班还是上班,该干活还是干活。
昆仑工程也和他没什么直接关系。
架构是他提出来的没错,但那只是开始,动动嘴皮子的事。
真正把架构变成图纸,把图纸变成芯片,那是宋颜教授、吴国华的事,他们带着集成电路实验室好几个小组在干,吕辰完全插不了手。
甚至夏先生在会上亲自定的昆仑-0机,其对集成电路实验室也没任何影响,因为芯片就是正在设计的KL-01主控核心,加上KL-pE01到KL-pE07那七块运算核心。
这些事,集成电路实验室的人在干,计算机所在干,理论组也在干。
吕辰偶尔去听听进展,提几句建议,但具体的事不用他上手。
这是宋颜教授的事,不是吕辰的事。
吕辰现在的主要身份是工程师和科研助教,核心职责是跨领域、跨项目的“救火队长”与“技术催化器”。
他手头正在带的项目有三四个,除了《可编程逻辑控制器概念设计》,其他都是自动化方面的工作。
每天穿梭于实验室、车间、会议室之间,解决最棘手的系统级问题。
又是一天清晨,阳光透过窗户照进来,在办公桌上投下一片金黄。
吕辰泡好一杯茶,拿起桌上的《人民日报》,翻到国际版。
头条是一篇揭露美苏太空合作真相的文章,标题很犀利:《美苏两霸勾心斗角 太空“合作”纯属骗局》。
吕辰端着茶杯,一行一行往下看。
报道说,美联社消息,美国在佛罗里达州卡纳维拉尔角频繁发射卫星,这是“美帝国主义推行全球霸权、镇压民族解放运动的军事需要”。“双子星座”计划,是为侵略战争服务的空中侦察与间谍活动。
另一边,塔斯社发声明,把苏联的“联盟号”飞船和金星探测器计划,定性为“转移国内人民视线、掩盖资本主义复辟真相的虚伪把戏”。勃列日涅夫上台后,追随美帝,鼓吹“和平共处”,实际上是在太空军备竞赛中跟美帝争抢分赃。
报道最后总结:美苏争霸,反映的是“帝国主义阵营日益衰落、修正主义集团彻底背叛”。两国无论谁在太空领先,都是在疯狂掠夺科研成果,目的是更残酷地压迫本国人民,进行世界范围的侵略。
最后一段写得提气:“与美国和苏联的穷兵黩武截然相反,中国发展尖端技术完全是为了打破超级大国的核垄断和太空垄断,服务于人民,并支持世界革命。”
报道下面配了一幅漫画。两个壮汉,一个戴着星条旗高帽,一个戴着苏联红军帽,在太空中扭打成一团。地面上,亚非拉人民高举革命红旗。标题写着:两霸相争 革命得益。
吕辰正看得津津有味,门被推开了。
宋颜教授走进来,手里拿着一摞图纸,往他桌上一放。
“小吕,有个活。”
吕辰放下报纸,抬起头:“宋教授,您说。”
宋颜在对面椅子上坐下,开门见山:“昆仑工程的编程机,刘教授在会上定了,由咱们我们所和计算机所牵头。实验室现在所有人都抽不开身,吴国华他们正赶昆仑机的芯片设计,谢凯忙惊雷项目,钱兰和诸葛彪在设计键合机。算来算去,就你手上暂时没项目。”
吕辰点点头:“明白。什么要求?”
宋颜把那摞图纸往前推了推:“这是计算机机所送来的技术需求,设计组这边你负责,把总体的方案做出来,和计算机所对接,由他们跟据方案,把任务分给星河计划各组攻关,集成电路实验室还是负责芯片设计,总成也在计算机所。”
宋颜顿了顿:“夏先生亲自点名,要你来做总体架构。”
吕辰接过来翻了翻。
密密麻麻的,列了很多需求,连微程序的指令格式、微操作定义、时序要求都写了好几页。
宋颜继续说:“人手方面,我已经叫诸葛彪和钱兰暂时放下键合机的设计,再把第八组调给你们使用。三十个人,底子都不错,你带着他们好好练手。”
“三十个人?”吕辰愣了一下,“这么多?”
“你以为呢?”宋颜站起来,“编程机看着简单,牵涉的东西不少,这是集成电路实验室的一次重要练兵,你们就是把系统架构搭出来,然后拆成模块,分下去。”
吕辰把那摞图纸又翻了翻,心里大概有了数。
“行。”他说,“什么时候开始?”
“现在。”宋颜走到门口,回过头,“夏先生的意思,三个月内拿出方案,年底前做出样机。昆仑-0明年要跑程序,不能等。”
门关上了。
吕辰坐在那儿,盯着那摞图纸看了半天,然后端起茶杯,喝了一口。
茶已经凉了。
他站起来,走到窗前。
窗外是研究所的主楼,灰墙青瓦,朴素得不能再朴素。主楼后面,是工业陶瓷和冶金材料研究中心的厂房,大烟囱正往外吐着白烟。再往远处,能看见6305厂那片正在施工的工地,塔吊矗立,人来人往。
吕辰把窗户推开一条缝,四月的风灌进来,带着一点煤烟味,一点青草味,还有远处工地上隐隐约约的号子声。
他点了一根烟,慢慢抽着,脑子里开始转。
编程机。
这词儿搁后世,没人知道是什么东西。
但在这个年代,这玩意儿是刚需。
当前计算机的指令,包括103、104系列,dJS系列都是用微程序实现的。
所谓微程序,就是把每条机器指令,拆成一串更底层的微操作。
比如一条“加法指令”,背后可能是“取指令→译码→取操作数→执行→写回”这么一串步骤。每一步,对应一条微指令。
编写这些微代码,就是把复杂的指令逻辑,转换成0101的二进制序列。
这是一项极其繁琐、极易出错的工作。
最传统的方法是用纸和笔,一条一条手写,然后让人工打到纸带上。
但昆仑机不一样,它是大型向量运算系统,需要的指令数量远超任何计算机。
手写?打到纸袋上?且不说效率,光是差错就能把人逼疯。
编程机要做的,就是把这个过程自动化,让工程师用更“人友好”的方式输入微程序。
目前流行的编程机,都是那种超大机柜,一堆开关,无数信号灯,加纸带打孔机的样式。将输入的指令,由机器自动转换成二进制,打到纸带上。
吕辰又看了看计算机所发来的这个技术需求,思路还是老一套。
不过吕辰毕竟是两世人,见识过无数个人电脑,在他看来,这其实就是一个专用记事本,因此肯定不会再用老一套的办法。
他脑子里开始浮现出一个画面。
一个机柜,和后世电脑的机箱差不多大。
前面是一个键盘,按键密密麻麻,除了数字键,还有字母键、功能键。
键盘上方是一排荧光管阵列,不是单个的数码管,而是一整排,能显示一行字符。
机柜侧面连着一台制卡机,和哈工大研发的那种差不多,能把数据打成二维卡上的孔。
工程师坐在机柜前,用键盘输入微程序。
用的是助记符,比如“LoAd R1, #5”。
输入的内容实时显示在荧光管上。
输错了,可以按删除键改。
确认无误后,按一下“制卡”键,机器自动把整段微程序转换成孔位数据,制卡机开始工作,几秒钟后,一张二维卡就从机器里“吐”出来。
工程师拿起那张卡,走到昆仑机的读卡机前面,插进去,按启动键。
昆仑机开始运行,微程序被读入,指令开始执行。
吕辰睁开眼睛。
这个思路,可行。
他起身给自己倒了杯水,站在窗前,继续往下想。
要实现这个思路,需要解决几个核心问题。
第一是显示,红星二号用的是荧光管显示,只能显示数字和少量字符。
但编程机需要显示字母、符号,至少得能显示一行二三十个字符。
技术上,可以在原有驱动电路的基础上,增加译码逻辑和字符发生器,让荧光管能扩展出字符显示功能,就是最好的方案。
第二是输入,这个肯定用键盘。
红星二号的计算器键盘只有数字键加少量功能键,十几二十个按键。
但编程机需要更多的功能键,需要字母键,至少得六七十个按键。
键盘本身就是开关矩阵,增加按键只是增加矩阵的行列数,技术上没难度。
第三是存储,这是最大的挑战。
编程机需要三类存储:程序存储器,存放微程序编辑软件本身,大概需要几Kb;数据存储器,存放用户输入的微程序代码,可能几十Kb;工作存储器,临时存放中间数据,几百个字节就够。
存储组正在开发的存储芯片,虽然容量不大,速度不快,但只要能存住数据,就能用。
一片不够就多片拼,总能拼出需要的容量。
第四是主控芯片,编程机需要一个核心,能运行编辑软件,能控制键盘、显示、存储、外设。
这需要一块比红星二号更强大的芯片,但技术路线是一样的:标准单元库,手工画版图,五微米工艺。
在红星二号的基础上,增加一些指令,扩展一些功能,应该能做出来。
最后就是接口,编程机需要和制卡机通信,还需要和昆仑机直接连接。
这需要专门的接口芯片,处理数据格式转换和通信协议。
吕辰把这些问题在脑子里过了一遍,又过了一遍。
这东西能让工程师能像用文本编辑器一样写微程序,虽说还叫编程机,但本质上,就是一台专用的微型计算机。
只是它运行的不是通用程序,而是微程序编辑软件。
这个思路,其实跟后世的个人电脑已经有点像了。
有输入,有显示,有存储,能跑软件,能输出。
区别只在于,个人电脑是通用的,什么程序都能跑;编程机是专用的,只能跑微程序编辑软件。
但架构是一样的。
有了思路,就是写方案了。
吕辰拿出一张纸,开始写:
物理形态:专用机柜,键盘输入,荧光管阵列显示,连二维卡制卡机或者直连昆仑。
存储:用存储芯片,放微程序代码。
控制核心:红星二号级别芯片+存储芯片,运行编辑软件。
工作流程:
1. 开机,编辑软件从存储芯片加载。
2. 工程师用键盘输入微程序,用助记符,如“LoAd R1, #5”。
3. 软件实时转换成二进制,显示在屏幕上。
4. 可以随时修改、插入、删除。
5. 确认无误后,按“制卡”键。
6. 编程机自动把整段微程序转换成二维卡孔位数据。
7. 制卡单元开始打孔。
8. 几秒钟后,二维卡“吐”出来。
9. 工程师直接把卡片拿到昆仑机读卡机上,插进去运行。
写完了,他放下笔,又看了一遍。
不错。
他站起来,拿起草稿纸出了门。
来到钱兰的办公室,吕辰敲了敲门框。
钱兰抬起头,手里拿着一幅机械设计图。
“吕辰?”她放下图纸,“你是来说编程机的事?”
吕辰走进去,在她对面坐下,把那张纸放在桌上。
“我大体上是这个想法,你帮我参详一下。”
钱兰拿起那张纸,看了半天:“你这个思路很大胆啊,不用开关矩阵,不用信号灯,不用磁芯,不用纸带机……,夏先生会同意?”
吕辰笑道:“就是找你们一起商量一下,只要可行性没问题,夏先生不是食古不化的人。”
钱兰点点头:“这个方案的确对工程师很友好,键盘输入更方便,显示能让工程师一直监视输入过程,输出用二维卡,比纸带机方便太多了,这个思路实现了,效率能翻十倍。”
钱兰又看了一会儿,琢磨道:“显示和键盘,咱们都有基础。红星二号我们实现了显示,虽然只能显数字和少量字符,但只要扩展一下译码逻辑,加个字符发生器,就能显字母。”
吕辰点点头:“我也是这样想的,键盘也是。红星二号的键盘是数字键加少量功能键,咱们要的是字母键。键盘本身就是开关矩阵,增加按键只是增加矩阵的行列数。”
钱兰拿起笔,开始画起了草图。
“显示驱动芯片,要能接收二进制数据,转换成显示信号,驱动荧光管阵列。这个可以参考红星二号那套电路,重新画版图。”
“键盘扫描芯片,要能扫描键盘矩阵,检测按键,产生中断。这个更简单,就是矩阵扫描的电路。”
“存储芯片……”
两人正说着,门又被推开了。
诸葛彪走进来:“你们两个都在,正好。宋教授让我过来,说编程机的事。”
他看见桌上那张草稿,拿起来看了看,然后抬起头。
“这是方案?”
吕辰点点头。
诸葛彪盯着那张草图看了半天,然后“啧”了一声。
“你这是要做个人电脑啊。”
吕辰心里一跳。
诸葛彪没注意他的表情,继续说:“有输入,有输出,有存储,有中央处理单元。这不是电脑是什么?”
他把草图放下,点着烟,吸了一口。
“不过这思路对。编程机嘛,就是用来编程序的。用纸带编程序,那是绕远路。直接上键盘,上显示,让工程师能看见自己敲的是什么,这才是正路。”
他指着草图上那几个方块:“主控芯片,用红星二号改。显示驱动芯片,钱兰你来弄?键盘扫描芯片,我来。存储芯片,找存储组要。接口芯片,和计算机所那边对接。”
钱兰点点头:“可以。”
吕辰说:“那咱们先把系统架构定下来。功能需求:要支持哪些编辑功能?显示多少行?存储容量多大?模块划分:主控、显示、键盘、存储、外设接口,每个模块的职责和接口。技术路线:用几块芯片?用什么总线连接?”
他顿了顿:“最主要的是和计算机所、理论组对齐。确保输出的二维卡格式和昆仑机兼容。”
诸葛彪把烟掐灭,拿起笔,在草图上又添了几笔。
“芯片设计,咱们分工。”他说,“主控芯片,能运行编辑软件。这个你最清楚,你来牵头。”
吕辰点点头。
“显示驱动芯片,负责把二进制数据转换成显示信号,驱动荧光管。钱兰你来?”
钱兰点点头:“可以。”
“键盘扫描芯片,负责扫描键盘矩阵,检测按键。这个我来,简单。”
“存储芯片……”诸葛彪看向吕辰。
吕辰说:“我去找存储组,我去问问进展,顺便把需求提过去。”
“接口芯片,负责和制卡机通信。”诸葛彪想了想,“这个得和哈工大一起搞。二维卡的标准是他们定的,制卡机的接口也是他们设计的。咱们得派人过去对接。”
吕辰点点头:“我去协调。”
三个人又讨论了半天,把任务一项一项分下去。
从钱兰办公室出来,已经快中午了。
吕辰站在走廊里,点了一根烟,慢慢抽着。
阳光从走廊尽头的窗户照进来,在地上投下一片光影。
他慢慢走着,脑子里还在转。
主控芯片,用什么架构?简单一点,就用累加器结构。
指令集不用复杂,能支持基本的算术逻辑运算、跳转、内存读写就行。
关键是能运行编辑软件。
编辑软件要做什么?接受键盘输入,把助记符转换成二进制,显示在屏幕上,允许修改、插入、删除,最后输出到制卡机。
时钟、复位、中断、总线仲裁、地址译码、外设映射……
主控芯片要运行编辑软件,编辑软件是固定的,功能也固定,用微程序实现控制,比用硬布线灵活,改起来也方便。
微程序控制,需要控制存储器,可以用存储芯片阵列做一个只读存储器。
编辑软件是固定的,写在只读存储器里,一次写好,永远不变。
主控芯片内部,用微程序控制,执行固定的编辑软件。
用户输入的微程序代码,放在可读可写存储器里……
吕辰深吸了一口,然后慢慢吐出来。
阳光很好,晒在身上暖洋洋的。
吕辰抬头看了一眼天,蓝得发亮,一丝云都没有。