红白机大时代
字体: 16 + -

第三十九章 准十六位,双核6502(中)

    日夲客户希望英特尔帮助他们设计和生产八种专用集成电路芯片,用于实现桌面计算器。英特尔的工程师发现这样做有两个很大的问题。

    其一,英特尔已经在全力开发三种内存芯片了,没有人力再设计八种新的芯片。其二,用八种芯片实现计算器,将大大超出预算成本。

    于是,英特尔的一个名叫特德-霍夫(ted hoff)的工程师仔细分析了日夲同行的设计。他发现了一个现象:这八块芯片各实现一种特定的功能。

    当用户使用计算器时,这些功能并不是同时都需要的。比如,用户需要计算一百个数的和,它会重复地输入一个数,再做一次加法,一共做一百次,最后再打印出来。

    而在这个时候,负责输入、相加和打印的电路并不同时工作。也就是说,当一块芯片在工作时,其他芯片可能是空闲的。

    于是霍夫有了一个想法:为什么不能用一块通用的芯片,加上程序来实现几块芯片的功能呢?当需要某种功能时,只需要把实现该功能的一段程序代码(称为子程序)加载到通用芯片上,其功能与专用芯片会完全一样。

    经过几天的思考后,霍夫绘制出计算器新的体系结构图,其中包含四块芯片。

    一块通用处理器芯片,实现所有的计算和控制功能;一块可读写内存(ram)芯片,用来存放数据;一块只读内存(rom)芯片,用来存放程序;一块输入输出芯片,实现键入数据和操作命令、打印结果等等功能。

    这枚新的通用芯片,就是最早期cpu的雏形。可以说:cpu就是一种用来代替专用集成电路的器件。

    说通俗一点,如果把sel信号看做“程序”的话,这个电路就像一个“cpu”能根据“程序”执行不同的“操作”。如此一来,通过“程序”(sel信号),电路就能够实现复用。因为程序就是硬件电路的延伸。

    这就和人的大脑控制身体的电子信号是一个原理。

    比如人坐在电脑前看电影,同时也会吃零食,喝饮料,手会给身体不适应的地方抓痒。其中,看电影这项主要“程序”,就是“计算功能”,而其他的次要“程序”,就是“控制功能”。

    可见,控制功能和电脑的重复运算,在理论上是非常接近的。它们可以称之为人类的重复运算,也就是习惯动作。

    比如,我们给电脑输入两个指令:

    mov eax,0

    repeat:inc eax

    jmp repeat

    ——

    int main()

    {

    unsigned int i = 0;

    while(1)

    i++;

    }

    电脑产生了一个从0不断增加的序列,会一直加到溢出阈值,又从0开始。这个阈值取决于计算机的字长,也就是多少位的cpu。

    这样的重复数据,就相当于人类的习惯控制动作。比如吃饭,不需要大脑作为特别细致的计算,只吃到达到阈值,也就是饱腹为止。

    同样,我们再给电脑输入另外两个指令:

    mov eax,0

    repeat:dec eax

    jmp repeat

    ——

    int main()

    {

    unsigned int i = 0;

    while(1)

    i--;

    }

    这是一个递减序列。我们可以理解为人的手为自己抓痒,同样是一个习惯性动作,大脑也不用刻意去指挥运算。人会抓到达到阈值,也就是“消除痒”数据为止。

    人做习惯性动作时,一般是不会占用大脑的思维空间的,电脑也是一样。开机进入界面之后,非运算程序不再占用cpu的读取空间,硬盘也停止跳响。

    霍夫最初生产的集成芯片,就完成了这样的设计理论。它拥有四个运算子程序的芯片,可以理解为四位元。cpu的指令也由此分为了两种。

    一种是risc(reduced instruction set computer),即精简指令集计算机,也就是重复运算。

    一种是cisc (complex instruction set compute),复杂指令集计算机,也就是控制运算。

    risc,即重复运算,既是取决于cpu的位元。四位元cpu可以同时进行四种不同的重复运算,八位元cpu可以同时进行八种不同的重复运算。

    就像一个人,可以边抽烟,边喝酒,边说话,嘴里嚼着槟榔,人坐在马桶上拉便便,手上拿着手机刷剧,耳朵里还能听歌;而脑子里则在关心国家大事。

    但如何保证在重复运算的时候,信息不会发生错位呢?比如不小心把马桶里的水喝了?人脑靠的是自觉,电脑靠的则是cpu的周期频率。

    cpu的周期频率,是外频与倍频的积。cpu通过外部的晶振产生一个时钟信号,然后再通过内部的电路(锁相环),倍频至需要的频率。

    不同的时钟信号,可以产生不同的频率。这让不同的重复运算,在同一个电路中能够做到相安无事。你走你的,我走我的,它们以电流的光速移动传递运算结果。

    率先研发出十六位元cpu的,是一九八三年诞生的苹果lisa。但这款处理器尚未解决cisc运算成本,价格高达一万美元,于一九八六年淘汰。

    因为一九八六年的中国长城,研发出更有成本优势的十六位元计算机。

    同年,ibm研发出80386cpu,即三十二位元处理器。但它同样没有根本性的解决成本问题。所以到八十年代末,游戏cpu基本上还停留在八位元。

    所谓的准十六位cpu,不过是因为晶体管单方面的升级,让外频能够发射出区别于原周期频率的信号。而实际上,它并不能完成十六个绝对相同的重复运算,也不能完成十六个绝对不相同的重复运算。

    这就是pce的主机性能。

    而cisc,即控制运算,它才是cpu的真正核心。它相当于人类大脑真正的思维正中,真正在办理的主要事件。无论是作为人还是机器,cisc都是无可取代的“核”。

    除去吃零食,喝饮料,抓痒这些可有可无的risc,增加一个看电影的cisc更重要。从某种意义上来说,cisc就相当于第二颗大脑。

    对cpu来讲,这就是双核。

    在位元没有真正普及的时代,这才是提升机能最行之有效的办法了。

    “双核,原来如此。王君也好,哈德森也好,他们都是迈向新位元的理论先驱!这位王君,真是了不起啊。”晚上,横井俊平几乎彻夜未眠,一直坐在书桌前。

    他的手上,依然拿着日志本。如今的这本日志,已经写满了一百多页,全部都是横井俊平和王秋阳一个月以来交流的成果。

    王秋阳二十一世纪的思维,让他再也难以放下这份提案。