馮 · 諾依曼體系結構簡介
- 1. 馮 · 諾依曼體系結構介紹
- 1.1 發展背景
- 1.2 經典馮 · 諾依曼計算機三大組成部分體系結構
- 2. 匯編語言對馮 · 諾依曼結構的抽象
- 3. 面向程序語言對馮諾依曼結構的抽象
- 4. 面向物件語言對馮諾依曼結構的抽象
1. 馮 · 諾依曼體系結構介紹
1.1 發展背景
- 電子計算機的問世,奠基人是英國科學家艾倫·麥席森·圖靈和美籍匈牙利科學家馮· 諾伊曼,
- 圖靈的貢獻是建立了圖靈機的理論模型,奠定了人工智能的基礎,而馮· 諾伊曼則是首先提出了計算機體系結構的設想,
- 1946年美籍匈牙利科學家馮·諾伊曼提出存盤程式原理,把程式本身當作資料來對待,程式和該程式處理的資料用同樣的方式存盤,并確定了存盤程式計算機的五大組成部分和基本作業方法,
- 從20世紀初,物理學和電子科學家們就在爭論制造可以進行數值計算的計算器應該采用什么樣的結構,人們被 十進制 這個人類習慣的計數方法所困擾,直到20世紀30年代中期,美國科學家 馮·諾依曼 就大膽的提出:拋棄十進制,采用二進制作為數字計算機的數制基礎,
1.2 經典馮 · 諾依曼計算機三大組成部分體系結構

- 輸入輸出設備統稱IO設備:負責資料和程式的輸入輸出
- 存盤器:存盤程式和資料
- 中央處理器:由運算器和控制器組成,運算器負責資料按照程式的處理辦法進行計算,控制器控制程式的邏輯
傳統教科書把馮 · 諾依曼理論分為五部分:輸入設備、輸出設備、存盤器、運算器、控制器
計算機科學的歷史一直圍繞的是IO設備、存盤器、處理器這三大部件
計算機科學一直圍繞著資料、邏輯、界面三大部分演變
- 資料對應存盤器
- 邏輯對應處理器
- 界面對應IO設備
特殊提醒:這里的存盤器指的是記憶體,而不是磁盤等外存
2. 匯編語言對馮 · 諾依曼結構的抽象
-
匯編語言是對馮 · 諾依曼結構最為直接的抽象
-
在匯編語言中只有三種操作物件:暫存器、存盤器、IO設備
-
暫存器是處理器的主要組成部分,不同種類的暫存器分別承擔著控制器和運算器的角色
-
- 邏輯處理暫存器:指令暫存器、段暫存器
-
- 資料運算暫存器:累加暫存器
使用匯編語言實作將兩個數相加并輸出和

- 從上述程式中可以看到,首先定義了資料段并對存盤器中的資料進行賦值,然后定義了代碼段
- 在馮諾依曼體系結構中,資料段和代碼段被統一放入存盤器中,并經過處理器中暫存器的邏輯控制和運算,在需要通過IO設備顯示的時候呼叫INT中斷程式輸出到螢屏上
- 上述可以看出,匯編程式是對馮諾依曼最原始的抽象,匯編程式把資料、邏輯和顯示進行了最原始的封裝,使得程式員可以方便的控制存盤器、處理器、IO設備,而不是和枯燥的二進制打交道
3. 面向程序語言對馮諾依曼結構的抽象
- 面向程序的語言對資料、邏輯和界面進行更深層次的抽象,使得人類更加方便的控制存盤器、處理器、IO設備
- C語言是面向程序語言中最具代表性的語言
用C語言實作兩個數的加法

- 從上述代碼中,int a,b就是程式的資料段,整個main方法就是程式的代碼段,printf方法和scanf方法則是對應著INT中斷程式,資料段既可以在代碼段中也可以在代碼段之外
- C語言通過對存盤器、處理器、IO設備更高層次的抽象,使得開發程序中不再需要關心哪些是資料段,哪些是代碼段,如何去控制處理器和IO設備
- 只需要在需要的地方進行呼叫定義即可
4. 面向物件語言對馮諾依曼結構的抽象
- 面向物件語言是對馮諾依曼體系結構的抽象更進化的一個層次
- 面向物件語言使得每個物件的存盤、邏輯、顯示分開來
- 面向物件語言的出現是對馮諾依曼體系結構的一次回歸
用C++語言實作對一個人的抽象

-
在一個類中,定義了描述類屬性(資料)的資料段,定義了描述類動作(操作資料)的代碼段
-
物件的大小取決于資料段占據記憶體的大小
9)] -
在一個類中,定義了描述類屬性(資料)的資料段,定義了描述類動作(操作資料)的代碼段
-
物件的大小取決于資料段占據記憶體的大小
-
物件中的資料段與代碼段是分離的,多個物件共享代碼段,獨自擁有自己的資料段,通過隱式傳遞this指標給共享代碼段來操作自己的資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234210.html
標籤:其他
上一篇:技術經理成長復盤-大重構
