2009年12月26日 星期六

繩結 (Knots)

http://4rdp.blogspot.com/2009/12/knots.html?m=0


最近無意間發現小朋友不會解開繩結,只是簡單的單結,越弄越打更多結更難解,這是小朋友生活中缺少這部分經驗,不知繩子打結還是腦筋打結,因此老爸我就

2009年12月19日 星期六

Mr.6

http://4rdp.blogspot.com/2009/12/mr6.html?m=0

Mr.6 劉威麟先生是專業的部落客,幾乎每日一文,解析網路最新趨勢,他的部落格也是我每日拜讀的地方。因為平日有專職工作,每週發一文對我的生活不會有太大影響,2008年曾經有段時間約兩日貼一文,那時壓力真是很大,所以我很欽佩這些專業作家每日創作。

最近 Mr.6 有篇文章,

2009年12月13日 星期日

堆疊 (Stack)

http://4rdp.blogspot.com/2009/12/stack.html?m=0

近日網友 0319 留言請教關於 NXC 編譯問題,在此補充討論另一核心議題,MCU (Micro Control Unit) 的角度看程式執行,這樣可能可以解答一些程式設計者的疑惑。

學過計算機概論的朋友,應該知道什麼是 CPU (Central Processing Unit)、ROM (Read-Only Memory)、RAM (Random-Access Memory)、IO (Input/Output),簡單說這些東西相當於人的頭腦、永久記憶區、臨時記憶區、感官與四肢。 CPU 在執行程式時對於 RAM 的使用,有些重要的觀念,因為教科書很少提及或是老師略過沒教,導致許多程式設計師並不明白原理,個人就在此補充說明。

首先,堆疊觀念,CPU 會選定一塊 RAM 區域當堆疊運用,所有的 CPU 都有這麼一塊區域,它受 CPU 控制使用,一般使用者沒辦法直接使用它。什麼是堆疊?它像許多本書堆在一起,每一本書代表一筆資料,新資料會疊在舊資料的上面,因此最上面的東西沒被取走之前,被壓在下面的東西是沒辦法使用,LIFO (Last In First Out) 後進先出就是它的操作程序。什麼時候用?呼叫副程式時,必須記住現在程式位置,因此 CPU 會將目前程式位址存入堆疊中,然後跳到副程式執行,如果第一個副程式又再呼叫第二個副程式,那麼會在堆疊中放入第一個副程式的位置。執行完第二個副程式後,會先從堆疊中取出第一個副程式位置跳回去,執行完第一個副程式後,從堆疊中再取出主程式位置跳回去。請參考下圖。

2009年12月5日 星期六

Solution Provider

http://4rdp.blogspot.com/2009/12/solution-provider.html?m=0

什麼樣的人適合從事研發工作,其中一樣重要特質,是否具有提供解決方案的能力?

因為研發過程會遇到很多奇奇怪怪的難題,如果你無法想出一套解決方案,那麼東西做不出來,最後就失敗收場,投入許多時間、金錢、精力卻無法獲利,真是可惜。

如果你是研發職場的新鮮人,你可以