新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 從4004到core i7:處理器的進(jìn)化史 (3)-1—萬事開頭難

從4004到core i7:處理器的進(jìn)化史 (3)-1—萬事開頭難

作者: 時(shí)間:2014-02-19 來源:摘自《果殼小組》網(wǎng) 收藏

  我們就用一個(gè)最簡(jiǎn)單的例子說起。

本文引用地址:http://m.butianyuan.cn/article/221768.htm

  現(xiàn)在讓我們暫時(shí)先忘掉編程和,集中精力來解下面這一道小學(xué)算術(shù)題:

  1+2=?

  不要以為算出答案就完事了,我們來仔細(xì)想一想我們是怎么算數(shù)的。

  首先我們是有眼睛的,所以看到了上面的那道算術(shù)題。

  其次我們的眼睛是有焦點(diǎn)的,也就是說我們一般一時(shí)間只能看清一道算術(shù)題中的某一個(gè)數(shù)字符號(hào)。

  然后我們會(huì)做加法。我們并非生來就會(huì)做加法,而是因?yàn)槲覀兌忌线^小學(xué),學(xué)過算數(shù)。換言之,我們被訓(xùn)練過,大腦中有了相應(yīng)的突觸連接。我們只能被訓(xùn)練做有限的事情。萬能顯然不是用來形容人類或者的。

  有了上面的生理基礎(chǔ)還不夠。我們還需要一支筆來書寫,一張紙來記錄。

  我們先不要急著往計(jì)算機(jī)上靠攏,而是想一想我們上面究竟都弄清楚了些神馬:

  我們有一個(gè)需求,即計(jì)算1+2=?我們用清楚的語言描述了這個(gè)需求。這叫做設(shè)計(jì)捕捉(design capture)。

  我們能描述清楚滿足這種需求的流程:

  用眼睛從題目的最左端向右掃視,辨認(rèn)沿途碰到的每一個(gè)符號(hào),同時(shí)將符號(hào)分成兩堆:數(shù)和運(yùn)算符。

  這些符號(hào)我們可以記在大腦中,但是想象我們是某種極其健忘的生物,必須要用筆記錄在紙上。

  想要完成一次運(yùn)算,我們至少得明白加法的含義,并且短暫地記住加數(shù)和被加數(shù)。

  我們終于完成了運(yùn)算,趕快把結(jié)果寫在題目后面,免得忘掉了。

  以上我們有了一個(gè)切實(shí)可行的算法。你可以注意到,這種算法其實(shí)是高度抽象、靈活的。比方說,我可以把眼睛換成攝像頭,把大腦換成一個(gè)最簡(jiǎn)單的那種按起來滴滴響的計(jì)算器,等等。這就是說,我們有了一個(gè)行為描述(behavioral discrption),這種描述其實(shí)并沒有指定具體的解決方案。

  接下來讓我們假設(shè)我們突然獲得了有關(guān)半導(dǎo)體的知識(shí),突然明白了用MOS管可以實(shí)現(xiàn)。對(duì)于高效、正確地完成大量小學(xué)算術(shù)題這個(gè)任務(wù),你有什么想法呢?

  算術(shù)題可以用比特表示出來,因?yàn)樗阈g(shù)題的種類(加減乘除等等)是有限的,運(yùn)算數(shù)也很好用比特表示出來(請(qǐng)相關(guān)人員自行腦補(bǔ)補(bǔ)碼等內(nèi)容)。運(yùn)算這個(gè)操作十分簡(jiǎn)單、機(jī)械本身也很好用數(shù)字邏輯表示出來。為了存貯這些比特,我們可能需要一些記憶單元(類比于符號(hào)和筆紙的關(guān)系)。十分幸運(yùn)的是,這些記憶單元也非常容易用晶體管搭建出來(寄存器、緩存、內(nèi)存(主存))。

  但是算術(shù)題本身卻可以千變?nèi)f化??梢允?+2,可以是2+3,可以是3+4......盡管其中每一個(gè)操作用晶體管搭出來都很簡(jiǎn)單,組合卻是沒有窮盡的。也就是說,我們最好在臨算術(shù)之前用某種方式告訴晶體管它要完成的究竟是哪一道算術(shù)題。

  以上我們區(qū)分了行為描述中兩種不同的成分:固定、機(jī)械的和靈活多變、無法窮盡的。我們很自然地想到刻在硅片上的電路板極其擅長(zhǎng)前者,而后者恐怕就要由我們的更強(qiáng)大的大腦代勞了。這就是硬件/軟件劃分(hw/sw partitioning)。不要小瞧了這個(gè)劃分,在很多數(shù)字系統(tǒng)中軟硬劃分常常決定了整個(gè)工程執(zhí)行的速度??傊總€(gè)組件只做一件事情,但要做好。Divide and conquer.這不光是的設(shè)計(jì)哲學(xué)。

  軟硬劃分是億萬程序員和相比起來寥寥無幾的CPU設(shè)計(jì)師的神圣不可侵犯的契約。這個(gè)劃分是如此的堅(jiān)固,以至于千千萬萬的freshman在學(xué)到時(shí)想都不想就認(rèn)為編程是一件自然的事情。

c語言相關(guān)文章:c語言教程



上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉