馮諾依曼結構主要思想
最重要的思想:“存儲程序(Stored-program)”
工作方式: 任何要計算機完成的工作都要先被編寫成程序,然后將程序和原始數據送入主存并啟動執行。一旦程序被啟動,計算機應能在不需要操作人員的干預下,自動完成逐條取出指令和執行指令的任務。
幾乎現代所有通用計算機大都采用馮諾依曼結構
image.png
image.png
馮諾依曼結構的主要思想
1、計算機應由運算器、控制器、存儲器、輸入設備和輸出設備五個基本部件組成。
2、各基本部件的功能是:
存儲器不僅能存放數據,而且也能存放指令,形式上兩者沒有區別,但計算機應能區分數據還旨令:
控制器應能自動取出指令來執行,
運算器應能進行加/減/乘/除四種基本算術運算,并且也能進行一些邏輯運算和附加運算·
操作人員可以通過輸入設備、輸出設備和主機進行通信。
3、內部以二進制表示指令和數據。每條指令由操作碼和地址碼兩部分組成。操作碼指出操作類型,地址碼指出操作數的地址。由一串指令組成程序。
現代計算機結構模型及工作原理
現代計算機結構模型
與馮諾依曼結構幾乎一樣
image.png
MAR: memory address register 主存的地址存儲器
MDR:memory data register 主存數據寄存器
ALU:arithmetic and logic unit 算數邏輯部件, 能實現多組算術運算和邏輯運算的組合邏輯電路
GPR: general purpose register 通用寄存器 可用于傳送和暫存數據,也可參與算術邏輯運算,并保存運算結果。 GPRs 通用寄存器組(由若干通用寄存器組成,早期就是累加器)
PC: program counter 程序計數器
CPU: central processing unit
IR: Instruction Register指令寄存器
舉例對比
image.png
image.png
image.png
從機器語言到高級編程語言
機器語言
所有信息都是0/1序列,記錄在紙帶或卡片上
【輸入】:按鈕、開關
【輸出】:指示燈
缺點:書寫閱讀困難!
image.png
匯編語言
用符號表示跳轉位置和變量位置
- 用助記符表示操作碼 : add
- 用標號表示位置: L0
- 用助記符表示寄存器
image.png
優點:
- 不用因為增減指令而需要修改其他指令
- 不用記憶指令編碼,編寫方便
- 可讀性比機器強
缺點:
必須將匯編語言轉化為機器語言,需要匯編程序來完成
機器語言和匯編語言都是面向機器結構的語言,故他們統稱為**機器級語言**
高級語言
與機器結構無關
面向算法描述,比機器級語言描述能力強得多
有“面向過程”和“面向對象”之分
有兩種轉換方式:“編譯”和“解釋”
- 編譯程序(Complier):將高級語言源程序轉換為機器級目標程序,執行時只要啟動目標程序即可(如C語言,生成可執行文件)
- 解釋程序(Interpreter):將高級語言語句逐條翻譯成機器指令并立即執行,不生成目標文件
程序的開發和執行及其支撐環境
image.png
image.png
image.png
匯編指令和機器指令是一一對應的
支撐環境
支撐程序開發和運行的環境由系統軟件提供
系統軟件:操作系統+語言處理系統
image.png
編程語言和計算機系統層次
image.png
image.png