軟件設計師筆記之計算機系統知識一
計算機系統結構
計算機的發展歷史:
1946年,世界上第一臺電子計算機ENIAC出現,之后經歷了5個發展階段:
馮式結構計算機的組成部分:存儲器、運算器、控制器、輸入設備和輸出設備。
強化的概念:
計算機的工作過程:一般是由用戶使用各種編程語言把所需要完成的任務以程序的形式提交給計算機,然后翻譯成計算機能直接執行的機器語言程序,在計算機上運行。
計算機系統可以由下面的模型表示:
計算機系統結構(computer architecture):
指機器語言級機器(物理機器)的系統結構,它主要研究軟件、硬件功能分配,確定軟件、硬件界面(機器級界面),即從機器語言程序員或編譯程序設計者的角度所看到的機器物理系統的抽象。
計算機組成(computer organization):
是指計算機系統的邏輯實現,包括機器內部數據流和控制流的組成以及邏輯設計等,其目標是合理的把各種部件、設備組成計算機,以實現特定的系統結構,同時滿足所希望達到的性能價格比。
計算機實現(computer implementation):
是指計算機組成的物理實現。
計算機系統的分類:Flynn分類、馮氏分類、Handler分類和Kuck分類;
Flynn分類:根據不同指令流—數據流組織方式把計算機系統分成4類。(重點理解)
指令流:機器指令的執行序列;
數據流:由指令流調用的數據序列,包括輸入數據和中間結果;
多倍性:在系統性能的瓶頸部件上同時處于同樣執行階段的指令和數據的最大可能個數;
I. 單指令流單數據流SISD——如單處理機
II. 單指令流多數據流SIMD——如相聯處理機
III. 多指令流單數據流MISD——如流水線計算機
IV. 多指令流多數據流MIMD——如多處理機
馮氏分類:以最大并行度Pm把計算機系統結構分為4類,其中字寬W表示在一個字中同時處理的二進制位數,位寬B表示在一個位片中能同時處理的字數。
I. 字串位串WSBS(serial)(parallel)
II. 字并位串WPBS
III. 字串位并WSBP
IV. 字并位并WPBP
Handler分類:根據并行度和流水線處理的程度將計算機系統結構分成3個層次
I. 程序控制部件PCU的個數K
II. 算術邏輯部件ALU或處理部件PE的個數D
III. 每個算術邏輯部件包含基本邏輯線路ELC的套數W
Kuck分類:與Flynn分類法類似,根據指令流、執行流和多倍性來分類。
I. 單指令流單執行流SISE——典型的單處理機
II. 單指令流多執行流SIME——帶多操作部件的處理機
III. 多指令流單執行流MISE——帶指令級多道程序的單處理機
IV. 多指令流多執行流MIME——多處理機
計算機不同級別程序員所見的計算機部分,透明性的概念:
透明性:一種實際存在的事物或屬性,從某個角度看似乎不存在的現象。
低層機器級的概念結構和功能特性對于高級語言的程序員來說是透明的。