目前為止,我們用一個簡單的加法器,來體會計算機是用眾多小開關,接出複雜的電路而組成的。但是這樣聽起來好像能做的事情很有限,是不是只能輸入兩個數,然後把他們加起來?那如果我想要把 100 個數加起來,或是想要做乘法的話怎麼辦?
如果要自己輸入 100 遍,每次還要記下前一次的結果,那我乾脆自己算。那如果我修改一下電路,把我的計算機的邏輯變成可以一次加 100 個數,好像就可以解決問題囉?是這樣沒錯,但是電路這麼複雜,每次要算新的東西就要把線路重新接一遍,聽起來也有點不切實際。這時候「程式」就很重要了。
在加法器的例子中,我們輸入的東西都是要運算的「資料」,加法器能做的事情是固定的,它只會依照輸入的資料,將資料相加後輸出。程式的概念就是將「指令」也加到輸入輸出中,換句話說就是「對電腦下指令」。
現代電腦所使用「馮紐曼架構」,概念就是在運算處理單元之外,多新增一個儲存裝置,我們先叫他「記憶體」,程式就放在記憶體中,並且程式的每一條指令都會有一個記憶體位址。運算處理單元會從程式的開頭,開始一條一條執行指令。這樣一來,我們想要電腦幫我們做不同的事情時,只要修改程式放到記憶體中,電腦就能依照不同的需求做事情了。