程式與時間

      在〈程式與時間〉中尚無留言

時間膨脹

$(\Delta t’=\gamma \Delta t=\frac{\Delta t}{\sqrt{1-v^{2}/c^{2}}})$

public static void main(String[] args) {
    Scanner in=new Scanner(System.in);
    System.out.printf("請輸入速度 : ");
    double c=3e8;
    double v=in.nextDouble();
    double t=1/Math.pow(1-(v*v)/(c*c), 1/2.0);
    System.out.printf("時間膨脹 :%f 倍\n", t);
}
結果 : 
請輸入速度 : 2.9e8
時間膨脹 :3.905667 倍

請輸入速度 : 28
時間膨脹 :1.000000 倍

也就是說,當一個物体,以極快的速度移動時,此物体的時間會膨脹。它所歷經的一秒,是我們靜止的人的好幾秒。

時間概論

人也只有100年的壽命, 但窮人總是想快點結束生命所以常有自殺事件. 有錢人總是竭盡辦法想活久一點. 那牛呢? 一輩子60年要被摸奶又要耕田, 最後還被煮成牛肉麵. 這一切, 都是人類自以為是的想法.

時間是什麼, 並不好解釋.  若能講解明白, 是可以直接拿諾貝爾獎的, 或者是悟道成仙.

時間, 是一個很抽像的東西, 不存在, 確能感受到(在此暫時說明時間不存在) .科學家亦無法具體的表示出時間是什麼東西. 只能用物體移動時的狀態來表示時間. 比如高鐵行駛200公里花一小時, 台鐵行駛200公里花二小時. 一小時或二小時是用移動的距離來表達.

若以佛學而言, 實有另外解釋. 前世造了多少因, 今世就要還多少果,. 每完成一個果, 就需感覺一定程度的痛苦, 這程度, 以人類的知覺, 就是時間的長短.

這又回到鬼打牆的狀態, 一小時跟二小時又有何差別?? 試想一件事, 廁所裏有沒有人, 跟你有何相關?? 當你屎在滾時, 一秒有如一小時. 當你舒坦時, 管他天荒地老.

廣義相對論中, 時間會被拉伸. 沒唸過物理學的人一看到廣義相對論就覺的好難, 其實不必擔心, 本篇也沒複雜的物理計算式, 只要理解一件平常很常看到的狀況就好~~~當物體移動速度接近光速時, 時間會延緩, 到達光速時就直接凍結. 而在黑洞邊緣, 時間亦有此現象. 所以在地球及黑洞二處之人, 黑洞處的人感覺過了一個小時, 但地球卻經過了好幾年, 甚至好幾萬年.

那時間跟程式又有何關係. 學程式的初期, 的確無法感覺有什麼關係, 要一直到後期才會重視這個問題. 敏感度較高的人, 也許會問~~~在一個迴圈跑了10次, 那跑10次需花費多少時間, 跑一次又需要多少時間? 直白的說, 不懂程式的人, 感覺是~~~咻, 完成了, 完全沒這個問題.

一顆CPU的頻率如果是1G HZ(次), 代表著這顆CPU在一秒之中, 會震盪1G 次, 也就是10億次. G是10億的簡寫, 也就是109.  假設1 HZ可執行一個指令, 那表示CPU可以在1秒中執行10億個指令.
如果1秒執行10億個指令, 那1個指令, 需花多少時間? 當然是1/1,000,000,000 秒

時間單位

下面的說明, 是國際時間單位, 請熟記

1 秒 =

1,000ms(毫秒)
1,000,000µs(微秒)
1,000,000,000ns(奈秒)

所以依上述的問題, 1個指令需花1ns.

光速

光1秒可以走的距離是 3*108公尺 = 30 萬公里, 那一公尺需花多少時間 ?
Ans : 1/(3*10) 秒 = 109/(3*10) ns = 10/3 ns = 3.33ns

那1公分呢, 再除100, 就是0.0333ns

CPU

cpu1  cpu2

一般CPU的大小約為 4*4cm. 電子在裏面跑, 以光速在運動. 假設電子從上跑到下可完成一個指令(當然沒這麼容易啦, 在此只是簡化其他複雜的程序), 那從上跑到下需花費4*0.0333ns=0.1332ns
也就是說一個指令需花費 0.1332ns, 所以1秒可完成 109/0.1332 = 7.5 *10個指令, 也就是7.5GHz

上述的計算, 其實是要說明一件事, CPU再快, 也有一定的極限, 以 4*4cm簡化來說, 最快不會超過7.5GHz. 原因很簡單, 就是光跑的速度不夠快.

當然, 想把CPU的頻率再加快1000倍, 還有一個很簡單的方法, 就是把CPU的大小再縮小1000倍, 變成4/1000 cm = 0.004cm=0.04 mm. 不過目前的技術不可能在這麼小的空間擠進那麼多千萬個電晶體.

ps1. 原子也算蠻大顆的, 平圴約300pm(皮米) = 0.3 nm(奈米), 原子核的大小是電子雲的十萬分之一, 所以這世界是相當虛無空洞的. 為什呢, 請看ps2

ps2. 太陽到地球約1.5億公里, 稱為1AU(1天文單位), 約107顆太陽的大小

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *