1. 程式人生 > >計算機體系結構基礎——1

計算機體系結構基礎——1

從 CPU 架構說起

引言

CPU 是整個計算機體系結構的核心,體系結構研究 CPU 內部的結構,CPU 如何與記憶體,外設互動,如何支撐並配合作業系統。

資料主要來源:
《Linux 核心完全剖析–基於0.12核心》/ 趙炯 1 著. ——機械工業出版社,2010.1
《計算機體系結構》/ 胡偉武等著. ——北京:清華大學出版社,2011.6
其他資料參見篇後附錄連結

三種 CPU 架構的介紹

  • X86 (80x86)2是 intel 設計的一系列 CPU 架構的泛稱。使用 X86 架構生產CPU 的不僅有 intel 還有 AMD , AMD 首先把 X86 架構推廣到 64 位,稱為 AMD64 ,後來 intel 又推出與 AMD64 相容的 intel64 ,現在兩者一般統稱為X86-64或者X64。 intel 公司現在活得很好,這個就不必多說。intel 公司由於自己的 CPU 產品代際提升率越來越感人,像擠牙膏一樣,又被稱為牙膏廠。
  • ARM 是英國 ARM 晶片設計公司設計的 CPU 架構的泛稱。習慣上稱為 ARM 架構。藉著移動裝置的東風,ARM 公司發展得很好,在 2016 年被日本軟銀以 320 億美金的價格收購 。

上面兩家公司除設計 CPU 外,還承接其他微處理器或者配件的設計業務,在技術上走在時代前列 。

  • MIPS 全稱為 icroprocessor without interlocked piped stages,意思是“無內部互鎖流水級的微處理器”它最早在 80 年代初由 Stanford 大學 Hennessy 教授的研究小組研製。後來 MIPS 公司成立並利用此架構生產微處理器,但在商業上不成功。MIPS 公司先後經歷了被收購,又獨立的過程,MIPS 架構也從風光走向沒落。現在,龍芯公司
    花費了 500 萬美元購買了 MIPS 的永久授權並基於 MIPS 架構開發了自己的指令集,用於龍芯系列的 CPU。

CPU的指令集

指令系統是微處理器(如 CPU , GPU , NPU )或微控制器(如中斷控制器,磁碟控制器)對外提供的(Interface)。
有了指令集,CPU 的內部細節對使用者就不可見,流水線,指令排程,分支預測, Cache 等技術,是 CPU 內部提高指令執行效率的技術,這是 CPU 的設計者主要關心和改進的部分,而對使用指令程式設計的使用者而言則是透明的,使用者只要看懂《XXX 使用者手冊》就可以。

為了支撐作業系統核心, CPU 的指令集中提供以下功能的相關指令(包括但不限於):

  1. 記憶體管理
    用於支撐多工,虛擬記憶體,區分核心和使用者的許可權等。
  2. 任務(Task)管理
    用於支撐多工等。
  3. 中斷(Interruption)和異常(也作例外,Exception)處理
    用於 CPU 與外設 IO 並行,處理指令執行中可能發生的錯誤等。

在多核環境下,CPU 架構更復雜。

有些 CPU 支援超執行緒,一個物理核心對外表現為多個邏輯核心。

Intel-VTx 把 Hypervisor3 的部分功能整合在了 CPU 當中 。

同濟大學的計算機本科教育體系

大二大三時感覺課程的設定混亂,課程之間無法銜接,是因為:

  • CPU 只做了 1 / 3。也就是第 1 部分。而用於支撐現代作業系統核心的 2,3 沒有強調。
  • 學了 8086 (16位)的彙編,然後學了基於 80x86 (32位)的 Unix V6++,但是做了 MIPS (32位)的 CPU,兩兩之間存在鴻溝。
  • 編譯原理課上得毫無用處,老師不懂實操。
  • 更加可怕的是,學生較強的自學能力反而讓教師自我感覺良好,以為授課質量沒有問題。現在課改的方向是加強核心課程的訓練,鄙校鄙系教師大都是計算機應用專業出身,典型的能力撐不起野心。
  1. 目前在同濟大學機械工程學院任教,這種真正懂計算機的優質人才竟然不引進到計算機系來。 ↩︎

  2. Intel 公司出的一系列處理器 8086,80186,80286 ,都是16位(以及8088等變種),而80386 80486 都是32位。從奔騰開始,已不再沿用 80586 這樣的模式,因為更新太快了。但是大家習慣上都以586,686來稱謂。現在的 PC 機處理器,都是向下一直相容到8086,這些就統稱為80x86在組合語言下常提到“80x86指令集”這個術語,意思是相容這些cpu的指令集。 ↩︎

  3. 是一個運行於 CPU / 物理硬體與作業系統之間的中間層,實現方式多樣 ↩︎

相關推薦

計算機體系結構基礎——1

從 CPU 架構說起 引言 CPU 是整個計算機體系結構的核心,體系結構研究 CPU 內部的結構,CPU 如何與記憶體,外設互動,如何支撐並配合作業系統。 資料主要來源: 《Linux 核心完全剖析–基於0.12核心》/ 趙炯 1 著. ——機械工業出版社,

Atitit 軟體知識點分類體系 分類 按照書籍的分類 學科分類 體系基礎部分 計算機體系結構 硬體介面技術(usb,agp,pci,div,hdmi) os作業系統 中介軟體 語言部分

Atitit 軟體知識點分類體系   分類 按照書籍的分類 學科分類   體系與基礎部分 計算機體系結構 硬體介面技術(usb,agp,pci,div,hdmi) os作業系統 中介軟體 語言部分

課堂筆記——計算機體系結構(1)

落了一節課,直接lecture3 Lecture3 Basic Pipeline 1、Single-cycle implementation: seldom used      取指  譯碼  執行  讀mem/cache  寫回WB 2、How to make it

計算機體系結構之一--體系結構【譯】

IV 體系 課程 c編譯器 表達 世界 高性能 motorola 跳過 說明 本文翻譯自斯坦福開放課程【編程範式】的系列課件,有刪改。 本系列會持續更新,預計一周發布1到2篇。 如有意見/建議或是存在版權問題,歡迎園友指正。 轉載無需

計算機體系結構分類 - Flynn

至少 align clas -a 並行處理 mis ble ext 計算機體系結構 體系結構類型 結構 關鍵特性 代表 單指令流單數據流SISD 控制部分:一個處 理 器:一個主存模塊:一個 單處理器系統 單指令流多數據流SIMD 控制部分:一個處 理

(一)STL體系結構基礎介紹

  一、STL六大部件   容器(Containers):存放元素,記憶體由分配器搞定   分配器(Allocator):支援容器的記憶體分配   演算法:操作容器元素的函式。與OO不同(面向物件將元素與函式放到一個類裡),GP(模板程式設計)將資料放入容器,操作方法放入演算法中。   迭

計算機體系結構:量化研究方法》5th 學習筆記

本書的目的 權衡:成本-效能-功耗 新平臺:個人移動裝置和倉庫級計算機 新體系結構:多核和GPU 關於第五版 兩個極端:以行動電話和平板電腦到的個人移動裝置PMD 為客戶端,以提供雲端計算的倉庫級計算機為伺服器 另一條主線:資料級並

計算機體系結構小總結

    最近,我閱讀了一篇介紹計算機體系結構的文章,感覺比較簡潔而且全面的介紹了計算機體系結構的內容。文章的連結是Modern Microprocessors A 90-Minute Guide!。因此,我謹以此文來做下總結,好讓以後來回憶。     首先

易學筆記-系統分析師考試-第6章 系統配置與效能評價/6.1 計算機層次結構/6.1.3 計算機系統結構的分類

儲存程式結構 馮諾依曼結構:1946年6月提出的 特點 計算機的組成是由: 控制器 運算器 儲存器 輸入裝置 輸出裝置

易學筆記-系統分析師考試-第6章 系統配置與效能評價/6.1 計算機層次結構/6.1.2 計算機軟體分類

軟體:泛指各類程式和檔案 系統軟體 概念:用於實現計算機系統的管理、排程、監視和服務 分類 作業系統:是使用者和計算機之間的介面,是系統軟體的核心 語言處理程式 概念:將使用者編寫的源程式轉換成機器能識別的語言 組成 編譯程式:將高階語言編寫的程式轉換為目

易學筆記-系統分析師考試-第6章 系統配置與效能評價/6.1 計算機層次結構/6.1.1 計算機硬體的組成

計算機效能評價 評價目的 選擇:從眾多的系統方案中選擇一套最適合需要的方案,重點考慮價格、價效比等因素 改進:對已有系統的效能缺陷和瓶頸進行改進優化 設計:對未來的系統進行效能預測,在效能成本方面實現最佳設計或配置 影響效能的

資料結構基礎1

一、資料型別: 1.基本資料型別(物理資料型別) 一般分為整數、實數、字元等。 c語言的基本資料型別: 整數(int)字元(char)單精度浮點數(float)雙精度浮點數(double) 2.結構資料型別(虛擬資料型別) 指一個數據結構包含其他的資料型別,如字串(strin

【軟考】——計算機系統知識(計算機體系結構、指令系統、資料存放方式)

計算機體系結構 巨集觀上按處理機數量???——》單處理系統、並行處理與多處理系統、分散式處理系統; 微觀上按並行處理程度???——》Flynn分類法、馮澤雲分類法、Handler分類法、Kuck分

資料結構基礎------1.線性表之單鏈表的建立與輸出方法(Java版)

基礎知識: 線性表(linear list),是其組成元素間具有線性關係的一種線性結構。 線性表有 ①順序儲存結構(sequential storage structure) 順序儲存結構可以簡單的理解利用為 陣列 的形式來進行儲存資料。 ②鏈式儲存結構(ch

軟考2019-計算機系統知識(計算機體系結構分類)

(1)從巨集觀上按處理機的數量分類: 單處理機系統 多處理機系統 並行處理機系統 (2)從微觀上 Flynn分類法: SISD,SIMD,MISD,MIMD 馮氏分類法: 1972年馮澤雲提出用最大並行度來對計算機體系結構進行分類。所謂最大並行度Pm是指計算機系統

面向模式的軟體體系結構-卷1-模式系統 pdf下載

POSA系列的開山之作,系統程式設計和中介軟體程式設計的一些架構模式,翻譯一般,架構師必讀 需要IT程式設計經典書籍資源大合集百度網盤連結的加qq 3083709327,另本人願意有償帶小白學python,幫助你答疑解惑,幫助你解決問題,指導你找工作,帶你入行。相信我有

軟體體系結構4+1模型(尚未完成,例子還沒有寫)

第一節:檢視間的關聯                                      &nb

計算機體系結構——儲存體系

本章重點是頁式虛擬儲存器映象及地址變換過程;LRU,FIFO的替換演算法;LRU的堆疊分析過程;Cache組相聯地址映象和LRU塊替換;虛存,Cache的效能分析,要求達到綜合應用的水平。本章是重點章。要求掌握的基本概念有:LRU,FIFO ,全相聯、直接映象,組相聯,快表、

oracle體系結構總結 1.資料高速緩衝區(data buffer cache)2.redo log buffer

一.資料高速緩衝區(databuffer cache) oracle使用LRU(least recently used)演算法管理buffer cache.即清楚最早沒有使用的資料塊 ---------------------------------------------

專注計算機體系結構

為什麼要降維? 找出規律,壓縮資料量。 (1)特徵值與特徵向量 M矩陣,λ常數,e非零列向量 Me = λe (e為unit vector,第一個非零元素為正) 特徵向量是單位向量;特徵向量之間正交;特徵向量矩陣E的特點,E*E^T = E^T*E = I。 (2)PCA