2010年7月8日 星期四

RISC 處理器(中):為何嵌入式系統多用 RISC 架構?


看完了上集,不知有沒有人好奇:既然有「精簡指令集(RISC)」,那世界上有沒有「複雜指令集」呢?有的!而且就在你我身邊將近三十個年頭了。那就 是 Intel 與  AMD 出品,廣泛用於現今桌機、筆電內的 x86 架構 CPU。x86 架構 CPU 大量提供所謂「好用指令」,也就是一個指令就可以執行相當複雜的工作。雖然程式設計師會因此輕鬆許多,不過這種指令一旦送到 CPU 內執行,可能得花上比一般指令要高上許多的時間,才能完成。這就沒辦法保證管線一定暢通了。此種 CPU 架構,稱為 CISC,全名 Complex Instruction Set Computing,中譯「複雜指令集」。

那到底是「RISC」好?還是「CISC」好?喔喔喔!問這句話最好小心點!這有點像一個外國人問「國民黨好」還是「民進黨好」一樣,有點 小小危險。實際狀況是,兩大陣營各有優劣,彼此存在三、四十年,也沒見哪個陣營壓過另一個。不過在「嵌入式系統」陣營,RISC 的確有點小小贏面。理由請聽我慢慢道來。


2010年7月7日 星期三

RISC 處理器(上):何謂「RISC」?

 
當您在看嵌入式系統的規格時,您也許會看過這一段:「採用 32 bits RISC SoC」。您知道什麼是「RISC」嗎?

「RISC」的全名是「Reduced Instructioin Set Computing」,中文翻譯成「精簡指令集」。它是一種 CPU 的類型,有著「指令集數量精簡」、「指令管線(Pipeline) 步驟眾多」、「擁有大量暫存器」、「採用 Load / Store 機制」等特色。一下子跟大家介紹這麼多名詞,也許大家會頭暈腦脹。不急!我們一個一個慢慢來。


2010年7月6日 星期二

什麼是 SoC?


剛入門嵌入式系統的朋友,一定會聽過「SoC」這個名詞。一般市售的嵌入式系統入門書,多半不會解釋 SoC 是什麼意思。讀者透過閱讀該書數個章節後,隱隱約約可以感受到 SoC 好像就是個人電腦上的 CPU。但是,為什麼不乾脆直接叫 CPU?要叫 SoC 呢?


2010年7月5日 星期一

如何挑選開發板


如果您真的打算要買一塊開發板,奮力跳進「嵌入式系統」這條不歸路...呃...我是說,富有挑戰性的道路,那麼如何選擇一塊適合自己的開發板呢?

首先,嵌入式系統的領域相當廣。不過大致也可以分成兩條路。一條偏「自動控制」,一條偏「消費性電子產品」或「網路通訊產品」。如果您有興趣的是做出機器人手臂、溫度感知器...這類產品,由於它們的行為有一定的規範,如:能夠鎖螺絲的機器人手臂,動作大致不脫「拿螺絲、對準、鎖上、檢查」等四部分,這類稱為「自動控制」類的嵌入式系統。如果您有興趣的是做出如「電子像框」、「手機」...這些消費性電子產品,或者「路由器」、「網路伺服器」...這類「網路通訊產品」,那走的就是另外一個方向了。您得先決定自己有興趣的是哪個方向,才能選擇適合的開發板。


2010年7月4日 星期日

學「嵌入式系統」需要購買開發板嗎?


「老師,我學嵌入式系統需要買一塊開發板嗎?」這是許多剛入門嵌入式系統的朋友,最常問的一句話。尤其從軟體業界轉行的朋友表示,他們才剛踏入嵌入式系統領域,硬體一點也不熟。一塊開發板少則 NT$4000 ~ NT$5000,多則一萬多元,實在買不下手。加上不知道哪塊開發板好?或者應該跟哪個廠商買?所以如果可以用「軟體模擬」的話,不僅省錢,也不會買了不適用而後悔。對於這樣的疑問,我都斬釘截鐵、帶著詭異的微笑、用短到對方無法接受的語句回答說:「要!」

「呃...可是...」「要!」「那...可不可以...」「不行!」滿足了自己捉弄別人的一點小小樂趣後,我會正經八百地解釋道:「學電腦不可能不上機 就學得會。就像學開車,你也不能光憑想像就考得上駕照。你可以不買車,先跟別人借車來練。但沒辦法天天對著鏡子想:『我會開車、我會開車、我會開 車...』就考上駕照。同理,你可以先跟補習班或朋友,借板子來學,但不能靠催眠來學會嵌入式系統。」


2010年7月3日 星期六

為何嵌入式系統要叫「嵌入式」?


我曾經被一位想踏入嵌入式系統領域的朋友問道:「嵌入式系統到底『嵌入』什麼東西啊?」第一次聽到這個問題,我也楞了一下。過了幾秒鐘,我才想到一個不錯的答案:「嵌入式系統是把『作業系統』嵌入到『應用軟體』之下,讓使用者只看得到『應用軟體』,而看不到『作業系統』。」

2010年7月2日 星期五

如何認識一塊嵌入式電路板

想踏入嵌入式系統的朋友們,最常問我的一句話就是:「紀老師,我想要把作業系統移植到這塊板子上。我拿到這塊板子,要讀懂哪些硬體規格,才有辦法順利移植呢?」

好問題!嵌入式系統的特色就是每塊板子都不一樣,充分地「客製化」!所以我也很難寫一篇「Step by Step 移植作業系統」、或是「快快樂樂移植嵌入式作業系統」的文章給您。不過的確有些共通之處。我就在這裡告訴您!