<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

本文引用地址:http://dyxdggzs.com/article/221768.htm

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

  1+2=?

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

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

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

  然后我們會(huì )做加法。我們并非生來(lái)就會(huì )做加法,而是因為我們都上過(guò)小學(xué),學(xué)過(guò)算數。換言之,我們被訓練過(guò),大腦中有了相應的突觸連接。我們只能被訓練做有限的事情。萬(wàn)能顯然不是用來(lái)形容人類(lèi)或者的。

  有了上面的生理基礎還不夠。我們還需要一支筆來(lái)書(shū)寫(xiě),一張紙來(lái)記錄。

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

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

  我們能描述清楚滿(mǎn)足這種需求的流程:

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

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

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

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

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

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

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

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

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

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

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>