|
最近除了翻翻《聊齋志異》外還在認(rèn)真地看著之前買的那兩本關(guān)于FPGA的,然后產(chǎn)生了一些有點(diǎn)瘋狂的想法。
從電子計(jì)算機(jī)原理來說電子計(jì)算機(jī)的一切最后歸根結(jié)底就是邏輯運(yùn)算,也稱布爾運(yùn)算。CPU如此,RAM如此,其它也如此。CPLD/FPGA的發(fā)展也是由此而來。簡(jiǎn)單地說FPGA就是一塊上面可以由你完全定義的設(shè)備,細(xì)到一個(gè)與、或、非,大到你可以定義出自己的處理器,寬到你可以定義出一個(gè)包含不少功能(像內(nèi)帶內(nèi)存,串口,顯示運(yùn)行等)的計(jì)算機(jī)。有不少已經(jīng)成為現(xiàn)實(shí),當(dāng)然,有的也還只是理論,因?yàn)檫得要更多的邏輯單元,等工藝達(dá)到某個(gè)程度理論就成為現(xiàn)實(shí)了。
現(xiàn)在的FPGA已經(jīng)可以定義出處理器這樣的設(shè)備,而且還不只是一個(gè),好像現(xiàn)在已經(jīng)可以在一小片的FPGA上可以定義出4個(gè)處理器,可能更多,也就是已經(jīng)達(dá)到了多處理器。最近我也很想自己入手一塊MCU+FPGA的板子,這樣可以實(shí)際動(dòng)手一下FPGA的所學(xué),還有就是看看怎么實(shí)現(xiàn)自己的處理器,最后就是想實(shí)現(xiàn)多處理器,接著就看怎么在OS上實(shí)現(xiàn)多核。簡(jiǎn)單查了一下,好像不少嵌入式操作系統(tǒng)都不怎么支持多核,像UCOS II就不支持吧。呵,到我能實(shí)現(xiàn)這些想法時(shí)可能已經(jīng)支持了,大不了到時(shí)自己改UCOS II或者轉(zhuǎn)到ucLinux,vxWorks之類的RTOS上。
還一個(gè)有意思,但是更瘋狂的想法,不過,那也只是理論。按原理來,CPLD/FPGA是邏輯塊,那么我們現(xiàn)在所用的DRAM之類也都是邏輯塊,USB上的存貯塊也同樣是邏輯塊。你想想,是否也可以在這些邏輯塊上實(shí)現(xiàn)你所想要的各種像CPU等各類你想要的設(shè)備呢?呵,再加上一點(diǎn)點(diǎn)hack的精神你想會(huì)怎么樣?現(xiàn)在不是相當(dāng)?shù)亓餍惺裁丛朴?jì)算啊,分布式計(jì)算嗎?這些其實(shí)也就是想用更多的CPU來進(jìn)行計(jì)算而已,而如果你也能在自己的一條內(nèi)存,一個(gè)USB上構(gòu)造出N多個(gè)CPU來那會(huì)是怎么樣的一個(gè)情境,那樣你再也不會(huì)缺少CPU來為你進(jìn)行各種各樣的計(jì)算了。當(dāng)然,到時(shí)你最需要的可能就一個(gè)相當(dāng)好的支持多核的OS和各式各樣的應(yīng)用程序了。
不過,就像我說的,這也只是理論而已。因?yàn)閺墓に嚿蟻碚f,RAM和USB這些設(shè)備的邏輯單元并不像CPLD/FPGA一樣能細(xì)到單個(gè)與、或、非。(呵,不過也還是有可能的,可能已經(jīng)有高手真的實(shí)現(xiàn)了也不一定)
瘋狂的想法還得再加些瘋狂的做法而行。繼續(xù)慢慢努力。
|
|