




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、清華大學(xué)清華大學(xué)電子工程系電子工程系 電子信息科學(xué)與技術(shù)導(dǎo)引電子信息科學(xué)與技術(shù)導(dǎo)引 程序程序與處理器與處理器 電子信息科學(xué)與技術(shù)知識(shí)體系電子信息科學(xué)與技術(shù)知識(shí)體系 2 大綱大綱 歷史:計(jì)算與計(jì)算機(jī)歷史:計(jì)算與計(jì)算機(jī)1 指令集體系結(jié)構(gòu)指令集體系結(jié)構(gòu)2 程序和程序設(shè)計(jì)語(yǔ)言程序和程序設(shè)計(jì)語(yǔ)言3 處理器的工作原理處理器的工作原理4 更快更強(qiáng)更快更強(qiáng)5 3 歷史:計(jì)算與歷史:計(jì)算與計(jì)算機(jī)計(jì)算機(jī) 以古為鏡,可以知興以古為鏡,可以知興替替 李世民李世民 你對(duì)以往知道的愈多,對(duì)未來(lái)就看得愈遠(yuǎn)你對(duì)以往知道的愈多,對(duì)未來(lái)就看得愈遠(yuǎn) 溫斯頓溫斯頓 丘吉爾丘吉爾 4 什么是計(jì)算什么是計(jì)算 將將3乘以乘以8(3x8)就
2、是一種簡(jiǎn)單的計(jì)算。數(shù)學(xué)中)就是一種簡(jiǎn)單的計(jì)算。數(shù)學(xué)中 的計(jì)算有加,減,乘,除,乘方,開(kāi)方等的計(jì)算有加,減,乘,除,乘方,開(kāi)方等 廣義的計(jì)算包括邏輯推理,文法的產(chǎn)生式,函數(shù),廣義的計(jì)算包括邏輯推理,文法的產(chǎn)生式,函數(shù), 組合數(shù)學(xué)的置換,變量代換,圖形圖像的變換,組合數(shù)學(xué)的置換,變量代換,圖形圖像的變換, 數(shù)理統(tǒng)計(jì),人工智能解空間的遍歷,問(wèn)題求解,數(shù)理統(tǒng)計(jì),人工智能解空間的遍歷,問(wèn)題求解, 圖論的路徑問(wèn)題,網(wǎng)絡(luò)安全,代數(shù)系統(tǒng)理論等圖論的路徑問(wèn)題,網(wǎng)絡(luò)安全,代數(shù)系統(tǒng)理論等 5 什么是計(jì)算什么是計(jì)算 工程中數(shù)字系統(tǒng)設(shè)計(jì)(例如邏輯代數(shù)),軟件程工程中數(shù)字系統(tǒng)設(shè)計(jì)(例如邏輯代數(shù)),軟件程 序設(shè)計(jì)(文法),
3、機(jī)器人設(shè)計(jì),建筑設(shè)計(jì)等設(shè)計(jì)序設(shè)計(jì)(文法),機(jī)器人設(shè)計(jì),建筑設(shè)計(jì)等設(shè)計(jì) 問(wèn)題也可以稱為計(jì)算問(wèn)題也可以稱為計(jì)算 經(jīng)濟(jì)生活中商品價(jià)格的評(píng)估也是一種復(fù)雜的計(jì)算經(jīng)濟(jì)生活中商品價(jià)格的評(píng)估也是一種復(fù)雜的計(jì)算 從投票意向評(píng)估出的選舉結(jié)果(民意調(diào)查)也包從投票意向評(píng)估出的選舉結(jié)果(民意調(diào)查)也包 含了計(jì)算,但是提供含了計(jì)算,但是提供的計(jì)算結(jié)果的計(jì)算結(jié)果是是“各種可能性各種可能性 的范圍的范圍”而不是單一的正確答案而不是單一的正確答案 計(jì)算是一種將單一或多個(gè)輸入值轉(zhuǎn)換為單一或多計(jì)算是一種將單一或多個(gè)輸入值轉(zhuǎn)換為單一或多 個(gè)結(jié)果的一種過(guò)程個(gè)結(jié)果的一種過(guò)程 6 什么是計(jì)算什么是計(jì)算 計(jì)算可以用簡(jiǎn)單的模型來(lái)表示計(jì)算可以
4、用簡(jiǎn)單的模型來(lái)表示 例如例如c=a+b,輸入數(shù)據(jù)是,輸入數(shù)據(jù)是a、b,輸出數(shù)據(jù),輸出數(shù)據(jù) 是是c,運(yùn)算器執(zhí)行加法,運(yùn)算器執(zhí)行加法 運(yùn)算器運(yùn)算器 輸入數(shù)輸入數(shù) 據(jù)據(jù) 輸出數(shù)輸出數(shù) 據(jù)據(jù) 7 人類早期的計(jì)算工具人類早期的計(jì)算工具 計(jì)算程序儲(chǔ)存在人的大腦中計(jì)算程序儲(chǔ)存在人的大腦中 8 Blaise Pascal(1623-1662) 加法機(jī)加法機(jī) (1642) 由一系列齒輪組成的純機(jī)械設(shè)備。采用十進(jìn)制運(yùn)算,能完由一系列齒輪組成的純機(jī)械設(shè)備。采用十進(jìn)制運(yùn)算,能完 成成8位十進(jìn)制數(shù)的加法和減法運(yùn)算位十進(jìn)制數(shù)的加法和減法運(yùn)算 計(jì)算程序體現(xiàn)在設(shè)備的機(jī)械結(jié)構(gòu)中計(jì)算程序體現(xiàn)在設(shè)備的機(jī)械結(jié)構(gòu)中 意義:揭示出用機(jī)器
5、代替人類進(jìn)行計(jì)算意義:揭示出用機(jī)器代替人類進(jìn)行計(jì)算,完全,完全可以可以做到做到 人類早期的計(jì)算工具人類早期的計(jì)算工具 9 進(jìn)位問(wèn)題:進(jìn)位問(wèn)題:采用了一種采用了一種 小爪子式的棘輪裝置,小爪子式的棘輪裝置, 當(dāng)個(gè)位齒輪朝當(dāng)個(gè)位齒輪朝9 9轉(zhuǎn)動(dòng)時(shí),轉(zhuǎn)動(dòng)時(shí), 棘爪便逐漸升高,一旦棘爪便逐漸升高,一旦 齒輪轉(zhuǎn)到齒輪轉(zhuǎn)到0 0,棘爪就跌落,棘爪就跌落 下來(lái),推動(dòng)十位數(shù)的齒下來(lái),推動(dòng)十位數(shù)的齒 輪前進(jìn)一檔輪前進(jìn)一檔 PascalPascal加法機(jī)的工作原理加法機(jī)的工作原理 人類早期的計(jì)算工具人類早期的計(jì)算工具 10 人類早期的計(jì)算工具人類早期的計(jì)算工具 Pascal加法機(jī)發(fā)明后的加法機(jī)發(fā)明后的300年間,
6、雖然出現(xiàn)年間,雖然出現(xiàn) 了了Leibniz計(jì)算器、計(jì)算器、 Babbage分析機(jī)等重分析機(jī)等重 要的機(jī)械計(jì)算機(jī),但是發(fā)展速度十分緩慢要的機(jī)械計(jì)算機(jī),但是發(fā)展速度十分緩慢 11 由四部分組成:存儲(chǔ)部分、計(jì)算部分、輸入部由四部分組成:存儲(chǔ)部分、計(jì)算部分、輸入部 分、輸出部分分、輸出部分 存儲(chǔ)部分由存儲(chǔ)部分由10001000個(gè)字組成,每個(gè)字為個(gè)字組成,每個(gè)字為5050位十進(jìn)位十進(jìn) 制數(shù);計(jì)算部分從存儲(chǔ)部分接收操作數(shù),進(jìn)行制數(shù);計(jì)算部分從存儲(chǔ)部分接收操作數(shù),進(jìn)行 加減乘除運(yùn)算,并將結(jié)果存回到存儲(chǔ)器;輸入加減乘除運(yùn)算,并將結(jié)果存回到存儲(chǔ)器;輸入 部分從穿孔卡片讀取指令;輸出部分將計(jì)算結(jié)部分從穿孔卡片讀取
7、指令;輸出部分將計(jì)算結(jié) 果穿孔在卡片上果穿孔在卡片上 分析機(jī)分析機(jī)(Analytical Engine) (1837)(Analytical Engine) (1837) 歷史上的第一臺(tái)通用計(jì)算機(jī)歷史上的第一臺(tái)通用計(jì)算機(jī) 分析機(jī)分析機(jī) 12 分析機(jī)的設(shè)計(jì)思想與現(xiàn)代分析機(jī)的設(shè)計(jì)思想與現(xiàn)代CPUCPU的的 存儲(chǔ)程序原理十分相似,而且程存儲(chǔ)程序原理十分相似,而且程 序可以根據(jù)條件進(jìn)行跳轉(zhuǎn),能在序可以根據(jù)條件進(jìn)行跳轉(zhuǎn),能在 幾秒內(nèi)做出一般的加法,幾分鐘幾秒內(nèi)做出一般的加法,幾分鐘 內(nèi)做出乘、除法。內(nèi)做出乘、除法。 不幸的是,分析機(jī)的硬件問(wèn)題一不幸的是,分析機(jī)的硬件問(wèn)題一 直沒(méi)有解決,原因是直沒(méi)有解決,
8、原因是1919世紀(jì)的世紀(jì)的 技術(shù)條件無(wú)法制造出分析機(jī)所需技術(shù)條件無(wú)法制造出分析機(jī)所需 要的成千上萬(wàn)個(gè)高精度的齒輪要的成千上萬(wàn)個(gè)高精度的齒輪 Charles Babbage Babbage的思 想遠(yuǎn)遠(yuǎn)超過(guò)了 他的時(shí)代 分析機(jī)分析機(jī) 13 作為通用計(jì)算機(jī),分析機(jī)在運(yùn)行時(shí)需要軟件,作為通用計(jì)算機(jī),分析機(jī)在運(yùn)行時(shí)需要軟件, AdaAda成為人類歷史上的第一名程序員成為人類歷史上的第一名程序員 現(xiàn)代程序設(shè)計(jì)語(yǔ)言現(xiàn)代程序設(shè)計(jì)語(yǔ)言AdaAda就是為紀(jì)念她而命名的就是為紀(jì)念她而命名的 軟件軟件 Ada Lovelace(1815-1852) 14 ENIAC 1946年年, ENIAC在美在美 國(guó)賓夕法尼亞大
9、學(xué)國(guó)賓夕法尼亞大學(xué) 研制成功,這是世研制成功,這是世 界上第一臺(tái)現(xiàn)代意界上第一臺(tái)現(xiàn)代意 義的通用電子計(jì)算義的通用電子計(jì)算 機(jī)機(jī) 15 ENIAC 裝有裝有18,000個(gè)電子管,個(gè)電子管, 總重量達(dá)總重量達(dá)30噸,功耗噸,功耗 140kw 有有20個(gè)寄存器,每個(gè)能個(gè)寄存器,每個(gè)能 存放存放10位的十進(jìn)制數(shù),位的十進(jìn)制數(shù), 運(yùn)算速度為每秒運(yùn)算速度為每秒5000次次 加法加法 通過(guò)設(shè)置分布在各處的通過(guò)設(shè)置分布在各處的 6000個(gè)開(kāi)關(guān)和眾多的插個(gè)開(kāi)關(guān)和眾多的插 頭與插座來(lái)編程頭與插座來(lái)編程 16 ENIAC 為為ENIAC編寫的編寫的“程序程序” 17 電子計(jì)算機(jī)怎么計(jì)算?電子計(jì)算機(jī)怎么計(jì)算? 作為計(jì)
10、算基礎(chǔ)的二進(jìn)制加法 18 更復(fù)雜的計(jì)算更復(fù)雜的計(jì)算 假如我們要計(jì)算a+bc: ENIAC就是這么做的 加法器 乘法器 b a+b c c a b c 19 如果我們要算另外一道題?如果我們要算另外一道題? vab-cd v我們就必須重新構(gòu)造這臺(tái)計(jì)算機(jī) v怎么辦? 20 大綱大綱 歷史:計(jì)算與計(jì)算機(jī)歷史:計(jì)算與計(jì)算機(jī)1 指令集體系結(jié)構(gòu)指令集體系結(jié)構(gòu)2 程序和程序設(shè)計(jì)語(yǔ)言程序和程序設(shè)計(jì)語(yǔ)言3 處理器的工作原理處理器的工作原理4 更快更強(qiáng)更快更強(qiáng)5 21 通用計(jì)算機(jī)模型通用計(jì)算機(jī)模型 人類天生具備大局觀,最擅長(zhǎng)從大到小,人類天生具備大局觀,最擅長(zhǎng)從大到小, 由表及里的分析問(wèn)題由表及里的分析問(wèn)題 能夠
11、區(qū)分各種行業(yè);深入行業(yè)后就以內(nèi)行方式能夠區(qū)分各種行業(yè);深入行業(yè)后就以內(nèi)行方式 看門道;最終發(fā)現(xiàn)所有的工作都是由最簡(jiǎn)單看門道;最終發(fā)現(xiàn)所有的工作都是由最簡(jiǎn)單的的 步驟組成,所有步驟組成,所有的物品都是的物品都是由最簡(jiǎn)單由最簡(jiǎn)單的部件組的部件組 成成 計(jì)算也是如此計(jì)算也是如此任何復(fù)雜的計(jì)算都是由任何復(fù)雜的計(jì)算都是由 簡(jiǎn)單的基本計(jì)算組合而成的簡(jiǎn)單的基本計(jì)算組合而成的 22 通用計(jì)算機(jī)模型通用計(jì)算機(jī)模型 我們換一種方法來(lái)計(jì)算我們換一種方法來(lái)計(jì)算a+bc: 第一步:第一步:Temp = bc 第二步:第二步:Result=a+temp 于是我們就可以:于是我們就可以: 當(dāng)我們需要算另外一道題時(shí),只要將這
12、個(gè)過(guò)程進(jìn)當(dāng)我們需要算另外一道題時(shí),只要將這個(gè)過(guò)程進(jìn) 行修改即可行修改即可 a b c 乘法器 temp 第一步 a temp 加法器 result 第二步 23 現(xiàn)代計(jì)算機(jī)組成現(xiàn)代計(jì)算機(jī)組成 主機(jī)系統(tǒng)主機(jī)系統(tǒng) CPU 存儲(chǔ)器存儲(chǔ)器 輸出輸出 設(shè)備設(shè)備 輸入輸入 設(shè)備設(shè)備 運(yùn)算器運(yùn)算器 控制器控制器 數(shù)據(jù)數(shù)據(jù)通通路 路 控制信號(hào)控制信號(hào) 24 運(yùn)算器運(yùn)算器算術(shù)邏輯單元算術(shù)邏輯單元 實(shí)現(xiàn)基本計(jì)算的電路(如加法器、乘法器實(shí)現(xiàn)基本計(jì)算的電路(如加法器、乘法器 等)可以組合在一起,稱為算術(shù)邏輯單元等)可以組合在一起,稱為算術(shù)邏輯單元 ALU 25 存儲(chǔ)器存儲(chǔ)器 復(fù)雜的計(jì)算需要大量的輸入數(shù)據(jù)和輸出數(shù)復(fù)雜的
13、計(jì)算需要大量的輸入數(shù)據(jù)和輸出數(shù) 據(jù),因此我們需要一個(gè)存儲(chǔ)器將其存起來(lái)?yè)?jù),因此我們需要一個(gè)存儲(chǔ)器將其存起來(lái) 26 控制器控制器 除了存儲(chǔ)器和運(yùn)算器,還需要一個(gè)控制器除了存儲(chǔ)器和運(yùn)算器,還需要一個(gè)控制器 控制器控制著將存儲(chǔ)器中的數(shù)據(jù)送到運(yùn)算控制器控制著將存儲(chǔ)器中的數(shù)據(jù)送到運(yùn)算 器器(ALU)中進(jìn)行計(jì)算,然后將結(jié)果存回到存中進(jìn)行計(jì)算,然后將結(jié)果存回到存 儲(chǔ)器中儲(chǔ)器中 指示輸入數(shù)據(jù)存在何處,做什么運(yùn)算,結(jié)指示輸入數(shù)據(jù)存在何處,做什么運(yùn)算,結(jié) 果存到何處的控制命令稱為果存到何處的控制命令稱為指令指令 27 控制器控制器 組合邏輯電路與時(shí)序電路組合邏輯電路與時(shí)序電路 分步進(jìn)行的程序需要時(shí)序邏輯分步進(jìn)行的程
14、序需要時(shí)序邏輯 實(shí)現(xiàn)機(jī)制實(shí)現(xiàn)機(jī)制 寄存器堆 算術(shù)邏輯部件 AB 控制器 程序 28 輸入設(shè)備輸入設(shè)備 return 0; package test.hello; class Hello public static void main(String args) System.out.println(“Hello, world!”); using namespace std; int main() cout Hello, world! endl; return 0; print Hello, world! 53 高級(jí)語(yǔ)言高級(jí)語(yǔ)言 不同的高級(jí)語(yǔ)言具有不同的語(yǔ)法和風(fēng)格,不同的高級(jí)語(yǔ)言具有不同的語(yǔ)法和風(fēng)
15、格, 適合于不同的應(yīng)用領(lǐng)域適合于不同的應(yīng)用領(lǐng)域 高級(jí)語(yǔ)言同樣不能被計(jì)算機(jī)所直接執(zhí)行,高級(jí)語(yǔ)言同樣不能被計(jì)算機(jī)所直接執(zhí)行, 必須通過(guò)一個(gè)中間過(guò)程,可行的中間過(guò)程必須通過(guò)一個(gè)中間過(guò)程,可行的中間過(guò)程 有編譯和解釋兩種有編譯和解釋兩種 編譯(編譯(Compile):一次翻譯,重復(fù)運(yùn)行,效):一次翻譯,重復(fù)運(yùn)行,效 率更高率更高 解釋(解釋(Interpret):隨執(zhí)行隨翻譯,更靈活):隨執(zhí)行隨翻譯,更靈活 54 大綱大綱 歷史:計(jì)算與計(jì)算機(jī)歷史:計(jì)算與計(jì)算機(jī)1 指令集體系結(jié)構(gòu)指令集體系結(jié)構(gòu)2 程序和程序設(shè)計(jì)語(yǔ)言程序和程序設(shè)計(jì)語(yǔ)言3 處理器的工作原理處理器的工作原理4 更快更強(qiáng)更快更強(qiáng)5 55 處理器
16、處理器 處理器處理器是計(jì)算機(jī)的核心,它執(zhí)行算術(shù)運(yùn)算、是計(jì)算機(jī)的核心,它執(zhí)行算術(shù)運(yùn)算、 邏輯判斷、控制存儲(chǔ)器訪問(wèn)、以及激活邏輯判斷、控制存儲(chǔ)器訪問(wèn)、以及激活I(lǐng)/O 設(shè)備等操作設(shè)備等操作 處理器包含兩個(gè)主要的組成部分:處理器包含兩個(gè)主要的組成部分: 數(shù)據(jù)通路數(shù)據(jù)通路 控制器控制器 56 數(shù)據(jù)通路數(shù)據(jù)通路 數(shù)據(jù)通路有兩種設(shè)計(jì)方法:專用通路、總數(shù)據(jù)通路有兩種設(shè)計(jì)方法:專用通路、總 線線 專用通路是源部件和目標(biāo)部件之間傳送數(shù)專用通路是源部件和目標(biāo)部件之間傳送數(shù) 據(jù)的一組專用信號(hào)線據(jù)的一組專用信號(hào)線 總線總線(bus)是多個(gè)源部件和多個(gè)目標(biāo)部件之是多個(gè)源部件和多個(gè)目標(biāo)部件之 間按間按分時(shí)分時(shí)復(fù)用的方式傳送
17、數(shù)據(jù)的復(fù)用的方式傳送數(shù)據(jù)的一組一組公用公用 信號(hào)線信號(hào)線 57 控制器控制器 提供控制信號(hào),指揮和控制計(jì)算機(jī)所有部提供控制信號(hào),指揮和控制計(jì)算機(jī)所有部 件協(xié)調(diào)工作,從而使計(jì)算機(jī)能夠按照程序件協(xié)調(diào)工作,從而使計(jì)算機(jī)能夠按照程序 規(guī)定的指令執(zhí)行次序,自動(dòng)地連續(xù)執(zhí)行指規(guī)定的指令執(zhí)行次序,自動(dòng)地連續(xù)執(zhí)行指 令令 58 處理器處理器 32位位 通用通用 寄存器寄存器 R0 R31 PC A C IR MAR MDR A B C ALU 數(shù)據(jù)通路數(shù)據(jù)通路 內(nèi)存內(nèi)存 控制器控制器 控制信號(hào)控制信號(hào)控制單元輸入控制單元輸入 控制器與數(shù)據(jù)通路的關(guān)系控制器與數(shù)據(jù)通路的關(guān)系 59 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程
18、序 問(wèn)題:計(jì)算問(wèn)題:計(jì)算1+2=? C程序程序 60 單總線單總線MIPS計(jì)算機(jī)計(jì)算機(jī) 61 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程序 addi $1, $0, 1 取取指:指: T0 CPU內(nèi)部總線內(nèi)部總線 內(nèi)存數(shù)據(jù)寄存器內(nèi)存數(shù)據(jù)寄存器(MDR) 內(nèi)存地址寄存器內(nèi)存地址寄存器(MAR) 程序計(jì)數(shù)器程序計(jì)數(shù)器(PC) 32位位 通用通用 寄存器寄存器 R0 R31 ALU A C 指令寄存器指令寄存器(IR) 指令譯碼器指令譯碼器(ID) 控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 控制信號(hào)控制信號(hào) 地地 址址 譯譯 碼碼 器器 內(nèi)存內(nèi)存 0000 0004 0008 . . . 讀控制讀控制 寫控制寫控制 0
19、 x20010001 0 x20210002 0 xac011f40 CPU +4 0000 0000 控控 制制 器器 62 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程序 addi $1, $0, 1 取指:取指: T1 CPU內(nèi)部總線內(nèi)部總線 內(nèi)存數(shù)據(jù)寄存器內(nèi)存數(shù)據(jù)寄存器(MDR) 內(nèi)存地址寄存器內(nèi)存地址寄存器(MAR) 程序計(jì)數(shù)器程序計(jì)數(shù)器(PC) 32位位 通用通用 寄存器寄存器 R0 R31 ALU A C 地地 址址 譯譯 碼碼 器器 內(nèi)存內(nèi)存 0000 0004 0008 . . . 讀控制讀控制 寫控制寫控制 CPU +4 0004 0000 0 x20010001 0 x202100
20、02 0 xac011f40 0 x20010001 指令寄存器指令寄存器(IR) 指令譯碼器指令譯碼器(ID) 控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 控制信號(hào)控制信號(hào) 控控 制制 器器 63 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程序 addi $1, $0, 1 取指:取指: T2 CPU內(nèi)部總線內(nèi)部總線 內(nèi)存數(shù)據(jù)寄存器內(nèi)存數(shù)據(jù)寄存器(MDR) 內(nèi)存地址寄存器內(nèi)存地址寄存器(MAR) 程序計(jì)數(shù)器程序計(jì)數(shù)器(PC) 32位位 通用通用 寄存器寄存器 R0 R31 ALU A C 地地 址址 譯譯 碼碼 器器 內(nèi)存內(nèi)存 0000 0004 0008 . . . 讀控制讀控制 寫控制寫控制 CPU +4 00
21、04 0000 0 x20010001 0 x20210002 0 xac011f40 0 x20010001 指令寄存器指令寄存器(IR) 指令譯碼器指令譯碼器(ID) 控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 控制信號(hào)控制信號(hào) 控控 制制 器器 0 x20010001 64 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程序 addi $1, $0, 1 譯碼:譯碼: T3 CPU內(nèi)部總線內(nèi)部總線 內(nèi)存數(shù)據(jù)寄存器內(nèi)存數(shù)據(jù)寄存器(MDR) 內(nèi)存地址寄存器內(nèi)存地址寄存器(MAR) 程序計(jì)數(shù)器程序計(jì)數(shù)器(PC) 32位位 通用通用 寄存器寄存器 R0 R31 ALU A C 地地 址址 譯譯 碼碼 器器 內(nèi)存內(nèi)存 000
22、0 0004 0008 . . . 讀控制讀控制 寫控制寫控制 CPU +4 0004 0000 0 x20010001 0 x20210002 0 xac011f40 0 x20010001 指令寄存器指令寄存器(IR) 指令譯碼器指令譯碼器(ID) 控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 控制信號(hào)控制信號(hào) 控控 制制 器器 0 x20010001 65 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程序 addi $1, $0, 1 執(zhí)行:執(zhí)行: T4 CPU內(nèi)部總線內(nèi)部總線 內(nèi)存數(shù)據(jù)寄存器內(nèi)存數(shù)據(jù)寄存器(MDR) 內(nèi)存地址寄存器內(nèi)存地址寄存器(MAR) 程序計(jì)數(shù)器程序計(jì)數(shù)器(PC) 32位位 通用通用 寄存器寄
23、存器 R0 R31 ALU A C 地地 址址 譯譯 碼碼 器器 內(nèi)存內(nèi)存 0000 0004 0008 . . . 讀控制讀控制 寫控制寫控制 CPU +4 0004 0000 0 x20010001 0 x20210002 0 xac011f40 0 x20010001 0 0 指令寄存器指令寄存器(IR) 指令譯碼器指令譯碼器(ID) 控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 控制信號(hào)控制信號(hào) 控控 制制 器器 0 x20010001 66 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程序 addi $1, $0, 1 執(zhí)行:執(zhí)行: T5 CPU內(nèi)部總線內(nèi)部總線 內(nèi)存數(shù)據(jù)寄存器內(nèi)存數(shù)據(jù)寄存器(MDR) 內(nèi)存地址
24、寄存器內(nèi)存地址寄存器(MAR) 程序計(jì)數(shù)器程序計(jì)數(shù)器(PC) 32位位 通用通用 寄存器寄存器 R0 R31 ALU A C 地地 址址 譯譯 碼碼 器器 內(nèi)存內(nèi)存 0000 0004 0008 . . . 讀控制讀控制 寫控制寫控制 CPU +4 0004 0000 0 x20010001 0 x20210002 0 xac011f40 0 x20010001 0 1 1 指令寄存器指令寄存器(IR) 指令譯碼器指令譯碼器(ID) 控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 控制信號(hào)控制信號(hào) 控控 制制 器器 0 x20010001 67 計(jì)算機(jī)怎樣執(zhí)行程序計(jì)算機(jī)怎樣執(zhí)行程序 addi $1, $0, 1
25、 執(zhí)行:執(zhí)行: T6 CPU內(nèi)部總線內(nèi)部總線 內(nèi)存數(shù)據(jù)寄存器內(nèi)存數(shù)據(jù)寄存器(MDR) 內(nèi)存地址寄存器內(nèi)存地址寄存器(MAR) 程序計(jì)數(shù)器程序計(jì)數(shù)器(PC) 32位位 通用通用 寄存器寄存器 R0 R31 ALU A C 地地 址址 譯譯 碼碼 器器 內(nèi)存內(nèi)存 0000 0004 0008 . . . 讀控制讀控制 寫控制寫控制 CPU +4 0004 0000 0 x20010001 0 x20210002 0 xac011f40 0 x20010001 0 1 1 指令寄存器指令寄存器(IR) 指令譯碼器指令譯碼器(ID) 控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 控制信號(hào)控制信號(hào) 控控 制制 器器 0
26、 x20010001 68 處理器處理器 處理器是一個(gè)復(fù)雜的數(shù)字系統(tǒng):處理器是一個(gè)復(fù)雜的數(shù)字系統(tǒng): ALU實(shí)現(xiàn)算術(shù)和實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算邏輯運(yùn)算 數(shù)據(jù)通路數(shù)據(jù)通路由處理器內(nèi)部的各種連線和各種由處理器內(nèi)部的各種連線和各種 輔助性質(zhì)的寄存器組成輔助性質(zhì)的寄存器組成 控制器控制器提供控制信號(hào),指揮和控制計(jì)算機(jī)提供控制信號(hào),指揮和控制計(jì)算機(jī) 所有部件協(xié)調(diào)工作所有部件協(xié)調(diào)工作 ALU一般由組合邏輯電路實(shí)現(xiàn)、數(shù)據(jù)通路一般由組合邏輯電路實(shí)現(xiàn)、數(shù)據(jù)通路 和控制器既包含組合邏輯電路,也包含時(shí)和控制器既包含組合邏輯電路,也包含時(shí) 序邏輯電路序邏輯電路 69 大綱大綱 歷史:計(jì)算與計(jì)算機(jī)歷史:計(jì)算與計(jì)算機(jī)1 指令集體
27、系結(jié)構(gòu)指令集體系結(jié)構(gòu)2 程序和程序設(shè)計(jì)語(yǔ)言程序和程序設(shè)計(jì)語(yǔ)言3 處理器的工作原理處理器的工作原理4 更快更強(qiáng)更快更強(qiáng)5 70 更快更強(qiáng)更快更強(qiáng) 處理器(處理器(CPU)的性能對(duì)于計(jì)算機(jī)來(lái)講至)的性能對(duì)于計(jì)算機(jī)來(lái)講至 關(guān)重要關(guān)重要 讓讓CPU變得更快更強(qiáng)大成為貫穿計(jì)算機(jī)發(fā)變得更快更強(qiáng)大成為貫穿計(jì)算機(jī)發(fā) 展史的重要目標(biāo)展史的重要目標(biāo) ENIAC : 5000次加法次加法/秒秒 中國(guó)國(guó)防科技大學(xué)的中國(guó)國(guó)防科技大學(xué)的“天河二號(hào)天河二號(hào)”超級(jí)計(jì)算機(jī)超級(jí)計(jì)算機(jī) (Top 1,2012) :33.86PFlop/s 不到不到70年間,年間,6萬(wàn)萬(wàn)7千億倍千億倍的計(jì)算速度差距,的計(jì)算速度差距, CPU的發(fā)展功
28、不可沒(méi)的發(fā)展功不可沒(méi) 怎樣提高怎樣提高CPU的性能呢?的性能呢? 71 三總線結(jié)構(gòu)三總線結(jié)構(gòu) 一個(gè)簡(jiǎn)單的例子一個(gè)簡(jiǎn)單的例子 從我們前面的示例從我們前面的示例 處理器開(kāi)始,通過(guò)處理器開(kāi)始,通過(guò) 增加數(shù)據(jù)通路的方增加數(shù)據(jù)通路的方 式來(lái)提高處理器的式來(lái)提高處理器的 性能性能 72 處理器性能公式處理器性能公式 P ICPIT 執(zhí)行一個(gè)執(zhí)行一個(gè) 程序所花程序所花 費(fèi)的時(shí)間費(fèi)的時(shí)間 這個(gè)程序這個(gè)程序 所需執(zhí)行所需執(zhí)行 的總指令的總指令 數(shù)數(shù) 每條指令每條指令 執(zhí)行的平執(zhí)行的平 均周期數(shù)均周期數(shù) 以毫秒或以毫秒或 毫微秒計(jì)毫微秒計(jì) 的時(shí)鐘周的時(shí)鐘周 期期 73 提高性能的常見(jiàn)手段提高性能的常見(jiàn)手段 減小減
29、小T值值 減小減小CPI值值 減小減小I值值 增強(qiáng)指令集增強(qiáng)指令集 中指令的能中指令的能 力,減小一力,減小一 個(gè)程序需要個(gè)程序需要 執(zhí)行的指令執(zhí)行的指令 數(shù)目數(shù)目 采用各種技采用各種技 術(shù)手段術(shù)手段提高提高 處理器的處理器的主主 頻,減小一頻,減小一 個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期 的時(shí)間的時(shí)間 增加指令執(zhí)增加指令執(zhí) 行的并行程行的并行程 度,減小度,減小 CPI 74 RISC vs CISC CISC RISC vs CISC RISC 增強(qiáng)指令功能增強(qiáng)指令功能 填補(bǔ)高級(jí)語(yǔ)言和機(jī)器指令填補(bǔ)高級(jí)語(yǔ)言和機(jī)器指令 之間的間隙之間的間隙 減少需要的指令數(shù)目減少需要的指令數(shù)目 可變長(zhǎng)指令以提高存儲(chǔ)器可變長(zhǎng)指
30、令以提高存儲(chǔ)器 利用率利用率 面向存儲(chǔ)器的指令面向存儲(chǔ)器的指令 不利于不利于CPU的設(shè)計(jì)的設(shè)計(jì) 硬邏輯實(shí)現(xiàn)困難,多使用硬邏輯實(shí)現(xiàn)困難,多使用 微程序?qū)崿F(xiàn)微程序?qū)崿F(xiàn) 80-20原則原則 精簡(jiǎn)指令集,提高指令集精簡(jiǎn)指令集,提高指令集 的執(zhí)行效率的執(zhí)行效率 定長(zhǎng)指令以方便優(yōu)化定長(zhǎng)指令以方便優(yōu)化 Load/Store結(jié)構(gòu)以方便結(jié)構(gòu)以方便 指令調(diào)度和提高效率指令調(diào)度和提高效率 有利于有利于CPU的設(shè)計(jì)的設(shè)計(jì) 硬連邏輯實(shí)現(xiàn),效率高硬連邏輯實(shí)現(xiàn),效率高 I的少量增加帶來(lái)的少量增加帶來(lái)C和和T的的 減小減小 目前目前的處理器基本上的處理器基本上都采用都采用RISC核心,而部分核心,而部分CISC技技 術(shù)也被融
31、合進(jìn)來(lái),形成所謂后術(shù)也被融合進(jìn)來(lái),形成所謂后RISC體系體系 75 流水線流水線 流水線:提高處理器性能的基本途徑流水線:提高處理器性能的基本途徑 76 流水線帶來(lái)的性能改進(jìn)流水線帶來(lái)的性能改進(jìn) N級(jí)流水線級(jí)流水線 性能分析:性能分析: 每個(gè)周期做每個(gè)周期做1/N的工作,時(shí)間也是整個(gè)指令的的工作,時(shí)間也是整個(gè)指令的 1/N 每個(gè)周期有一條指令完成執(zhí)行每個(gè)周期有一條指令完成執(zhí)行 性能提高性能提高N倍倍 1 2 3N 1 2 3N 1 2 3N 1 2 3N 77 超流水線超流水線 流水線越長(zhǎng),流水線中的流水線越長(zhǎng),流水線中的“氣泡氣泡”越多,越多, 結(jié)果是性能的嚴(yán)重下降結(jié)果是性能的嚴(yán)重下降 2級(jí)
32、流水級(jí)流水 取指取指-執(zhí)行執(zhí)行 5級(jí)流水級(jí)流水 取指取指-譯碼譯碼1/2 -執(zhí)行執(zhí)行-寫回寫回 10級(jí)流水級(jí)流水 2031級(jí)級(jí) 808680486Pentium IIIPentium 4 78 超標(biāo)量與流水線超標(biāo)量與流水線 一條流水線不夠用,那就多條吧一條流水線不夠用,那就多條吧 超標(biāo)量流水線結(jié)構(gòu)超標(biāo)量流水線結(jié)構(gòu) 可是,問(wèn)題在于可是,問(wèn)題在于 1 2 3N 1 2 3N 1 2 3N 1 2 3N 1 2 3N 1 2 3N 1 2 3N 1 2 3N 79 指令的相關(guān)性指令的相關(guān)性 指令之間的相關(guān)性造成流水線中的競(jìng)爭(zhēng)現(xiàn)指令之間的相關(guān)性造成流水線中的競(jìng)爭(zhēng)現(xiàn) 象象 80 當(dāng)流水線當(dāng)流水線“流流”
33、不起來(lái)不起來(lái) 原因 條件轉(zhuǎn)移條件轉(zhuǎn)移 指令之間指令之間 的依賴性的依賴性 指令指令/數(shù)據(jù)數(shù)據(jù) 無(wú)法供應(yīng)無(wú)法供應(yīng) 對(duì)策 轉(zhuǎn)移預(yù)測(cè)轉(zhuǎn)移預(yù)測(cè) 亂序執(zhí)行亂序執(zhí)行 Cache 81 轉(zhuǎn)移預(yù)測(cè)轉(zhuǎn)移預(yù)測(cè) 靜態(tài)預(yù)測(cè)靜態(tài)預(yù)測(cè) 動(dòng)態(tài)預(yù)測(cè)動(dòng)態(tài)預(yù)測(cè) “歷史記錄歷史記錄”法法 轉(zhuǎn)移預(yù)測(cè)緩沖(轉(zhuǎn)移預(yù)測(cè)緩沖(BTB) 轉(zhuǎn)移延遲轉(zhuǎn)移延遲 轉(zhuǎn)移預(yù)測(cè)和猜測(cè)執(zhí)行轉(zhuǎn)移預(yù)測(cè)和猜測(cè)執(zhí)行 NNNT TTTN T T N N N T N T 說(shuō)明:說(shuō)明: T轉(zhuǎn)移取轉(zhuǎn)移取 N轉(zhuǎn)移不取轉(zhuǎn)移不取 NN前兩次轉(zhuǎn)移不取前兩次轉(zhuǎn)移不取 NT前兩次轉(zhuǎn)移不取、取前兩次轉(zhuǎn)移不取、取 TN前兩次轉(zhuǎn)移取、不取前兩次轉(zhuǎn)移取、不取 TT前兩次轉(zhuǎn)移取前兩次轉(zhuǎn)移取 除除NN預(yù)測(cè)不轉(zhuǎn)移外,其它情況均預(yù)測(cè)轉(zhuǎn)移。預(yù)測(cè)不轉(zhuǎn)移外,其它情況均預(yù)測(cè)轉(zhuǎn)移。 82 相關(guān)性相關(guān)性 寄存器相關(guān)性:寄存器相關(guān)性: 包括數(shù)據(jù)相關(guān)性包括數(shù)據(jù)相關(guān)性 和名字相關(guān)性;和名字相關(guān)性; Load/Store相關(guān)相關(guān) 性:包括數(shù)據(jù)相性:包括數(shù)據(jù)相 關(guān)性和名字相關(guān)關(guān)性和名字相關(guān) 性;性; 控制相關(guān)性,又控制相關(guān)性,又 稱轉(zhuǎn)移相關(guān)性稱轉(zhuǎn)移相關(guān)性 假相關(guān)與寄存器假相關(guān)與寄存器 重命名重命名 三種相關(guān)性三種相關(guān)性 亂序執(zhí)行亂序執(zhí)行 I-C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中小學(xué)會(huì)計(jì)試題及答案
- 云南省迪慶州香格里拉中學(xué)2024-2025學(xué)年高二下物理期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 浙江省寧波市達(dá)標(biāo)名校2025年物理高二下期末學(xué)業(yè)水平測(cè)試模擬試題含解析
- 水利工程采購(gòu)合同模板框架協(xié)議
- 公共資源交易平臺(tái)標(biāo)準(zhǔn)招標(biāo)代理合同
- 特色小吃街店鋪承包管理與分紅合同
- 國(guó)際豪華郵輪度假服務(wù)合同
- 車輛交易雙方車輛過(guò)戶責(zé)任合同模板
- 無(wú)人機(jī)宿舍樓安全監(jiān)控與維護(hù)承包合同
- 城市排水綜合執(zhí)法行政處罰裁量基準(zhǔn)執(zhí)行標(biāo)準(zhǔn)
- 高原病科發(fā)展規(guī)劃
- 鉆芯法檢測(cè)技術(shù)自測(cè)題單選題100道及答案
- 《Python程序設(shè)計(jì)基礎(chǔ)教程(微課版)》全套教學(xué)課件
- 行賄懺悔書-保證書
- HG∕T 4377-2012 浮動(dòng)上濾式過(guò)濾器
- 機(jī)關(guān)事務(wù)管理局門套施工合同
- 畢業(yè)設(shè)計(jì)(論文)-某中型貨車懸架總成設(shè)計(jì)
- 廣東省汕尾市2023-2024學(xué)年八年級(jí)下學(xué)期7月期末生物試題
- 2024年上海卷高考數(shù)學(xué)真題試卷及答案
- 《百合花開(kāi)》教學(xué)設(shè)計(jì)
- 模擬電子技術(shù)基礎(chǔ)智慧樹(shù)知到期末考試答案章節(jié)答案2024年北京航空航天大學(xué)
評(píng)論
0/150
提交評(píng)論