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