計算機基礎(chǔ)知識及性能評價_第1頁
計算機基礎(chǔ)知識及性能評價_第2頁
計算機基礎(chǔ)知識及性能評價_第3頁
計算機基礎(chǔ)知識及性能評價_第4頁
計算機基礎(chǔ)知識及性能評價_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機組成與體系結(jié)構(gòu)計算機組成與體系結(jié)構(gòu)湘潭大學(xué)信息工程學(xué)院湘潭大學(xué)信息工程學(xué)院主主 講講: 成成 潔潔Email:學(xué)習(xí)內(nèi)容學(xué)習(xí)內(nèi)容第第1-7,12,15章。章。第第8,9,10,11,13,14,16章選講。章選講。學(xué)習(xí)目標(用用Verilog HDL設(shè)計設(shè)計CPU及及I/O接口和總線)接口和總線) 特點:特點:自主創(chuàng)新能力培養(yǎng)與訓(xùn)練自主創(chuàng)新能力培養(yǎng)與訓(xùn)練學(xué)習(xí)方法網(wǎng)絡(luò)資源 計算機系統(tǒng)是一個由硬件和軟件構(gòu)成計算機系統(tǒng)是一個由硬件和軟件構(gòu)成的自動化電子數(shù)字系統(tǒng)。本章先簡要介紹的自動化電子數(shù)字系統(tǒng)。本章先簡要介紹計算機的發(fā)展概況、分類、特點和技術(shù)指計算機的發(fā)展概況、分類、特點和技術(shù)指標,然后講述計

2、算機的設(shè)計思想和計算機標,然后講述計算機的設(shè)計思想和計算機的工作過程,以及計算機系統(tǒng)結(jié)構(gòu)的基本的工作過程,以及計算機系統(tǒng)結(jié)構(gòu)的基本概念及其應(yīng)用。目的是為了幫肋讀者在還概念及其應(yīng)用。目的是為了幫肋讀者在還未學(xué)習(xí)后續(xù)各章內(nèi)容之前,先對計算機系未學(xué)習(xí)后續(xù)各章內(nèi)容之前,先對計算機系統(tǒng)有一個整體概念。統(tǒng)有一個整體概念。 altera中文網(wǎng)中文網(wǎng) Quartus II Software Online DemonstrationsOverview 杭州康芯電子有限公司杭州康芯電子有限公司補充學(xué)習(xí):補充學(xué)習(xí):EDA(Electronic Design Automation)技術(shù)技術(shù)EDA工具工具Quartus

3、 簡介簡介硬件描述語言硬件描述語言Verilog HDL簡介簡介理論理論課時數(shù):課時數(shù):56學(xué)時學(xué)時14周周*4學(xué)時學(xué)時實驗實驗課時數(shù):課時數(shù):16學(xué)時學(xué)時4個個*4學(xué)時學(xué)時參考書參考書1 李勇等編,計算機原理與設(shè)計,國防科技大學(xué)出版社李勇等編,計算機原理與設(shè)計,國防科技大學(xué)出版社2 Linda Null等編,計算機組成等編,計算機組成與體系結(jié)構(gòu)與體系結(jié)構(gòu),機械機械工業(yè)出版社工業(yè)出版社3 白中英主編,計算機組成原理白中英主編,計算機組成原理(第第3版版),科學(xué)出版社,科學(xué)出版社4 王愛英主編,計算機組成與結(jié)構(gòu)王愛英主編,計算機組成與結(jié)構(gòu)(第第3版版),清華大學(xué)出版社,清華大學(xué)出版社5 6 唐朔

4、飛編著,計算機組成原理習(xí)題集,電子工業(yè)出版社唐朔飛編著,計算機組成原理習(xí)題集,電子工業(yè)出版社7 白中英主編,計算機組成原理題解、題庫與實驗,科學(xué)出版白中英主編,計算機組成原理題解、題庫與實驗,科學(xué)出版社社8 徐愛萍編著,計算機組成原理徐愛萍編著,計算機組成原理習(xí)題與解析,清華大學(xué)出習(xí)題與解析,清華大學(xué)出版社版社9潘明潘明編著編著,現(xiàn)代計算機組成原理現(xiàn)代計算機組成原理,科學(xué)出版社科學(xué)出版社10潘明潘明編著編著, EDA技術(shù)實用教程(第技術(shù)實用教程(第4版)版)Verilog HDL,清,清華大學(xué)出版社華大學(xué)出版社第一章第一章 計算機基礎(chǔ)知識及性能評價計算機基礎(chǔ)知識及性能評價目錄1.1 計算機系統(tǒng)

5、概述計算機系統(tǒng)概述1.2 計算機的基本結(jié)構(gòu)計算機的基本結(jié)構(gòu)1.3 如何提高計算機的性能如何提高計算機的性能1.4 硬件描述語言硬件描述語言1.1 計算機系統(tǒng)概述計算機系統(tǒng)概述1.1.1 計算機系統(tǒng)的組成計算機系統(tǒng)的組成 CPU 存儲器 I/O接口 外設(shè)圖1. 計算機系統(tǒng)的組成框圖CBDBAB特點:存儲程序特點:存儲程序存儲器為中心存儲器為中心, 總線結(jié)構(gòu)總線結(jié)構(gòu), 分散控制分散控制解剖計算機 個人計算機由主個人計算機由主機和外設(shè)組成機和外設(shè)組成主機中包含主機中包含多個電路板多個電路板每個集成電路每個集成電路中有若干模塊中有若干模塊每個電路板中每個電路板中有若干集成電路有若干集成電路每個模塊中有

6、每個模塊中有上千萬個單元上千萬個單元每個單元中每個單元中有若干門電路有若干門電路每個門電路實現(xiàn)每個門電路實現(xiàn)基本的邏輯運算基本的邏輯運算所有信息用二所有信息用二進制編碼表示進制編碼表示功能部件1-CPU Processor (CPU - Central Processing Unit) 功能:執(zhí)行程序(Execute programs) 組成:Control Unit + Data path Control Unit(控制單元): 功能:對指令進行譯碼,產(chǎn)生控制信號 Datapath (數(shù)據(jù)通路): 功能:完成指令的執(zhí)行 核心:ALU(Arithmetic Logic Unit)+Regist

7、er(寄存器) ALU用來執(zhí)行算術(shù)、邏輯運算 寄存器用來存儲臨時的數(shù)據(jù)或控制信息。常用寄存器:GRS(General Register Set):存放操作數(shù)和中間結(jié)果 PC(Program Counter):存放下條要執(zhí)行指令的地址 IR(Instruction Register):存放當(dāng)前指令功能部件2-存儲器 存儲器相當(dāng)于計算機中的“倉庫” 功能:存儲程序和數(shù)據(jù) 組成:(層次化結(jié)構(gòu) Hierarchies) : Primary + Secondary 內(nèi)存(Primary memory): Cache + Main memory (MM) Cache(高速緩存): 最近使用的數(shù)據(jù)和指令 M

8、M(主存): 存放被啟動的程序中的部分數(shù)據(jù)和指令 外存(Secondary Storage):磁盤、磁帶、光盤磁盤(Magnetic disk): 存放系統(tǒng)中所有的軟件和文檔 光盤(Optical disk),磁帶(Tape): 脫機存檔功能部件3輸入/輸出 Input/Output (I/O) 功能: 各種信息的輸入/輸出 組成: I/O Controller + I/O Device I/O Controller(I/O控制器): 控制外設(shè),完成與主機側(cè)、外設(shè)側(cè)的通信 I/O device (I/O設(shè)備) : 輸入/輸出信息 Keyboard Printer Display (CRT Mo

9、nitor), etc 運算器 控制器外存接口 輸入設(shè)備接口 輸出設(shè)備接口 其他外設(shè)接口 鍵盤、鼠標等 顯示器、打印機等 硬盤、軟盤驅(qū)動器 其他各種外設(shè) ROMRAM內(nèi)存總線CPU計算機系統(tǒng)計算機系統(tǒng)由由硬件硬件和和軟件軟件構(gòu)成構(gòu)成 現(xiàn)代計算機系統(tǒng)組成的基本模式現(xiàn)代計算機系統(tǒng)組成的基本模式 程序設(shè)計 應(yīng)用軟件硬件結(jié)構(gòu)硬件結(jié)構(gòu)操作系統(tǒng)操作系統(tǒng) 計算問題算法與數(shù)據(jù) 結(jié) 構(gòu) 高級語言 性能評價 連 接 ( 編 譯,加 載 )硬件是計算機物理設(shè)備的總稱,是實實在在的東西。硬件是計算機物理設(shè)備的總稱,是實實在在的東西。軟件是在計算機硬件的基礎(chǔ)上,根據(jù)一些算法而編制的程序和文檔。系統(tǒng)軟件:提供公共服務(wù)程序

10、操作系統(tǒng)是用戶程序和硬件的接口,提供計算機資源管理功能:處理基本的輸入輸出操作、分配存儲空間、為多個程序同時使用計算機提供支持編譯器:將高級語言語句翻譯成匯編語言語句的程序匯編器:將符號指令翻譯成二進制指令的程序一個典型程序的轉(zhuǎn)換處理過程1 #include 23 int main()4 5 printf(hello, worldn);6 經(jīng)典的經(jīng)典的“ hello.c ”C-源程序源程序# i n c l u d e n n i n t m a i n ( ) n 104 62 10 10 105 110 116 32 109 97 105 110 40 41 10 123n p r i n

11、 t f ( h e l10 32 32 32 32 112 114 105 110 116 102 40 34 104 101 108l o , w o r l d n ) ; n 108 111 44 32 119 111 114 108 100 92 110 34 41 59 10 125hello.c的的ASCII文本表示文本表示計算機能夠直接計算機能夠直接識別識別hello.c源程源程序嗎?序嗎?不能,需要轉(zhuǎn)不能,需要轉(zhuǎn)換為機器語言換為機器語言代碼代碼! ! 即:編譯即:編譯程序的功能是:程序的功能是:輸出輸出“hello,world”hello程序的數(shù)據(jù)流動過程“hello”hel

12、lo可執(zhí)行文件可執(zhí)行文件Red:shell命令行處理命令行處理Blue:可執(zhí)行文件加載:可執(zhí)行文件加載Green:hello程序執(zhí)行過程程序執(zhí)行過程“hello”“hello,world/n”“hello,world/n”所有過程都是在所有過程都是在CPU執(zhí)行指令所產(chǎn)生的控制信號作用下進行。執(zhí)行指令所產(chǎn)生的控制信號作用下進行。數(shù)據(jù)常在各存儲部件之間傳送?,F(xiàn)代計算機大多采用數(shù)據(jù)常在各存儲部件之間傳送?,F(xiàn)代計算機大多采用“緩存緩存”技術(shù)!技術(shù)!pComputer HierarchyI/OCPUOperatingSystemApplicationDigital DesignCircuit Desig

13、nn 計算機系統(tǒng)層次結(jié)構(gòu)中,計算機系統(tǒng)層次結(jié)構(gòu)中,指令系統(tǒng)是軟指令系統(tǒng)是軟/ /硬件的交界面硬件的交界面Instruction Set Architecturen 不同用戶工作在不同層次,所看到的計算機不一樣不同用戶工作在不同層次,所看到的計算機不一樣End UserApplication ProgrammerSystem AdministratorSystem ProgrammerMMISA:屏蔽硬件細節(jié):屏蔽硬件細節(jié),簡化程序員使用簡化程序員使用Compiler隱藏低層的實現(xiàn)細節(jié),隱藏低層的實現(xiàn)細節(jié),簡化上層用戶的使用簡化上層用戶的使用每一層都為上層隱藏自每一層都為上層隱藏自己的技術(shù)細節(jié)己

14、的技術(shù)細節(jié)“抽象抽象”計算機硬件、軟件之間的層次關(guān)系計算機硬件、軟件之間的層次關(guān)系: : 人類追求的計算工具1642 Blaise Pascal1822 差分機1833 分析機1946 電子計算機時代計算機發(fā)展史 1.1.21.1.2 計算機發(fā)展計算機發(fā)展簡史簡史 第一臺電子計算機(第一臺電子計算機(ENIAC)5000次加法/秒體重28噸占地170m218800只電子管1500個繼電器功率150KW計算機發(fā)展史1.1.2 國外計算機發(fā)展簡介國外計算機發(fā)展簡介類型時期主要器件系統(tǒng)結(jié)構(gòu)特點軟、硬件特點代表機型第1代1946-1957電子管存儲程序計算存儲程序計算機、程序控制機、程序控制I/O機器

15、語言,匯編語言。機器語言,匯編語言。速度低,體積大,價格昂貴,可靠性差,用于科學(xué)計算。普林斯頓ISA、ENIAC、IBM701第2代1958-1964晶體管浮點數(shù)據(jù)表示、浮點數(shù)據(jù)表示、尋址技術(shù)、中尋址技術(shù)、中斷、斷、I/O處理機處理機高級語言和編譯、批處理高級語言和編譯、批處理監(jiān)控系統(tǒng)監(jiān)控系統(tǒng),操作系統(tǒng)。,操作系統(tǒng)。體積縮小,可靠性提高。Univac LARC、CDC1604、IBM7030第3代1965-1973中小規(guī)模集成電路流水線、流水線、Cache、先行、先行處理、系列計處理、系列計算機算機多道程序和分時操作系統(tǒng),多道程序和分時操作系統(tǒng),體積小,可靠性大大提高,應(yīng)用領(lǐng)域不斷擴大。IBM

16、360/370、CDC6600/7600、DEC PDP-8第4代1974-1990大/超大規(guī)模集成電路向量處理、分向量處理、分布式存儲器布式存儲器并行與分布處理并行與分布處理速度提高至幾千萬次出現(xiàn)微型計算機(出現(xiàn)微型計算機(PCPC)Cray-1、IBM 390、DEC VAX9000第5代1990-巨大規(guī)模集成電路超標量、超流超標量、超流水、水、SMP、MP、MPP大規(guī)模、可擴展并行與分大規(guī)模、可擴展并行與分布處理布處理,出現(xiàn)單片機,出現(xiàn)單片機,速度提高至千萬億次。SGI Cray T3E、IBM SP2、DEC AlphaServer8400每每1818個月:個月:集成電路的性能翻一番,

17、晶體管的數(shù)目翻一集成電路的性能翻一番,晶體管的數(shù)目翻一番,集成電路的價格降一半番,集成電路的價格降一半 Intel 奠基人奠基人 Gordon Moore 1965年提出年提出1.1.3 計算機指令結(jié)構(gòu)計算機指令結(jié)構(gòu) 機器指令機器指令是指揮計算機進行具體操作的基本命令; 指令都由操作碼和操作數(shù)組成 : 操作碼操作碼指明要執(zhí)行的操作; 操作數(shù)操作數(shù)指明操作的對象(數(shù)據(jù)),每 條指令的操作數(shù)的個數(shù)不等,一般為03個。1. 指令的表示湘 潭 大 學(xué)例如:例如:A=10 , B=4 , 求求A+B的值的值2. 指令類型 unsigned int mul16 (unsigned int x, unsig

18、ned int y) unsigned int a, b, c;unsigned int i; / countera = x; / multiplicandb = y; / multiplierc = 0; / productfor (i = 0; i 16; i+) / for 16 bitsif (b & 1) = 1) / LSB of b is 1c += a; / c = c + aa = a 1; / shift b 1-bit rightreturn(c); / return product例:C 語言乘法子程序語言乘法子程序2個個16位無符號數(shù)相乘,結(jié)果為位無符號數(shù)相乘,結(jié)果為

19、32位的無符號數(shù)。位的無符號數(shù)。mul16:pushl %ebpmovl %esp, %ebpmovl 8(%ebp), %ecxpushl %ebxmovl 12(%ebp), %edxxorl %ebx, %ebxmovl $15, %eax.p2align 2,3.L6:Testb $1, %dlje .L5addl %ecx, %ebx.L5:sall %ecxshrl %edxDecl %eaxjns .L6Movl %ebx, %eaxpopl %ebxleaveret如果我們的計算機系統(tǒng)如果我們的計算機系統(tǒng)中的中的CPU具有具有x86指令結(jié)構(gòu),指令結(jié)構(gòu),經(jīng)過經(jīng)過gcc-04 -S

20、的編譯的編譯(GNU C編譯器,優(yōu)化級別編譯器,優(yōu)化級別4)后,后,生成的生成的x86匯編語言程序匯編語言程序:匯編程序:%表示寄存器, 例如%ebp 代表寄存器ebp。ret 是返回指令。addl %ecx, %ebx: 實現(xiàn)C語言程序中的c+=a,該指令把%ecx和%ebx寄存器中的兩個32位數(shù)據(jù)相加,把結(jié)果存人%ebx寄存器。x86的指令具有雙操作數(shù)的結(jié)構(gòu)的指令具有雙操作數(shù)的結(jié)構(gòu)如果把相同如果把相同的的C語言程序語言程序用用gcc -04 -S命令編譯成命令編譯成MIPS匯編程匯編程序,我們將得序,我們將得到以下的代碼。到以下的代碼。mul16:.frame $sp, 0, $31 #

21、vars= 0, regs= 0/0, args= 0, gp= 0.mask 0 x00000000, 0.fmask 0 x00000000, 0.set noreorder.set nomacromove $6, $0li $3, 15 # 0 xf$L6:andi $2, $5, 0 x1addiu $3, $3, -1Beq $2, $0, $L5srl $5, $5, 1addu $6, $6, $4 #實現(xiàn)實現(xiàn)C語言程序中語言程序中c+=a $L5:bgez $3, $L6sll $4, $4, 1J $31move $2, $6MIPS的指令具有三操作數(shù)的結(jié)構(gòu)的指令具有三操作數(shù)

22、的結(jié)構(gòu)X86指令的長度不固定。如果不對當(dāng)前指令譯碼,就不會知道下一條指令的起始地址。不利于不利于CPU的設(shè)計,尤其是流水線CPU的設(shè)計。x86屬于CISC類型。mul16:pushl %ebp ; 01010101movl %esp, %ebp ; 1000100111100101movl 8(%ebp), %ecx ; 100010000100110100001000pushl %ebx ; 01010011movl 12(%ebp), %edx ; 100010110101010100001100 xorl %ebx, %ebx ; 0011000111011011movl $15, %e

23、ax ; 10111000.p2align 2,3 ; 00001111000000000000000000000000 ; 100011010111011000000000.L6:testb $1, %dl ; 111101101100001000000001je .L5 ; 0111010000000010addl %ecx, %ebx ; 0000000111001011.L5:sall %ecx ; 1101000111100001shrl %edx ; 1101000111101010decl %eax ; 01001000jns .L6 ; 0111100111110010movl

24、 %ebx, %eax ; 1000100111011000popl %ebx ; 01011011leave ; 11001001Ret ; 11000011X86匯編程序中每條指令的二進制表示匯編程序中每條指令的二進制表示:MIPS匯編程序中每條指令的二進制表示:匯編程序中每條指令的二進制表示:MIPS指令的長度是固定的,每條指令都是32位。MIPS的指令格式非常規(guī)整,有利于流水線CPU的設(shè)計。每條MIPS指令的功能非常簡單,稱MIPS屬于RISC類型。move $6, $0 # 00000000000000000011000000100001Li $3, 15 # 00100100000

25、000110000000000001111$L6:andi $2, $5, 0 x1 # 00110000101000100000000000000001addiu $3, $3, -1 # 00100100011000111111111111111111beq $2, $0, $L5 # 00010000010000000000000000000010srl $5, $5, 1 # 00000000000001010010100001000010addu $6, $6, $4 # 00000000110001000011000000100001$L5:bgez $3, $L6 # 00000

26、100011000011111111111111010sll $4, $4, 1 # 00000000000001000010000001000000j $31 # 00000011111000000000000000001000move $2, $6 # 000000001100000000010000001000011 復(fù)雜指令系統(tǒng)計算機CISC1.1.4 CISC和RISC指令系統(tǒng)指令系統(tǒng)復(fù)雜:一是指一條指令能完成復(fù)雜的操作。二是指令的格式不規(guī)范,操作碼及整個指令的長度不統(tǒng)一。 隨著集成電路制造工藝的進步,計算機硬件成本不斷下降,軟件成本不斷上升,促使人們在指令系統(tǒng)中增加指令條數(shù)和指令的

27、復(fù)雜度,給軟件提供了更多的支持,這就形成了CISC計算機。 CISC的問題 龐大的指令集常用的指令較短,不常用的指令較長。 紛繁復(fù)雜的尋址模式 硬件實現(xiàn)復(fù)雜(硬件資源的利用率低)設(shè)計CPU時往往采用微程序(Microprogram)的方法來實現(xiàn)這些指令,而微程序方法只被用在非流水線CPU的設(shè)計中。CISC和RISC問題的提出CISC的優(yōu)點:代碼緊湊,使用較少的存儲器。缺點:實現(xiàn)復(fù)雜的指令需要較多的芯片面積而且不利于流水線操作。 RISC的特點1.簡單的指令格式:指令長度固定,指令種類較少2. 選取機器中使用頻率最高的簡單指令及部分復(fù)雜指令3.寄存器-寄存器操作(Load/Store類型結(jié)構(gòu))

28、采用加載 (Load) 、存儲 (Store) 結(jié)構(gòu)只允許 Load 和 Store 指令執(zhí)行存儲器操作,其余指令均對寄存器操作。4.簡單的尋址方式5.采用多級指令流水線結(jié)構(gòu)。6.延遲加載指令和轉(zhuǎn)移指令7.采用優(yōu)化編譯技術(shù)對高級語言程序進行編譯,減少程序的執(zhí)行時間。2 精簡指令系統(tǒng)計算機RISC(1)指令系統(tǒng):RISC設(shè)計者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC機器上實現(xiàn)特殊功能時,效率可能較低。但可以利用流水技術(shù)和超標量技術(shù)加以改進和彌補。而CISC計算機的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能。因此,處

29、理特殊任務(wù)效率較高。(2)存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機器的存儲器操作指令多,操作直接。(3)程序:RISC匯編語言程序一般需要較大的內(nèi)存空間,實現(xiàn)特殊功能時程序復(fù)雜,不易設(shè)計;而CISC匯編語言程序編程相對簡單,科學(xué)計算及復(fù)雜操作的程序設(shè)計相對容易,效率較高。 RISC和CISC 的區(qū)別(4)中斷:RISC機器在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢皂憫?yīng)中斷;而CISC機器是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。(5)CPU:RISCCPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強、面積大、功耗大。(6)設(shè)計周期:RISC微處理

30、器結(jié)構(gòu)簡單,布局緊湊,設(shè)計周期短,且易于采用最新技術(shù);CISC微處理器結(jié)構(gòu)復(fù)雜,設(shè)計周期長。(7)用戶使用:RISC微處理器結(jié)構(gòu)簡單,指令規(guī)整,性能容易把握,易學(xué)易用;CISC微處理器結(jié)構(gòu)復(fù)雜,功能強大,實現(xiàn)特殊功能容易。(8)應(yīng)用范圍:由于RISC指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故RISC機器更適合于專用機;而CISC機器則更適合于通用機。RISC和CISC 的區(qū)別1.1.5 一些基本單位的意義一些基本單位的意義假設(shè)你有一臺假設(shè)你有一臺PC,存儲器有,存儲器有16GB , CPU主頻為主頻為3 GHz。問問:上述的兩個上述的兩個G是否相同是否相同?1.2 計算機的基本結(jié)構(gòu)計算機的基本結(jié)構(gòu)

31、1.2.1 RISC CPU的基本結(jié)構(gòu)的基本結(jié)構(gòu)單周期CPU,即一個時鐘周期執(zhí)行一條指令,一條指令執(zhí)行完再執(zhí)行下一條指令。流水線流水線CPU是把一條指令的執(zhí)行過程分成若干階是把一條指令的執(zhí)行過程分成若干階段,或稱級段,或稱級(Stage),使得多條指令能重疊執(zhí)行。,使得多條指令能重疊執(zhí)行。級與級之間設(shè)置有流水線寄存器,用來保存中間結(jié)果。一級占用一個周期。這樣的流水線CPU能同時執(zhí)行5條指令,每條指令處在不同的級,從而增大指令的吞吐率。Cache是小容量的高速存儲器,用來存放經(jīng)常使用的指令或數(shù)據(jù)。如果在Cache中存放的指令或數(shù)據(jù)第二次被用到,則不用訪問存儲器,直接從Cache中得到,從而加快了

32、訪問速度。1.2.2 多線程CPU和多核CPUp 流水線流水線CPU的理想性能是每個時鐘周期執(zhí)行一條的理想性能是每個時鐘周期執(zhí)行一條指令。指令。p 超標量超標量(Superscalar) CPU試圖在一個周期取出試圖在一個周期取出多條指令并行執(zhí)行。但由于指令之間的相關(guān)性,超多條指令并行執(zhí)行。但由于指令之間的相關(guān)性,超標量標量CPU的性能大概是一個周期能執(zhí)行的性能大概是一個周期能執(zhí)行1.2條指令條指令(統(tǒng)統(tǒng)計值計值)。而為了取得這而為了取得這20%的性能改善,超標量的性能改善,超標量CPU要增要增加大量的硬件電路來調(diào)度這些同時取出的指令,這加大量的硬件電路來調(diào)度這些同時取出的指令,這是由指令級的

33、并行度是由指令級的并行度ILP (Instruction Level Parallelism)所決定的。所決定的。多線程多線程(Multithreading) CPU試圖并行執(zhí)行多個線程。試圖并行執(zhí)行多個線程。一個線程就是一段能夠獨立執(zhí)行的程序,再加上執(zhí)行時一個線程就是一段能夠獨立執(zhí)行的程序,再加上執(zhí)行時所需的環(huán)境。所需的環(huán)境。特點:所有線程共享功能部件和特點:所有線程共享功能部件和Cache,有利于提高部件,有利于提高部件的使用效率,但增加了硬件設(shè)計的復(fù)雜度。的使用效率,但增加了硬件設(shè)計的復(fù)雜度。多線程多線程CPU試圖通過線程級的并行度試圖通過線程級的并行度TLP (Thread Level

34、 Parallelism)來提高來提高CPU的性能。的性能。多核多核(Multi-Core) CPU是在一個芯片中集成多個是在一個芯片中集成多個核核(Core)。一個核就相當(dāng)于一個普通的。一個核就相當(dāng)于一個普通的CPU。優(yōu)點:設(shè)計簡單,缺點:功能部件的利用效率沒有多線程CPU高。Multithreaded Multi-Core CPU12Multithreading2 22 121 21 11Multi-Corep 多指令流多數(shù)據(jù)流多指令流多數(shù)據(jù)流MIMD (Multiple Instruction Streams on Multiple Data Streams)功能:功能:多核多核CPU中

35、的每個核可以獨立工作。中的每個核可以獨立工作。p 單指令流多數(shù)據(jù)流單指令流多數(shù)據(jù)流SIMD (Single Instruction Stream on Multiple Data Streams)功能:功能:如如IBM Cell CPU中有多個處理單元中有多個處理單元PE (Processing Element),所有的,所有的PE執(zhí)行相同的指令,對多個數(shù)同時做同執(zhí)行相同的指令,對多個數(shù)同時做同樣的運算。樣的運算。p單指令流單數(shù)據(jù)流單指令流單數(shù)據(jù)流SISD :如如標量流水線處理機p多指令流單數(shù)據(jù)流多指令流單數(shù)據(jù)流MISD:幾條指令對同一個數(shù)據(jù)進行不同的處理,實際上不存在n存儲層次結(jié)構(gòu)(Memo

36、ry Hierarchies)1.2.3 存儲層次和虛擬存儲器管理存儲層次和虛擬存儲器管理Storage capacity: largerAccess frequency: fewer Speed: SlowerCost: cheaper虛擬存儲器虛擬存儲器(Virtual Memory)允許用戶使用比實際允許用戶使用比實際存儲器容量還要大的存儲空間。存儲器容量還要大的存儲空間。每個進程每個進程(Process)都有一個從地址都有一個從地址0開始的虛擬地開始的虛擬地址空間。址空間。使不同的進程使用主存的不同區(qū)域。這就需要對進使不同的進程使用主存的不同區(qū)域。這就需要對進程的虛擬地址進行轉(zhuǎn)換,用轉(zhuǎn)

37、換后的實際地址去訪問程的虛擬地址進行轉(zhuǎn)換,用轉(zhuǎn)換后的實際地址去訪問存儲器。存儲器。操作系統(tǒng)有一個很大的頁表操作系統(tǒng)有一個很大的頁表(Page Table),用來實現(xiàn)地址,用來實現(xiàn)地址轉(zhuǎn)換。轉(zhuǎn)換?,F(xiàn)在的現(xiàn)在的CPU都集成有專門用于地址轉(zhuǎn)換的高速緩沖區(qū),都集成有專門用于地址轉(zhuǎn)換的高速緩沖區(qū), IBM 稱其為稱其為TLB(Translation Lookaside Buffer)。1.2.4 I/O接口和總線接口和總線 總線結(jié)構(gòu),分散控制總線結(jié)構(gòu),分散控制總線:總線: 連接計算機各功能部件的連線和管理信連接計算機各功能部件的連線和管理信息傳輸規(guī)則的邏輯電路稱為總線。息傳輸規(guī)則的邏輯電路稱為總線。特點

38、:特點:在任何時刻,只能有一個部件向總線上在任何時刻,只能有一個部件向總線上發(fā)送信息,可以有多個部件同時接收信息。發(fā)送信息,可以有多個部件同時接收信息。組成:組成: 數(shù)據(jù)總線、地址總線、控制總線。數(shù)據(jù)總線、地址總線、控制總線。 單總線結(jié)構(gòu)單總線結(jié)構(gòu)CPU主存輸入設(shè)備輸出設(shè)備總線 雙總線結(jié)構(gòu)雙總線結(jié)構(gòu)CPU主存擴展總線控制線路I/O設(shè)備I/O設(shè)備處理機總線32MHz32或64位ISA / EISA8.33MHz 8、16、32位 . . . . . 三總線結(jié)構(gòu)三總線結(jié)構(gòu)CPU主存PCI橋I/O設(shè)備I/O設(shè)備處理機總線100MHz32或64位ISA / EISA8.33MHz 8、16、32位 .

39、 . . . .PCI BUS 33MHz 4B擴展總線控制線路I/O設(shè)備I/O設(shè)備接快速設(shè)備接慢速設(shè)備1.3 如何提高計算機的性能從兩方面著手: 一是改進集成電路的工藝,減小線寬,增加晶體管數(shù)量以及提高CPU的時鐘頻率。 二是改進體系結(jié)構(gòu),減少一條指令執(zhí)行所需要的平均的時鐘周期的數(shù)量,比如使用流水線、超標量、多線程和多核技術(shù)。1.CPU性能:性能:CPU執(zhí)行程序所用的時間。執(zhí)行程序所用的時間。T=I CPI TPC = (ICPI)/時鐘頻率時鐘頻率CPU執(zhí)行某一程序中所包含的指令總數(shù)時鐘周期執(zhí)行每條指令所需的平均時鐘周期數(shù)分析:分析:計算機的運算速度計算機的運算速度和和CPI、指令條數(shù)、指

40、令條數(shù)、時鐘頻率等因素有關(guān)時鐘頻率等因素有關(guān)時鐘頻率:取決于硬件技術(shù)和組織,用于同類處理機之間 如:Pentium/450比Pentium/300快50,CPI:取決于系統(tǒng)結(jié)構(gòu)和指令集,反映了CPU的結(jié)構(gòu)性能指令條數(shù):取決于系統(tǒng)的指令集和編譯技術(shù)8088 CPI2080486 CPI2Pentium CPI1PII CPI0.3CPI=Ini=1(CPIiIi)ini=1Ii:第i類指令的數(shù)目CPIi:執(zhí)行每條i類指令所需的周期數(shù)= (CPIi )ni=1IiI第第i類指令在總類指令在總程序中占的比例程序中占的比例指令類型指令類型指令所占比例指令所占比例CPI算邏指令算邏指令LOAD指令指令S

41、RORE指令指令轉(zhuǎn)移指令轉(zhuǎn)移指令43%21%12%24%1222 ,它總小于1。 ,它總大于1。改進后整個任務(wù)的執(zhí)行時間為:其中To為改進前的整個任務(wù)的執(zhí)行時間。 時間改進前整個任務(wù)的執(zhí)行可改進部分占用的時間r時間改進后改進部分的執(zhí)行時間改進前改進部分的執(zhí)行n)1 (nrrTTon2、Amdahl定律:定律:系統(tǒng)中某一部件由于采用某種更快的執(zhí)行方式后整個系統(tǒng)性能的提高與這種執(zhí)行方式的優(yōu)優(yōu)化倍數(shù)化倍數(shù)n和和占總執(zhí)行時間的比例占總執(zhí)行時間的比例r有關(guān)。在Amdahl定律中,整體性能的加速比與兩個因素有關(guān):改進后整個系統(tǒng)的加速比加速比為: (1-r)表示不可改進部分。當(dāng) ,可改進極限受r的約束。 n

42、rrTToSn)1 (1rSn11時,則例題 例例1.若考慮將系統(tǒng)中某一功能的處理速度加快若考慮將系統(tǒng)中某一功能的處理速度加快10倍,但該功能的倍,但該功能的處理使用時間僅為整個系統(tǒng)運行時間的處理使用時間僅為整個系統(tǒng)運行時間的40%,則采用此增強功,則采用此增強功能方法后,能使整個系統(tǒng)的性能提高多少?能方法后,能使整個系統(tǒng)的性能提高多少?由由Amdahl定律公式定律公式,已知:,已知:r=0.4,n=10,則可得:則可得: S =1.56。它說明局部(它說明局部(40%)大幅度改進()大幅度改進(10倍)對全局作用要小得多倍)對全局作用要小得多(1.56倍)。倍)。0.0 0.5 1.0 r1

43、0105S加速比S與可增強性能部分r的關(guān)系(n=10) 由圖中曲線可知,為使系統(tǒng)能獲得較高性能加速比,則功能性能可增強部分必須占有較大的比例;否則,增強該功能就沒有多大意義。 計算機的主要技術(shù)指標計算機的主要技術(shù)指標 (1 1)機器字長:)機器字長:計算機一次可以處理的二進制數(shù)碼的位數(shù)。計算機一次可以處理的二進制數(shù)碼的位數(shù)。 字長越長,數(shù)的表示范圍越大,精度越高,數(shù)據(jù)處理的速度也越快。字長越長,數(shù)的表示范圍越大,精度越高,數(shù)據(jù)處理的速度也越快。 (2 2)存儲容量:)存儲容量:包括主存容量和輔存容量包括主存容量和輔存容量 主存容量主存容量= =存儲單元個數(shù)存儲單元個數(shù)存儲字長存儲字長 注:單位

44、用字節(jié)來表示。注:單位用字節(jié)來表示。(3 3)運算速度:)運算速度:運算速度與許多因素有關(guān),如機器的主頻、執(zhí)行什運算速度與許多因素有關(guān),如機器的主頻、執(zhí)行什么樣的操作、主存本身速度(主存速度快,取指令速度就快)等有關(guān)。么樣的操作、主存本身速度(主存速度快,取指令速度就快)等有關(guān)。普遍以計算機每秒執(zhí)行的平均指令條數(shù)來衡量。普遍以計算機每秒執(zhí)行的平均指令條數(shù)來衡量。 MIPS定義為:MIPS=指令條數(shù)/(執(zhí)行指令時間106)=主頻/CPI=主頻IPC MFLOPS定義為:MFLOPS=浮點操作次數(shù)/(執(zhí)行指令時間106)衡量機器性能的唯一可靠的標準就是真正的衡量機器性能的唯一可靠的標準就是真正的執(zhí)

45、行程序的時間執(zhí)行程序的時間例子:PentiumII 450的CPI0.5,計算該處理機的運算速度是多少MIPS?解: 已知 CPI 0.5 f = 450MHz MIPS = f10-6/CPI = 450106106/0.5 = 900MIPS1.3.2 蹤跡驅(qū)動模擬和執(zhí)行驅(qū)動模擬蹤跡驅(qū)動模擬和執(zhí)行驅(qū)動模擬1.蹤跡驅(qū)動模擬(Trace-Driven Simulation)優(yōu)點:不涉及具體硬件的實現(xiàn)細節(jié)既可以對還沒有實現(xiàn)的新的結(jié)構(gòu)進行評價,也可以對現(xiàn)有的結(jié)構(gòu)進行評價,并且可以改變結(jié)構(gòu)的參數(shù)來觀察性能的變化趨勢缺點:所需的蹤跡文件很大2.執(zhí)行驅(qū)動模擬執(zhí)行驅(qū)動模擬(Execution-Driven

46、 Simulation)模擬器的輸入直接使用實際的基準程序的二進制代碼。在模擬器中要邊模擬執(zhí)行這些代碼(相當(dāng)于產(chǎn)生蹤跡)邊對提案的結(jié)構(gòu)進行性能評價。1.3.3 高性能計算機和互聯(lián)網(wǎng)絡(luò)高性能計算機和互聯(lián)網(wǎng)絡(luò)高性能計算機是指那些包含有多個CPU或多臺計算機的系統(tǒng)。1.多處理機(Multiprocessors)系統(tǒng):共享存儲器,又稱并行系統(tǒng)共享存儲器,又稱并行系統(tǒng)(Parallel Systems)如超級計算機如超級計算機(Supercomputers)和伺服器和伺服器(Servers) 2.多計算機(Multi computers)系統(tǒng):不共享存儲器,又稱分布式系統(tǒng)不共享存儲器,又稱分布式系統(tǒng)(D

47、istributed Systems)。如用于網(wǎng)格計算如用于網(wǎng)格計算(Grid Computing)及云計算及云計算(Cloud Computing)的環(huán)境的環(huán)境互聯(lián)網(wǎng)絡(luò)互聯(lián)網(wǎng)絡(luò)(Interconnection Networks)110310610910121015OneOPSKiloOPSMegaOPSGigaOPSTeraOPSPetaOPS處理器數(shù):處理器數(shù):3276832768功耗:功耗:2.9 MW2.9 MW時間:時間:20042004年年公司:公司:IBMIBM速度:速度:70.720TFlops70.720TFlops110310610910121015OneOPSKiloOP

48、SMegaOPSGigaOPSTeraOPSPetaOPS時間:時間:20082008年年公司:公司:IBMIBM速度:速度:1.026PFlops1.026PFlops處理器數(shù):處理器數(shù):1987219872功耗:功耗:3.9MW3.9MW,0.35GF/Waatt0.35GF/Waatt 110310610910121015OneOPSKiloOPSMegaOPSGigaOPSTeraOPSPetaOPS時間:時間:20092009年年公司:公司:CrayCray速度:速度:1.759 PFlops1.759 PFlops處理器數(shù):處理器數(shù):224162224162功耗:功耗:6.9506 MW6.9506 MW110310610910121015OneOPSKiloOPSMegaOPSGigaOPSTeraOPSPetaOPS時間:時間:20102

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論