第1課計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU要點(diǎn)課件_第1頁
第1課計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU要點(diǎn)課件_第2頁
第1課計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU要點(diǎn)課件_第3頁
第1課計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU要點(diǎn)課件_第4頁
第1課計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU要點(diǎn)課件_第5頁
已閱讀5頁,還剩119頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU設(shè)計(jì)浙江大學(xué)超大規(guī)模集成電路設(shè)計(jì)研究所孟建熠mengjy@《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》之2008-10-081計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU設(shè)計(jì)浙江大學(xué)超大規(guī)模集成電路設(shè)計(jì)課程內(nèi)容計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識指令集技術(shù)流水線與指令級并行設(shè)計(jì)技術(shù)存儲系統(tǒng)與Cache技術(shù)系統(tǒng)芯片與嵌入式CPU嵌入式CPU設(shè)計(jì)方法與流程CSKY嵌入式CPU介紹2《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》課程內(nèi)容計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識2《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識3《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識3《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)具體內(nèi)容它是一門設(shè)計(jì)計(jì)算機(jī)的學(xué)科,包括計(jì)算機(jī)的指令系統(tǒng)設(shè)計(jì),結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)技術(shù),以及與系統(tǒng)軟件操作系統(tǒng)和編譯器相關(guān)的技術(shù);它主要研究軟件、硬件功能分配和對軟件、硬件界面的確定,即確定哪些功能由軟件完成,哪些功能由硬件實(shí)現(xiàn)。MIS&OA,其它應(yīng)用軟件工程理論數(shù)據(jù)結(jié)構(gòu)各種程序設(shè)計(jì)語言數(shù)據(jù)庫原理編譯原理操作系統(tǒng)離散數(shù)學(xué)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)計(jì)算機(jī)組成及實(shí)現(xiàn)數(shù)字邏輯數(shù)字電路微電子技術(shù)LSI、VLSI計(jì)算機(jī)軟件計(jì)算機(jī)硬件4《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)具體內(nèi)容它是一門設(shè)計(jì)計(jì)算機(jī)的學(xué)科,包括計(jì)算機(jī)的經(jīng)典計(jì)算機(jī)模型圖靈模型計(jì)算機(jī)是由一個(gè)有限狀態(tài)讀寫頭和一個(gè)存儲器構(gòu)成。有限狀態(tài)讀寫頭從一個(gè)初始狀態(tài)開始,對存儲器上的(輸入)數(shù)據(jù)進(jìn)行讀或?qū)懖僮?,?jīng)過有限步操作之后停機(jī),此時(shí)存儲器上的(輸出)數(shù)據(jù)就是計(jì)算結(jié)果。這樣的計(jì)算機(jī)模型叫做圖靈機(jī)。馮·諾依曼結(jié)構(gòu)約翰·馮·諾伊曼在為第一臺存儲程序計(jì)算機(jī)EDVAC研發(fā)計(jì)劃做顧問時(shí),寫了一個(gè)草案報(bào)告描述了這種帶有中央處理器、內(nèi)存、I/O、總線的存儲程序計(jì)算機(jī)。所以存儲程序計(jì)算機(jī)還有另外一個(gè)學(xué)名,叫做馮·諾伊曼體系架構(gòu)(VonNeumannArchitecture)。它的要點(diǎn)是:數(shù)字計(jì)算機(jī)的數(shù)制采用二進(jìn)制;計(jì)算機(jī)應(yīng)該按照程序順序執(zhí)行。5《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》經(jīng)典計(jì)算機(jī)模型圖靈模型5《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》體系結(jié)構(gòu)Flynn分類法SISD指令部件只對一條指令處理,只控制一個(gè)操作部件操作。如一般的串行單處理機(jī)。SIMD由單一指令部件同時(shí)控制多個(gè)重復(fù)設(shè)置的處理單元,執(zhí)行同一指令下不同數(shù)據(jù)的操作。如陣列處理機(jī)。MISD多個(gè)指令部件對同一數(shù)據(jù)的各個(gè)處理階段進(jìn)行操作。這種機(jī)器很少見。MIMD多個(gè)獨(dú)立或相對獨(dú)立的處理機(jī)分別執(zhí)行各自的程序、作業(yè)或進(jìn)程。例如多處理機(jī)。6《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》體系結(jié)構(gòu)Flynn分類法SISD6《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)的發(fā)展歷史及分類(1)傳統(tǒng)的計(jì)算機(jī)分類:大型機(jī)、小型機(jī)、巨型機(jī)(成熟超級計(jì)算機(jī))1980年代產(chǎn)生了新的機(jī)型:個(gè)人(PC)機(jī)、工作站、服務(wù)器1990年代產(chǎn)生了嵌入式系統(tǒng):高性能家電、機(jī)頂盒、電子游戲機(jī)、手機(jī)、網(wǎng)絡(luò)路由器、交換機(jī)等7《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)的發(fā)展歷史及分類(1)傳統(tǒng)的計(jì)算機(jī)分類:7《系統(tǒng)芯片計(jì)算機(jī)的發(fā)展歷史及分類(2)后PC時(shí)代(移動互聯(lián)網(wǎng))8《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)的發(fā)展歷史及分類(2)后PC時(shí)代(移動互聯(lián)網(wǎng))8《系計(jì)算機(jī)體系結(jié)構(gòu)的研究方法用定量方法進(jìn)行計(jì)算機(jī)設(shè)計(jì);用定量方法作為工具分析程序?qū)嶋H運(yùn)行結(jié)果、各類實(shí)驗(yàn)和仿真;用定量方法尋找計(jì)算機(jī)體系結(jié)構(gòu)的新思路、新技術(shù),保證計(jì)算機(jī)性能繼續(xù)按現(xiàn)在速率提高。9《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)的研究方法用定量方法進(jìn)行計(jì)算機(jī)設(shè)計(jì);9《系統(tǒng)大概率事件原則計(jì)算機(jī)設(shè)計(jì)中一個(gè)最重要、最普遍的原則和罕見事件相比,更應(yīng)該注意經(jīng)常出現(xiàn)的事件。改變常見事件的處理速度更加有助于提高機(jī)器的性能。10《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》大概率事件原則計(jì)算機(jī)設(shè)計(jì)中一個(gè)最重要、最普遍的原則10《系A(chǔ)mdahl定律計(jì)算機(jī)執(zhí)行某個(gè)任務(wù)的總時(shí)間中可被改進(jìn)部分的時(shí)間所占的百分比,即(可改進(jìn)部分占用的時(shí)間)/(改進(jìn)前整個(gè)任務(wù)的執(zhí)行時(shí)間),記為Fe,它總小于1。改進(jìn)部分采用改進(jìn)措施后比沒有采用改進(jìn)措施前性能提高倍數(shù),即(改進(jìn)前改進(jìn)部分的執(zhí)行時(shí)間)/(改進(jìn)后改進(jìn)部分的執(zhí)行時(shí)間),記為Se,它總大于1。 改進(jìn)后整個(gè)任務(wù)的執(zhí)行時(shí)間為: Tn=T0(1-Fe+Fe/Se) 其中T0為改進(jìn)前的整個(gè)任務(wù)的執(zhí)行時(shí)間 改進(jìn)后整個(gè)系統(tǒng)的加速比為 Sn=To/Tn=1/(1-Fe+Fe/Se)11《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》Amdahl定律計(jì)算機(jī)執(zhí)行某個(gè)任務(wù)的總時(shí)間中可被改進(jìn)部分的時(shí)計(jì)算機(jī)與集成電路(1)體系結(jié)構(gòu)不斷創(chuàng)新12《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)與集成電路(1)體系結(jié)構(gòu)不斷創(chuàng)新12《系統(tǒng)芯片設(shè)計(jì)導(dǎo)計(jì)算機(jī)與集成電路(2)摩爾定律發(fā)展技術(shù)進(jìn)步集成電路技術(shù)的進(jìn)步,包括存儲器(包括內(nèi)外存)和各類外設(shè)的進(jìn)步。特點(diǎn):穩(wěn)定發(fā)展,即按Moore定律發(fā)展,即微處理器性能(按芯片上晶體管數(shù)定義)每18個(gè)月翻一番,即每年提高58%。13《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)與集成電路(2)摩爾定律發(fā)展技術(shù)進(jìn)步13《系統(tǒng)芯片設(shè)計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)任務(wù)指令集設(shè)計(jì)——這是傳統(tǒng)計(jì)算機(jī)體系結(jié)構(gòu)的任務(wù),即程序員面對的(看得見的)指令系統(tǒng)的設(shè)計(jì)計(jì)算機(jī)組織設(shè)計(jì)——存儲器設(shè)計(jì),CPU設(shè)計(jì),I/O總線結(jié)構(gòu)設(shè)計(jì)等高層內(nèi)容,同一個(gè)指令集可以對應(yīng)不同組織設(shè)計(jì)硬件設(shè)計(jì)——芯片的邏輯設(shè)計(jì)、封裝、冷卻。

相同的指令集和組織可以對應(yīng)不同的硬件實(shí)現(xiàn)形成一個(gè)產(chǎn)品系列。

14《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)任務(wù)指令集設(shè)計(jì)14《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集技術(shù)15《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集技術(shù)15《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集的概念CPU能執(zhí)行的指令的集合二進(jìn)制形式,通常用匯編代碼表示機(jī)器指令的元素:操作碼源操作數(shù)目標(biāo)操作數(shù)下一條指令在機(jī)器碼中每條指令都有唯一的比特形式為了編程方便,操作碼可以寫成助記符形式如ADD,SUB,LOAD16《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集的概念CPU能執(zhí)行的指令的集合16《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論指令類型數(shù)據(jù)處理add/sub數(shù)據(jù)存取load/store數(shù)據(jù)移動mov程序流控制branch17《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令類型數(shù)據(jù)處理17《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》尋址方式操作數(shù)引用的形式立即尋址:ADDAX,5直接尋址:ADDAX,[24]間接尋址:ADDR,(A)寄存器尋址:ADDAX,BX寄存器間接尋址:MOVAX,[BX]偏移尋址:MOVBX,80[SI]堆棧尋址:ADD—將棧頂兩元素相加18《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》尋址方式操作數(shù)引用的形式18《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令格式指令比特字段的布局包括:操作碼操作數(shù)(隱式或顯式)位分配:操作碼數(shù)目和尋址能力之間的平衡操作數(shù)的數(shù)目寄存器/存儲器寄存器組地址范圍地址粒度19《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令格式指令比特字段的布局19《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史計(jì)算機(jī)發(fā)展早期,為了方便軟件編程和提高程序的運(yùn)行速度,硬件工程師采用的辦法是不斷增加可實(shí)現(xiàn)復(fù)雜功能的指令和多種靈活的編址方式。CISC的缺點(diǎn)為了指令兼容的需求,新的指令系統(tǒng)必須包含原系統(tǒng)的指令,指令規(guī)模迅速膨脹,芯片設(shè)計(jì)復(fù)雜度大幅度提升。執(zhí)行概率較低的指令會浪費(fèi)存儲空間,執(zhí)行概率高但長度長的指令會增加取指的延時(shí),降低性能;20%的指令被使用,80%的指令處于閑置狀態(tài);20《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史20《系統(tǒng)芯片設(shè)計(jì)指令系統(tǒng)的分類-RISCRISC發(fā)展歷史尋找一種代碼長度規(guī)范且高度優(yōu)化的指令系統(tǒng),降低單條指令的專用化程度。RSIC優(yōu)點(diǎn)簡化了硬件設(shè)計(jì)提高處理器運(yùn)行頻率RISC缺點(diǎn)增加了軟件設(shè)計(jì)與優(yōu)化的復(fù)雜度21《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令系統(tǒng)的分類-RISCRISC發(fā)展歷史21《系統(tǒng)芯片設(shè)計(jì)CSICvsRISCCISC

RISC

注重硬件優(yōu)化注重軟件優(yōu)化包含多周期的復(fù)雜指令只包含單周期的精簡指令支持存儲器到存儲器的指令只支持寄存器到寄存器的指令,需要額外的的存儲器讀與寫的指令代碼空間小,每條指令的周期長代碼空間大,每條指令執(zhí)行周期短設(shè)計(jì)中更加注重對復(fù)雜指令的硬件實(shí)現(xiàn)設(shè)計(jì)中更加注重存儲器的硬件設(shè)計(jì)22《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CSICvsRISCCISCRISC注重硬件優(yōu)化注重指令集設(shè)計(jì)中需要考慮的若干問題結(jié)合功能的指令列表多少條指令指令的功能與操作數(shù)選擇單條指令的復(fù)雜性數(shù)據(jù)類型選擇8位/16位/32位指令格式操作碼的長度地址數(shù)23《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集設(shè)計(jì)中需要考慮的若干問題結(jié)合功能的指令列表23《系統(tǒng)流水線與指令級并行設(shè)計(jì)技術(shù)24《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線與指令級并行設(shè)計(jì)技術(shù)24《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU性能指標(biāo)CPUtime=IC×CPI×CCCPUtime——執(zhí)行一般代碼所需的中央處理站(CPU)時(shí)間IC——代碼的指令條數(shù)(InstructionCount),與指令集設(shè)計(jì)編譯器的優(yōu)化有關(guān)CPI——平均執(zhí)行每條指令的時(shí)鐘周期數(shù)(CyclePerInstruction),與指令集設(shè)計(jì)、體系結(jié)構(gòu)等技術(shù)有關(guān)CC——時(shí)鐘周期(ClockCycle)與計(jì)算機(jī)組成,IC工藝等技術(shù)有關(guān)25《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU性能指標(biāo)CPUtime=IC×CPI×CCCPU的極限性能理想情況下,每條只能在一個(gè)CPU時(shí)鐘周期內(nèi)完成,即CPI=1。早期CPU設(shè)計(jì)中,所有的指令都能在單周期內(nèi)完成,但速度非常慢,盡管CPI能接近與理論值,但總體吞吐率不高;無法提高總體吞吐率的原因:頻率提升要求時(shí)鐘周期不斷縮短,復(fù)雜工作無法在規(guī)定的時(shí)鐘周期內(nèi)完成;26《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU的極限性能理想情況下,每條只能在一個(gè)CPU時(shí)鐘周期內(nèi)完提高CPU性能的方法——流水線27《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》提高CPU性能的方法——流水線27《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令流水線的基本原理28《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令流水線的基本原理28《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線的競爭實(shí)際流水線不可能像上述理想流水線那樣完美存在三種流水線競爭結(jié)構(gòu)競爭:由硬件資源不足造成流水線停頓數(shù)據(jù)競爭:由前后指令之間存在數(shù)據(jù)相關(guān)性造成流水線停頓控制競爭:由轉(zhuǎn)移指令造成流水線停頓實(shí)際流水線的CPI=理想流水線的CPI+結(jié)構(gòu)競爭造成的停頓周期

+數(shù)據(jù)競爭造成的停頓周期

+控制競爭造成的停頓周期要提高CPU的性能就是要消除或減少三種競爭造成的停頓周期

29《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線的競爭實(shí)際流水線不可能像上述理想流水線那樣完美29《流水線競爭解決的總體思路結(jié)構(gòu)競爭通過增加硬件資源來解決數(shù)據(jù)競爭和控制競爭通過挖掘代碼指令之間的并行性,即通過開發(fā)和發(fā)現(xiàn)指令之間存在的可并行(重疊)執(zhí)行的可能性,然后對指令執(zhí)行順序進(jìn)行調(diào)度,即用不相關(guān)的指令來填補(bǔ)本來應(yīng)該停頓周期的方法,達(dá)到消除或減少停頓周期,提高指令執(zhí)行速度。ILP設(shè)計(jì)技術(shù)分兩大類:基于硬件的ILP技術(shù),又稱動態(tài)開發(fā)ILP技術(shù)基于軟件的ILP技術(shù),又稱靜態(tài)開發(fā)ILP技術(shù)30《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線競爭解決的總體思路結(jié)構(gòu)競爭30《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》用于解決數(shù)據(jù)競爭的ILP設(shè)計(jì)技術(shù)

靜態(tài)調(diào)度動態(tài)調(diào)度采用重命名的動態(tài)調(diào)度技術(shù)編譯分析數(shù)據(jù)相關(guān)性軟件流水線路經(jīng)調(diào)度31《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》用于解決數(shù)據(jù)競爭的ILP設(shè)計(jì)技術(shù)靜態(tài)調(diào)度31《系統(tǒng)芯片設(shè)用于解決控制相關(guān)性的ILP技術(shù)靜態(tài)轉(zhuǎn)移預(yù)測技術(shù)動態(tài)轉(zhuǎn)移預(yù)測技術(shù)靜脈投機(jī)技術(shù)動態(tài)投機(jī)技術(shù)循環(huán)體展開技術(shù)延時(shí)轉(zhuǎn)移技術(shù)32《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》用于解決控制相關(guān)性的ILP技術(shù)靜態(tài)轉(zhuǎn)移預(yù)測技術(shù)32《系統(tǒng)芯存儲系統(tǒng)與Cache技術(shù)33《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》存儲系統(tǒng)與Cache技術(shù)33《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU與存儲器的速度鴻溝34《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU與存儲器的速度鴻溝34《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》“MemoryWall”問題概括說明單純地改善CPU的設(shè)計(jì),一味追求提高CPU的速度,并不能提高計(jì)算機(jī)整機(jī)的性能,因?yàn)楦咚貱PU的性能被低速的存儲器訪問所抵銷。為了提高計(jì)算機(jī)整機(jī)性能,必須消除兩者性能差,或者僅可能縮小兩者性能差。35《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》“MemoryWall”問題概括35《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》存儲器架構(gòu)36《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》存儲器架構(gòu)36《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》解決辦法

在高速CPU與低速M(fèi)emory之間引入一個(gè)小容量的高速緩沖存儲器(Cache)CPUCacheMainMemory速度嚴(yán)重不匹配速度匹配速度不匹配37《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》解決辦法在高速CPU與低速M(fèi)emory之間引入一個(gè)小容量的組相連Cache的基本原理38《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》組相連Cache的基本原理38《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》為什么Cache能提高CPU性能局部性原理程序總是傾向于重用那些剛剛用過的數(shù)據(jù)和指令,這是計(jì)算機(jī)程序非常重要的性質(zhì)。局部性原理的另一種表述:程序90%的執(zhí)行時(shí)間是花在10%的代碼上。局部性原理告訴我們:可以根據(jù)程序最近訪問的數(shù)據(jù)和指令來預(yù)測程序?qū)⒁{(diào)用的數(shù)據(jù)和指令,且這一預(yù)測正確度是比較高的。所以小容量的Cache能滿足程序存取數(shù)據(jù)和指令的需求39《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》為什么Cache能提高CPU性能局部性原理39《系統(tǒng)芯片設(shè)系統(tǒng)芯片與嵌入式CPU40《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》系統(tǒng)芯片與嵌入式CPU40《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方案集成到單芯片內(nèi)41《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方SoC設(shè)計(jì)方法的直觀概括把各個(gè)功能單元抽象設(shè)計(jì)成各個(gè)IP單元根據(jù)應(yīng)用的需求將IP進(jìn)行合理的集成完成相關(guān)功能驗(yàn)證設(shè)計(jì)軟件調(diào)度硬件資源工作42《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》SoC設(shè)計(jì)方法的直觀概括把各個(gè)功能單元抽象設(shè)計(jì)成各個(gè)IP單元典型SoC架構(gòu)基本概念I(lǐng)P總線橋存儲器43《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》典型SoC架構(gòu)基本概念43《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》如何設(shè)計(jì)IP的通信接口命令解碼單元IP內(nèi)核IP數(shù)據(jù)通路系統(tǒng)總線接口片外接口嵌入式CPU其他IP映射寄存器單元地址仲裁器44《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》如何設(shè)計(jì)IP的通信接口命令解碼單元IP內(nèi)核IP數(shù)據(jù)通路系統(tǒng)總嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x10011000uartdataregister:remappingaddress0x1001100045《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x1SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地址的方式映射到CPU的內(nèi)存空間范圍內(nèi)。軟件就像操作內(nèi)存一樣訪問資源,查詢外設(shè)狀態(tài),控制IP工作。46《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地SoC的軟硬件協(xié)同設(shè)計(jì)47《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》SoC的軟硬件協(xié)同設(shè)計(jì)47《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)關(guān)鍵技術(shù)48《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)關(guān)鍵技術(shù)48《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾最優(yōu)解:成本、功耗最低,性能最佳通常情況下:成本低——則性能較低、功耗也較低功耗低——則成本不高、性能也較低性能高——功耗高、成本高49《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾49嵌入式CPU指令集16位/32位指令集,32位數(shù)據(jù)通路Load/Store架構(gòu)功能較弱的基本指令集+面向應(yīng)用的擴(kuò)展簡潔的指令編碼50《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU指令集16位/32位指令集,32位數(shù)據(jù)通路50嵌入式CPU體系結(jié)構(gòu)RISC架構(gòu)單周期指令8、16、32位數(shù)據(jù)通路精簡的流水線架構(gòu)馮諾依曼結(jié)構(gòu)/哈佛結(jié)構(gòu)3操作數(shù)格式嵌入式CPU極低功耗、極低成本超高性能高功耗和高成本嵌入式CPU體系結(jié)構(gòu)發(fā)展趨勢通用CPU單片機(jī)51《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU體系結(jié)構(gòu)RISC架構(gòu)嵌入式CPU極低功耗、超高性嵌入式CPU設(shè)計(jì)流程確立市場定位與技術(shù)指標(biāo)指令集設(shè)計(jì)ISA模型與原型設(shè)計(jì)、驗(yàn)證定制微體系結(jié)構(gòu)與規(guī)范VLSI設(shè)計(jì)與驗(yàn)證流片驗(yàn)證典型SoC應(yīng)用驗(yàn)證大規(guī)模產(chǎn)業(yè)化階段產(chǎn)品驗(yàn)證52《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)流程確立市場定位與技術(shù)指標(biāo)52《系統(tǒng)芯片設(shè)VLSI設(shè)計(jì)與驗(yàn)證的方法全定制所有模塊都采用電路級設(shè)計(jì),通常采用自底而上的設(shè)計(jì)方法;優(yōu)點(diǎn):性能好,功耗低;缺點(diǎn):工藝躍遷差,設(shè)計(jì)復(fù)雜度高;半定制部分模塊采用電路級設(shè)計(jì),其余模塊采用硬件描述語言+工具綜合;優(yōu)點(diǎn):能打破CPU設(shè)計(jì)中的性能瓶頸;缺點(diǎn):工藝躍遷相對較差;全綜合完全采用硬件描述語言,通過工具綜合成目標(biāo)電路;優(yōu)點(diǎn):工藝躍遷相當(dāng)靈活;缺點(diǎn):性能相對較差;53《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》VLSI設(shè)計(jì)與驗(yàn)證的方法全定制53《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)的所需的關(guān)鍵技術(shù)計(jì)算機(jī)體系結(jié)構(gòu)了解嵌入式CPU針對的嵌入式應(yīng)用領(lǐng)域的特征,平衡性能、功耗與成本之間的Trade-off,設(shè)計(jì)出適合應(yīng)用的最佳方案;必須與應(yīng)用特征緊密結(jié)合;VLSI設(shè)計(jì)技術(shù)數(shù)字集成電路設(shè)計(jì)前端、后端技術(shù);超大規(guī)模集成電路的驗(yàn)證技術(shù);54《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)的所需的關(guān)鍵技術(shù)計(jì)算機(jī)體系結(jié)構(gòu)54《系統(tǒng)芯嵌入式CPU的體系結(jié)構(gòu)實(shí)例經(jīng)典5級流水線MIPS嵌入式CPU55《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU的體系結(jié)構(gòu)實(shí)例經(jīng)典5級流水線MIPS嵌入式CPUARMCortexA8處理器13級流水線,雙發(fā)射主頻1GHz2.0DMIPS/MHzNEON多媒體流水線2級片上Cache分支預(yù)測技術(shù)內(nèi)存管理Java加速56《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》ARMCortexA8處理器13級流水線,雙發(fā)射56《ARMCortexM03級流水線0.9DMIPS/MHz85uW/MHz@12K56條指令最簡潔的設(shè)計(jì)57《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》ARMCortexM03級流水線57《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論CSKY嵌入式CPU介紹58《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CSKY嵌入式CPU介紹58《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CSKY嵌入式CPU發(fā)展歷史浙江大學(xué)VLSI研究所與杭州中天微系統(tǒng)共同合作開發(fā)的32位高性能嵌入式CPU系統(tǒng);杭州中天微系統(tǒng)有限公司成立于2002年,致力于CSKYCPU的研發(fā)與產(chǎn)業(yè)化相關(guān)工作;目前有部分VLSI研究所博士、碩士研究生在杭州中天微系統(tǒng)有限公司參與CPU的設(shè)計(jì)工作;CSKYCPU目前已經(jīng)發(fā)展為3個(gè)系列:CK500CK600CK80059《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CSKY嵌入式CPU發(fā)展歷史浙江大學(xué)VLSI研究所與杭州中天C-SKY嵌入式CPU產(chǎn)品分布60《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》C-SKY嵌入式CPU產(chǎn)品分布60《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CSKY產(chǎn)品分布國際主流嵌入式CPU產(chǎn)品對比CSKYARMMIPS超高端CK810*Cortex-A8/A9MIPS74K/1004K高端CK610ARM11MIPS24K中端CK510ARM9MIPS4K低端CK801ARM7Cortex-M3MIPSM14K61《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CSKY產(chǎn)品分布國際主流嵌入式CPU產(chǎn)品對比CSKYARMMQ&A2008-10-0862Q&A2008-10-0862計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU設(shè)計(jì)浙江大學(xué)超大規(guī)模集成電路設(shè)計(jì)研究所孟建熠mengjy@《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》之2008-10-0863計(jì)算機(jī)體系結(jié)構(gòu)與嵌入式CPU設(shè)計(jì)浙江大學(xué)超大規(guī)模集成電路設(shè)計(jì)課程內(nèi)容計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識指令集技術(shù)流水線與指令級并行設(shè)計(jì)技術(shù)存儲系統(tǒng)與Cache技術(shù)系統(tǒng)芯片與嵌入式CPU嵌入式CPU設(shè)計(jì)方法與流程CSKY嵌入式CPU介紹64《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》課程內(nèi)容計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識2《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識65《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識3《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)具體內(nèi)容它是一門設(shè)計(jì)計(jì)算機(jī)的學(xué)科,包括計(jì)算機(jī)的指令系統(tǒng)設(shè)計(jì),結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)技術(shù),以及與系統(tǒng)軟件操作系統(tǒng)和編譯器相關(guān)的技術(shù);它主要研究軟件、硬件功能分配和對軟件、硬件界面的確定,即確定哪些功能由軟件完成,哪些功能由硬件實(shí)現(xiàn)。MIS&OA,其它應(yīng)用軟件工程理論數(shù)據(jù)結(jié)構(gòu)各種程序設(shè)計(jì)語言數(shù)據(jù)庫原理編譯原理操作系統(tǒng)離散數(shù)學(xué)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)計(jì)算機(jī)組成及實(shí)現(xiàn)數(shù)字邏輯數(shù)字電路微電子技術(shù)LSI、VLSI計(jì)算機(jī)軟件計(jì)算機(jī)硬件66《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)具體內(nèi)容它是一門設(shè)計(jì)計(jì)算機(jī)的學(xué)科,包括計(jì)算機(jī)的經(jīng)典計(jì)算機(jī)模型圖靈模型計(jì)算機(jī)是由一個(gè)有限狀態(tài)讀寫頭和一個(gè)存儲器構(gòu)成。有限狀態(tài)讀寫頭從一個(gè)初始狀態(tài)開始,對存儲器上的(輸入)數(shù)據(jù)進(jìn)行讀或?qū)懖僮?,?jīng)過有限步操作之后停機(jī),此時(shí)存儲器上的(輸出)數(shù)據(jù)就是計(jì)算結(jié)果。這樣的計(jì)算機(jī)模型叫做圖靈機(jī)。馮·諾依曼結(jié)構(gòu)約翰·馮·諾伊曼在為第一臺存儲程序計(jì)算機(jī)EDVAC研發(fā)計(jì)劃做顧問時(shí),寫了一個(gè)草案報(bào)告描述了這種帶有中央處理器、內(nèi)存、I/O、總線的存儲程序計(jì)算機(jī)。所以存儲程序計(jì)算機(jī)還有另外一個(gè)學(xué)名,叫做馮·諾伊曼體系架構(gòu)(VonNeumannArchitecture)。它的要點(diǎn)是:數(shù)字計(jì)算機(jī)的數(shù)制采用二進(jìn)制;計(jì)算機(jī)應(yīng)該按照程序順序執(zhí)行。67《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》經(jīng)典計(jì)算機(jī)模型圖靈模型5《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》體系結(jié)構(gòu)Flynn分類法SISD指令部件只對一條指令處理,只控制一個(gè)操作部件操作。如一般的串行單處理機(jī)。SIMD由單一指令部件同時(shí)控制多個(gè)重復(fù)設(shè)置的處理單元,執(zhí)行同一指令下不同數(shù)據(jù)的操作。如陣列處理機(jī)。MISD多個(gè)指令部件對同一數(shù)據(jù)的各個(gè)處理階段進(jìn)行操作。這種機(jī)器很少見。MIMD多個(gè)獨(dú)立或相對獨(dú)立的處理機(jī)分別執(zhí)行各自的程序、作業(yè)或進(jìn)程。例如多處理機(jī)。68《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》體系結(jié)構(gòu)Flynn分類法SISD6《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)的發(fā)展歷史及分類(1)傳統(tǒng)的計(jì)算機(jī)分類:大型機(jī)、小型機(jī)、巨型機(jī)(成熟超級計(jì)算機(jī))1980年代產(chǎn)生了新的機(jī)型:個(gè)人(PC)機(jī)、工作站、服務(wù)器1990年代產(chǎn)生了嵌入式系統(tǒng):高性能家電、機(jī)頂盒、電子游戲機(jī)、手機(jī)、網(wǎng)絡(luò)路由器、交換機(jī)等69《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)的發(fā)展歷史及分類(1)傳統(tǒng)的計(jì)算機(jī)分類:7《系統(tǒng)芯片計(jì)算機(jī)的發(fā)展歷史及分類(2)后PC時(shí)代(移動互聯(lián)網(wǎng))70《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)的發(fā)展歷史及分類(2)后PC時(shí)代(移動互聯(lián)網(wǎng))8《系計(jì)算機(jī)體系結(jié)構(gòu)的研究方法用定量方法進(jìn)行計(jì)算機(jī)設(shè)計(jì);用定量方法作為工具分析程序?qū)嶋H運(yùn)行結(jié)果、各類實(shí)驗(yàn)和仿真;用定量方法尋找計(jì)算機(jī)體系結(jié)構(gòu)的新思路、新技術(shù),保證計(jì)算機(jī)性能繼續(xù)按現(xiàn)在速率提高。71《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)的研究方法用定量方法進(jìn)行計(jì)算機(jī)設(shè)計(jì);9《系統(tǒng)大概率事件原則計(jì)算機(jī)設(shè)計(jì)中一個(gè)最重要、最普遍的原則和罕見事件相比,更應(yīng)該注意經(jīng)常出現(xiàn)的事件。改變常見事件的處理速度更加有助于提高機(jī)器的性能。72《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》大概率事件原則計(jì)算機(jī)設(shè)計(jì)中一個(gè)最重要、最普遍的原則10《系A(chǔ)mdahl定律計(jì)算機(jī)執(zhí)行某個(gè)任務(wù)的總時(shí)間中可被改進(jìn)部分的時(shí)間所占的百分比,即(可改進(jìn)部分占用的時(shí)間)/(改進(jìn)前整個(gè)任務(wù)的執(zhí)行時(shí)間),記為Fe,它總小于1。改進(jìn)部分采用改進(jìn)措施后比沒有采用改進(jìn)措施前性能提高倍數(shù),即(改進(jìn)前改進(jìn)部分的執(zhí)行時(shí)間)/(改進(jìn)后改進(jìn)部分的執(zhí)行時(shí)間),記為Se,它總大于1。 改進(jìn)后整個(gè)任務(wù)的執(zhí)行時(shí)間為: Tn=T0(1-Fe+Fe/Se) 其中T0為改進(jìn)前的整個(gè)任務(wù)的執(zhí)行時(shí)間 改進(jìn)后整個(gè)系統(tǒng)的加速比為 Sn=To/Tn=1/(1-Fe+Fe/Se)73《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》Amdahl定律計(jì)算機(jī)執(zhí)行某個(gè)任務(wù)的總時(shí)間中可被改進(jìn)部分的時(shí)計(jì)算機(jī)與集成電路(1)體系結(jié)構(gòu)不斷創(chuàng)新74《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)與集成電路(1)體系結(jié)構(gòu)不斷創(chuàng)新12《系統(tǒng)芯片設(shè)計(jì)導(dǎo)計(jì)算機(jī)與集成電路(2)摩爾定律發(fā)展技術(shù)進(jìn)步集成電路技術(shù)的進(jìn)步,包括存儲器(包括內(nèi)外存)和各類外設(shè)的進(jìn)步。特點(diǎn):穩(wěn)定發(fā)展,即按Moore定律發(fā)展,即微處理器性能(按芯片上晶體管數(shù)定義)每18個(gè)月翻一番,即每年提高58%。75《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)與集成電路(2)摩爾定律發(fā)展技術(shù)進(jìn)步13《系統(tǒng)芯片設(shè)計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)任務(wù)指令集設(shè)計(jì)——這是傳統(tǒng)計(jì)算機(jī)體系結(jié)構(gòu)的任務(wù),即程序員面對的(看得見的)指令系統(tǒng)的設(shè)計(jì)計(jì)算機(jī)組織設(shè)計(jì)——存儲器設(shè)計(jì),CPU設(shè)計(jì),I/O總線結(jié)構(gòu)設(shè)計(jì)等高層內(nèi)容,同一個(gè)指令集可以對應(yīng)不同組織設(shè)計(jì)硬件設(shè)計(jì)——芯片的邏輯設(shè)計(jì)、封裝、冷卻。

相同的指令集和組織可以對應(yīng)不同的硬件實(shí)現(xiàn)形成一個(gè)產(chǎn)品系列。

76《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)任務(wù)指令集設(shè)計(jì)14《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集技術(shù)77《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集技術(shù)15《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集的概念CPU能執(zhí)行的指令的集合二進(jìn)制形式,通常用匯編代碼表示機(jī)器指令的元素:操作碼源操作數(shù)目標(biāo)操作數(shù)下一條指令在機(jī)器碼中每條指令都有唯一的比特形式為了編程方便,操作碼可以寫成助記符形式如ADD,SUB,LOAD78《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集的概念CPU能執(zhí)行的指令的集合16《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論指令類型數(shù)據(jù)處理add/sub數(shù)據(jù)存取load/store數(shù)據(jù)移動mov程序流控制branch79《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令類型數(shù)據(jù)處理17《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》尋址方式操作數(shù)引用的形式立即尋址:ADDAX,5直接尋址:ADDAX,[24]間接尋址:ADDR,(A)寄存器尋址:ADDAX,BX寄存器間接尋址:MOVAX,[BX]偏移尋址:MOVBX,80[SI]堆棧尋址:ADD—將棧頂兩元素相加80《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》尋址方式操作數(shù)引用的形式18《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令格式指令比特字段的布局包括:操作碼操作數(shù)(隱式或顯式)位分配:操作碼數(shù)目和尋址能力之間的平衡操作數(shù)的數(shù)目寄存器/存儲器寄存器組地址范圍地址粒度81《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令格式指令比特字段的布局19《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史計(jì)算機(jī)發(fā)展早期,為了方便軟件編程和提高程序的運(yùn)行速度,硬件工程師采用的辦法是不斷增加可實(shí)現(xiàn)復(fù)雜功能的指令和多種靈活的編址方式。CISC的缺點(diǎn)為了指令兼容的需求,新的指令系統(tǒng)必須包含原系統(tǒng)的指令,指令規(guī)模迅速膨脹,芯片設(shè)計(jì)復(fù)雜度大幅度提升。執(zhí)行概率較低的指令會浪費(fèi)存儲空間,執(zhí)行概率高但長度長的指令會增加取指的延時(shí),降低性能;20%的指令被使用,80%的指令處于閑置狀態(tài);82《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令系統(tǒng)的分類-CISCCISC發(fā)展歷史20《系統(tǒng)芯片設(shè)計(jì)指令系統(tǒng)的分類-RISCRISC發(fā)展歷史尋找一種代碼長度規(guī)范且高度優(yōu)化的指令系統(tǒng),降低單條指令的專用化程度。RSIC優(yōu)點(diǎn)簡化了硬件設(shè)計(jì)提高處理器運(yùn)行頻率RISC缺點(diǎn)增加了軟件設(shè)計(jì)與優(yōu)化的復(fù)雜度83《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令系統(tǒng)的分類-RISCRISC發(fā)展歷史21《系統(tǒng)芯片設(shè)計(jì)CSICvsRISCCISC

RISC

注重硬件優(yōu)化注重軟件優(yōu)化包含多周期的復(fù)雜指令只包含單周期的精簡指令支持存儲器到存儲器的指令只支持寄存器到寄存器的指令,需要額外的的存儲器讀與寫的指令代碼空間小,每條指令的周期長代碼空間大,每條指令執(zhí)行周期短設(shè)計(jì)中更加注重對復(fù)雜指令的硬件實(shí)現(xiàn)設(shè)計(jì)中更加注重存儲器的硬件設(shè)計(jì)84《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CSICvsRISCCISCRISC注重硬件優(yōu)化注重指令集設(shè)計(jì)中需要考慮的若干問題結(jié)合功能的指令列表多少條指令指令的功能與操作數(shù)選擇單條指令的復(fù)雜性數(shù)據(jù)類型選擇8位/16位/32位指令格式操作碼的長度地址數(shù)85《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令集設(shè)計(jì)中需要考慮的若干問題結(jié)合功能的指令列表23《系統(tǒng)流水線與指令級并行設(shè)計(jì)技術(shù)86《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線與指令級并行設(shè)計(jì)技術(shù)24《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU性能指標(biāo)CPUtime=IC×CPI×CCCPUtime——執(zhí)行一般代碼所需的中央處理站(CPU)時(shí)間IC——代碼的指令條數(shù)(InstructionCount),與指令集設(shè)計(jì)編譯器的優(yōu)化有關(guān)CPI——平均執(zhí)行每條指令的時(shí)鐘周期數(shù)(CyclePerInstruction),與指令集設(shè)計(jì)、體系結(jié)構(gòu)等技術(shù)有關(guān)CC——時(shí)鐘周期(ClockCycle)與計(jì)算機(jī)組成,IC工藝等技術(shù)有關(guān)87《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU性能指標(biāo)CPUtime=IC×CPI×CCCPU的極限性能理想情況下,每條只能在一個(gè)CPU時(shí)鐘周期內(nèi)完成,即CPI=1。早期CPU設(shè)計(jì)中,所有的指令都能在單周期內(nèi)完成,但速度非常慢,盡管CPI能接近與理論值,但總體吞吐率不高;無法提高總體吞吐率的原因:頻率提升要求時(shí)鐘周期不斷縮短,復(fù)雜工作無法在規(guī)定的時(shí)鐘周期內(nèi)完成;88《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU的極限性能理想情況下,每條只能在一個(gè)CPU時(shí)鐘周期內(nèi)完提高CPU性能的方法——流水線89《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》提高CPU性能的方法——流水線27《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令流水線的基本原理90《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》指令流水線的基本原理28《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線的競爭實(shí)際流水線不可能像上述理想流水線那樣完美存在三種流水線競爭結(jié)構(gòu)競爭:由硬件資源不足造成流水線停頓數(shù)據(jù)競爭:由前后指令之間存在數(shù)據(jù)相關(guān)性造成流水線停頓控制競爭:由轉(zhuǎn)移指令造成流水線停頓實(shí)際流水線的CPI=理想流水線的CPI+結(jié)構(gòu)競爭造成的停頓周期

+數(shù)據(jù)競爭造成的停頓周期

+控制競爭造成的停頓周期要提高CPU的性能就是要消除或減少三種競爭造成的停頓周期

91《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線的競爭實(shí)際流水線不可能像上述理想流水線那樣完美29《流水線競爭解決的總體思路結(jié)構(gòu)競爭通過增加硬件資源來解決數(shù)據(jù)競爭和控制競爭通過挖掘代碼指令之間的并行性,即通過開發(fā)和發(fā)現(xiàn)指令之間存在的可并行(重疊)執(zhí)行的可能性,然后對指令執(zhí)行順序進(jìn)行調(diào)度,即用不相關(guān)的指令來填補(bǔ)本來應(yīng)該停頓周期的方法,達(dá)到消除或減少停頓周期,提高指令執(zhí)行速度。ILP設(shè)計(jì)技術(shù)分兩大類:基于硬件的ILP技術(shù),又稱動態(tài)開發(fā)ILP技術(shù)基于軟件的ILP技術(shù),又稱靜態(tài)開發(fā)ILP技術(shù)92《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》流水線競爭解決的總體思路結(jié)構(gòu)競爭30《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》用于解決數(shù)據(jù)競爭的ILP設(shè)計(jì)技術(shù)

靜態(tài)調(diào)度動態(tài)調(diào)度采用重命名的動態(tài)調(diào)度技術(shù)編譯分析數(shù)據(jù)相關(guān)性軟件流水線路經(jīng)調(diào)度93《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》用于解決數(shù)據(jù)競爭的ILP設(shè)計(jì)技術(shù)靜態(tài)調(diào)度31《系統(tǒng)芯片設(shè)用于解決控制相關(guān)性的ILP技術(shù)靜態(tài)轉(zhuǎn)移預(yù)測技術(shù)動態(tài)轉(zhuǎn)移預(yù)測技術(shù)靜脈投機(jī)技術(shù)動態(tài)投機(jī)技術(shù)循環(huán)體展開技術(shù)延時(shí)轉(zhuǎn)移技術(shù)94《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》用于解決控制相關(guān)性的ILP技術(shù)靜態(tài)轉(zhuǎn)移預(yù)測技術(shù)32《系統(tǒng)芯存儲系統(tǒng)與Cache技術(shù)95《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》存儲系統(tǒng)與Cache技術(shù)33《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU與存儲器的速度鴻溝96《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》CPU與存儲器的速度鴻溝34《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》“MemoryWall”問題概括說明單純地改善CPU的設(shè)計(jì),一味追求提高CPU的速度,并不能提高計(jì)算機(jī)整機(jī)的性能,因?yàn)楦咚貱PU的性能被低速的存儲器訪問所抵銷。為了提高計(jì)算機(jī)整機(jī)性能,必須消除兩者性能差,或者僅可能縮小兩者性能差。97《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》“MemoryWall”問題概括35《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》存儲器架構(gòu)98《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》存儲器架構(gòu)36《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》解決辦法

在高速CPU與低速M(fèi)emory之間引入一個(gè)小容量的高速緩沖存儲器(Cache)CPUCacheMainMemory速度嚴(yán)重不匹配速度匹配速度不匹配99《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》解決辦法在高速CPU與低速M(fèi)emory之間引入一個(gè)小容量的組相連Cache的基本原理100《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》組相連Cache的基本原理38《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》為什么Cache能提高CPU性能局部性原理程序總是傾向于重用那些剛剛用過的數(shù)據(jù)和指令,這是計(jì)算機(jī)程序非常重要的性質(zhì)。局部性原理的另一種表述:程序90%的執(zhí)行時(shí)間是花在10%的代碼上。局部性原理告訴我們:可以根據(jù)程序最近訪問的數(shù)據(jù)和指令來預(yù)測程序?qū)⒁{(diào)用的數(shù)據(jù)和指令,且這一預(yù)測正確度是比較高的。所以小容量的Cache能滿足程序存取數(shù)據(jù)和指令的需求101《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》為什么Cache能提高CPU性能局部性原理39《系統(tǒng)芯片設(shè)系統(tǒng)芯片與嵌入式CPU102《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》系統(tǒng)芯片與嵌入式CPU40《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方案集成到單芯片內(nèi)103《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》從嵌入式系統(tǒng)到系統(tǒng)芯片SoC系統(tǒng)單芯片解決方案將板級多芯片方SoC設(shè)計(jì)方法的直觀概括把各個(gè)功能單元抽象設(shè)計(jì)成各個(gè)IP單元根據(jù)應(yīng)用的需求將IP進(jìn)行合理的集成完成相關(guān)功能驗(yàn)證設(shè)計(jì)軟件調(diào)度硬件資源工作104《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》SoC設(shè)計(jì)方法的直觀概括把各個(gè)功能單元抽象設(shè)計(jì)成各個(gè)IP單元典型SoC架構(gòu)基本概念I(lǐng)P總線橋存儲器105《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》典型SoC架構(gòu)基本概念43《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》如何設(shè)計(jì)IP的通信接口命令解碼單元IP內(nèi)核IP數(shù)據(jù)通路系統(tǒng)總線接口片外接口嵌入式CPU其他IP映射寄存器單元地址仲裁器106《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》如何設(shè)計(jì)IP的通信接口命令解碼單元IP內(nèi)核IP數(shù)據(jù)通路系統(tǒng)總嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x10011000uartdataregister:remappingaddress0x10011000107《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU與SoC協(xié)同工作ldr1,(r3)r3=0x1SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地址的方式映射到CPU的內(nèi)存空間范圍內(nèi)。軟件就像操作內(nèi)存一樣訪問資源,查詢外設(shè)狀態(tài),控制IP工作。108《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》SoC中IP通信的基本原理將所有的需要與軟件互動的接口按照地SoC的軟硬件協(xié)同設(shè)計(jì)109《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》SoC的軟硬件協(xié)同設(shè)計(jì)47《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)關(guān)鍵技術(shù)110《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)關(guān)鍵技術(shù)48《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾最優(yōu)解:成本、功耗最低,性能最佳通常情況下:成本低——則性能較低、功耗也較低功耗低——則成本不高、性能也較低性能高——功耗高、成本高111《系統(tǒng)芯片設(shè)計(jì)導(dǎo)論》嵌入式CPU設(shè)計(jì)的主要挑戰(zhàn)平衡成本、功耗與性能之間的矛盾49嵌入式CPU指令集16位/32位指令集,32位數(shù)據(jù)通路Load/Store架構(gòu)功能較弱的基

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論