計算機的基礎
日期:2024-02-16
之前在專欄談過很多計算機的應用,由不同類型的CPU效能,模擬器的實現方式,到3D的實現方式,回過頭來看,發現沒有多談及過計算機的基礎。所以在未來幾星期,我們可以探討一下計算機科學的基礎,包括計算機的基本運作原理、積體電路的基礎、軟件的編寫,以至計算問題複雜度。讓我們有更堅實的基礎了解這個現代社會的房角石是如何實現的。
計算的運作基礎——圖靈機
在計算機科學的基礎中,一個重要的概念是圖靈機。
圖靈機的概念是由數學家艾倫.圖靈在1936年提出的。它將計算過程抽象為一系列的狀態轉換,並且可以模擬任何其他計算機的計算過程。而這個機械式的工作,只需要由三個主要組件組成:讀寫頭、無限長的紙帶和控制單元。紙帶被劃分為一系列的格子,每個格子都可以存儲一個符號。讀寫頭可以讀取和寫入這些符號,並根據控制單元的指示進行移動。
圖靈機是一個理論上的計算模型,它證明了機械計算是可能且可行的。機械計算是指「依照一定的有限的步驟,毋須計算者的靈感就能完成的計算」。這意味著機械是可以自行運算而不需要計算者——人的參與。粗略地想像就是由算盤來到了電子計算機中,人的角色的轉變。
機械計算例子
用比較日常的例子來想像,我們平時筆算乘法的思維過程,跟一台圖靈機的運轉非常相似:在每個時刻,我們只將注意力集中在一個地方,根據已經讀到的信息移動筆尖,在紙上寫下符號;而指示我們寫甚麼怎麼寫的,則是早已背好乘法表,以及簡單的加法。這樣就是圖靈機要做到的事情:把計算變成一系列的機械動作,讓機械可以自行運算。
結語
在有了這個計算模型,我們從理論上已經可以進行機械計算,但實際要做出一個可以實現這個模型的機器,我們還要一個架構(architecture),對計算機有認識的讀者,可能由上文的讀寫頭,紙帶等聯想到現在計算機中的中央處理器,記憶體,這正正是匈牙利裔美國數學家約翰.馮·諾依曼的工作,下一篇文章,我們會看一下這個基本上現在所有計算機都在用的架構到底是甚麼。
即時睇全港更多二手筍盤 |