第477章 编程机(2/2)
请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
编程机需要三类存储:程序存储器,存放微程序编辑软件本身,大概需要几KB;数据存储器,存放用户输入的微程序代码,可能几十KB;工作存储器,临时存放中间数据,几百个字节就够。
存储组正在开发的存储芯片,虽然容量不大,速度不快,但只要能存住数据,就能用。
一片不够就多片拼,总能拼出需要的容量。
第四是主控芯片,编程机需要一个核心,能运行编辑软件,能控制键盘、显示、存储、外设。
这需要一块比红星二号更强大的芯片,但技术路线是一样的:标准单元库,手工画版图,五微米工艺。
在红星二号的基础上,增加一些指令,扩展一些功能,应该能做出来。
最后就是接口,编程机需要和制卡机通信,还需要和昆仑机直接连接。
这需要专门的接口芯片,处理数据格式转换和通信协议。
吕辰把这些问题在脑子里过了一遍,又过了一遍。
这东西能让工程师能像用文本编辑器一样写微程序,虽说还叫编程机,但本质上,就是一台专用的微型计算机。
只是它运行的不是通用程序,而是微程序编辑软件。
这个思路,其实跟后世的个人电脑已经有点像了。
有输入,有显示,有存储,能跑软件,能输出。
区别只在于,个人电脑是通用的,什么程序都能跑;编程机是专用的,只能跑微程序编辑软件。
但架构是一样的。
有了思路,就是写方案了。
吕辰拿出一张纸,开始写:
物理形态:专用机柜,键盘输入,荧光管阵列显示,连二维卡制卡机或者直连昆仑。
存储:用存储芯片,放微程序代码。
控制核心:红星二号级别芯片+存储芯片,运行编辑软件。
工作流程:
1.开机,编辑软件从存储芯片加载。
2.工程师用键盘输入微程序,用助记符,如“LOADR1,#5”。
3.软件实时转换成二进制,显示在屏幕上。
4.可以随时修改、插入、删除。
5.确认无误后,按“制卡”键。
6.编程机自动把整段微程序转换成二维卡孔位数据。
7.制卡单元开始打孔。
8.几秒钟后,二维卡“吐”出来。
9.工程师直接把卡片拿到昆仑机读卡机上,插进去运行。
写完了,他放下笔,又看了一遍。
不错。
他站起来,拿起草稿纸出了门。
来到钱兰的办公室,吕辰敲了敲门框。
钱兰抬起头,手里拿着一幅机械设计图。
“吕辰?”她放下图纸,“你是来说编程机的事?”
吕辰走进去,在她对面坐下,把那张纸放在桌上。
“我大体上是这个想法,你帮我参详一下。”
钱兰拿起那张纸,看了半天:“你这个思路很大胆啊,不用开关矩阵,不用信号灯,不用磁芯,不用纸带机……,夏先生会同意?”
吕辰笑道:“就是找你们一起商量一下,只要可行性没问题,夏先生不是食古不化的人。”
钱兰点点头:“这个方案的确对工程师很友好,键盘输入更方便,显示能让工程师一直监视输入过程,输出用二维卡,比纸带机方便太多了,这个思路实现了,效率能翻十倍。”
钱兰又看了一会儿,琢磨道:“显示和键盘,咱们都有基础。红星二号我们实现了显示,虽然只能显数字和少量字符,但只要扩展一下译码逻辑,加个字符发生器,就能显字母。”
吕辰点点头:“我也是这样想的,键盘也是。红星二号的键盘是数字键加少量功能键,咱们要的是字母键。键盘本身就是开关矩阵,增加按键只是增加矩阵的行列数。”
钱兰拿起笔,开始画起了草图。
“显示驱动芯片,要能接收二进制数据,转换成显示信号,驱动荧光管阵列。这个可以参考红星二号那套电路,重新画版图。”
“键盘扫描芯片,要能扫描键盘矩阵,检测按键,产生中断。这个更简单,就是矩阵扫描的电路。”
“存储芯片……”
两人正说着,门又被推开了。
诸葛彪走进来:“你们两个都在,正好。宋教授让我过来,说编程机的事。”
他看见桌上那张草稿,拿起来看了看,然后抬起头。
“这是方案?”
吕辰点点头。
诸葛彪盯着那张草图看了半天,然后“啧”了一声。
“你这是要做个人电脑啊。”
吕辰心里一跳。
诸葛彪没注意他的表情,继续说:“有输入,有输出,有存储,有中央处理单元。这不是电脑是什么?”
他把草图放下,点着烟,吸了一口。
“不过这思路对。编程机嘛,就是用来编程序的。用纸带编程序,那是绕远路。直接上键盘,上显示,让工程师能看见自己敲的是什么,这才是正路。”
他指着草图上那几个方块:“主控芯片,用红星二号改。显示驱动芯片,钱兰你来弄?键盘扫描芯片,我来。存储芯片,找存储组要。接口芯片,和计算机所那边对接。”
钱兰点点头:“可以。”
吕辰说:“那咱们先把系统架构定下来。功能需求:要支持哪些编辑功能?显示多少行?存储容量多大?模块划分:主控、显示、键盘、存储、外设接口,每个模块的职责和接口。技术路线:用几块芯片?用什么总线连接?”
他顿了顿:“最主要的是和计算机所、理论组对齐。确保输出的二维卡格式和昆仑机兼容。”
诸葛彪把烟掐灭,拿起笔,在草图上又添了几笔。
“芯片设计,咱们分工。”他说,“主控芯片,能运行编辑软件。这个你最清楚,你来牵头。”
吕辰点点头。
“显示驱动芯片,负责把二进制数据转换成显示信号,驱动荧光管。钱兰你来?”
钱兰点点头:“可以。”
“键盘扫描芯片,负责扫描键盘矩阵,检测按键。这个我来,简单。”
“存储芯片……”诸葛彪看向吕辰。
吕辰说:“我去找存储组,我去问问进展,顺便把需求提过去。”
“接口芯片,负责和制卡机通信。”诸葛彪想了想,“这个得和哈工大一起搞。二维卡的标准是他们定的,制卡机的接口也是他们设计的。咱们得派人过去对接。”
吕辰点点头:“我去协调。”
三个人又讨论了半天,把任务一项一项分下去。
从钱兰办公室出来,已经快中午了。
吕辰站在走廊里,点了一根烟,慢慢抽着。
阳光从走廊尽头的窗户照进来,在地上投下一片光影。
他慢慢走着,脑子里还在转。
主控芯片,用什么架构?简单一点,就用累加器结构。
指令集不用复杂,能支持基本的算术逻辑运算、跳转、内存读写就行。
关键是能运行编辑软件。
编辑软件要做什么?接受键盘输入,把助记符转换成二进制,显示在屏幕上,允许修改、插入、删除,最后输出到制卡机。
时钟、复位、中断、总线仲裁、地址译码、外设映射……
主控芯片要运行编辑软件,编辑软件是固定的,功能也固定,用微程序实现控制,比用硬布线灵活,改起来也方便。
微程序控制,需要控制存储器,可以用存储芯片阵列做一个只读存储器。
编辑软件是固定的,写在只读存储器里,一次写好,永远不变。
主控芯片内部,用微程序控制,执行固定的编辑软件。
用户输入的微程序代码,放在可读可写存储器里……
吕辰深吸了一口,然后慢慢吐出来。
阳光很好,晒在身上暖洋洋的。
吕辰抬头看了一眼天,蓝得发亮,一丝云都没有。