第三十九章 准十六位,双核6502(中)(1/2)
日夲客户希望英特尔帮助他们设计和生产八种专用集成电路芯片,用于实现桌面计算器。英特尔的工程师发现这样做有两个很大的问题。
其一,英特尔已经在全力开发三种内存芯片了,没有人力再设计八种新的芯片。其二,用八种芯片实现计算器,将大大超出预算成本。
于是,英特尔的一个名叫特德-霍夫(TedHoff)的工程师仔细分析了日夲同行的设计。他发现了一个现象:这八块芯片各实现一种特定的功能。
当用户使用计算器时,这些功能并不是同时都需要的。比如,用户需要计算一百个数的和,它会重复地输入一个数,再做一次加法,一共做一百次,最后再打印出来。
而在这个时候,负责输入、相加和打印的电路并不同时工作。也就是说,当一块芯片在工作时,其他芯片可能是空闲的。
于是霍夫有了一个想法:为什么不能用一块通用的芯片,加上程序来实现几块芯片的功能呢?当需要某种功能时,只需要把实现该功能的一段程序代码(称为子程序)加载到通用芯片上,其功能与专用芯片会完全一样。
经过几天的思考后,霍夫绘制出计算器新的体系结构图,其中包含四块芯片。
一块通用处理器芯片,实现所有的计算和控制功能;一块可读写内存(RAM)芯片,用来存放数据;一块只读内存(ROM)芯片,用来存放程序;一块输入输出芯片,实现键入数据和操作命令、打印结果等等功能。
这枚新的通用芯片,就是最早期CPU的雏形。可以说:CPU就是一种用来代替专用集成电路的器件。
说通俗一点,如果把sel信号看做“程序”的话,这个电路就像一个“CPU”能根据“程序”执行不同的“操作”。如此一来,通过“程序”(sel信号),电路就能够实现复用。因为程序就是硬件电路的延伸。
这就和人的大脑控制身体的电子信号是一个原理。
比如人坐在电脑前看电影,同时也会吃零食,喝饮料,手会给身体不适应的地方抓痒。其中,看电影这项主要“程序”,就是“计算功能”,而其他的次要“程序”,就是“控制功能”。
可见,控制功能和电脑的重复运算,在理论上是非常接近的。它们可以称之为人类的重复运算,也就是习惯动作。
比如,我们给电脑输入两个指令:
moveax,0
repeat:inceax
jmprepeat
——
intmain
i++;
}
电脑产生了一个从0不断增加的序列,会一直加到溢出阈值,又从0开始。这个阈值取决于计算机的字长,也就是多少位的CPU。
这样的重复数据,就相当于人类的习惯控制动作。比如吃饭,不需要大脑作为特别细致的计算,只吃到达到阈值,也就是饱腹为止。
同样,我们再给电脑输入另外两个指令:
moveax,0
repeat:deceax
jmprepeat
83中文网最新地址www.83zws.com本章未完,点击下一页继续阅读。