760 likes | 1.78k Views
計算機組織與結構 - 效能設計. 第二章 電腦進化與效能表現. 2.1 電腦簡史. ENIAC – 全世界第一台電子計算機 Electronic Numerical Integrator And Computer 的簡寫 ( 電子數值積分器和計算機 ) 計畫主持人: Eckert 約克特 、 Mauchly 摩查理 計畫單位 :賓州大學 計畫目的 :計算新火砲的彈道 計畫 時間 : 1943 - 1946 可惜未趕上第二次世界大戰 運轉到 1955 年,宣告死訊,走入歷史. ENIAC 技術細節. 十進位 ( 非二進位 )
E N D
計算機組織與結構-效能設計 第二章電腦進化與效能表現
2.1電腦簡史 • ENIAC – 全世界第一台電子計算機 • Electronic Numerical Integrator And Computer的簡寫(電子數值積分器和計算機 ) • 計畫主持人:Eckert約克特、 Mauchly摩查理 • 計畫單位 :賓州大學 • 計畫目的 :計算新火砲的彈道 • 計畫時間 :1943-1946 • 可惜未趕上第二次世界大戰 • 運轉到1955年,宣告死訊,走入歷史
ENIAC技術細節 • 十進位(非二進位) • 20個累積器(accumulator)(具有十個位數的儲存功能) • 程式依靠人工設定開關、插拔電纜線 • 18,000 真空管 • 30 噸 • 15,000平方英呎 • 消耗140 KW以上的電力 • 每秒5,000 個加法運算能力 • 即5,000 IPS(instructions per second)
Von Neumann Machine范紐曼機器 • 第一個提出程式儲存觀念 • 主記憶體儲存程式和資料 • 使用二進位執行ALU運算 • 控制單元擷取記憶體的指令,並執行之 • 輸入/輸出裝置受控於控制單元 • 1952年,於普林司頓完成IAS電腦的建構 • 幾乎同時,Alan Turing也在發展這種觀念
范紐曼電腦架構內容 • IAS電腦架構內容: • 同時儲存資料和指令的主記憶體(M) • 二進位資料處理的算數邏輯單元(CA) • 直譯(interpret)並執行記憶體指令的程式控制單元(CC) • 受控制單元操作的輸入/輸出設備(I/O)內容
IAS細節 • 1000 x 40 bit 字組(word) • 二進位數字 • 2 x 20 bit 指令 • 暫存器(register, CPU內部的記憶體) • MBR( Memory Buffer Register,記憶體緩衝暫存器) • MAR( Memory Address Register,記憶體位址暫存器) • IR (Instruction Register,指令暫存器) • IBR ( Instruction Buffer Register,指令緩衝暫存器) • PC (Program Counter,程式計數器) • AC (Accumulator,累積器) • MQ (multiplier Quotient,乘法商數)
電腦世代 • 真空管(1946-1957), 電晶體(1958-1964) • SSI小型積體電路(1965 開始) • 晶片內可容納100個元件 • MSI中型積體電路(到 1971) • 晶片內可容納100-3,000個元件 • LSI大型積體電路(1971-1977) • 晶片內可容納3,000 - 100,000 個元件 • VLSI超大型積體電路(1978 至今) • 晶片內可容納100,000 - 100,000,000 個元件 • ULSI極大型積體電路 • 晶片內可容納超過100,000,000 個元件
商業電腦:Eckert-Mauchly電腦公司 • 1947年 • 完成UNIVAC I電腦的建構 • 1950年 • 接受戶政局委託,執行人口普查 • 被購併成Sperry-Rand公司的UNIVAC部門 • 1950年代後期 • 完成UNIVAC II電腦的建構 • 速度更快 • 記憶體更多
商業電腦: IBM電腦公司 • 打孔卡片的主要製造商 • 1953 - IBM 701 • IBM第一台電子程式儲存電腦 • 科學應用 • 1955 - IBM 702 • 商業應用 • 這兩款機型是700/7000系列的前鋒
電晶體 • 1947年,貝爾實驗室的 William Shockley研製出第一顆電晶體 • 取代真空管 • 體積更小 • 成本更低 • 發熱更少 • 矽製材料(來源同於砂) • 固態裝置矽
電晶體電腦 • 電晶體開啟了第二代電腦革命 • NCR & RCA 製造小型電晶體電腦 • IBM 7000系列 • DEC 於1957年成立,當年立即發表 PDP-1
微電子學 • “微小的電子學” • 電腦可以看成是由閘、記憶細胞、和互連機制所構成的系統 • 可製作在矽半導體材料上,比如:矽晶圓(wafer) • 常稱為積體電路、IC、晶片
摩爾定律 • Intel創辦人 Gordon Moore所發表的定律 • 預測:晶片內元件密度的成長趨勢 • 從1965年後(至1970年) • 單一晶片內電晶體數目每年成長2倍 • 從1970年後(因成長趨緩,稍作修正) • 單一晶片內電晶體數目每18月成長2倍 (即,每 3年成長4倍)
摩爾定律的預估 • 晶片的成本不變 • 元件的尺寸縮小 • 空間的彈性增加 • 可降低電力消耗 • 可降低冷卻需求 • 更高的晶片密度意指更短的電氣路徑 • 更高的效能表現 • 減少互連增加可信度
IBM 360 系列 • 1964 • 取代7000 機型(但不相容) • 第一台有計畫製造的電腦家族 • 類似或相同的指令集 • 類似或相同的O/S • 速度增加 • I/O埠增加(即更多的端子) • 記憶體增大 • 成本增加 • 多工開關結構
DEC PDP- 8 • 1964 • 第一台迷你電腦(在迷你裙之後) • 不必專用的空調室 • 小到足以放在工作平台上 • $16,000 (cf.當時IBM 360約需$100K) • 嵌入式應用& OEM • 匯流排結構
主記 憶體 I/O 模組 I/O 模組 操作台 控制器 CPU 公用匯流排 DEC PDP-8 匯流排結構
半導體(Semiconductor)記憶體 • 1970 • Fairchild公司 • 單一磁蕊的大小(即一位元磁蕊) • 容納256 位元 • 非破壞性讀取 • 速度更快於磁蕊 • 容量約每年成長二倍
(提昇速度之)效能設計 • 管線技術 • 單板快取記憶體 • 單板 L1 & L2 快取記憶體 • 分支預測 • 資料流程分析 • 推估執行
效能無法匹配問題 • 處理器速度增加 • 記憶體容量增加 • 記憶體速度 遠落後於 處理器速度
效能均衡技術 • 增加一次存取的位元數 • 拓”寬”DRAM ,而非加”深”DRAM • 改變DRAM介面 • 快取記憶體 • 降低記憶體存取頻率 • 更複雜的晶片內建快取記憶體 • 增加互連頻寬 • 高速匯流排 • 匯流排階層
發展週邊I/O • 如何快速地轉移處理器和週邊裝置之間的資料溝通,依舊是個難題 • 引進快取記憶體和緩衝架構,再加上運用更高速、更精細的的互連匯流排架構 • 使用多重處理器對於I/O需求方面,也可以提供幫助。
效能改善I -增快處理器速度 • 增快處理器硬體的速度 • 最簡單的作法就是微縮 晶片內部的邏輯閘尺寸,不但可置放更多的邏輯閘,而且訊號在邏輯閘內部的傳輸時間會明顯降低,因而提升處理器的速度增益。 • 增加快取記憶體的速度與容量 • 只要處理器晶片內部 讓出部份空間給快取,整體存取時間(access time)將會明顯地降低。 • 改善處理器組織和結構 • 將平行策略加入處理器組織和結構,建立更有效率的指令執行效能。
加快時脈速度產生的技術屏障 • 電力問題(Power) • 高密度和高速度所伴隨的散熱困難,成為嚴重的設計議題。 • RC延遲(RC Delay) • 晶片內部元件微縮尺寸後,變得更細的導線會增加阻抗;同樣地導線更接近彼此,也導致電容變大。一旦RC乘積增加時,延遲也跟著增加。 • 記憶體延遲(Memory Latency) • 記憶體延遲會拖慢處理器速度。
效能改善II-晶片內建快取 • 在處理器和主記憶體之間加入快取結構,並且增大其記憶容量,目前現代電腦通常會置放2~3階快取記憶體架構。 • 當處理器晶片密度增大時,晶片內部可以提供更多的空間給快取記憶體,把快取記憶體直接積入(incorporate)處理器晶片內部,更可以大幅減少傳導路徑長度,有效地提升快取(fast access)效果。 • 比如:Pentium晶片大約空出10%內部空間,給快取記憶體使用;Pentium 4則有50%內部空間,提供給快取記憶體使用。
效能改善III-指令平行策略 • 有兩個值得注意的指令平行策略技術就是:管線技術(pipelining)和超純量技術(superscalar)。 • 所謂的管線技術有如工廠的生產線般,讓多個指令沿著管線通道前進,並且設法把通道分成不同階段(stage),在各個不同的階段上,同時執行多個指令。 • 至於,超純量技術則是在晶片內部複製多重管線通道,讓不相依的指令分配到不同的管線通道上,同時執行多個指令。
單一處理器的瓶頸 • 單純地依賴時脈速度的增快,將會出現功率消耗問題,更高的時脈速率產生更大量的熱功率,衍生出某些物理限制。 • 設計者在解決這種困難時,常轉向到其它基本技術,比如:在同一晶片內部,置放所謂的多核心(multicore)處理器,讓多重處理器共用大量的快取記憶體,開發潛藏效能,不必一直依賴時脈速率的改善。
多核心處理器的出現 • 研究指出,在同一處理器內部所增加的效能,大約正比於複雜度(complexity)的平方根[BORK03]; • 然而,如果倍增處理器數量,在軟體可支援多重處理器的情況下,則幾乎可以倍增效能。 • 由此可見,實現策略傾向使用多個處理器,而非更複雜地開發單一處理器的效能。
Intel x86結構的進化 • 1971年發表4004 • 第一台微處理機 • CPU內所有的元件都在單一晶片上 • 4 位元 • 1972年發表8008 • 8 位元 • 特定用途的設計 • 1974 年發表8080 • Intel第一顆通用型微處理機
x86 進化 • 8080 • 8 位元資料路徑 • 第一台通用型微處理器 • 組成第一台個人電腦Altair • 8086/88 • 更具威力 • 16 位元 • 指令快取, 預先擷取少量的指令 • 8088 (8 位元外部匯流排)用於首部IBM PC
x86進化 • 80286 • 定址空間從1Mb提昇到16 MB記憶體 • 80386 • 32 位元 • 多工支援能力 • 80486 • 更複雜也更具威力的快取結構 • 指令管線技術 • 內建數學協同處理器
Pentium 進化(1) • Pentium • 超純量(平行執行的多重指令) • Pentium Pro • 超純量組織 • 暫存器更名技術 • 分支預測 • 資料流程分析 • 推估執行 • Pentium II • MMX技術 • 繪圖、視訊、音效處理
Pentium 進化(2) • Pentium III • 3D繪圖浮點數指令 • Pentium 4 • 更進一步地加強浮點數和多媒體能力 • Core 2 Duo • 64 bit • 雙核心 • Core 2 Quad • 64 bit • 四核心
嵌入式系統和ARM • 另一種處理器的設計方向則為RISC(精簡指令)電腦。 • ARM不但廣泛地運用於嵌入式系統(embedded system),也是市場上功能最強大、設計最好的RISC系統之一。
嵌入式系統 • 結合電腦硬體和相關軟體,將其附加於機械設備或其他產品上,以執行某種特定的專屬功能。 • 大部分的案例中,嵌入式系統通常只是系統或產品的一小部分,比如:汽車的ABS(煞車反鎖死系統)。
嵌入式元件不同於一般電腦 • 可能具有不同的界面,讓系統進行測量、操控、外部環境互動等行為。 • 人機界面可能像閃爍燈一樣簡易,也可能像即時視覺一樣複雜。 • 診斷埠可能用來診斷外部控制系統,而不僅僅只診斷電腦而已。 • FPGA/ASIC或某些非數位硬體可能用來增進效能或改善安全。 • 內嵌應用軟體通常具備某種特定的專屬功能。
ARM公司 • ARM晶片是英格蘭劍橋ARM公司所開發的RISC微處理器,主要作為微控制器(microcontroller)用途。 • 可能是目前市場使用最多、運用範圍最廣泛的嵌入式處理器。 • ARM公司本身並不直接製造處理器,而是將所設計的微處理器和多核心架構授權給其它製造廠商,製成小尺寸、低功率的高速晶粒,內建於遊戲、電話、手持設備(比如:PDA)、…等消費性產品。 • 舉例而言,蘋果(Apple)公司知名的iPod和iPhone就是使用ARM處理器。
ARM進化 • ARM原始技術追溯於英國Acorn電腦公司,發展的微電腦架構。Acorn第一個商業RISC處理器 - ARM(Acorn RISC Machine)。 • 1985年,發表ARM1。 • 1985年,Acorn發表ARM2。 • 1989年,改良版的ARM3問世。 • 為了提升實力,Acorn與VLSI、Apple合資組成ARM公司,並且把Acorn RISC Machine改名為Advanced RISC Machine,簡稱仍是ARM。
ARM處理器適合應用的系統 • 嵌入式即時系統:儲存系統、自動機台、電力火車、工業和網路應用。 • 應用軟體平台:ARM可以執行開放式作業系統,包含-Linux、Palm OS、Symbian OS、Windows CE,並可當作無線通訊、消費娛樂和數位影像處理等應用平台。 • 保安應用:智慧卡、SIM卡和付費終端設備。
效能評估 • 時脈速度和IPS • 標準效能評估程式 • 阿姆達定律
系統時脈 • 處理器所執行的運算,比如:擷取指令、解碼指令、執行算術等,都由系統時脈控制動作程序。 • 運算啟使於時脈脈波,因而處理器速度是由脈波頻率所決定,時脈頻率的測量單位是Hz(Hertz)。