0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一手掌握計(jì)算機(jī)體系結(jié)構(gòu)核心內(nèi)容

Linux閱碼場(chǎng) ? 來(lái)源:《計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ) 第 ? 作者:《計(jì)算機(jī)體系結(jié)構(gòu) ? 2022-03-21 10:23 ? 次閱讀

很多人對(duì)計(jì)算機(jī)體系結(jié)構(gòu)有一定的了解,但要問(wèn)起什么是計(jì)算機(jī)體系結(jié)構(gòu),多半答不上來(lái)。

計(jì)算機(jī)體系結(jié)構(gòu)(Computer Architecture)是描述計(jì)算機(jī)各組成部分及其相互關(guān)系的一組規(guī)則和方法,是程序員所看到的計(jì)算機(jī)屬性。計(jì)算機(jī)體系結(jié)構(gòu)主要研究?jī)?nèi)容包括指令系統(tǒng)結(jié)構(gòu)(Instruction Set Architecture,簡(jiǎn)稱ISA)和計(jì)算機(jī)組織結(jié)構(gòu)(Computer Organization)。微體系結(jié)構(gòu)(Micro-architecture)是微處理器的組織結(jié)構(gòu),并行體系結(jié)構(gòu)是并行計(jì)算機(jī)的組織結(jié)構(gòu)。馮·諾依曼結(jié)構(gòu)的存儲(chǔ)程序和指令驅(qū)動(dòng)執(zhí)行原理是現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)的基礎(chǔ)。

計(jì)算機(jī)體系結(jié)構(gòu)可以有不同層次和形式的表現(xiàn)方式。計(jì)算機(jī)體系結(jié)構(gòu)通常用指令系統(tǒng)手冊(cè)和結(jié)構(gòu)框圖來(lái)表示,結(jié)構(gòu)框圖中的方塊表示計(jì)算機(jī)的功能模塊,線條和箭頭表示指令和數(shù)據(jù)在功能模塊中的流動(dòng),結(jié)構(gòu)框圖可以不斷分解一直到門級(jí)或晶體管級(jí)。計(jì)算機(jī)體系結(jié)構(gòu)也可以用高級(jí)語(yǔ)言如C語(yǔ)言來(lái)表示,形成結(jié)構(gòu)模擬器,用于性能評(píng)估和分析。用硬件描述語(yǔ)言(如Verilog)描述的體系結(jié)構(gòu)可以通過(guò)電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation,簡(jiǎn)稱EDA)工具進(jìn)行功能驗(yàn)證和性能分析,轉(zhuǎn)換成門級(jí)及晶體管級(jí)網(wǎng)表,并通過(guò)布局布線最終轉(zhuǎn)換成版圖,用于芯片制造。

01

馮·諾依曼結(jié)構(gòu)及其基本原理

1945年匈牙利數(shù)學(xué)家馮·諾依曼結(jié)合EDVAC計(jì)算機(jī)的研制提出了世界上第一個(gè)完整的計(jì)算機(jī)體系結(jié)構(gòu),被稱為馮·諾依曼結(jié)構(gòu)。馮·諾依曼結(jié)構(gòu)的主要特點(diǎn)是:①計(jì)算機(jī)由存儲(chǔ)器、運(yùn)算器、控制器、輸入設(shè)備、輸出設(shè)備五部分組成,其中運(yùn)算器和控制器合稱為中央處理器(Central Processing Processor,簡(jiǎn)稱CPU)或處理器。②存儲(chǔ)器是按地址訪問(wèn)的線性編址的一維結(jié)構(gòu),每個(gè)單元的位數(shù)固定。指令和數(shù)據(jù)不加區(qū)別混合存儲(chǔ)在同一個(gè)存儲(chǔ)器中。③控制器從存儲(chǔ)器中取出指令并根據(jù)指令要求發(fā)出控制信號(hào)控制計(jì)算機(jī)的操作??刂破髦械某绦蛴?jì)數(shù)器指明要執(zhí)行的指令所在的存儲(chǔ)單元地址。程序計(jì)數(shù)器一般按順序遞增,但可按指令要求而改變。④以運(yùn)算器為中心,輸入/輸出(Input/Output,簡(jiǎn)稱IO)設(shè)備與存儲(chǔ)器之間的數(shù)據(jù)傳送都經(jīng)過(guò)運(yùn)算器。

隨著技術(shù)的進(jìn)步,馮·諾依曼結(jié)構(gòu)得到了持續(xù)改進(jìn),主要包括:①以運(yùn)算器為中心改進(jìn)為以存儲(chǔ)器為中心,數(shù)據(jù)流向更加合理,從而使運(yùn)算器、存儲(chǔ)器和IO設(shè)備能夠并行工作。②由單一的集中控制改進(jìn)為分散控制。早期的計(jì)算機(jī)工作速度低,運(yùn)算器、存儲(chǔ)器、控制器和IO設(shè)備可以在同一個(gè)時(shí)鐘信號(hào)的控制下同步工作?,F(xiàn)在運(yùn)算器、存儲(chǔ)器與IO設(shè)備的速度差異很大,需要異步分散控制。③從基于串行算法改進(jìn)為適應(yīng)并行算法,出現(xiàn)了流水線處理器、超標(biāo)量處理器、向量處理器、多核處理器、對(duì)稱多處理機(jī)(Symmetric Multi-Processor,簡(jiǎn)稱SMP)、大規(guī)模并行處理機(jī)(Massively Parallel Processor,簡(jiǎn)稱MPP)和機(jī)群系統(tǒng)等。④出現(xiàn)了為適應(yīng)特殊需要的專用計(jì)算機(jī),如圖形處理器(Graphic Processing Unit,簡(jiǎn)稱GPU)、數(shù)字信號(hào)處理器(Digital Signal Processor,簡(jiǎn)稱DSP)等。

雖然經(jīng)過(guò)了長(zhǎng)期的發(fā)展,以存儲(chǔ)程序和指令驅(qū)動(dòng)執(zhí)行為主要特點(diǎn)的馮·諾依曼結(jié)構(gòu)仍是現(xiàn)代計(jì)算機(jī)的主流結(jié)構(gòu)。非馮·諾依曼計(jì)算機(jī)的研究成果包括依靠數(shù)據(jù)驅(qū)動(dòng)的數(shù)據(jù)流計(jì)算機(jī)、圖約計(jì)算機(jī)等。

02

指令系統(tǒng)結(jié)構(gòu)

計(jì)算機(jī)系統(tǒng)為軟件編程提供不同層次的功能和邏輯抽象,主要包括應(yīng)用程序編程接口(Application Programming Interface,簡(jiǎn)稱API)、應(yīng)用程序二進(jìn)制接口(Application Binary Interface,簡(jiǎn)稱ABI)以及ISA三個(gè)層次。

API是應(yīng)用程序的高級(jí)語(yǔ)言編程接口,在編寫程序的源代碼時(shí)使用。常見(jiàn)的API包括C語(yǔ)言、Fortran語(yǔ)言、Java語(yǔ)言、JavaScript語(yǔ)言接口以及OpenGL圖形編程接口等。使用一種API編寫的應(yīng)用程序經(jīng)重新編譯后可以在支持該API的不同計(jì)算機(jī)上運(yùn)行。

ABI是應(yīng)用程序訪問(wèn)計(jì)算機(jī)硬件及操作系統(tǒng)服務(wù)的接口,由計(jì)算機(jī)的用戶態(tài)指令和操作系統(tǒng)的系統(tǒng)調(diào)用組成。為了實(shí)現(xiàn)多進(jìn)程訪問(wèn)共享資源的安全性,處理器設(shè)有“用戶態(tài)”與“核心態(tài)”。用戶程序在用戶態(tài)下執(zhí)行,操作系統(tǒng)向用戶程序提供具有預(yù)定功能的系統(tǒng)調(diào)用函數(shù)來(lái)訪問(wèn)只有核心態(tài)才能訪問(wèn)的硬件資源。當(dāng)用戶程序調(diào)用系統(tǒng)調(diào)用函數(shù)時(shí),處理器進(jìn)入核心態(tài)執(zhí)行諸如訪問(wèn)IO設(shè)備、修改處理器狀態(tài)等只有核心態(tài)才能執(zhí)行的指令。處理完系統(tǒng)調(diào)用后,處理器返回用戶態(tài)執(zhí)行用戶代碼。相同的應(yīng)用程序二進(jìn)制代碼可以在相同ABI的不同計(jì)算機(jī)上運(yùn)行。

ISA是計(jì)算機(jī)硬件的語(yǔ)言系統(tǒng),也叫機(jī)器語(yǔ)言,是計(jì)算機(jī)軟件和硬件的界面,反映了計(jì)算機(jī)所擁有的基本功能。計(jì)算機(jī)硬件設(shè)計(jì)人員采用各種手段實(shí)現(xiàn)指令系統(tǒng),軟件設(shè)計(jì)人員使用指令系統(tǒng)編制各種軟件,用這些軟件來(lái)填補(bǔ)指令系統(tǒng)與人們習(xí)慣的計(jì)算機(jī)使用方式之間的語(yǔ)義差距。設(shè)計(jì)指令系統(tǒng)就是要選擇應(yīng)用程序和操作系統(tǒng)中一些基本操作應(yīng)由硬件實(shí)現(xiàn)還是由軟件通過(guò)一串指令實(shí)現(xiàn),然后具體確定指令系統(tǒng)的指令格式、類型、操作以及對(duì)操作數(shù)的訪問(wèn)方式。相同的應(yīng)用程序及操作系統(tǒng)二進(jìn)制代碼可以在相同ISA的不同計(jì)算機(jī)上運(yùn)行。

ISA通常由指令集合、處理器狀態(tài)和例外三部分組成。

指令包含操作編碼和操作數(shù)編碼,操作編碼指明操作類型,操作數(shù)編碼指明操作對(duì)象。常見(jiàn)的指令編碼方式包括復(fù)雜指令系統(tǒng)(Complex Instruction Set Computer,簡(jiǎn)稱CISC)、精簡(jiǎn)指令系統(tǒng)(Reduced Instruction Set Computer,簡(jiǎn)稱RISC)和超長(zhǎng)指令字(Very Long Instruction Word,簡(jiǎn)稱VLIW)等。

指令的操作主要包括:運(yùn)算指令,如加減乘除、邏輯運(yùn)算、移位等;數(shù)據(jù)傳送指令,如取數(shù)和存數(shù);程序控制指令,如條件和非條件轉(zhuǎn)移、函數(shù)調(diào)用和返回等;處理器狀態(tài)控制指令,如系統(tǒng)調(diào)用指令、調(diào)試指令、同步指令等。

指令的操作數(shù)包括立即數(shù)、寄存器、存儲(chǔ)器、IO設(shè)備寄存器等。立即數(shù)是指令中直接給出的數(shù)據(jù)。寄存器用于保存處理器最常用的數(shù)據(jù),包括通用寄存器、浮點(diǎn)寄存器、控制寄存器等,處理器訪問(wèn)寄存器時(shí)直接在指令中指明要訪問(wèn)的寄存器號(hào)。存儲(chǔ)器是計(jì)算機(jī)中保存指令和數(shù)據(jù)的場(chǎng)所,計(jì)算機(jī)取指令和存取數(shù)據(jù)都要先計(jì)算指令和數(shù)據(jù)所處的存儲(chǔ)單元地址并根據(jù)地址來(lái)讀寫存儲(chǔ)器。IO設(shè)備都有專門的設(shè)備控制器,設(shè)備控制器向處理器提供一組IO設(shè)備寄存器,處理器通過(guò)讀寫IO設(shè)備寄存器來(lái)獲知IO設(shè)備狀態(tài)并控制IO設(shè)備,處理器寫入IO設(shè)備寄存器的數(shù)據(jù),會(huì)被設(shè)備控制器解釋成控制IO設(shè)備的命令。

指令需要明確操作數(shù)的數(shù)據(jù)表示、編址方式、尋址方式和定位方式等。數(shù)據(jù)表示給出指令系統(tǒng)可直接調(diào)用的數(shù)據(jù)類型,包括整數(shù)、實(shí)數(shù)、布爾值、字符等。編址方式給出編址單位、編址方法和地址空間等,其中:編址單位有字編址、字節(jié)編址和位編址,普遍使用的是字節(jié)編址;常見(jiàn)的編址方法有大尾端(Big Endian)和小尾端(Little Endian)兩種;地址空間包括寄存器空間、存儲(chǔ)器空間和IO設(shè)備空間,有些ISA把存儲(chǔ)器和IO設(shè)備統(tǒng)一編址,有些ISA把寄存器、存儲(chǔ)器和IO設(shè)備統(tǒng)一編址。尋址方式主要有:立即數(shù)尋址、寄存器尋址、直接尋址、間接尋址、變址尋址(包括相對(duì)尋址和基址尋址)和堆棧尋址等。定位方式確定指令和數(shù)據(jù)的物理地址,包括以下幾種:直接定位方式在程序裝入主存儲(chǔ)器之前確定指令和數(shù)據(jù)的物理地址;靜態(tài)定位方式在程序裝入主存儲(chǔ)器的過(guò)程中進(jìn)行地址變換,確定指令和數(shù)據(jù)的物理地址;動(dòng)態(tài)定位方式在程序執(zhí)行過(guò)程中,當(dāng)訪問(wèn)到相應(yīng)的指令或數(shù)據(jù)時(shí)才進(jìn)行地址變換,確定指令和數(shù)據(jù)的物理地址,現(xiàn)代計(jì)算機(jī)多采用動(dòng)態(tài)定位方式。

通用計(jì)算機(jī)至少要有兩種工作狀態(tài):核心態(tài)和用戶態(tài)。兩個(gè)狀態(tài)下所能使用的指令和存儲(chǔ)空間等硬件資源有差別。一般來(lái)說(shuō),只有操作系統(tǒng)才能工作在核心態(tài),用戶程序只能工作在用戶態(tài)并可以通過(guò)例外和系統(tǒng)調(diào)用進(jìn)入核心態(tài)。有些處理器有更多工作狀態(tài),如核心態(tài)(Kernel)、監(jiān)督態(tài)(Hypervisor)、管理態(tài)(Supervisor)、用戶態(tài)(User)等。

例外(Exception)系統(tǒng)是現(xiàn)代計(jì)算機(jī)的重要組成部分,除了管理外部設(shè)備之外,還承擔(dān)了包括故障處理、實(shí)時(shí)處理、分時(shí)操作系統(tǒng)、程序的跟蹤調(diào)試、程序的監(jiān)測(cè)、用戶程序與操作系統(tǒng)的聯(lián)系等任務(wù)。發(fā)生例外時(shí),處理器需要保存例外原因、例外指令的程序計(jì)數(shù)器內(nèi)容等信息,把處理器狀態(tài)切換為核心態(tài)并跳轉(zhuǎn)到事先指定的操作系統(tǒng)例外處理入口地址;執(zhí)行完例外處理程序后,處理器狀態(tài)切換回發(fā)生例外前的狀態(tài)并跳轉(zhuǎn)回發(fā)生例外的指令繼續(xù)執(zhí)行。指令系統(tǒng)要指明例外源的分類組織、例外系統(tǒng)的軟硬件功能分配、例外現(xiàn)場(chǎng)的保存和恢復(fù)、例外優(yōu)先級(jí)、例外響應(yīng)方式和屏蔽方式等。

03

計(jì)算機(jī)組織結(jié)構(gòu)

計(jì)算機(jī)組織結(jié)構(gòu)指計(jì)算機(jī)的組成部分及各部分之間的互連實(shí)現(xiàn)。典型計(jì)算機(jī)的基本組成包括CPU、存儲(chǔ)器、IO設(shè)備,其中CPU包括運(yùn)算器和控制器,IO設(shè)備包括輸入設(shè)備和輸出設(shè)備。計(jì)算機(jī)從輸入設(shè)備接收程序和數(shù)據(jù),存放在存儲(chǔ)器中;CPU運(yùn)行程序處理數(shù)據(jù);最后將結(jié)果數(shù)據(jù)通過(guò)輸出設(shè)備輸出。

運(yùn)算器包括算術(shù)和邏輯運(yùn)算部件、移位部件、寄存器等。復(fù)雜運(yùn)算如乘除法、開(kāi)方及浮點(diǎn)運(yùn)算可用程序?qū)崿F(xiàn)或由運(yùn)算器實(shí)現(xiàn)。寄存器既可用于保存數(shù)據(jù),也可用于保存地址。運(yùn)算器還可設(shè)置條件碼寄存器等專用寄存器,條件碼寄存器保存當(dāng)前運(yùn)算結(jié)果的狀態(tài),如運(yùn)算結(jié)果是正數(shù)、負(fù)數(shù)或零,是否溢出等。

控制器控制指令流和每條指令的執(zhí)行,內(nèi)含程序計(jì)數(shù)器和指令寄存器等。程序計(jì)數(shù)器存放當(dāng)前執(zhí)行指令的地址,指令寄存器存放當(dāng)前正在執(zhí)行的指令。指令通過(guò)譯碼產(chǎn)生控制信號(hào),用于控制運(yùn)算器、存儲(chǔ)器、IO設(shè)備的工作。這些控制信號(hào)可以用硬連線邏輯產(chǎn)生,也可以用微程序產(chǎn)生,也可以兩者結(jié)合產(chǎn)生。為了獲得高指令吞吐率,可以采用指令重疊執(zhí)行的流水線技術(shù),以及同時(shí)執(zhí)行多條指令的超標(biāo)量技術(shù)。當(dāng)遇到執(zhí)行時(shí)間較長(zhǎng)或條件不具備的指令時(shí),把條件具備的后續(xù)指令提前執(zhí)行(稱為亂序執(zhí)行)可以提高流水線效率??刂破鬟€產(chǎn)生一定頻率的時(shí)鐘脈沖,用于計(jì)算機(jī)各組成部分的同步。

存儲(chǔ)器存儲(chǔ)程序和數(shù)據(jù),又稱主存儲(chǔ)器或內(nèi)存,一般用動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Dynamic Random Access Memory,簡(jiǎn)稱DRAM)實(shí)現(xiàn)。CPU可以直接訪問(wèn)它,IO設(shè)備也頻繁地和它交換數(shù)據(jù)。存儲(chǔ)器的存取速度往往滿足不了CPU的快速要求,容量也滿足不了應(yīng)用的需要,為此將存儲(chǔ)系統(tǒng)分為高速緩存(Cache)、主存儲(chǔ)器和輔助存儲(chǔ)器三個(gè)層次。Cache存放當(dāng)前CPU最頻繁訪問(wèn)的部分主存儲(chǔ)器內(nèi)容,可以采用比DRAM速度快但容量小的靜態(tài)隨機(jī)存儲(chǔ)器(Static Random Access Memory,簡(jiǎn)稱SRAM)實(shí)現(xiàn)。數(shù)據(jù)和指令在Cache和主存儲(chǔ)器之間的調(diào)動(dòng)由硬件自動(dòng)完成。為擴(kuò)大存儲(chǔ)器容量,使用磁盤、磁帶、光盤等能存儲(chǔ)大量數(shù)據(jù)的存儲(chǔ)器作為輔助存儲(chǔ)器。計(jì)算機(jī)運(yùn)行時(shí)所需的應(yīng)用程序、系統(tǒng)軟件和數(shù)據(jù)等都先存放在輔助存儲(chǔ)器中,在運(yùn)行過(guò)程中分批調(diào)入主存儲(chǔ)器。數(shù)據(jù)和指令在主存儲(chǔ)器和輔助存儲(chǔ)器之間的調(diào)動(dòng)由操作系統(tǒng)完成。CPU訪問(wèn)存儲(chǔ)器時(shí),面對(duì)的是一個(gè)高速(接近于Cache的速度)、大容量(接近于輔助存儲(chǔ)器的容量)的存儲(chǔ)器。現(xiàn)代計(jì)算機(jī)中還有少量只讀存儲(chǔ)器(Read Only Memory,簡(jiǎn)稱ROM)用來(lái)存放引導(dǎo)程序和基本輸入輸出系統(tǒng)(Basic Input Output System,簡(jiǎn)稱BIOS)等?,F(xiàn)代計(jì)算機(jī)訪問(wèn)內(nèi)存時(shí)采用虛擬地址,操作系統(tǒng)負(fù)責(zé)維護(hù)虛擬地址和物理地址轉(zhuǎn)換的頁(yè)表,集成在CPU中的存儲(chǔ)管理部件(Memory Management Unit,簡(jiǎn)稱MMU)負(fù)責(zé)把虛擬地址轉(zhuǎn)換為物理地址。

IO設(shè)備實(shí)現(xiàn)計(jì)算機(jī)和外部世界的信息交換。傳統(tǒng)的IO設(shè)備有鍵盤、鼠標(biāo)、打印機(jī)和顯示器等;新型的IO設(shè)備能進(jìn)行語(yǔ)音、圖像、影視的輸入輸出和手寫體文字輸入,并支持計(jì)算機(jī)之間通過(guò)網(wǎng)絡(luò)進(jìn)行通信;磁盤等輔助存儲(chǔ)器在計(jì)算機(jī)中也當(dāng)作IO設(shè)備來(lái)管理。處理器通過(guò)讀寫IO設(shè)備控制器中的寄存器來(lái)訪問(wèn)及控制IO設(shè)備。高速IO設(shè)備可以在處理器安排下直接與主存儲(chǔ)器成批交換數(shù)據(jù),稱為直接存儲(chǔ)器訪問(wèn)(Directly Memory Access,簡(jiǎn)稱DMA)。處理器可以通過(guò)查詢?cè)O(shè)備控制器狀態(tài)與IO設(shè)備進(jìn)行同步,也可以通過(guò)中斷與IO設(shè)備進(jìn)行同步。

由若干個(gè)CPU、存儲(chǔ)器和IO設(shè)備可以構(gòu)成比單機(jī)性能更高的并行處理系統(tǒng)。

現(xiàn)代計(jì)算機(jī)各部件之間采用總線互連。為了便于不同廠家生產(chǎn)的設(shè)備能在一起工作以及設(shè)備的擴(kuò)充,總線的標(biāo)準(zhǔn)化非常重要。常見(jiàn)的總線包括片上總線如AXI總線,系統(tǒng)總線如QPI和HT總線,內(nèi)存總線如SDRAM總線,IO總線如PCIE、SATA、USB總線等。

04

微體系結(jié)構(gòu)

半導(dǎo)體工藝的發(fā)展允許在單個(gè)芯片內(nèi)部集成CPU,稱為微處理器(Microprocessor)。微體系結(jié)構(gòu)(簡(jiǎn)稱微結(jié)構(gòu))是微處理器的組織結(jié)構(gòu),描述處理器的組成部分及其互連關(guān)系,以及這些組成部分及其互連如何實(shí)現(xiàn)指令系統(tǒng)的功能。對(duì)于同一個(gè)指令系統(tǒng),復(fù)雜的微結(jié)構(gòu)性能高,功耗和成本也高;簡(jiǎn)單的微結(jié)構(gòu)性能低,功耗和成本也低。隨著半導(dǎo)體工藝的不斷發(fā)展,實(shí)現(xiàn)相同指令系統(tǒng)的處理器微結(jié)構(gòu)不斷升級(jí)并不斷提高性能。

計(jì)算機(jī)執(zhí)行指令一般包含以下過(guò)程:從存儲(chǔ)器取指令并對(duì)取回的指令進(jìn)行譯碼,從存儲(chǔ)器或寄存器讀取指令執(zhí)行需要的操作數(shù),執(zhí)行指令,把執(zhí)行結(jié)果寫回存儲(chǔ)器或寄存器。上述過(guò)程稱為一個(gè)指令周期。計(jì)算機(jī)不斷重復(fù)指令周期直到完成程序的執(zhí)行。體系結(jié)構(gòu)研究的一個(gè)永恒主題就是不斷加速上述指令執(zhí)行周期,從而提高計(jì)算機(jī)運(yùn)行程序的效率。人們提出了很多提高指令執(zhí)行效率的技術(shù),包括RISC技術(shù)、指令流水線技術(shù)、高速緩存技術(shù)、轉(zhuǎn)移預(yù)測(cè)技術(shù)、亂序執(zhí)行技術(shù)、超標(biāo)量(又稱為多發(fā)射)技術(shù)等。

RISC技術(shù)。自20世紀(jì)40年代發(fā)明電子計(jì)算機(jī)以來(lái),處理器結(jié)構(gòu)和指令系統(tǒng)經(jīng)歷了一個(gè)由簡(jiǎn)單到復(fù)雜,由復(fù)雜到簡(jiǎn)單,又由簡(jiǎn)單到復(fù)雜的否定之否定過(guò)程。早期的處理器結(jié)構(gòu)及其指令系統(tǒng)由于工藝技術(shù)的限制,不可能做得很復(fù)雜。隨著工藝技術(shù)的發(fā)展,20世紀(jì)60年代后流水線技術(shù)、動(dòng)態(tài)調(diào)度技術(shù)、向量機(jī)技術(shù)被廣泛使用,處理器結(jié)構(gòu)和指令系統(tǒng)變得復(fù)雜。20世紀(jì)80年代提出的RISC技術(shù)通過(guò)減少指令數(shù)目、定長(zhǎng)編碼、降低編碼密度等以簡(jiǎn)化指令的取指、譯碼、執(zhí)行的邏輯來(lái)提高頻率,通過(guò)增加寄存器數(shù)目及l(fā)oad-store結(jié)構(gòu)來(lái)提高效率。后來(lái)隨著深度流水、超標(biāo)量、亂序執(zhí)行的實(shí)現(xiàn),RISC結(jié)構(gòu)變得越來(lái)越復(fù)雜。

RISC指令采用load-store結(jié)構(gòu),運(yùn)算指令從寄存器讀取操作數(shù)并把結(jié)果寫回寄存器,訪存指令則負(fù)責(zé)在寄存器和存儲(chǔ)器間交換數(shù)據(jù),運(yùn)算指令和訪存指令分別在不同的功能部件執(zhí)行。在load-store結(jié)構(gòu)中,運(yùn)算器只需比較指令的寄存器號(hào)來(lái)判斷指令間的數(shù)據(jù)相關(guān),訪存部件只需比較訪存指令的地址來(lái)判斷指令間的數(shù)據(jù)相關(guān),從而支持高效的流水線、多發(fā)射及亂序執(zhí)行技術(shù)。X86系列從Pentium Ⅲ開(kāi)始,把CISC指令翻譯成若干RISC微操作以提高指令流水線效率,如Haswell微結(jié)構(gòu)最多允許192個(gè)內(nèi)部微操作亂序執(zhí)行。

指令流水線技術(shù)。指令流水線把一條指令的執(zhí)行劃分為若干階段(如分為取指、譯碼、執(zhí)行、訪存、寫回階段)來(lái)減少每個(gè)時(shí)鐘周期的工作量,從而提高主頻;并允許多條指令的不同階段重疊執(zhí)行實(shí)現(xiàn)并行處理(如一條指令處于執(zhí)行階段時(shí),另一條指令處于譯碼階段)。雖然同一條指令的執(zhí)行時(shí)間沒(méi)有變短,但處理器在單位時(shí)間內(nèi)執(zhí)行的指令數(shù)增加了。

指令流水線的執(zhí)行單元包括算術(shù)和邏輯運(yùn)算部件(Arithmetic Logic Unit,簡(jiǎn)稱ALU)、浮點(diǎn)運(yùn)算部件(Floating Point Unit,簡(jiǎn)稱FPU)、向量運(yùn)算部件、訪存部件、轉(zhuǎn)移部件等。這些部件在流水線的調(diào)度下具體執(zhí)行指令規(guī)定的操作。運(yùn)算部件的個(gè)數(shù)和延遲,訪存部件的存儲(chǔ)層次、容量和帶寬,以及轉(zhuǎn)移部件的轉(zhuǎn)移猜測(cè)算法是決定微結(jié)構(gòu)性能的重要因素。

Cache技術(shù)。隨著工藝技術(shù)的發(fā)展,處理器的運(yùn)算速度和內(nèi)存容量按摩爾定律的預(yù)測(cè)指數(shù)增加,但內(nèi)存速度提高非常緩慢,與處理器速度的提高形成了“剪刀差”。

工藝技術(shù)的上述特點(diǎn)使得訪存延遲成為以存儲(chǔ)器為中心的馮·諾依曼結(jié)構(gòu)的主要瓶頸。Cache技術(shù)利用程序訪問(wèn)內(nèi)存的時(shí)間局部性(一個(gè)單元如果當(dāng)前被訪問(wèn),則近期很有可能被訪問(wèn))和空間局部性(一個(gè)單元被訪問(wèn)后,與之相鄰的單元也很有可能被訪問(wèn)),使用速度較快、容量較小的Cache臨時(shí)保存處理器常用的數(shù)據(jù),使得處理器的多數(shù)訪存操作可以在Cache上快速進(jìn)行,只有少量訪問(wèn)Cache不命中的訪存操作才訪問(wèn)內(nèi)存。Cache是內(nèi)存的映像,其內(nèi)容是內(nèi)存內(nèi)容的子集,處理器訪問(wèn)Cache和訪問(wèn)內(nèi)存使用相同的地址。從20世紀(jì)80年代開(kāi)始,RISC處理器就開(kāi)始在處理器芯片內(nèi)集成KB級(jí)的小容量Cache?,F(xiàn)代處理器則普遍在片內(nèi)集成多級(jí)Cache,典型的多核處理器每個(gè)處理器核的一級(jí)指令和數(shù)據(jù)Cache各幾十KB,二級(jí)Cache為幾百KB,而多核共享的三級(jí)Cache為幾MB到幾十MB。

Cache技術(shù)和指令流水線技術(shù)相得益彰。訪問(wèn)處理器片外內(nèi)存的長(zhǎng)延遲使流水線很難發(fā)揮作用,使用片內(nèi)Cache可以有效降低流水線的訪存時(shí)間,提高流水線效率。Cache容量越大,則流水線效率越高,處理器性能越高。

轉(zhuǎn)移預(yù)測(cè)技術(shù)。馮·諾依曼結(jié)構(gòu)指令驅(qū)動(dòng)執(zhí)行的特點(diǎn)使轉(zhuǎn)移指令成為提高流水線效率的瓶頸。典型應(yīng)用程序平均每5~10條指令中就有一條轉(zhuǎn)移指令,而轉(zhuǎn)移指令的后續(xù)指令需要等待轉(zhuǎn)移指令執(zhí)行結(jié)果確定后才能取指,導(dǎo)致轉(zhuǎn)移指令和后續(xù)指令之間不能重疊執(zhí)行,降低了流水線效率。隨著主頻的提高,現(xiàn)代處理器流水線普遍在10~20級(jí)之間,由于轉(zhuǎn)移指令引起的流水線阻塞成為提高指令流水線效率的重要瓶頸。

轉(zhuǎn)移預(yù)測(cè)技術(shù)可以消除轉(zhuǎn)移指令引起的指令流水線阻塞。轉(zhuǎn)移預(yù)測(cè)器根據(jù)當(dāng)前轉(zhuǎn)移指令或其他轉(zhuǎn)移指令的歷史行為,在轉(zhuǎn)移指令的取指或譯碼階段預(yù)測(cè)該轉(zhuǎn)移指令的跳轉(zhuǎn)方向和目標(biāo)地址并進(jìn)行后續(xù)指令的取指。轉(zhuǎn)移指令執(zhí)行后,根據(jù)已經(jīng)確定的跳轉(zhuǎn)方向和目標(biāo)地址對(duì)預(yù)測(cè)結(jié)果進(jìn)行修正。如果發(fā)生轉(zhuǎn)移預(yù)測(cè)錯(cuò)誤,還需要取消指令流水線中的后續(xù)指令。為了提高預(yù)測(cè)精度并降低預(yù)測(cè)錯(cuò)誤時(shí)的流水線開(kāi)銷,現(xiàn)代高性能處理器采用了復(fù)雜的轉(zhuǎn)移預(yù)測(cè)器。

亂序執(zhí)行技術(shù)。如果指令i是條長(zhǎng)延遲指令,如除法指令或Cache不命中的訪存指令,那么在順序指令流水線中指令i后面的指令需要在流水線中等待很長(zhǎng)時(shí)間。亂序執(zhí)行技術(shù)通過(guò)指令動(dòng)態(tài)調(diào)度允許指令i后面的源操作數(shù)準(zhǔn)備好的指令越過(guò)指令i執(zhí)行(需要使用指令i的運(yùn)算結(jié)果的指令由于源操作數(shù)沒(méi)有準(zhǔn)備好,不會(huì)越過(guò)指令i執(zhí)行),以提高指令流水線效率。為此,在指令譯碼之后的讀寄存器階段,判斷指令需要的操作數(shù)是否準(zhǔn)備好。如果操作數(shù)已經(jīng)準(zhǔn)備好,就進(jìn)入執(zhí)行階段;如果操作數(shù)沒(méi)有準(zhǔn)備好,就進(jìn)入稱為保留站或者發(fā)射隊(duì)列的隊(duì)列中等待,直到操作數(shù)準(zhǔn)備好后再進(jìn)入執(zhí)行階段。為了保證執(zhí)行結(jié)果符合程序規(guī)定的要求,亂序執(zhí)行的指令需要有序結(jié)束。為此,執(zhí)行完的指令均進(jìn)入一個(gè)稱為重排序緩沖(Re-Order Buffer,簡(jiǎn)稱ROB)的隊(duì)列,并把執(zhí)行結(jié)果臨時(shí)寫入重命名寄存器。ROB根據(jù)指令進(jìn)入流水線的次序有序提交指令的執(zhí)行結(jié)果到目標(biāo)寄存器或存儲(chǔ)器。CDC6600和IBM 360/91分別使用記分板和保留站最早實(shí)現(xiàn)了指令的動(dòng)態(tài)調(diào)度。

重命名寄存器與指令訪問(wèn)的結(jié)構(gòu)寄存器相對(duì)應(yīng)。為了避免多條指令訪問(wèn)同一個(gè)結(jié)構(gòu)寄存器而使該寄存器成為串行化瓶頸,指令流水線可以把對(duì)該結(jié)構(gòu)寄存器的訪問(wèn)定向到重命名寄存器。亂序執(zhí)行流水線把指令執(zhí)行結(jié)果寫入重命名寄存器而不是結(jié)構(gòu)寄存器,以避免破壞結(jié)構(gòu)寄存器的內(nèi)容,到順序提交階段再把重命名寄存器內(nèi)容寫入結(jié)構(gòu)寄存器。兩組執(zhí)行不同運(yùn)算但使用同一結(jié)構(gòu)寄存器的指令可以使用不同的重命名寄存器,從而實(shí)現(xiàn)并行執(zhí)行。

超標(biāo)量。工藝技術(shù)的發(fā)展使得在20世紀(jì)80年代后期出現(xiàn)了超標(biāo)量處理器。超標(biāo)量結(jié)構(gòu)允許指令流水線的每一階段同時(shí)處理多條指令。例如Alpha 21264處理器每拍可以取4條指令、發(fā)射6條指令、寫回6條指令、提交11條指令。如果把單發(fā)射結(jié)構(gòu)比作單車道馬路,多發(fā)射結(jié)構(gòu)就是多車道馬路。

由于超標(biāo)量結(jié)構(gòu)的指令和數(shù)據(jù)通路都變寬了,使得寄存器端口、保留站端口、ROB端口、功能部件數(shù)都需要增加,例如Alpha 21264的寄存器堆有8個(gè)讀端口和6個(gè)寫端口,數(shù)據(jù)Cache的RAM通過(guò)倍頻支持一拍兩次訪問(wèn)?,F(xiàn)代超標(biāo)量處理器一般包含兩個(gè)以上訪存部件、兩個(gè)以上定點(diǎn)運(yùn)算部件以及兩個(gè)以上浮點(diǎn)運(yùn)算部件。超標(biāo)量結(jié)構(gòu)在指令譯碼或寄存器重命名時(shí)不僅要判斷前后拍指令的數(shù)據(jù)相關(guān),還需要判斷同一拍中多條指令間的數(shù)據(jù)相關(guān)。

05

并行體系結(jié)構(gòu)

并行體系結(jié)構(gòu)是并行計(jì)算機(jī)系統(tǒng)的組織結(jié)構(gòu),通過(guò)把任務(wù)劃分為多個(gè)進(jìn)程或線程,讓不同的處理器并行運(yùn)行不同的進(jìn)程或線程來(lái)提高性能。此外,隨著處理器訪存延遲的增加,Cache失效導(dǎo)致流水線長(zhǎng)時(shí)間堵塞,處理器可以在一個(gè)線程等待長(zhǎng)時(shí)間訪存時(shí)快速切換到另一個(gè)線程執(zhí)行以提高流水線效率。

多進(jìn)程并行存在于多個(gè)操作系統(tǒng)之間或一個(gè)操作系統(tǒng)之內(nèi)。用于高性能計(jì)算的MPI并行程序以及機(jī)群數(shù)據(jù)庫(kù)是存在于多個(gè)操作系統(tǒng)之間的多進(jìn)程并行的典型應(yīng)用;由操作系統(tǒng)調(diào)度的多道程序則是操作系統(tǒng)之內(nèi)多進(jìn)程并行的典型應(yīng)用。多線程并行只存在于一個(gè)操作系統(tǒng)之內(nèi)。線程的粒度比進(jìn)程小,線程的上下文也比進(jìn)程簡(jiǎn)單。傳統(tǒng)的多線程切換由操作系統(tǒng)調(diào)度并保留上下文,現(xiàn)代處理器通過(guò)硬件實(shí)現(xiàn)多份線程上下文來(lái)支持單周期的多線程切換。同時(shí)多線程(Simultaneous Multi-Threading,簡(jiǎn)稱SMT)技術(shù)甚至允許超標(biāo)量指令流水線的同一流水級(jí)同時(shí)運(yùn)行來(lái)自不同線程的指令?,F(xiàn)代處理器還通過(guò)硬件實(shí)現(xiàn)多份操作系統(tǒng)上下文來(lái)支持多個(gè)操作系統(tǒng)的快速切換,從而提高云計(jì)算虛擬機(jī)的效率。

并行處理結(jié)構(gòu)普遍存在于傳統(tǒng)的大型機(jī)、服務(wù)器和高端工作站中。包含2~8個(gè)CPU芯片的小規(guī)模并行服務(wù)器和工作站一直是事務(wù)處理市場(chǎng)的主流產(chǎn)品;包含16~1024個(gè)CPU芯片的大型計(jì)算機(jī)在大型企業(yè)的信息系統(tǒng)中比較普遍;用于科學(xué)和工程計(jì)算的高性能計(jì)算機(jī)則往往包含上萬(wàn)個(gè)CPU芯片。隨著集成電路集成度的不斷提高,把多個(gè)CPU集成在單個(gè)芯片內(nèi)部的多核CPU逐漸成為主流的CPU芯片產(chǎn)品。多核CPU芯片最早出現(xiàn)在嵌入式領(lǐng)域,把多個(gè)比較簡(jiǎn)單的CPU集成在一個(gè)芯片上。2005年的個(gè)人計(jì)算機(jī)CPU芯片開(kāi)始集成兩個(gè)CPU核?,F(xiàn)在的市場(chǎng)主流個(gè)人計(jì)算機(jī)CPU芯片一般集成2~4個(gè)CPU核,服務(wù)器CPU芯片則集成8~32個(gè)CPU核,專用處理器如GPU則集成幾百到上千個(gè)CPU核。

并行處理系統(tǒng)通過(guò)互連網(wǎng)絡(luò)把多個(gè)處理器連接成一個(gè)整體。常見(jiàn)的互連網(wǎng)絡(luò)包括總線、交叉開(kāi)關(guān)、環(huán)狀網(wǎng)絡(luò)、樹(shù)形網(wǎng)絡(luò)、二維或更多維網(wǎng)格等。并行系統(tǒng)的多個(gè)處理器之間需要同步機(jī)制來(lái)協(xié)同多處理器工作。常見(jiàn)的同步機(jī)制包括鎖(Lock)、柵欄(Barrier)以及事務(wù)內(nèi)存(Transaction Memory)等,計(jì)算機(jī)指令系統(tǒng)通常要設(shè)置專用的同步指令。

在共享存儲(chǔ)的并行處理系統(tǒng)中,同一個(gè)內(nèi)存單元(一般以Cache行為單位)在不同的處理器中有多個(gè)備份,需要通過(guò)存儲(chǔ)一致性模型(Memory Consistency Model)規(guī)定多個(gè)處理器訪問(wèn)共享內(nèi)存的一致性標(biāo)準(zhǔn)。典型的存儲(chǔ)一致性模型包括順序一致性(Sequential Consistency)、處理器一致性(Processor Consistency)、弱一致性(Weak Consistency)、釋放一致性(Release Consistency)等。高速緩存一致性協(xié)議(Cache Coherence Protocol)把一個(gè)處理器新寫的值傳播給其他處理器,以達(dá)到存儲(chǔ)一致性的目的。在偵聽(tīng)協(xié)議(Snoopy Protocol)中,寫共享單元的處理器把寫信息通過(guò)廣播告知其他處理器;在基于目錄的協(xié)議(Directory-based Protocol)中,每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)目錄項(xiàng)記錄擁有該存儲(chǔ)單元的副本的那些處理器號(hào),寫共享單元的處理器根據(jù)目錄項(xiàng)的記錄把寫信息告知其他處理器。

6.體系結(jié)構(gòu)的設(shè)計(jì)目標(biāo)和方法

體系結(jié)構(gòu)設(shè)計(jì)的主要指標(biāo)包括性能、價(jià)格和功耗,其他指標(biāo)包括安全性、可靠性、使用壽命等。體系結(jié)構(gòu)設(shè)計(jì)的主要目標(biāo)經(jīng)歷了大型機(jī)時(shí)代一味追求性能(Performance per Second),到個(gè)人計(jì)算機(jī)時(shí)代追求性能價(jià)格比(Performance per Dollar),再到移動(dòng)互聯(lián)時(shí)代追求性能功耗比(Performance per Watt)的轉(zhuǎn)變。性能是計(jì)算機(jī)體系結(jié)構(gòu)的首要設(shè)計(jì)目標(biāo)。

性能的最本質(zhì)定義是“完成一個(gè)或多個(gè)任務(wù)所需要的時(shí)間”。完成一個(gè)任務(wù)所需要的時(shí)間由完成該任務(wù)需要的指令數(shù)、完成每條指令需要的拍數(shù)以及每拍需要的時(shí)間三個(gè)量相乘得到。完成任務(wù)需要的指令數(shù)與算法、編譯器和指令的功能有關(guān);每條指令執(zhí)行拍數(shù)(Cycles Per Instruction,簡(jiǎn)稱CPI)或每拍執(zhí)行指令數(shù)(Instructions Per Cycle,簡(jiǎn)稱IPC)與編譯、指令功能、微結(jié)構(gòu)設(shè)計(jì)相關(guān);每拍需要的時(shí)間,也就是時(shí)鐘周期,與微結(jié)構(gòu)、電路設(shè)計(jì)、工藝等因素有關(guān)。

為了滿足應(yīng)用需求并不斷提高性能,計(jì)算機(jī)體系結(jié)構(gòu)在發(fā)展過(guò)程中遵循一些基本原則和方法,包括平衡性、局部性、并行性和虛擬化。

結(jié)構(gòu)設(shè)計(jì)的第一個(gè)方法就是平衡設(shè)計(jì)。計(jì)算機(jī)是個(gè)復(fù)雜系統(tǒng),影響性能的因素很多。結(jié)構(gòu)設(shè)計(jì)要統(tǒng)籌兼顧,使各種影響性能的因素達(dá)到均衡。通用CPU設(shè)計(jì)有一個(gè)關(guān)于計(jì)算性能和訪存帶寬平衡的經(jīng)驗(yàn)法則,即峰值浮點(diǎn)運(yùn)算速度(MFLOPS)和峰值訪存帶寬(MB/s)為1∶1左右。計(jì)算機(jī)體系結(jié)構(gòu)中有一個(gè)著名的阿姆達(dá)爾(Amdahl)定律。該定律指出通過(guò)使用某種較快的執(zhí)行方式所獲得的性能提高,受限于不可使用這種方式提高性能的執(zhí)行時(shí)間所占總執(zhí)行時(shí)間的百分比,例如一個(gè)程序的并行加速比,最終受限于不能被并行化的串行部分。

結(jié)構(gòu)設(shè)計(jì)的第二個(gè)方法是利用局部性。當(dāng)結(jié)構(gòu)設(shè)計(jì)基本平衡以后,性能優(yōu)化要抓主要矛盾,重點(diǎn)改進(jìn)最頻繁發(fā)生事件的執(zhí)行效率。結(jié)構(gòu)設(shè)計(jì)經(jīng)常利用局部性加快經(jīng)常性事件的速度。RISC指令系統(tǒng)利用指令的事件局部性對(duì)頻繁發(fā)生的指令進(jìn)行重點(diǎn)優(yōu)化。硬件轉(zhuǎn)移預(yù)測(cè)利用轉(zhuǎn)移指令跳轉(zhuǎn)方向的局部性,即同一條轉(zhuǎn)移指令在執(zhí)行時(shí)經(jīng)常往同一個(gè)方向跳轉(zhuǎn)。Cache和預(yù)取利用訪存的時(shí)間和空間局部性優(yōu)化性能。

結(jié)構(gòu)設(shè)計(jì)的第三個(gè)方法是開(kāi)發(fā)并行性。計(jì)算機(jī)中可以開(kāi)發(fā)三種層次的并行性。第一個(gè)層次的并行性是指令級(jí)并行,包括時(shí)間并行即指令流水線,以及空間并行即超標(biāo)量技術(shù)。20世紀(jì)80年代RISC出現(xiàn)后,指令級(jí)并行開(kāi)發(fā)達(dá)到了一個(gè)頂峰,2010年后進(jìn)一步挖掘指令級(jí)并行的空間已經(jīng)不大。第二個(gè)層次的并行性是數(shù)據(jù)級(jí)并行,主要指單指令流多數(shù)據(jù)流(Single Instruction Multiple Data,簡(jiǎn)稱SIMD)的向量結(jié)構(gòu)。20世紀(jì)七八十年代以Cray為代表的向量機(jī)十分流行;現(xiàn)代通用CPU普遍支持短向量運(yùn)算,如X86的AVX指令支持256位短向量運(yùn)算。第三個(gè)層次的并行性是任務(wù)級(jí)并行,包括進(jìn)程級(jí)和線程級(jí)并行。上述三種并行性在現(xiàn)代計(jì)算機(jī)中都存在,多核CPU運(yùn)行線程級(jí)或進(jìn)程級(jí)并行的程序,每個(gè)核采用超標(biāo)量流水線結(jié)構(gòu),并支持SIMD向量指令。

結(jié)構(gòu)設(shè)計(jì)的第四個(gè)方法是虛擬化。所謂虛擬化,就是“用起來(lái)是這樣的,實(shí)際上是那樣的”,或者“邏輯上是這樣的,物理上是那樣的”。結(jié)構(gòu)設(shè)計(jì)者寧愿自己多費(fèi)事,也要盡量為用戶提供一個(gè)友好的使用界面。如虛擬存儲(chǔ)為每個(gè)進(jìn)程提供獨(dú)立的存儲(chǔ)空間,虛實(shí)地址轉(zhuǎn)換和物理內(nèi)存分配都由CPU和操作系統(tǒng)自動(dòng)完成,大大解放了程序員的生產(chǎn)力。多線程和虛擬機(jī)技術(shù)通過(guò)硬件支持多個(gè)線程上下文或操作系統(tǒng)上下文的快速切換,在一個(gè)CPU上“同時(shí)”運(yùn)行多個(gè)線程或操作系統(tǒng),把單個(gè)CPU虛擬成多個(gè)CPU。此外,流水線和多發(fā)射技術(shù)在維持串行編程模型的情況下提高了速度;Cache技術(shù)使程序員看到一個(gè)像Cache那么快,像內(nèi)存那么大的存儲(chǔ)空間;Cache一致性協(xié)議在分布式存儲(chǔ)的情況下給程序員提供一個(gè)統(tǒng)一的存儲(chǔ)空間。這些都是虛擬化方法的體現(xiàn)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7287

    瀏覽量

    87516
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2229

    瀏覽量

    82201
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    862

    瀏覽量

    43086

原文標(biāo)題:一文帶你掌握計(jì)算機(jī)體系結(jié)構(gòu)核心內(nèi)容

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    多核時(shí)代計(jì)算機(jī)體系結(jié)構(gòu)面臨重新設(shè)計(jì)

    為了有效使用多核處理器,IT業(yè)需要徹底反思它已使用了50多年的基本計(jì)算機(jī)體系結(jié)構(gòu)。
    發(fā)表于 02-28 09:30 ?636次閱讀

    計(jì)算機(jī)體系結(jié)構(gòu)是由哪些部分組成的?可劃分哪幾個(gè)層次?

    RISC-V的含義是什么?計(jì)算機(jī)體系結(jié)構(gòu)是由哪些部分組成的?可劃分哪幾個(gè)層次?
    發(fā)表于 06-18 08:38

    視頻教程-《計(jì)算機(jī)體系結(jié)構(gòu) 硬件篇2》之 計(jì)算機(jī)通信-嵌入式 精選資料分享

    計(jì)算機(jī)體系結(jié)構(gòu) 硬件篇2》之 計(jì)算機(jī)通信 2008年畢業(yè)于沈陽(yáng)航空航天大學(xué)...
    發(fā)表于 07-20 06:16

    計(jì)算機(jī)體系結(jié)構(gòu)的硬件存儲(chǔ)器簡(jiǎn)單介紹

    計(jì)算機(jī)體系結(jié)構(gòu) 硬件篇2》之存儲(chǔ)器 2008年畢業(yè)于沈陽(yáng)航空航天大學(xué)電...
    發(fā)表于 12-23 06:32

    馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)缺陷有哪些?

    馮·諾依曼結(jié)構(gòu)的特點(diǎn)是什么?馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)缺陷有哪些?哈佛結(jié)構(gòu)具有哪些特點(diǎn)應(yīng)用場(chǎng)景?
    發(fā)表于 12-24 07:36

    計(jì)算機(jī)體系結(jié)構(gòu)的相關(guān)資料推薦

    部分 IO基礎(chǔ)知識(shí)計(jì)算機(jī)系統(tǒng)軟件體系結(jié)構(gòu)采用種層的結(jié)構(gòu),有人說(shuō)過(guò)句名言:“Any pro
    發(fā)表于 01-07 06:42

    馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu)是怎樣組成的

    馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu)是怎樣組成的?微型系統(tǒng)地結(jié)構(gòu)是怎樣組成的?
    發(fā)表于 02-10 06:15

    計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展及技術(shù)問(wèn)題探討

    回顧了計(jì)算機(jī)體系的發(fā)展歷程,并分析了計(jì)算機(jī)體系的發(fā)展和技術(shù)研究的關(guān)鍵: Cell和多核等新型處理結(jié)構(gòu)和可重構(gòu)計(jì)算技術(shù)。提出了新的計(jì)算機(jī)體系結(jié)構(gòu)
    發(fā)表于 08-02 10:10 ?17次下載

    有關(guān)計(jì)算機(jī)體系結(jié)構(gòu)的思考匯總

    有關(guān)計(jì)算機(jī)體系結(jié)構(gòu)的思考匯總的內(nèi)容:幾類網(wǎng)格計(jì)算機(jī)、Farming 計(jì)算模型與應(yīng)用、指導(dǎo)計(jì)算機(jī)設(shè)計(jì)的ASC模型、DSAG 的理論模型、程序模
    發(fā)表于 11-03 22:13 ?22次下載

    計(jì)算機(jī)體系結(jié)構(gòu)_量化研究方法(中文第三版)

    電子發(fā)燒友網(wǎng)站提供《計(jì)算機(jī)體系結(jié)構(gòu)_量化研究方法(中文第三版).txt》資料免費(fèi)下載
    發(fā)表于 03-19 15:09 ?0次下載

    計(jì)算機(jī)體系結(jié)構(gòu)

    計(jì)算機(jī)體系結(jié)構(gòu)介紹資料
    發(fā)表于 06-21 16:27 ?0次下載

    計(jì)算機(jī)體系結(jié)構(gòu)-量化研究方法(第5版)

    計(jì)算機(jī)體系結(jié)構(gòu)-量化研究方法(第5版)
    發(fā)表于 10-11 09:09 ?0次下載

    本源量子受邀參加2022中國(guó)計(jì)算機(jī)大會(huì)量子計(jì)算機(jī)體系結(jié)構(gòu)論壇

    中國(guó)計(jì)算機(jī)大會(huì)CNCC2022將于12月8日至10日在貴州省貴陽(yáng)市國(guó)際生態(tài)會(huì)議中心舉辦,本源量子受邀參加;本次論壇【量子計(jì)算機(jī)體系結(jié)構(gòu)論壇】邀請(qǐng)到國(guó)際體系結(jié)構(gòu)研究線的杰出青年學(xué)者,以
    的頭像 發(fā)表于 11-09 16:52 ?1299次閱讀
    本源量子受邀參加2022中國(guó)<b class='flag-5'>計(jì)算機(jī)</b>大會(huì)量子<b class='flag-5'>計(jì)算機(jī)體系結(jié)構(gòu)</b>論壇

    《RVfpga:理解計(jì)算機(jī)體系結(jié)構(gòu)》3.0 版本更新上線

    計(jì)算機(jī)體系結(jié)構(gòu)課程,該課程針對(duì)本科教學(xué)設(shè)計(jì),包含整套豐富的教學(xué)資料和實(shí)踐練習(xí),可幫助學(xué)生了解處理器架構(gòu)中的關(guān)鍵要素,包括多個(gè)IP內(nèi)核,修改RISC-V內(nèi)核的方法,
    的頭像 發(fā)表于 01-18 08:27 ?626次閱讀
    《RVfpga:理解<b class='flag-5'>計(jì)算機(jī)體系結(jié)構(gòu)</b>》3.0 版本更新上線

    智能化的計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)方案

    未來(lái)計(jì)算機(jī)體系結(jié)構(gòu)將趨向于智能化和自適應(yīng)性。智能化的計(jì)算機(jī)體系結(jié)構(gòu)可以根據(jù)不同的任務(wù)和場(chǎng)景進(jìn)行智能調(diào)整,提高計(jì)算機(jī)的性能和效率。
    發(fā)表于 01-22 11:05 ?369次閱讀
    智能化的<b class='flag-5'>計(jì)算機(jī)體系結(jié)構(gòu)</b>設(shè)計(jì)方案