什麼是計算模型?


人們普遍觀察到,某些計算機架構課程和程式語言課程之間存在對應關係。例如,馮·諾依曼架構和命令式語言,或者約簡架構和函式式語言。相應的架構和語言類別必須具有共同的基礎或正規化,稱為計算模型。

計算模型包含以下三個抽象集,如圖所示:

第一個抽象識別**計算的基本要素**。這是對計算所涉及的任何型別計算的專案規範。

例如,在馮·諾依曼計算模型中,計算的基本要素是資料。這些資料通常由命名實體表示,以便能夠在計算過程中區分多個不同的資料項。這些命名實體在程式語言中通常稱為變數,並在架構中由記憶體或暫存器地址實現。

**問題描述模型**指的是問題描述的風格和方法,如圖所示。

**問題描述風格**指定了在特定計算模型中如何描述問題。風格可以是過程式的或宣告式的,如圖所示。

在**過程式風格**中,陳述了求解問題的演算法。然後以演算法的形式宣告一個特定的解決方案。

如果使用**宣告式風格**,則必須陳述與給定問題相關的所有事實和關係。有兩種方法可以表達這種關係和事實。第一種方法使用函式,如在應用計算模型中,而第二種方法以謂詞的形式陳述關係和事實,如在基於謂詞邏輯的計算模型中。

問題描述模型的另一個組成部分是**問題描述方法**。它在過程式和宣告式風格中解釋不同。當使用過程式風格時,問題描述模型說明了如何描述給定問題的解決方案。

當使用宣告式風格時,它指定了如何描述問題本身。例如,在馮·諾依曼計算模型中,問題解決方案被描述為表示適當演算法的一系列指令。

**執行模型** - 計算模型的最後一個元素是執行模型。第一個組成部分宣告計算的解釋,這與問題描述方法密切相關。問題描述方法的選擇和計算的解釋相互決定並相互假定。

執行模型的下一個組成部分指定執行語義。這可以解釋為規定如何執行單個執行步驟的規則。

基本計算模型應用的不同型別的執行語義如圖所示。狀態轉換語義用於圖靈機、馮·諾依曼和基於物件的模型,資料流語義用於相應的資料流模型,約簡語義用於應用模型,SLD-resolution 用於基於謂詞邏輯的計算模型。

模型的最後一個組成部分指定**執行序列的控制**。在基本模型中,執行是控制驅動的、資料驅動的或需求驅動的。

**控制驅動執行** - 假設存在一個由一系列指令組成的程式。然後,執行序列由指令的順序隱式給出。

**資料驅動執行** - 其特點是當所有需要的輸入資料可用時,操作就被啟用。這種序列模型也稱為積極求值。

**需求驅動執行** - 在需求驅動執行中,只有當操作的執行對於實現最終結果是必需時,才啟用該操作。這種執行控制模式也稱為惰性求值,因為它應用了延遲直到需要的理念。

更新於:2021年7月30日

5K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.