




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機體系結構與嵌入式CPU設計浙江大學超大規(guī)模集成電路設計研究所孟建熠mengjy@《系統(tǒng)芯片設計導論》之2008-10-081計算機體系結構與嵌入式CPU設計浙江大學超大規(guī)模集成電路設計課程內容計算機體系結構基礎知識指令集技術流水線與指令級并行設計技術存儲系統(tǒng)與Cache技術系統(tǒng)芯片與嵌入式CPU嵌入式CPU設計方法與流程CSKY嵌入式CPU介紹2《系統(tǒng)芯片設計導論》課程內容計算機體系結構基礎知識2《系統(tǒng)芯片設計導論》計算機體系結構基礎知識3《系統(tǒng)芯片設計導論》計算機體系結構基礎知識3《系統(tǒng)芯片設計導論》計算機體系結構具體內容它是一門設計計算機的學科,包括計算機的指令系統(tǒng)設計,結構設計,實現技術,以及與系統(tǒng)軟件操作系統(tǒng)和編譯器相關的技術;它主要研究軟件、硬件功能分配和對軟件、硬件界面的確定,即確定哪些功能由軟件完成,哪些功能由硬件實現。MIS&OA,其它應用軟件工程理論數據結構各種程序設計語言數據庫原理編譯原理操作系統(tǒng)離散數學計算機系統(tǒng)結構計算機組成及實現數字邏輯數字電路微電子技術LSI、VLSI計算機軟件計算機硬件4《系統(tǒng)芯片設計導論》計算機體系結構具體內容它是一門設計計算機的學科,包括計算機的經典計算機模型圖靈模型計算機是由一個有限狀態(tài)讀寫頭和一個存儲器構成。有限狀態(tài)讀寫頭從一個初始狀態(tài)開始,對存儲器上的(輸入)數據進行讀或寫操作,經過有限步操作之后停機,此時存儲器上的(輸出)數據就是計算結果。這樣的計算機模型叫做圖靈機。馮·諾依曼結構約翰·馮·諾伊曼在為第一臺存儲程序計算機EDVAC研發(fā)計劃做顧問時,寫了一個草案報告描述了這種帶有中央處理器、內存、I/O、總線的存儲程序計算機。所以存儲程序計算機還有另外一個學名,叫做馮·諾伊曼體系架構(VonNeumannArchitecture)。它的要點是:數字計算機的數制采用二進制;計算機應該按照程序順序執(zhí)行。5《系統(tǒng)芯片設計導論》經典計算機模型圖靈模型5《系統(tǒng)芯片設計導論》體系結構Flynn分類法SISD指令部件只對一條指令處理,只控制一個操作部件操作。如一般的串行單處理機。SIMD由單一指令部件同時控制多個重復設置的處理單元,執(zhí)行同一指令下不同數據的操作。如陣列處理機。MISD多個指令部件對同一數據的各個處理階段進行操作。這種機器很少見。MIMD多個獨立或相對獨立的處理機分別執(zhí)行各自的程序、作業(yè)或進程。例如多處理機。6《系統(tǒng)芯片設計導論》體系結構Flynn分類法SISD6《系統(tǒng)芯片設計導論》計算機的發(fā)展歷史及分類(1)傳統(tǒng)的計算機分類:大型機、小型機、巨型機(成熟超級計算機)1980年代產生了新的機型:個人(PC)機、工作站、服務器1990年代產生了嵌入式系統(tǒng):高性能家電、機頂盒、電子游戲機、手機、網絡路由器、交換機等7《系統(tǒng)芯片設計導論》計算機的發(fā)展歷史及分類(1)傳統(tǒng)的計算機分類:7《系統(tǒng)芯片計算機的發(fā)展歷史及分類(2)后PC時代(移動互聯(lián)網)8《系統(tǒng)芯片設計導論》計算機的發(fā)展歷史及分類(2)后PC時代(移動互聯(lián)網)8《系計算機體系結構的研究方法用定量方法進行計算機設計;用定量方法作為工具分析程序實際運行結果、各類實驗和仿真;用定量方法尋找計算機體系結構的新思路、新技術,保證計算機性能繼續(xù)按現在速率提高。9《系統(tǒng)芯片設計導論》計算機體系結構的研究方法用定量方法進行計算機設計;9《系統(tǒng)大概率事件原則計算機設計中一個最重要、最普遍的原則和罕見事件相比,更應該注意經常出現的事件。改變常見事件的處理速度更加有助于提高機器的性能。10《系統(tǒng)芯片設計導論》大概率事件原則計算機設計中一個最重要、最普遍的原則10《系Amdahl定律計算機執(zhí)行某個任務的總時間中可被改進部分的時間所占的百分比,即(可改進部分占用的時間)/(改進前整個任務的執(zhí)行時間),記為Fe,它總小于1。改進部分采用改進措施后比沒有采用改進措施前性能提高倍數,即(改進前改進部分的執(zhí)行時間)/(改進后改進部分的執(zhí)行時間),記為Se,它總大于1。 改進后整個任務的執(zhí)行時間為: Tn=T0(1-Fe+Fe/Se) 其中T0為改進前的整個任務的執(zhí)行時間 改進后整個系統(tǒng)的加速比為 Sn=To/Tn=1/(1-Fe+Fe/Se)11《系統(tǒng)芯片設計導論》Amdahl定律計算機執(zhí)行某個任務的總時間中可被改進部分的時計算機與集成電路(1)體系結構不斷創(chuàng)新12《系統(tǒng)芯片設計導論》計算機與集成電路(1)體系結構不斷創(chuàng)新12《系統(tǒng)芯片設計導計算機與集成電路(2)摩爾定律發(fā)展技術進步集成電路技術的進步,包括存儲器(包括內外存)和各類外設的進步。特點:穩(wěn)定發(fā)展,即按Moore定律發(fā)展,即微處理器性能(按芯片上晶體管數定義)每18個月翻一番,即每年提高58%。13《系統(tǒng)芯片設計導論》計算機與集成電路(2)摩爾定律發(fā)展技術進步13《系統(tǒng)芯片設計算機體系結構設計任務指令集設計——這是傳統(tǒng)計算機體系結構的任務,即程序員面對的(看得見的)指令系統(tǒng)的設計計算機組織設計——存儲器設計,CPU設計,I/O總線結構設計等高層內容,同一個指令集可以對應不同組織設計硬件設計——芯片的邏輯設計、封裝、冷卻。
相同的指令集和組織可以對應不同的硬件實現形成一個產品系列。
14《系統(tǒng)芯片設計導論》計算機體系結構設計任務指令集設計14《系統(tǒng)芯片設計導論》指令集技術15《系統(tǒng)芯片設計導論》指令集技術15《系統(tǒng)芯片設計導論》指令集的概念CPU能執(zhí)行的指令的集合二進制形式,通常用匯編代碼表示機器指令的元素:操作碼源操作數目標操作數下一條指令在機器碼中每條指令都有唯一的比特形式為了編程方便,操作碼可以寫成助記符形式如ADD,SUB,LOAD16《系統(tǒng)芯片設計導論》指令集的概念CPU能執(zhí)行的指令的集合16《系統(tǒng)芯片設計導論指令類型數據處理add/sub數據存取load/store數據移動mov程序流控制branch17《系統(tǒng)芯片設計導論》指令類型數據處理17《系統(tǒng)芯片設計導論》尋址方式操作數引用的形式立即尋址:ADDAX,5直接尋址:ADDAX,[24]間接尋址:ADDR,(A)寄存器尋址:ADDAX,BX寄存器間接尋址:MOVAX,[BX]偏移尋址:MOVBX,80[SI]堆棧尋址:ADD—將棧頂兩元素相加18《系統(tǒng)芯片設計導論》尋址方式操作數引用的形式18《系統(tǒng)芯片設計導論》指令格式指令比特字段的布局包括:操作碼操作數(隱式或顯式)位分配:操作碼數目和尋址能力之間的平衡操作數的數目寄存器/存儲器寄存器組地址范圍地址粒度19《系統(tǒng)芯片設計導論》指令格式指令比特字段的布局19《系統(tǒng)芯片設計導論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史計算機發(fā)展早期,為了方便軟件編程和提高程序的運行速度,硬件工程師采用的辦法是不斷增加可實現復雜功能的指令和多種靈活的編址方式。CISC的缺點為了指令兼容的需求,新的指令系統(tǒng)必須包含原系統(tǒng)的指令,指令規(guī)模迅速膨脹,芯片設計復雜度大幅度提升。執(zhí)行概率較低的指令會浪費存儲空間,執(zhí)行概率高但長度長的指令會增加取指的延時,降低性能;20%的指令被使用,80%的指令處于閑置狀態(tài);20《系統(tǒng)芯片設計導論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史20《系統(tǒng)芯片設計指令系統(tǒng)的分類-RISCRISC發(fā)展歷史尋找一種代碼長度規(guī)范且高度優(yōu)化的指令系統(tǒng),降低單條指令的專用化程度。RSIC優(yōu)點簡化了硬件設計提高處理器運行頻率RISC缺點增加了軟件設計與優(yōu)化的復雜度21《系統(tǒng)芯片設計導論》指令系統(tǒng)的分類-RISCRISC發(fā)展歷史21《系統(tǒng)芯片設計CSICvsRISCCISC
RISC
注重硬件優(yōu)化注重軟件優(yōu)化包含多周期的復雜指令只包含單周期的精簡指令支持存儲器到存儲器的指令只支持寄存器到寄存器的指令,需要額外的的存儲器讀與寫的指令代碼空間小,每條指令的周期長代碼空間大,每條指令執(zhí)行周期短設計中更加注重對復雜指令的硬件實現設計中更加注重存儲器的硬件設計22《系統(tǒng)芯片設計導論》CSICvsRISCCISCRISC注重硬件優(yōu)化注重指令集設計中需要考慮的若干問題結合功能的指令列表多少條指令指令的功能與操作數選擇單條指令的復雜性數據類型選擇8位/16位/32位指令格式操作碼的長度地址數23《系統(tǒng)芯片設計導論》指令集設計中需要考慮的若干問題結合功能的指令列表23《系統(tǒng)流水線與指令級并行設計技術24《系統(tǒng)芯片設計導論》流水線與指令級并行設計技術24《系統(tǒng)芯片設計導論》CPU性能指標CPUtime=IC×CPI×CCCPUtime——執(zhí)行一般代碼所需的中央處理站(CPU)時間IC——代碼的指令條數(InstructionCount),與指令集設計編譯器的優(yōu)化有關CPI——平均執(zhí)行每條指令的時鐘周期數(CyclePerInstruction),與指令集設計、體系結構等技術有關CC——時鐘周期(ClockCycle)與計算機組成,IC工藝等技術有關25《系統(tǒng)芯片設計導論》CPU性能指標CPUtime=IC×CPI×CCCPU的極限性能理想情況下,每條只能在一個CPU時鐘周期內完成,即CPI=1。早期CPU設計中,所有的指令都能在單周期內完成,但速度非常慢,盡管CPI能接近與理論值,但總體吞吐率不高;無法提高總體吞吐率的原因:頻率提升要求時鐘周期不斷縮短,復雜工作無法在規(guī)定的時鐘周期內完成;26《系統(tǒng)芯片設計導論》CPU的極限性能理想情況下,每條只能在一個CPU時鐘周期內完提高CPU性能的方法——流水線27《系統(tǒng)芯片設計導論》提高CPU性能的方法——流水線27《系統(tǒng)芯片設計導論》指令流水線的基本原理28《系統(tǒng)芯片設計導論》指令流水線的基本原理28《系統(tǒng)芯片設計導論》流水線的競爭實際流水線不可能像上述理想流水線那樣完美存在三種流水線競爭結構競爭:由硬件資源不足造成流水線停頓數據競爭:由前后指令之間存在數據相關性造成流水線停頓控制競爭:由轉移指令造成流水線停頓實際流水線的CPI=理想流水線的CPI+結構競爭造成的停頓周期
+數據競爭造成的停頓周期
+控制競爭造成的停頓周期要提高CPU的性能就是要消除或減少三種競爭造成的停頓周期
29《系統(tǒng)芯片設計導論》流水線的競爭實際流水線不可能像上述理想流水線那樣完美29《流水線競爭解決的總體思路結構競爭通過增加硬件資源來解決數據競爭和控制競爭通過挖掘代碼指令之間的并行性,即通過開發(fā)和發(fā)現指令之間存在的可并行(重疊)執(zhí)行的可能性,然后對指令執(zhí)行順序進行調度,即用不相關的指令來填補本來應該停頓周期的方法,達到消除或減少停頓周期,提高指令執(zhí)行速度。ILP設計技術分兩大類:基于硬件的ILP技術,又稱動態(tài)開發(fā)ILP技術基于軟件的ILP技術,又稱靜態(tài)開發(fā)ILP技術30《系統(tǒng)芯片設計導論》流水線競爭解決的總體思路結構競爭30《系統(tǒng)芯片設計導論》用于解決數據競爭的ILP設計技術
靜態(tài)調度動態(tài)調度采用重命名的動態(tài)調度技術編譯分析數據相關性軟件流水線路經調度31《系統(tǒng)芯片設計導論》用于解決數據競爭的ILP設計技術靜態(tài)調度31《系統(tǒng)芯片設用于解決控制相關性的ILP技術靜態(tài)轉移預測技術動態(tài)轉移預測技術靜脈投機技術動態(tài)投機技術循環(huán)體展開技術延時轉移技術32《系統(tǒng)芯片設計導論》用于解決控制相關性的ILP技術靜態(tài)轉移預測技術32《系統(tǒng)芯存儲系統(tǒng)與Cache技術33《系統(tǒng)芯片設計導論》存儲系統(tǒng)與Cache技術33《系統(tǒng)芯片設計導論》CPU與存儲器的速度鴻溝34《系統(tǒng)芯片設計導論》CPU與存儲器的速度鴻溝34《系統(tǒng)芯片設計導論》“MemoryWall”問題概括說明單純地改善CPU的設計,一味追求提高CPU的速度,并不能提高計算機整機的性能,因為高速CPU的性能被低速的存儲器訪問所抵銷。為了提高計算機整機性能,必須消除兩者性能差,或者僅可能縮小兩者性能差。35《系統(tǒng)芯片設計導論》“MemoryWall”問題概括35《系統(tǒng)芯片設計導論》存儲器架構36《系統(tǒng)芯片設計導論》存儲器架構36《系統(tǒng)芯片設計導論》解決辦法
在高速CPU與低速Memory之間引入一個小容量的高速緩沖存儲器(Cache)CPUCacheMainMemory速度嚴重不匹配速度匹配速度不匹配37《系統(tǒng)芯片設計導論》解決辦法在高速CPU與低速Memory之間引入一個小容量的組相連Cache的基本原理38《系統(tǒng)芯片設計導論》組相連Cache的基本原理38《系統(tǒng)芯片設計導論》為什么Cache能提高CPU性能局部性原理程序總是傾向于重用那些剛剛用過的數據和指令,這是計算機程序非常重要的性質。局部性原理的另一種表述:程序90%的執(zhí)行時間是花在10%的代碼上。局部性原理告訴我們:可以根據程序最近訪問的數據和指令來預測程序將要調用的數據和指令,且這一預測正確度是比較高的。所以小容量的Cache能滿足程序存取數據和指令的需求39《系統(tǒng)芯片設計導論》為什么Cache能提高CPU性能局部性原理39《系統(tǒng)芯片設系統(tǒng)芯片與嵌入式CPU40《系統(tǒng)芯片設計導論》系統(tǒng)芯片與嵌入式CPU40《系統(tǒng)芯片設計導論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方案集成到單芯片內41《系統(tǒng)芯片設計導論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方SoC設計方法的直觀概括把各個功能單元抽象設計成各個IP單元根據應用的需求將IP進行合理的集成完成相關功能驗證設計軟件調度硬件資源工作42《系統(tǒng)芯片設計導論》SoC設計方法的直觀概括把各個功能單元抽象設計成各個IP單元典型SoC架構基本概念IP總線橋存儲器43《系統(tǒng)芯片設計導論》典型SoC架構基本概念43《系統(tǒng)芯片設計導論》如何設計IP的通信接口命令解碼單元IP內核IP數據通路系統(tǒng)總線接口片外接口嵌入式CPU其他IP映射寄存器單元地址仲裁器44《系統(tǒng)芯片設計導論》如何設計IP的通信接口命令解碼單元IP內核IP數據通路系統(tǒng)總嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x10011000uartdataregister:remappingaddress0x1001100045《系統(tǒng)芯片設計導論》嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x1SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地址的方式映射到CPU的內存空間范圍內。軟件就像操作內存一樣訪問資源,查詢外設狀態(tài),控制IP工作。46《系統(tǒng)芯片設計導論》SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地SoC的軟硬件協(xié)同設計47《系統(tǒng)芯片設計導論》SoC的軟硬件協(xié)同設計47《系統(tǒng)芯片設計導論》嵌入式CPU設計關鍵技術48《系統(tǒng)芯片設計導論》嵌入式CPU設計關鍵技術48《系統(tǒng)芯片設計導論》嵌入式CPU設計的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾最優(yōu)解:成本、功耗最低,性能最佳通常情況下:成本低——則性能較低、功耗也較低功耗低——則成本不高、性能也較低性能高——功耗高、成本高49《系統(tǒng)芯片設計導論》嵌入式CPU設計的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾49嵌入式CPU指令集16位/32位指令集,32位數據通路Load/Store架構功能較弱的基本指令集+面向應用的擴展簡潔的指令編碼50《系統(tǒng)芯片設計導論》嵌入式CPU指令集16位/32位指令集,32位數據通路50嵌入式CPU體系結構RISC架構單周期指令8、16、32位數據通路精簡的流水線架構馮諾依曼結構/哈佛結構3操作數格式嵌入式CPU極低功耗、極低成本超高性能高功耗和高成本嵌入式CPU體系結構發(fā)展趨勢通用CPU單片機51《系統(tǒng)芯片設計導論》嵌入式CPU體系結構RISC架構嵌入式CPU極低功耗、超高性嵌入式CPU設計流程確立市場定位與技術指標指令集設計ISA模型與原型設計、驗證定制微體系結構與規(guī)范VLSI設計與驗證流片驗證典型SoC應用驗證大規(guī)模產業(yè)化階段產品驗證52《系統(tǒng)芯片設計導論》嵌入式CPU設計流程確立市場定位與技術指標52《系統(tǒng)芯片設VLSI設計與驗證的方法全定制所有模塊都采用電路級設計,通常采用自底而上的設計方法;優(yōu)點:性能好,功耗低;缺點:工藝躍遷差,設計復雜度高;半定制部分模塊采用電路級設計,其余模塊采用硬件描述語言+工具綜合;優(yōu)點:能打破CPU設計中的性能瓶頸;缺點:工藝躍遷相對較差;全綜合完全采用硬件描述語言,通過工具綜合成目標電路;優(yōu)點:工藝躍遷相當靈活;缺點:性能相對較差;53《系統(tǒng)芯片設計導論》VLSI設計與驗證的方法全定制53《系統(tǒng)芯片設計導論》嵌入式CPU設計的所需的關鍵技術計算機體系結構了解嵌入式CPU針對的嵌入式應用領域的特征,平衡性能、功耗與成本之間的Trade-off,設計出適合應用的最佳方案;必須與應用特征緊密結合;VLSI設計技術數字集成電路設計前端、后端技術;超大規(guī)模集成電路的驗證技術;54《系統(tǒng)芯片設計導論》嵌入式CPU設計的所需的關鍵技術計算機體系結構54《系統(tǒng)芯嵌入式CPU的體系結構實例經典5級流水線MIPS嵌入式CPU55《系統(tǒng)芯片設計導論》嵌入式CPU的體系結構實例經典5級流水線MIPS嵌入式CPUARMCortexA8處理器13級流水線,雙發(fā)射主頻1GHz2.0DMIPS/MHzNEON多媒體流水線2級片上Cache分支預測技術內存管理Java加速56《系統(tǒng)芯片設計導論》ARMCortexA8處理器13級流水線,雙發(fā)射56《ARMCortexM03級流水線0.9DMIPS/MHz85uW/MHz@12K56條指令最簡潔的設計57《系統(tǒng)芯片設計導論》ARMCortexM03級流水線57《系統(tǒng)芯片設計導論CSKY嵌入式CPU介紹58《系統(tǒng)芯片設計導論》CSKY嵌入式CPU介紹58《系統(tǒng)芯片設計導論》CSKY嵌入式CPU發(fā)展歷史浙江大學VLSI研究所與杭州中天微系統(tǒng)共同合作開發(fā)的32位高性能嵌入式CPU系統(tǒng);杭州中天微系統(tǒng)有限公司成立于2002年,致力于CSKYCPU的研發(fā)與產業(yè)化相關工作;目前有部分VLSI研究所博士、碩士研究生在杭州中天微系統(tǒng)有限公司參與CPU的設計工作;CSKYCPU目前已經發(fā)展為3個系列:CK500CK600CK80059《系統(tǒng)芯片設計導論》CSKY嵌入式CPU發(fā)展歷史浙江大學VLSI研究所與杭州中天C-SKY嵌入式CPU產品分布60《系統(tǒng)芯片設計導論》C-SKY嵌入式CPU產品分布60《系統(tǒng)芯片設計導論》CSKY產品分布國際主流嵌入式CPU產品對比CSKYARMMIPS超高端CK810*Cortex-A8/A9MIPS74K/1004K高端CK610ARM11MIPS24K中端CK510ARM9MIPS4K低端CK801ARM7Cortex-M3MIPSM14K61《系統(tǒng)芯片設計導論》CSKY產品分布國際主流嵌入式CPU產品對比CSKYARMMQ&A2008-10-0862Q&A2008-10-0862計算機體系結構與嵌入式CPU設計浙江大學超大規(guī)模集成電路設計研究所孟建熠mengjy@《系統(tǒng)芯片設計導論》之2008-10-0863計算機體系結構與嵌入式CPU設計浙江大學超大規(guī)模集成電路設計課程內容計算機體系結構基礎知識指令集技術流水線與指令級并行設計技術存儲系統(tǒng)與Cache技術系統(tǒng)芯片與嵌入式CPU嵌入式CPU設計方法與流程CSKY嵌入式CPU介紹64《系統(tǒng)芯片設計導論》課程內容計算機體系結構基礎知識2《系統(tǒng)芯片設計導論》計算機體系結構基礎知識65《系統(tǒng)芯片設計導論》計算機體系結構基礎知識3《系統(tǒng)芯片設計導論》計算機體系結構具體內容它是一門設計計算機的學科,包括計算機的指令系統(tǒng)設計,結構設計,實現技術,以及與系統(tǒng)軟件操作系統(tǒng)和編譯器相關的技術;它主要研究軟件、硬件功能分配和對軟件、硬件界面的確定,即確定哪些功能由軟件完成,哪些功能由硬件實現。MIS&OA,其它應用軟件工程理論數據結構各種程序設計語言數據庫原理編譯原理操作系統(tǒng)離散數學計算機系統(tǒng)結構計算機組成及實現數字邏輯數字電路微電子技術LSI、VLSI計算機軟件計算機硬件66《系統(tǒng)芯片設計導論》計算機體系結構具體內容它是一門設計計算機的學科,包括計算機的經典計算機模型圖靈模型計算機是由一個有限狀態(tài)讀寫頭和一個存儲器構成。有限狀態(tài)讀寫頭從一個初始狀態(tài)開始,對存儲器上的(輸入)數據進行讀或寫操作,經過有限步操作之后停機,此時存儲器上的(輸出)數據就是計算結果。這樣的計算機模型叫做圖靈機。馮·諾依曼結構約翰·馮·諾伊曼在為第一臺存儲程序計算機EDVAC研發(fā)計劃做顧問時,寫了一個草案報告描述了這種帶有中央處理器、內存、I/O、總線的存儲程序計算機。所以存儲程序計算機還有另外一個學名,叫做馮·諾伊曼體系架構(VonNeumannArchitecture)。它的要點是:數字計算機的數制采用二進制;計算機應該按照程序順序執(zhí)行。67《系統(tǒng)芯片設計導論》經典計算機模型圖靈模型5《系統(tǒng)芯片設計導論》體系結構Flynn分類法SISD指令部件只對一條指令處理,只控制一個操作部件操作。如一般的串行單處理機。SIMD由單一指令部件同時控制多個重復設置的處理單元,執(zhí)行同一指令下不同數據的操作。如陣列處理機。MISD多個指令部件對同一數據的各個處理階段進行操作。這種機器很少見。MIMD多個獨立或相對獨立的處理機分別執(zhí)行各自的程序、作業(yè)或進程。例如多處理機。68《系統(tǒng)芯片設計導論》體系結構Flynn分類法SISD6《系統(tǒng)芯片設計導論》計算機的發(fā)展歷史及分類(1)傳統(tǒng)的計算機分類:大型機、小型機、巨型機(成熟超級計算機)1980年代產生了新的機型:個人(PC)機、工作站、服務器1990年代產生了嵌入式系統(tǒng):高性能家電、機頂盒、電子游戲機、手機、網絡路由器、交換機等69《系統(tǒng)芯片設計導論》計算機的發(fā)展歷史及分類(1)傳統(tǒng)的計算機分類:7《系統(tǒng)芯片計算機的發(fā)展歷史及分類(2)后PC時代(移動互聯(lián)網)70《系統(tǒng)芯片設計導論》計算機的發(fā)展歷史及分類(2)后PC時代(移動互聯(lián)網)8《系計算機體系結構的研究方法用定量方法進行計算機設計;用定量方法作為工具分析程序實際運行結果、各類實驗和仿真;用定量方法尋找計算機體系結構的新思路、新技術,保證計算機性能繼續(xù)按現在速率提高。71《系統(tǒng)芯片設計導論》計算機體系結構的研究方法用定量方法進行計算機設計;9《系統(tǒng)大概率事件原則計算機設計中一個最重要、最普遍的原則和罕見事件相比,更應該注意經常出現的事件。改變常見事件的處理速度更加有助于提高機器的性能。72《系統(tǒng)芯片設計導論》大概率事件原則計算機設計中一個最重要、最普遍的原則10《系Amdahl定律計算機執(zhí)行某個任務的總時間中可被改進部分的時間所占的百分比,即(可改進部分占用的時間)/(改進前整個任務的執(zhí)行時間),記為Fe,它總小于1。改進部分采用改進措施后比沒有采用改進措施前性能提高倍數,即(改進前改進部分的執(zhí)行時間)/(改進后改進部分的執(zhí)行時間),記為Se,它總大于1。 改進后整個任務的執(zhí)行時間為: Tn=T0(1-Fe+Fe/Se) 其中T0為改進前的整個任務的執(zhí)行時間 改進后整個系統(tǒng)的加速比為 Sn=To/Tn=1/(1-Fe+Fe/Se)73《系統(tǒng)芯片設計導論》Amdahl定律計算機執(zhí)行某個任務的總時間中可被改進部分的時計算機與集成電路(1)體系結構不斷創(chuàng)新74《系統(tǒng)芯片設計導論》計算機與集成電路(1)體系結構不斷創(chuàng)新12《系統(tǒng)芯片設計導計算機與集成電路(2)摩爾定律發(fā)展技術進步集成電路技術的進步,包括存儲器(包括內外存)和各類外設的進步。特點:穩(wěn)定發(fā)展,即按Moore定律發(fā)展,即微處理器性能(按芯片上晶體管數定義)每18個月翻一番,即每年提高58%。75《系統(tǒng)芯片設計導論》計算機與集成電路(2)摩爾定律發(fā)展技術進步13《系統(tǒng)芯片設計算機體系結構設計任務指令集設計——這是傳統(tǒng)計算機體系結構的任務,即程序員面對的(看得見的)指令系統(tǒng)的設計計算機組織設計——存儲器設計,CPU設計,I/O總線結構設計等高層內容,同一個指令集可以對應不同組織設計硬件設計——芯片的邏輯設計、封裝、冷卻。
相同的指令集和組織可以對應不同的硬件實現形成一個產品系列。
76《系統(tǒng)芯片設計導論》計算機體系結構設計任務指令集設計14《系統(tǒng)芯片設計導論》指令集技術77《系統(tǒng)芯片設計導論》指令集技術15《系統(tǒng)芯片設計導論》指令集的概念CPU能執(zhí)行的指令的集合二進制形式,通常用匯編代碼表示機器指令的元素:操作碼源操作數目標操作數下一條指令在機器碼中每條指令都有唯一的比特形式為了編程方便,操作碼可以寫成助記符形式如ADD,SUB,LOAD78《系統(tǒng)芯片設計導論》指令集的概念CPU能執(zhí)行的指令的集合16《系統(tǒng)芯片設計導論指令類型數據處理add/sub數據存取load/store數據移動mov程序流控制branch79《系統(tǒng)芯片設計導論》指令類型數據處理17《系統(tǒng)芯片設計導論》尋址方式操作數引用的形式立即尋址:ADDAX,5直接尋址:ADDAX,[24]間接尋址:ADDR,(A)寄存器尋址:ADDAX,BX寄存器間接尋址:MOVAX,[BX]偏移尋址:MOVBX,80[SI]堆棧尋址:ADD—將棧頂兩元素相加80《系統(tǒng)芯片設計導論》尋址方式操作數引用的形式18《系統(tǒng)芯片設計導論》指令格式指令比特字段的布局包括:操作碼操作數(隱式或顯式)位分配:操作碼數目和尋址能力之間的平衡操作數的數目寄存器/存儲器寄存器組地址范圍地址粒度81《系統(tǒng)芯片設計導論》指令格式指令比特字段的布局19《系統(tǒng)芯片設計導論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史計算機發(fā)展早期,為了方便軟件編程和提高程序的運行速度,硬件工程師采用的辦法是不斷增加可實現復雜功能的指令和多種靈活的編址方式。CISC的缺點為了指令兼容的需求,新的指令系統(tǒng)必須包含原系統(tǒng)的指令,指令規(guī)模迅速膨脹,芯片設計復雜度大幅度提升。執(zhí)行概率較低的指令會浪費存儲空間,執(zhí)行概率高但長度長的指令會增加取指的延時,降低性能;20%的指令被使用,80%的指令處于閑置狀態(tài);82《系統(tǒng)芯片設計導論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史20《系統(tǒng)芯片設計指令系統(tǒng)的分類-RISCRISC發(fā)展歷史尋找一種代碼長度規(guī)范且高度優(yōu)化的指令系統(tǒng),降低單條指令的專用化程度。RSIC優(yōu)點簡化了硬件設計提高處理器運行頻率RISC缺點增加了軟件設計與優(yōu)化的復雜度83《系統(tǒng)芯片設計導論》指令系統(tǒng)的分類-RISCRISC發(fā)展歷史21《系統(tǒng)芯片設計CSICvsRISCCISC
RISC
注重硬件優(yōu)化注重軟件優(yōu)化包含多周期的復雜指令只包含單周期的精簡指令支持存儲器到存儲器的指令只支持寄存器到寄存器的指令,需要額外的的存儲器讀與寫的指令代碼空間小,每條指令的周期長代碼空間大,每條指令執(zhí)行周期短設計中更加注重對復雜指令的硬件實現設計中更加注重存儲器的硬件設計84《系統(tǒng)芯片設計導論》CSICvsRISCCISCRISC注重硬件優(yōu)化注重指令集設計中需要考慮的若干問題結合功能的指令列表多少條指令指令的功能與操作數選擇單條指令的復雜性數據類型選擇8位/16位/32位指令格式操作碼的長度地址數85《系統(tǒng)芯片設計導論》指令集設計中需要考慮的若干問題結合功能的指令列表23《系統(tǒng)流水線與指令級并行設計技術86《系統(tǒng)芯片設計導論》流水線與指令級并行設計技術24《系統(tǒng)芯片設計導論》CPU性能指標CPUtime=IC×CPI×CCCPUtime——執(zhí)行一般代碼所需的中央處理站(CPU)時間IC——代碼的指令條數(InstructionCount),與指令集設計編譯器的優(yōu)化有關CPI——平均執(zhí)行每條指令的時鐘周期數(CyclePerInstruction),與指令集設計、體系結構等技術有關CC——時鐘周期(ClockCycle)與計算機組成,IC工藝等技術有關87《系統(tǒng)芯片設計導論》CPU性能指標CPUtime=IC×CPI×CCCPU的極限性能理想情況下,每條只能在一個CPU時鐘周期內完成,即CPI=1。早期CPU設計中,所有的指令都能在單周期內完成,但速度非常慢,盡管CPI能接近與理論值,但總體吞吐率不高;無法提高總體吞吐率的原因:頻率提升要求時鐘周期不斷縮短,復雜工作無法在規(guī)定的時鐘周期內完成;88《系統(tǒng)芯片設計導論》CPU的極限性能理想情況下,每條只能在一個CPU時鐘周期內完提高CPU性能的方法——流水線89《系統(tǒng)芯片設計導論》提高CPU性能的方法——流水線27《系統(tǒng)芯片設計導論》指令流水線的基本原理90《系統(tǒng)芯片設計導論》指令流水線的基本原理28《系統(tǒng)芯片設計導論》流水線的競爭實際流水線不可能像上述理想流水線那樣完美存在三種流水線競爭結構競爭:由硬件資源不足造成流水線停頓數據競爭:由前后指令之間存在數據相關性造成流水線停頓控制競爭:由轉移指令造成流水線停頓實際流水線的CPI=理想流水線的CPI+結構競爭造成的停頓周期
+數據競爭造成的停頓周期
+控制競爭造成的停頓周期要提高CPU的性能就是要消除或減少三種競爭造成的停頓周期
91《系統(tǒng)芯片設計導論》流水線的競爭實際流水線不可能像上述理想流水線那樣完美29《流水線競爭解決的總體思路結構競爭通過增加硬件資源來解決數據競爭和控制競爭通過挖掘代碼指令之間的并行性,即通過開發(fā)和發(fā)現指令之間存在的可并行(重疊)執(zhí)行的可能性,然后對指令執(zhí)行順序進行調度,即用不相關的指令來填補本來應該停頓周期的方法,達到消除或減少停頓周期,提高指令執(zhí)行速度。ILP設計技術分兩大類:基于硬件的ILP技術,又稱動態(tài)開發(fā)ILP技術基于軟件的ILP技術,又稱靜態(tài)開發(fā)ILP技術92《系統(tǒng)芯片設計導論》流水線競爭解決的總體思路結構競爭30《系統(tǒng)芯片設計導論》用于解決數據競爭的ILP設計技術
靜態(tài)調度動態(tài)調度采用重命名的動態(tài)調度技術編譯分析數據相關性軟件流水線路經調度93《系統(tǒng)芯片設計導論》用于解決數據競爭的ILP設計技術靜態(tài)調度31《系統(tǒng)芯片設用于解決控制相關性的ILP技術靜態(tài)轉移預測技術動態(tài)轉移預測技術靜脈投機技術動態(tài)投機技術循環(huán)體展開技術延時轉移技術94《系統(tǒng)芯片設計導論》用于解決控制相關性的ILP技術靜態(tài)轉移預測技術32《系統(tǒng)芯存儲系統(tǒng)與Cache技術95《系統(tǒng)芯片設計導論》存儲系統(tǒng)與Cache技術33《系統(tǒng)芯片設計導論》CPU與存儲器的速度鴻溝96《系統(tǒng)芯片設計導論》CPU與存儲器的速度鴻溝34《系統(tǒng)芯片設計導論》“MemoryWall”問題概括說明單純地改善CPU的設計,一味追求提高CPU的速度,并不能提高計算機整機的性能,因為高速CPU的性能被低速的存儲器訪問所抵銷。為了提高計算機整機性能,必須消除兩者性能差,或者僅可能縮小兩者性能差。97《系統(tǒng)芯片設計導論》“MemoryWall”問題概括35《系統(tǒng)芯片設計導論》存儲器架構98《系統(tǒng)芯片設計導論》存儲器架構36《系統(tǒng)芯片設計導論》解決辦法
在高速CPU與低速Memory之間引入一個小容量的高速緩沖存儲器(Cache)CPUCacheMainMemory速度嚴重不匹配速度匹配速度不匹配99《系統(tǒng)芯片設計導論》解決辦法在高速CPU與低速Memory之間引入一個小容量的組相連Cache的基本原理100《系統(tǒng)芯片設計導論》組相連Cache的基本原理38《系統(tǒng)芯片設計導論》為什么Cache能提高CPU性能局部性原理程序總是傾向于重用那些剛剛用過的數據和指令,這是計算機程序非常重要的性質。局部性原理的另一種表述:程序90%的執(zhí)行時間是花在10%的代碼上。局部性原理告訴我們:可以根據程序最近訪問的數據和指令來預測程序將要調用的數據和指令,且這一預測正確度是比較高的。所以小容量的Cache能滿足程序存取數據和指令的需求101《系統(tǒng)芯片設計導論》為什么Cache能提高CPU性能局部性原理39《系統(tǒng)芯片設系統(tǒng)芯片與嵌入式CPU102《系統(tǒng)芯片設計導論》系統(tǒng)芯片與嵌入式CPU40《系統(tǒng)芯片設計導論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方案集成到單芯片內103《系統(tǒng)芯片設計導論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方SoC設計方法的直觀概括把各個功能單元抽象設計成各個IP單元根據應用的需求將IP進行合理的集成完成相關功能驗證設計軟件調度硬件資源工作104《系統(tǒng)芯片設計導論》SoC設計方法的直觀概括把各個功能單元抽象設計成各個IP單元典型SoC架構基本概念IP總線橋存儲器105《系統(tǒng)芯片設計導論》典型SoC架構基本概念43《系統(tǒng)芯片設計導論》如何設計IP的通信接口命令解碼單元IP內核IP數據通路系統(tǒng)總線接口片外接口嵌入式CPU其他IP映射寄存器單元地址仲裁器106《系統(tǒng)芯片設計導論》如何設計IP的通信接口命令解碼單元IP內核IP數據通路系統(tǒng)總嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x10011000uartdataregister:remappingaddress0x10011000107《系統(tǒng)芯片設計導論》嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x1SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地址的方式映射到CPU的內存空間范圍內。軟件就像操作內存一樣訪問資源,查詢外設狀態(tài),控制IP工作。108《系統(tǒng)芯片設計導論》SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地SoC的軟硬件協(xié)同設計109《系統(tǒng)芯片設計導論》SoC的軟硬件協(xié)同設計47《系統(tǒng)芯片設計導論》嵌入式CPU設計關鍵技術110《系統(tǒng)芯片設計導論》嵌入式CPU設計關鍵技術48《系統(tǒng)芯片設計導論》嵌入式CPU設計的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾最優(yōu)解:成本、功耗最低,性能最佳通常情況下:成本低——則性能較低、功耗也較低功耗低——則成本不高、性能也較低性能高——功耗高、成本高111《系統(tǒng)芯片設計導論》嵌入式CPU設計的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾49嵌入式CPU指令集16位/32位指令集,32位數據通路Load/Store架構功能較弱的基
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 線上線下服飾銷售模式比較考核試卷
- 聚丙烯纖維的制造工藝與性能研究考核試卷
- 木樓梯企業(yè)的產品創(chuàng)新策略考核試卷
- 蘇軾的‘人間易學’:《東坡易傳》成青年讀物新寵
- 2025年杭州市恒泰電梯安裝合同
- 2025韻達快遞服務合同樣本
- 2025電力供應合同范本參考文獻
- 2025買賣合同適用的法律法規(guī)
- 班級管理規(guī)定細則
- 煤炭開采居間合同范例二零二五年
- 項目驗收意見書
- 交通運輸的節(jié)能與環(huán)保措施
- 游艇會服務流程
- 高壓帶電顯示器說明書全解
- 數據中心基礎設施管理系統(tǒng)DCIM技術方案
- 企業(yè)網絡安全與數據保護策略
- 2024屆高考英語語法填空專項課件
- 第五課滴答滴答下雨了課件
- 新教師崗前培訓講座中小學教學常規(guī)PPT
- 李子奈《計量經濟學》(第5版)筆記和典型題(含考研真題)詳解
- 現澆梁鋼管柱+貝雷片支架驗收表
評論
0/150
提交評論