计算机系统结构——概述
????????計(jì)算機(jī)的實(shí)現(xiàn)包括兩個(gè)方面:組成和硬件。組成一詞包含了計(jì)算機(jī)設(shè)計(jì)的高階內(nèi)容,例如存儲(chǔ)器系統(tǒng),存儲(chǔ)器互連,設(shè)計(jì)內(nèi)部處理器 CPU (中央處理器——算術(shù)、邏輯、分支和數(shù)據(jù)傳送功能都在內(nèi)部實(shí)現(xiàn))。有時(shí)也用微體系結(jié)構(gòu)一詞來代替“組成”。例如AMD Operon和Intel Core I7是兩個(gè)指令集體系結(jié)構(gòu)相同但組成不同的處理器。這兩種處理器都實(shí)現(xiàn)X86指令集,但它們的流水線和緩存組成有很大的不同。硬件指的是一個(gè)計(jì)算機(jī)的具體實(shí)現(xiàn),包括計(jì)算機(jī)的詳盡邏輯設(shè)計(jì)和封裝技術(shù)。
- 計(jì)算機(jī)體系結(jié)構(gòu)是指計(jì)算機(jī)的概念性結(jié)構(gòu)和功能屬性。
- 計(jì)算機(jī)組織是指計(jì)算機(jī)體系結(jié)構(gòu)的邏輯實(shí)現(xiàn),包括機(jī)器內(nèi)的數(shù)據(jù)流和控制流的組成以及邏輯設(shè)計(jì)等(常稱為計(jì)算機(jī)組成原理)。
- 計(jì)算機(jī)實(shí)現(xiàn)是指計(jì)算機(jī)組織的物理實(shí)現(xiàn)。
一、定義
????????真正的體系結(jié)構(gòu)涵蓋了計(jì)算機(jī)設(shè)計(jì)的所有三個(gè)方面:指令集體系結(jié)構(gòu)、組成或微體系結(jié)構(gòu)、硬件。計(jì)算機(jī)架構(gòu)師設(shè)計(jì)的計(jì)算機(jī)必須滿足功能需求,并達(dá)到價(jià)格、功耗、性能和可用性指標(biāo)。在涉及到計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的知識(shí)時(shí),主要按以下金字塔進(jìn)行學(xué)習(xí):
Acceleration,Amdahl
- ? ? ? ? 整個(gè)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的總設(shè)計(jì)目標(biāo)是為了“快”
- ? ? ? ? 總的設(shè)計(jì)原理是:加快經(jīng)常性事件
- ? ? ? ??如何量化加速這一指標(biāo):Amdahl 原理
- ? ? ? ??如何衡量CPU性能:CPU性能公式
- ? ? ? ? 程序的局部性原理
Instruction,Interface
? ? ? ? 指令集架構(gòu)(Instruction Set Architecture, ISA),對(duì)于匯編語言程序員或編譯器編寫者可見。ISA包括:1)編程寄存器 2)操作數(shù)訪問 3)操作數(shù)的類型和大小 4)指令集 5)尋址模式 6)指令編碼
????????ISA 是硬件與軟件之間的連接點(diǎn)。任何在內(nèi)存里執(zhí)行的程序都將通過 ISA 進(jìn)行解耦從而能在底層架構(gòu)上執(zhí)行。整個(gè)計(jì)算機(jī)體系機(jī)構(gòu)和抽象層如下:
Processing,Parallel
? ? ? ? 按指令流與數(shù)據(jù)流進(jìn)行分類則可以把結(jié)構(gòu)分為:
Storage,System
? ? ? ? 程序局部性原理的存在,以及“在給定實(shí)現(xiàn)技術(shù)和功率預(yù)算的情況下,硬件越小,速度可以越快”的準(zhǔn)則,存儲(chǔ)器體系結(jié)構(gòu)便運(yùn)營(yíng)而生。
時(shí)間局部性(temporal locality):被引用過一次的存儲(chǔ)器位置在未來會(huì)被多次引用(通常在循環(huán)中)。
空間局部性(spatial locality):如果一個(gè)存儲(chǔ)器的位置被引用,那么將來他附近的位置也會(huì)被引用。
????????
????????有人可能會(huì)問,為什么需要多層次的存儲(chǔ)結(jié)構(gòu),使用一個(gè)理論上無限大的存儲(chǔ)器去完成一些工作不就可以了么?這樣表面上是可以的,但是我們沒有辦法立刻馬上從這樣一個(gè)十分龐大的存儲(chǔ)器中得到我們想要的機(jī)器字。我們不得不去構(gòu)建分層的結(jié)構(gòu)存儲(chǔ)器,每一層的容量都要大于前一層,但訪問速度也要慢一些。當(dāng)前的一大趨勢(shì):存儲(chǔ)器性能和處理器性能之間的差距越來越大。
Network,conNection
? ? ? ? 通過互聯(lián)函數(shù)來描述設(shè)備間的互相連接,既包括計(jì)算機(jī)內(nèi)部的連接,也包括計(jì)算機(jī)之間的連接。主要通過帶寬和延遲兩個(gè)指標(biāo)進(jìn)行衡量。? ? ? ??
二、基本結(jié)構(gòu)
????????馮·諾依曼在研究EDVAC機(jī)時(shí)提出了“存儲(chǔ)程序”的概念,“存儲(chǔ)程序”的思想奠定了現(xiàn)代計(jì)算機(jī)的基本結(jié)構(gòu),以此概念為基礎(chǔ)的各類計(jì)算機(jī)通稱為馮·諾依曼機(jī),其特點(diǎn)如下:
????????典型的馮·諾依曼計(jì)算機(jī)結(jié)構(gòu)如圖所示。
????????面隨著微電子技術(shù)的進(jìn)步,同時(shí)計(jì)算機(jī)需要處理、加工的信息量也與日俱增,大量I/O設(shè)備的速度和CPU的速度籌距懸殊,因此以運(yùn)算器為中心的結(jié)構(gòu)不能夠滿足計(jì)算機(jī)發(fā)展的要求。現(xiàn)代計(jì)算機(jī)已發(fā)展為以存儲(chǔ)器為中心,使I/O操作盡可能地繞過CPU,直接在I/O設(shè)備和存儲(chǔ)器之間完成,以提高系統(tǒng)的整體運(yùn)行效率,其結(jié)構(gòu)如圖所示。
三、性能指標(biāo)
1、Amdahl定律
? ? ? ? 對(duì)一個(gè)計(jì)算機(jī)架構(gòu)進(jìn)行優(yōu)化后,我們?nèi)绾魏饬科湫阅艿奶嵘?#xff1f;首先定義加速比:對(duì)于同一個(gè)程序的執(zhí)行,其加速比為:
? ? ? ? 而Amdahl定律為:
? ? ? ? 其中,代表系統(tǒng)加速比,表示改進(jìn)部分的加速比,表示被改進(jìn)部分原來的執(zhí)行時(shí)間占原來總執(zhí)行時(shí)間的百分比。
? ? ? ? 當(dāng)趨近于0時(shí),趨近于1。說明如果僅對(duì)計(jì)算機(jī)的一部分做出改變,那么對(duì)整體性能的提升非常有限。
? ? ? ? ?為了使系統(tǒng)獲得較高的加速比,優(yōu)化的部分必須占有較大的比例。
?2、CPU性能公式
? ? ? ? 執(zhí)行一個(gè)程序所需要的CPU時(shí)間為:執(zhí)行程序所需要的時(shí)鐘周期*時(shí)鐘周期時(shí)間。
? ? ? ? 我們定義CPI(Cycles Per Instruction)為平均每條指令耗費(fèi)的時(shí)鐘周期數(shù)。則CPU時(shí)間可表示為:
? ? ? ? 其中,IC為執(zhí)行的指令條數(shù),T為時(shí)鐘周期時(shí)間。
? ? ? ? 基于此公式,提升處理器性能的三個(gè)思路為:1)減少IC,即較少執(zhí)行指令的條數(shù),如RISC;2)減少CPI,如CISC;3)較少時(shí)鐘周期時(shí)間,如提升主頻。
3、性能指標(biāo)
4、可靠性
????????
? ? ? ? ?我們用MTTF這一指標(biāo)來衡量可靠性。
? ? ? ? 可用性定義為:
總結(jié)
以上是生活随笔為你收集整理的计算机系统结构——概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sg函数模板
- 下一篇: jmeter自定义并发用户数图形插件介绍