AI编程内容viewtopic.php?p=5122340#p5122340
IBM 7094 是 IBM 在 1962 年推出的晶体管计算机,作为 IBM 7000 系列的旗舰产品,它不仅是 当时计算速度最快的商用计算机之一,更是 科学计算、航空航天、国防军事 领域的中流砥柱。7094是 IBM 最后一代基于批处理模式的大型科学计算机。
IBM 7094 的突破点:
* 完全晶体管化(替代电子管,提高可靠性,降低功耗)
* 性能提升(每秒 50 万条指令,比 7090 提高 1.6 倍)
* 双处理器支持(可选双 CPU,提高并行计算能力)
* 拓展存储(支持更大的磁芯存储和更先进的磁盘存储)
下图是7094和上一代计算机的性能参数对比。

7094 是 IBM 7000 系列中最昂贵的一款,成本主要来自:
- 磁芯存储器(32K 磁芯存储就接近百万美元)
- 磁带存储系统(IBM 729 磁带机,每台 5 万美元)
- 高速处理器晶体管组件
推测:整机制造成本约 300 万~400 万美元。
7094的直接购买价格是$3-5百万美元(相当于今天的$30-50M)。但是IBM采取的是租赁策略(其实IBM才是云计算的鼻祖)。租金大概是每月 $5万美元,大概租10年能接近购入成本。具体到模块,价格组成如下:

按现存的模拟器配置,7094的典型运行配置是1xCPU, 1x core memory, 10x磁带机,外加打印机,打卡机,读卡机各一。
下面是我在网上找到的最有代表性的图片(7090,差不多), 我把各个模块进行了标注(设备名见下)。 但是标完后我发现了一些问题,存疑:
- 图里没找到7090本尊。
- 7100是商用机,和709x是不同的型号。图里面有两台。
我自己是把7100想象成7094.

再来几张图片



几个视频
设备名, 这些名字在7094的命令中,以及模拟器中都会用到。
- CPU (7094)
- M (7302) 磁芯存储器内存
- DC (7606, Data communication)
- CHAN (7607, Channel controller)
- TTY (7617, Teletype Terminal)
- LPR (716, Line Printer)
- CDR (711, Card Reader)
- CDP (721, Card Puncher)
- MTA (Magnetic tape)
CPU链接CHAN, CHAN链接除了DC以外的所有I/O设备(TTY, LPR, CDR, CDP, MTA)。DC直连CPU,然后通过电话线连接远程 TTY终端(1050/2741)。
所有的设备都是面向行/记录/卡片的。输入设备就是一行一行(一张卡片一张卡片)读入,输出设备就是一行一行输出。LPR, MTA, TTY虽然物理上不是卡片,但是逻辑上还是按卡片的方式运作。
对7094编程,主要的概念就是控制权,也就是哪个程序在运行。7094一次只能运行一个程序。一开始运行IBSYS,然后IBSYS会读取 SYSIN(一般是MTA3)的下一行进行对应的操作。一般这个命令就是$EXECUTE IBJOB。然后IBJOB会载入,控制权交给IBJOB。IBJOB会读取下一行,比如IBCBC (Cobol编译器)或者IBFTC (FORTRAN编译器)。编译器开始运行后,接下来的卡片就都是源代码了。
这种方式有点像以下面的方式调用gcc
gcc -x c -o hello - # 特殊文件名表示从stdin读入。这时gcc无法根据文件名判别语言, -x c指定c语言
#include <stdio.h>
int main () {
printf("Hello, world!\n");
return 0;
}
上面的内容存诚sysin.txt,然后bash < sysin.txt就会生成hello。但是因为C语言没有"end"标记,所以上面的脚本就没法接更多的bash命令了。其实如果有一个特殊字符EOF代表文件结束,并在读到EOF时向程序发出文件结束信号,就可以接更多的命令。那样unix的stdin就和IBM的卡片序列一样了。