<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/221768.htm

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

            1+2=?

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

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

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

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

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

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

            我們有一個(gè)需求,即計(jì)算1+2=?我們用清楚的語(yǔ)言描述了這個(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í)是高度抽象、靈活的。比方說(shuō),我可以把眼睛換成攝像頭,把大腦換成一個(gè)最簡(jiǎn)單的那種按起來(lái)滴滴響的計(jì)算器,等等。這就是說(shuō),我們有了一個(gè)行為描述(behavioral discrption),這種描述其實(shí)并沒(méi)有指定具體的解決方案。

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

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

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

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

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

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



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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();