導(dǎo)讀——處理器的“錢”途
處理器無疑是PC中最核心的設(shè)備,無疑也是最賺錢的設(shè)備。
目前全球的4大電腦公司——惠普、宏基、戴爾、聯(lián)想,它們賣電腦賺的錢,遠(yuǎn)不及Intel賣處理器賺的錢。
以PC老大惠普為例,2010年公司凈收入1260億美金,運(yùn)營利潤115億美金,PC等業(yè)務(wù)(Personal System Group)的凈收入為407億美金,運(yùn)營利潤為20億美金。而Intel 2010年的凈收入為436億美金,運(yùn)營利潤為156億美金,從中我們可以看出,PC公司是賣了不少錢,不過錢都讓處理器公司賺了。
最核心的,才是最賺錢的,才是我們最該去關(guān)注的,下面開始我們的處理器之旅。
2.1 處理器是怎樣工作的——處理器的硬件模型
2.1.1 硬連線電路——一定終身
要想做一個(gè)運(yùn)算,其實(shí)不一定非要用處理器,用普通的數(shù)字電路也可以實(shí)現(xiàn)。例如,下面這個(gè)運(yùn)算:
out = in1 + in2 * in3 + in4 * in5 * in6;
我們使用加法器、乘法器可以搭出如下的電路:
這個(gè)電路使用了3個(gè)乘法器,2個(gè)加法器。如果我們又要做另一個(gè)運(yùn)算:
out = in1 + in2 + in3 + in4 * in5 + in6;
以前搭建的電路已經(jīng)沒用了,我們必須要重新搭建另一個(gè)電路:
用這種方式來實(shí)現(xiàn)運(yùn)算,每一種新的運(yùn)算,都要搭建一種新的電路,這樣的工作太勞民傷財(cái)了,那么有沒有一種通用的計(jì)算設(shè)備,一套硬件就能實(shí)現(xiàn)所有的功能呢?
有,計(jì)算機(jī)的產(chǎn)生就是為了解決這個(gè)事的!
2.1.2 通用計(jì)算機(jī)模型——硬件搭臺(tái),軟件唱戲
一個(gè)復(fù)雜的運(yùn)算,都是由一些簡單的運(yùn)算組合而成的,一個(gè)最簡單的運(yùn)算可以用下面的模型表示。
例如,c=a+b,輸入數(shù)據(jù)是a和b,輸出數(shù)據(jù)是c,運(yùn)算符是加法。
一大堆的運(yùn)算就需要一大堆的輸入數(shù)據(jù)和輸出數(shù)據(jù),我們首先要有一個(gè)存儲(chǔ)器將輸入數(shù)據(jù)和輸出數(shù)據(jù)存起來。
然后我們將一些常用的基本運(yùn)算,如加法器、乘法器等堆在一起,給它取個(gè)名字,叫算術(shù)邏輯單元(ALU,Arithmetic Logic Unit)。
剩下的事情,就是要有一個(gè)控制器,去控制將存儲(chǔ)器中的數(shù)據(jù)送到ALU中去做運(yùn)算,然后將結(jié)果存回到存儲(chǔ)器中來。數(shù)據(jù)放在哪,做什么運(yùn)算,這些都由指令來告訴控制器,每一個(gè)簡單的運(yùn)算都對(duì)應(yīng)一條指令,這些指令序列就組成了完成這個(gè)復(fù)雜功能的程序。
這就是計(jì)算機(jī)的通用計(jì)算模型,這個(gè)模型可以用下面這個(gè)圖描述。
數(shù)據(jù)要從外部輸入進(jìn)來,也要輸出出去,一個(gè)完整的計(jì)算機(jī)邏輯結(jié)構(gòu)如下圖所示。
這個(gè)結(jié)構(gòu)也就是馮·諾依曼在他著名的“關(guān)于EDVAC的報(bào)告草案”中描述的結(jié)構(gòu)。這種結(jié)構(gòu)的計(jì)算機(jī)被叫做馮·諾依曼機(jī),實(shí)際上,現(xiàn)在的計(jì)算機(jī)都是馮·諾依曼機(jī)。
與專用數(shù)字電路不同的是,這臺(tái)硬件什么也做不了,除非配上具體的軟件。軟件由指令序列組成,決定了計(jì)算機(jī)要完成的功能。
藝術(shù)家下鄉(xiāng)表演,到一個(gè)地方,搭一次臺(tái),演出一次,而紅磡體育館這些地方,一次建好后,各位明星都可以去那里獻(xiàn)唱。計(jì)算機(jī)就是紅磡體育館:硬件搭臺(tái),軟件唱戲。
隨后,集成電路發(fā)展起來,人們發(fā)現(xiàn),電路可以在一塊小小的芯片上實(shí)現(xiàn),于是,計(jì)算機(jī)的基本功能就被轉(zhuǎn)移到了一塊芯片上,這塊芯片就叫處理器,再配上各種輸入輸出設(shè)備,以及其他輔助設(shè)備,就組成了現(xiàn)代的計(jì)算機(jī)。