【正文】
Benchmarks Workloads Implement Next Generation System Implementation Complexity Analysis Design Imple mentation 計(jì)算機(jī)工程方法學(xué) 計(jì)算機(jī)體系結(jié)構(gòu) 小結(jié)-計(jì)算機(jī)體系結(jié)構(gòu)、組織和實(shí)現(xiàn) ? 計(jì)算機(jī)體系結(jié)構(gòu)研究軟、硬件功能分配以及機(jī)器級(jí)界面的確定,既由機(jī)器語言程序設(shè)計(jì)者或編譯程序設(shè)計(jì)者所看到的機(jī)器物理系統(tǒng)的抽象或定義。 ? 計(jì)算機(jī)實(shí)現(xiàn)( Computer Implementation)是指計(jì)算機(jī)組成的物理實(shí)現(xiàn),包括處理機(jī)、主存等部件的物理結(jié)構(gòu),器件的集成度和速度,器件、模塊、插件、底板的劃分與連接,專用器件的設(shè)計(jì),微組裝技術(shù),信號(hào)傳輸,電源、冷卻及整機(jī)裝配技術(shù)等。 Tasks per day, hour, week, sec, ns. .. (Performance) – throughput, bandwidth 這兩者經(jīng)常會(huì)有沖突的。如果假設(shè)在程序中有 10%的乘法操作,問整個(gè)程序的加速比?如果有 40%的乘法操作,問整個(gè)程序的加速比又是多少? ? 假設(shè)一計(jì)算機(jī)在運(yùn)行給定的一程序時(shí) , 有 90% 的時(shí)間用于處理某一類特定的計(jì)算 。 ? 小測試程序 – 代碼在 100行以內(nèi) ? 合成測試程序 – 首先統(tǒng)計(jì)大量應(yīng)用程序中的操作,得到操作比例,然后認(rèn)為合成一些測試程序 ? SPEC測試程序 計(jì)算機(jī)體系結(jié)構(gòu) ? Eighteen application benchmarks (with inputs) reflecting a technical puting workload ? Eight integer – go, m88ksim, gcc, press, li, ijpeg, perl, vortex ? Ten floatingpoint intensive – tomcatv, swim, su2cor, hydro2d, mgrid, applu, turb3d, apsi, fppp, wave5 ? Must run with standard piler flags – eliminate special undocumented incantations that may not even generate working code for real programs SPEC95測試程序 計(jì)算機(jī)體系結(jié)構(gòu) 系統(tǒng)結(jié)構(gòu)的評(píng)價(jià)標(biāo)準(zhǔn) ? 性能 – MIPS:每秒百萬條指令數(shù) MIPS = IC/(CPI*IC*T*106)=1/(CPI*T *106) ? 缺陷 – (1)MIPS依賴于指令集 – (2)在同一臺(tái)機(jī)器上 , MIPS因程序不同而變化 , 有時(shí)差別加大 – (3)MIPS可能與性能相反 ? 舉例 。 CRAY2沒有除法指令 , Motorola 68882有 – SPEC測試 計(jì)算機(jī)體系結(jié)構(gòu) 本章小結(jié) ? 設(shè)計(jì)發(fā)展趨勢(shì) Capacity Speed Logic 2x in 3 years 2x in 3 years DRAM 4x in 3 years 2x in 10 years Disk 4x in 3 years 2x in 10 years ? 運(yùn)行任務(wù)的時(shí)間 – Execution time, response time, latency ? 單位時(shí)間內(nèi)完成的任務(wù)數(shù) – Throughput, bandwidth ? “X性能是 Y的 n倍 ” : ExTime(Y) Performance(X) = ExTime(X) Performance(Y) 演講完畢,謝謝觀看! 。 F = 500MHZ ALU ( 43% 1) loads (21% 2) stores (12% 2) Branches (24% 2) – MFLOPS 基于操作而非指令 , 它可以用來比較兩種不同的機(jī)器 。 – 如果該程序在原來的機(jī)器上運(yùn)行需 100秒 , 那么該程序在改進(jìn)后的機(jī)器上運(yùn)行時(shí)間是多少 ? – 新的系統(tǒng)相對(duì)于原來的系統(tǒng)加速比是多少 ? – 在新的系統(tǒng)中 , 原來特定的計(jì)算占整個(gè)計(jì)算的比例是多少 ? 計(jì)算機(jī)體系結(jié)構(gòu) Compiler Programming Language Application Datapath Control Transistors Wires Pins ISA Function Units (millions) of Instructions per second – MIPS (millions) of (.) operations per second – MFLOP/s Cycles per second (clock rate) Megabytes per second Seconds per program Useful Operations per second Each metric has a place and a purpose, and each can be misused 性能度量 計(jì)算機(jī)體系結(jié)構(gòu) CPU性能度量 CPU time = Seconds = Instructions x Cycles x Seconds Program Program Instruction Cycle Inst Count CPI Clock Rate Program X Compiler X (X) Inst. Set. X X Organization X X Technology X 計(jì)算機(jī)體系結(jié)構(gòu) CPU time = ClockCycleTime * ?CPI * I i = 1 n i i