架構(gòu)備戰(zhàn)之計算機(jī)原理 flynn分類法
1、概念
在1966 年,由Michael.J.Flynn 提出根據(jù)指令流、數(shù)據(jù)流的多倍性特征對計算機(jī)系統(tǒng)進(jìn)行分類(通常稱為 Flynn 分類法)。
- 指令流:機(jī)器執(zhí)行的指令序列
- 數(shù)據(jù)流:由指令流調(diào)用的數(shù)據(jù)序列,包括輸入數(shù)據(jù)和中間結(jié)果,不包括輸出數(shù)據(jù)。
Flynn根據(jù)不同的指令-數(shù)據(jù)流,將計算機(jī)系統(tǒng)分為四種。
了解四種之前我們了解一下指令和數(shù)據(jù)的英文縮寫。
指令:Instruction,簡稱:I
數(shù)據(jù):Data,簡稱:D
而計算機(jī)中的指令和數(shù)據(jù)可能存在單個或者多個。
單個的英文為Single,簡稱S;
多個的英文為multiple,簡稱:M。
經(jīng)過簡單的排列組合后得到如下四種。
- SISD(單指令流單數(shù)據(jù)流)
單條指令處理單條數(shù)據(jù)。控制器,處理器,主存均只有一個。比如單處理器系統(tǒng)。
- SIMD(單指令流多數(shù)據(jù)流)
- 單條指令處理多條數(shù)據(jù)。一個控制器,多個處理器和主存。比如并行處理機(jī)(矩陣處理機(jī)),超級向量處理機(jī)。
- MISD(多指令流單數(shù)據(jù)流)
- 多條指令處理單條數(shù)據(jù)。多個控制器,一個處理器和多個主存(已被證實不可能)。例子:目前沒有,有文獻(xiàn)稱流水線計算機(jī)為此類
- MIMD(多指令流多數(shù)據(jù)庫)
- 多條指令處理多條數(shù)據(jù)??刂破?,處理器,主存均是多個。
- 能實現(xiàn)作業(yè),任務(wù),指令等全面并行。
- 例子:多核處理器,多處理機(jī)。
2、了解硬件組成
硬件通常就是我們看得見,摸得著的設(shè)備。
原始的設(shè)備是馮?諾依曼(VonNeumann)計算機(jī),它以運算器為核心。發(fā)展到現(xiàn)在,以存儲器為核心。
- 控制器:是分析和執(zhí)行指令的部件,也是統(tǒng)一指揮并控制計算機(jī)各部件協(xié)調(diào)工作的中心部件,所依據(jù)的是機(jī)器指令。就是老大,要分配其他小弟干活的。
程序計數(shù)器(PC): 存儲下一條要執(zhí)行指令的地址
指令寄存器(IR): 存儲即將執(zhí)行的指令
指令譯碼器(ID): 對指令中的操作碼字段進(jìn)行分析解釋
時序部件: 提供時序控制信號
- 運算器:也稱為算術(shù)邏輯單元(ArithmeticandLogicUnit, ALU),其主要功是在控制器的控制下完成各種算術(shù)運算和邏輯運算。說白了,就是控制器的小弟,專門干活的。
- 算術(shù)邏輯單元 ALU:數(shù)據(jù)的算術(shù)運算和邏輯運算
- 累加寄存器 AC:為ALU提供一個工作區(qū),用在暫存數(shù)據(jù)
- 數(shù)據(jù)緩沖寄存器 DR:寫內(nèi)存時,暫存指令或數(shù)據(jù)
- 狀態(tài)條件寄存器 PSW:存狀態(tài)標(biāo)志與控制標(biāo)志(有爭議:也有將其歸為控制器的)
- 主存儲器:也叫內(nèi)存或者主存。存儲當(dāng)前操作的信息和中間結(jié)果,包括機(jī)器指令和數(shù)據(jù)。
- 輔助存儲器:也叫輔存或者外存。需要存儲長期保存的信息。
- 輸入設(shè)備:比如鍵盤鼠標(biāo)等
- 輸出設(shè)備:將程序執(zhí)行結(jié)果輸出計算機(jī)給人或其他設(shè)備。比如打印機(jī),數(shù)據(jù)轉(zhuǎn)換裝置等。
3、小結(jié)
本此主要了解什么是flynn分類法,并且由flynn分類涉及到的概念,了解什么是運算器和控制器,主存等概念的了解。