架構 -- 馮·諾伊曼體系結構
摘要:
目標:解決一切可以用計算解決的問題
元件: 中央處理器 、 儲存 、 輸入輸出裝置
元件
儲存
儲存負責存放計算涉及的相關資料,作為計算的輸入引數和輸出結果
從 中央處理器 的角度,儲存可以分為兩類
一類是...
- 目標: 解決一切可以用計算解決的問題
- 元件: 中央處理器 、 儲存 、 輸入輸出裝置
元件
儲存
- 儲存負責存放計算涉及的相關資料,作為計算的輸入引數和輸出結果
- 從 中央處理器 的角度,儲存可以分為兩類
- 一類是 內建儲存 ,通過 常規的處理器指令 可以 直接 訪問,例如暫存器、記憶體和主機板上的ROM
- 一類是 外接儲存 ,中央處理器本身並不能直接讀寫其中的資料
- 馮·諾伊曼體系結構中涉及的儲存指的是 內建儲存
輸入輸出裝置
- 輸入輸出裝置是計算機 開放性 的體現,大大地 拓展 了計算機的能力
- 每個裝置通過一個 埠 與中央處理器連線,通過這個埠,中央處理器可以和裝置進行 資料交換
- 資料交換涉及的 資料格式 由 裝置定義 ,中央處理器並不能理解,但這不影響裝置的接入
- 裝置資料交換的發起方( 裝置使用方 )通常 理解並可以解釋 所接收的資料含義
- 裝置廠商或作業系統廠商通常會提供裝置相關的 驅動程式 ,把 裝置資料交換的細節 隱藏起來
- 裝置的使用方只需要呼叫相關的 介面函式 就可以操作裝置
中央處理器
- 中央處理器負責程式(指令序列)的執行,指令序列存放在儲存
- 計算機加電啟動後,中央處理器會從一個 固定的儲存地址 開始執行
- 中央處理器支援的指令分類: 計算類 、 IO類 、 指令跳轉類
實現目標
- 目標:解決一切可以用計算解決的問題
- 需求的變化點:要解決的問題是五花八門的,需要以一種 穩定且可擴充套件的架構 來支援這種變化
- 需求的穩定點:電腦的核心能力是固定的,即 計算
實現計算
- 電腦的核心能力是 計算
- 計算: 對一個數據(輸入)進行變換,變為另一個數據(輸出) ,對應數學中的函式:
y=F(x)
- x和y都是資料,可能是一個簡單的數值,也可能是文字、圖片和視訊等
- 無論邏輯含義為何,物理上都可以用一段 連續的位元組 來表達
- x和y物理上存放在 儲存 上
具體計算的表達
- 邏輯上來看,無論多麼複雜的自定義函式,都是 內建函式、迴圈和條件分支、子函式 的 組合 定義
- 對於任意的具體計算來說,都可以用 一組指令序列 來表達,並且以指令序列的形式存放在 儲存 裡面
- 因此,儲存不僅存放計算所要操作的資料,也存放”計算”本身
- 只是儲存裡面存放的計算只是資料,需要中央處理器 理解並執行 這些資料背後的計算行為,才能變成真正意義的計算
CPU + 儲存
中央處理器+儲存,就能夠支援 任意複雜 的計算了

實現IO
- 互動,抽象來看就是輸入輸出,對電腦來說,輸入輸出可能是千變外化的
- 除了純正的 計算能力 之外,中央處理器還需要具備 IO能力
- 此時,電腦可以看成: 中央處理器 + 儲存 + 一系列的輸入輸出裝置
解決的根本問題
- 輸入輸出裝置從根本上解決的是電腦 無限擴充套件的能力
- 輸入輸出裝置和電腦是 完全異構 的,輸入輸出裝置對電腦來說只是實現了某項能力的 黑盒子
- 可以只是一個原始的數字化元器件,也可以是另一臺馮.諾依曼架構的電腦,還可以是完全 異構 的電腦(GPU電腦)