今天的筆記主要在介紹馮紐曼結構的要點
( 圖片主要是從課程影片擷取或是來自於網路上:P )
馮紐曼結構要點
在馮紐曼所著的《關於EDVAC的報告草案》中詳述了馮紐曼架構的結構要點
這份報告草案長度101頁,且未完成稿,在報告中主要論述兩個重要的設計思想:
* 存儲程序,而不是開關連線
* 二進制,而不是十進制
如此一來就可以降低因開關連線造成的時間成本
二進制也可以讓系統內部結構不要像十進制一樣複雜
(在這份草圖中還可以看到 EDVAC 的名字)
計算機五大組成部分與存儲程序概念
另外他也明確的定義了計算機的五個部分:
* 運算器(CA, Central Arithmetical)
* 控制器(CC, Central Control)
* 存儲器(M, Memory)
* 輸入設備(I, Input)
* 輸出設備(O, Output)
運算器和控制器對應現代計算機中的 CPU,存儲器也就是記憶體。
記憶體是由地址和內容所構成,地址對應了每個存儲單元的序號,內容存儲單元中的訊息
現代電腦一般一個存儲單元就是一個字節,也就是 8bits = 1byte
舉例來說就像是有一個貨架,可以清楚的看到有四格分別標示1-4 (地址)
在不同貨架中存放著不同的物品 (內容)
知道了馮紐曼架構的五大組成部分之後,甚麼是存儲程序的概念呢?
在課程中老師舉了一個餐館的例子來說明CPU和記憶體的互動架構
在餐廳中有倉庫和廚房,控制器是大廚,運算器則是廚具
倉庫中放很多的貨架,而任務單(ex:炒一道番茄炒蛋or把青椒拿到廚房)和原料則都統一放在上面。
非 ENIAC 的架構中,任務單並沒有放在倉庫,而是像是通過餐廳經理遞進來
乍看之下任務單和原料擺在一起是不太合理的
但是這是基於經理遞任務單速度很快的前提之下
如果這個餐廳位於火星,原料已經在火星的倉庫裡了
可是廚師要做的事情卻需要從地球送過來
每遞一次菜單需要一年,而廚師做菜只要十分鐘
這樣時間和速度的差距就顯示出來了,效率也是顯而易見的低
因此馮紐曼架構下的元件互動就如下圖所示
知道了關於馮紐曼架構的基本五大元素以及存儲程序的概念之後
詳細的整個系統是怎麼運轉的呢?請靜待下篇分曉(?)
心得
聽了兩小堂課就讓我有了基本的架構概念,老師真是功力高深(y)
雖然筆記內容已盡可能的呈現課堂重點,但是還是推薦有興趣的可以自己去找課程影片來上~!!
憑著以前上課的依稀印象,後面將有指令的各種複雜關聯
保持著現在的心情繼續努力吧~!!!