




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
嵌入式系統(tǒng)原理與設(shè)計第一章嵌入式系統(tǒng)設(shè)計基礎(chǔ)第1章0102030405嵌入式系統(tǒng)概述計算機系統(tǒng)的組成計算機系統(tǒng)中的數(shù)據(jù)表示計算機系統(tǒng)的性能嵌入式處理器/01嵌入式系統(tǒng)概述嵌入式系統(tǒng)的定義嵌入式系統(tǒng)是嵌入式計算機系統(tǒng)的簡稱,是一種“完全嵌入受控器件內(nèi)部,為特定應(yīng)用而設(shè)計的專用計算機系統(tǒng)”。根據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義:嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置”。廣義來說,嵌入式系統(tǒng)是指以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)的特點·嵌入性:嵌入到對象體系中,有對象環(huán)境要求·專用性:軟、硬件按對象要求裁減·計算機:實現(xiàn)對象的智能化功能簡單來說,就是嵌入到對象中的專用計算機系統(tǒng)三要素:嵌入、專用、計算機嵌入式系統(tǒng)的特點:由三要素引出嵌入式系統(tǒng)的特點·生命周期長:更新、換代也是和實際產(chǎn)品一同進行·軟件固化:軟件固化在非易失性存儲介質(zhì)中·有實時性要求:在規(guī)定的時限內(nèi)做出正確的反應(yīng)除了上述核心特點外,嵌入式系統(tǒng)還有以下特點嵌入式系統(tǒng)的發(fā)展趨勢www.islide.cc7·智能化:具有一定的智能處理能力·網(wǎng)絡(luò)化:能夠連上Internet網(wǎng)絡(luò),通過網(wǎng)絡(luò)開展應(yīng)用·人性化:擁有更好的用戶使用感受或人機接口嵌入式系統(tǒng)與通用計算機系統(tǒng)的比較www.islide.cc81.應(yīng)用為中心2.資源受限3.面向應(yīng)用優(yōu)化4.百花齊放5.更新?lián)Q代慢1.性能為中心2.海量資源3.應(yīng)用未知4.Intel、AMD獨大5.更新?lián)Q代快總結(jié):嵌入式系統(tǒng)是應(yīng)用驅(qū)動技術(shù)進步,通用系統(tǒng)是性能推動技術(shù)進步。嵌入式系統(tǒng)通用系統(tǒng)/02計算機系統(tǒng)的組成硬件系統(tǒng)-抽象模塊馮·諾依曼將計算機的硬件系統(tǒng)·控制器·運算器·輸入設(shè)備·輸出設(shè)備·存儲器硬件系統(tǒng)-實際設(shè)備www.islide.cc11CPU(中央處理單元)主板:集運算器和控制器于一體內(nèi)存(主存):內(nèi)存儲器(DDR4SDRAM)硬盤(外存、輔存):外存儲器(磁介質(zhì)機械硬盤,SSD)顯示器(液晶屏):輸出設(shè)備鍵盤、鼠標(biāo)(按鍵):輸入設(shè)備軟件系統(tǒng)僅僅有硬件系統(tǒng),計算機仍然是無法工作的,就像我們需要大腦指揮四肢進行一系列動作,才能完成工作。軟件系統(tǒng)就像是整個計算機系統(tǒng)的“大腦”。軟件系統(tǒng)按其功能分為系統(tǒng)軟件和應(yīng)用軟件兩大類·應(yīng)用軟件:是為滿足用戶不同領(lǐng)域、不同問題的應(yīng)用需求而開發(fā)的軟件?!は到y(tǒng)軟件:為實現(xiàn)計算機系統(tǒng)的管理、調(diào)度、監(jiān)視和服務(wù)等功能而開發(fā)的軟件。計算機程序www.islide.cc13高級語言:C、Java、Matlab匯編語言:指令助記符表示機器語言:二進制代碼高級語言可以跨平臺,匯編語言與機器語言是針對具體硬件平臺軟硬件系統(tǒng)關(guān)系硬件是計算機系統(tǒng)的物質(zhì)基礎(chǔ),軟件是在硬件的基礎(chǔ)上為有效地使用計算機而配置。沒有硬件對軟件的支持,軟件的功能就無從談起;同樣,沒有軟件計算機將無法正常運行,也就不能發(fā)揮其作用。因此,硬件和軟件是相輔相成、不可分割的整體。嵌入式系統(tǒng)設(shè)計相關(guān)就業(yè)崗位www.islide.cc15架構(gòu)設(shè)計工程師硬件設(shè)計工程師軟件設(shè)計工程師(應(yīng)用、驅(qū)動、系統(tǒng)等)測試工程師產(chǎn)品工程師……需求最大的就是軟件設(shè)計工程師/03計算機系統(tǒng)中的數(shù)據(jù)表示數(shù)的r進制表示
計算機中常用的記數(shù)制二進制:只有0和1兩個數(shù)碼,其記數(shù)特點及進位原則為“逢二進一”。八進制:共有0~7八個數(shù)碼,其記數(shù)特點及進位原則為“逢八進一”。十六進:共有0~9、A、B、C、D、E、F十六個數(shù)碼,其記數(shù)特點及進位原則為“逢十六進一”。原碼、反碼、補碼原碼,反碼,補碼在計算機中運用最多的數(shù)字表示形式。原碼:是機器數(shù)中最簡單的一種表示形式,采用1位符號位+n位數(shù)值位的形式。符號位為0表示正數(shù),為1表示負(fù)數(shù),數(shù)值位即真值的絕對值。若整數(shù)X用n+1位二進制表示,可以表示為:原碼、反碼、補碼反碼:通常用來由原碼求補碼或者由補碼求原碼的中間過渡。二進制整數(shù)反碼的定義為:補碼:二進制整數(shù)補碼的定義為:例:X=±35的原碼、反碼和補碼(8位表示)www.islide.cc21浮點數(shù)的表示
F=M×rE式中M為尾數(shù)(可正可負(fù)),E為階碼(可正可負(fù)),r是基數(shù)(或基值)。在計算機中,基數(shù)可取2、4、8或16等。浮點數(shù)的表示IEEE754規(guī)定了單精度和雙精度兩種基本的浮點格式,以及雙精度擴展等多種浮點格式。參數(shù)單精度浮點數(shù)雙精度浮點數(shù)雙精度擴展浮點數(shù)浮點數(shù)長度(bit)326480尾數(shù)長度(bit)235264符號位s111指數(shù)E的長度(bit)81115最大指數(shù)Emax+127+1023+16383最小指數(shù)E-min-126-1022-16382指數(shù)偏移量+127+1023+16383可表示的實數(shù)范圍10-38~10+3810-308~10+30810-4932~10+4932IEEE754標(biāo)準(zhǔn)表示形式如下:S為該浮點數(shù)的符號位,當(dāng)S為0時表示為正數(shù),S為1時為負(fù)數(shù)。E為指數(shù)的階碼,用移碼表示。
為尾數(shù),共P位,用原碼表示。非數(shù)值數(shù)據(jù)的編碼ASCII碼:目前國際上普遍采用的信息交換標(biāo)準(zhǔn)碼是ASCII碼(美國國家信息交換標(biāo)準(zhǔn)碼),它包括10個十進制數(shù)碼,26個英文字母的大小寫和一定數(shù)量的專用符號、控制命令等總共約128個元素。因此,用二進制編碼表示只需要7位。若加上一個奇(偶)校驗位,共8位,剛好可用一個字節(jié)表示。漢字編碼:為了使?jié)h字信息交換有一個通用的標(biāo)準(zhǔn),1981年我國制定推行的GB2312-80國家標(biāo)準(zhǔn)。GB2312-80國標(biāo)字符集構(gòu)成一個二維平面,分成94行和94列,并將行號稱為區(qū)號,將列號稱為位號。因此,在此字符集中的每一個漢字或符號對應(yīng)唯一的一個區(qū)號和位號。非數(shù)值數(shù)據(jù)的編碼漢字編碼碼表示例/04計算機系統(tǒng)的性能性能量化指標(biāo)直觀來說,人們在衡量計算機的性能時,更多的考慮的是計算機運行速度的快與慢。因此,計算機的性能與完成一個任務(wù)所需要的時間直接相關(guān)。計算機的性能與其完成任務(wù)的時間成反比。因此,計算機的性能一般用下面公式來衡量:為方便對計算機的性能進行評價,有時也用計算機每秒能執(zhí)行的百萬條指令(MillionInstructionsPerSecond,MIPS)數(shù)量來衡量。性能預(yù)測的摩爾定律集成電路芯片的集成度每18個月翻一番,即集成電路單位面積的晶圓上可容納的晶體管的數(shù)量約每隔18個月便會增加一倍,芯片的性能也將提升一倍。換言之,每一美元所能買到的電腦性能,將每隔18個月翻一倍。摩爾定律非物理定律,僅是一個技術(shù)發(fā)展趨勢預(yù)測。它正在走向失效,但何時失效也說不清楚。性能改進的Amdahl定律Amdahl定律是20世紀(jì)60年代由Amdahl提出,其內(nèi)容為:系統(tǒng)中對某一部件采用更快執(zhí)行方式所能獲得的系統(tǒng)性能改進程度,取決于這種執(zhí)行方式被使用的頻率,或所占總執(zhí)行時間的比例。系統(tǒng)性能加速比計算式如下:性能改進的Amdahl定律加速比依賴于兩個因素:可改進比例:在改進前的系統(tǒng)中,可改進部分的執(zhí)行時間在總的執(zhí)行時間中所占的比例稱為可改進比例。部件加速比:改進前所需的執(zhí)行時間與改進后執(zhí)行時間的比。改進后系統(tǒng)的總執(zhí)行時間可以表示為不可改進部分的執(zhí)行時間與可改進部分改進后的執(zhí)行時間的和。進一步,改進后系統(tǒng)的總執(zhí)行時間可以表示為:性能改進的Amdahl定律根據(jù)上式,可以得到系統(tǒng)的性能加速比為:Amdahl定律揭示了計算機系統(tǒng)性能改進的兩種局限。(1)部分性能改進的遞減局限。即如果僅僅對計算機系統(tǒng)的一部分做性能改進,則改進得越多,所得到的總體性能的提升就越有限。(2)對計算機系統(tǒng)進行部分性能改進,系統(tǒng)加速比存在極限,極限為1/(1-可改進比例)。結(jié)論:統(tǒng)的性能改進是受系統(tǒng)中不可改進部分的比例所限制的。例:
Amdahl的使用www.islide.cc32若計算機系統(tǒng)有三個部件a、b、c可改進,它們的部件加速比分別為rea=30,reb=30,rec=20。他們在總執(zhí)行時間中所占的比例分別是30%、30%、20%。試計算這三個部件同時改進后的系統(tǒng)加速比。多個部件同時可改進的情況下,Amdahl定律可表示為:上述公式里面fe代表可改進比例,re代表可改進部分的部件加速比。將已知的可改進比例和部件加速比代入上式,可得:/04嵌入式處理器嵌入式系統(tǒng)的分類單片機(SCM)數(shù)字信號處理器(DSP)片上系統(tǒng)(SOC)與SOPC微處理器(MPU)單片機(SingleChipMicrocomputer,SCM)單片機芯片內(nèi)部集成ROM/EPROM、RAM、總線邏輯、定時/計數(shù)器、看門狗、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A、Flash、EEPROM等各種必要功能和外設(shè)。單片機(SingleChipMicrocomputer,SCM),顧名思義,就是將整個計算機系統(tǒng)集成到一塊芯片中的單片計算機。一般用于系統(tǒng)的控制,故又稱微控制器(MicroControlUnit,EMCU)單片機(SingleChipMicrocomputer,SCM)按照數(shù)據(jù)處理的寬度,MCU可以分為4位、8位、16位甚至32位的單片機。一般數(shù)據(jù)處理寬度越低,其數(shù)據(jù)處理能力越弱,越只能進行簡單的系統(tǒng)控制。由于SCM主要定位于系統(tǒng)控制和簡單的數(shù)據(jù)處理,其計算速度慢,處理能力不強,一般在幾個MIPS左右。因此SCM一般適用于運算速度要求不高的控制端,這也是其被稱為MCU的原因。51系列、PIC系列、AVR系列、MSP430系列、STM32系列等。目前,單片機芯片可以做到自主可控(兆易創(chuàng)新)。中國MCU市場www.islide.cc37微處理器(MicroProcessorUnit,MPU)支持操作系統(tǒng)和實時任務(wù)調(diào)度MPU嵌入式微處理器最早由通用計算機中的CPU演變而來的,用于復(fù)雜的嵌入式系統(tǒng)開發(fā)中,如智能手機、車載主機系統(tǒng)等。典型代表為ARMCortex-A系列處理器數(shù)字信號處理器(DigitalSignalProcessor,DSP)DSP處理器是專門用于信號處理方面的處理器,其在系統(tǒng)結(jié)構(gòu)和指令算法方面進行了特殊設(shè)計,在數(shù)字濾波、FFT、頻譜分析等各種儀器上DSP獲得了大規(guī)模的應(yīng)用。DSP是運算密集處理器,一般用在快速執(zhí)行算法,做控制比較困難。為了追求高執(zhí)行效率,不適合運行操作系統(tǒng),核心代碼使用匯編。片上系統(tǒng)(System-on-Chip,SoC)SOC是集成電路(IntegratedCircuit,IC)設(shè)計的發(fā)展趨勢。采用SoC設(shè)計技術(shù),可以大幅度地提高系統(tǒng)的可靠性,減少系統(tǒng)的面積和功耗,降低系統(tǒng)成本,極大地提高系統(tǒng)的性能價格比。SoC芯片已經(jīng)成為提高移動通信、網(wǎng)絡(luò)、信息家電、高速計算、多媒體應(yīng)用及軍用電子系統(tǒng)性能的核心器件。SOPC:FPGA隨著技術(shù)的發(fā)展,對SoC芯片的擴展性需求逐漸上升,一塊SoC芯片通過編程可實現(xiàn)不同的功能,增加SoC芯片的應(yīng)用范圍。例如,用可編程邏輯技術(shù)把整個系統(tǒng)放到一塊硅片上稱作可編程片上系統(tǒng)(System-on-Programmable-Chip,SoPC)?,F(xiàn)場可編程門陣列(Field-ProgrammableGateArray,F(xiàn)PGA)是具有代表性SoPC系統(tǒng)芯片。利用FPGA內(nèi)部集成MPU軟核+專用電路構(gòu)成面向應(yīng)用的處理器芯片。華為麒麟手機芯片自研之路2004年,成立海思半導(dǎo)體公司2009年,K3V1,首款手機芯片,2012年:K3V2,40nm制程工藝打造,是全球最小的四核ARMA9架構(gòu)CPU,集成GPU。發(fā)熱嚴(yán)重。2014年:麒麟910和麒麟920。910基于28nm工藝制程打造,首次集成華為自研巴龍710基帶。920升級到8核,還集成了音頻芯片、視頻芯片、集成自研第一款LTECat.6的巴龍720基帶。920獲得市場認(rèn)可,打響了麒麟品牌。2015年:麒麟930和麒麟950。CPU采用A53架構(gòu),最高主頻可達(dá)2.0GHz,GPU為Mali-T628MP4。麒麟950采用臺積電16nm制程和A72架構(gòu),GPU為Mali-T880MP4。第1章嵌入式系統(tǒng)設(shè)計基礎(chǔ)42華為麒麟手機芯片自研之路2016年:麒麟960?;?6nm制程打造,華為Mate9系列首發(fā)。CPU首次配備了A73核心,小核心為A53,組成四大四小的8核組合,GPU為MaliG71MP8。麒麟960的圖形處理性能提升了180%,GPU能效提升了20%,補齊了麒麟芯片GPU性能大幅落后于高通的這塊短板2017年:麒麟970。首款10nm工藝芯片—麒麟970,四核A73+四核A53架構(gòu),主頻2.4+1.8GHz。麒麟970還有專門的AI硬件處理單元—NPU(NeuralNetworkProcessingUnit,神經(jīng)網(wǎng)絡(luò)處理單元),以支持AI。2018年:麒麟980。使用臺積電的第一代7nm工藝制程,4*A76+4*A55的八核心設(shè)計,最高主頻可達(dá)2.6GHz。GPU是Mali-G76MP10,搭載寒武紀(jì)1M的人工智能NPU,繼續(xù)保持在AI性能上的領(lǐng)先。第1章嵌入式系統(tǒng)設(shè)計基礎(chǔ)43華為麒麟手機芯片自研之路2019年:麒麟990。2019年是5G手機元年,國內(nèi)開始了從4G網(wǎng)絡(luò)向5G網(wǎng)絡(luò)的過渡期。2019年9月6日,華為同時發(fā)布了麒麟990和麒麟9905G兩款芯片,麒麟990也是華為最后一款4G旗艦芯片。麒麟9905G采用了更先進的7nmEUV工藝,且集成了巴龍50005G基帶,CPU為2+2+4架構(gòu),兩顆2.86GHz的A76大核,兩顆2.36GHz的A76中核,以及四顆1.95GHz的A55小核組合。2020年5月15日后,臺積電不能代工華為最新麒麟芯片,華為受打壓正式開始,到現(xiàn)在也沒有結(jié)束。2020年:Mate40搭載麒麟9000,采用ARM的Cortex-A78CPU和Cortex-G78GPU架構(gòu),CPU方面對比上代A77,單核性能提高20%,功耗降低50%。臺積電5nm工藝制造。到目前為止,麒麟9000賣一塊少一塊,臺積電無法再生產(chǎn)。第1章嵌入式系統(tǒng)設(shè)計基礎(chǔ)44嵌入式系統(tǒng)原理與設(shè)計第2章CPU組成與流水線設(shè)計第2章01020304CPU組成CPU性能量化流水線技術(shù)流水線相關(guān)及解決方案05ARM流水線舉例/01CPU組成CPU的基本結(jié)構(gòu)CPU包含控制器和運算器控制器是命令發(fā)布的決策機構(gòu)和源頭,協(xié)調(diào)和指揮整個計算機系統(tǒng)的操作運算器是數(shù)據(jù)處理部件,接受控制器的命令而進行算數(shù)運算和邏輯運算CPU的主要寄存器程序計數(shù)器PC:指向要執(zhí)行的下一條指令的地址指令寄存器IR:用來保存當(dāng)前正在執(zhí)行的指令編碼數(shù)據(jù)緩沖寄存器DR:用來暫時存放數(shù)據(jù)數(shù)據(jù)地址寄存器AR:用來保存當(dāng)前CPU所訪問的數(shù)據(jù)存儲器單元的地址通用寄存器GR:暫存運算器需要的源操作數(shù)和結(jié)果操作數(shù)狀態(tài)字寄存器PSW:用來保存處理器的運行狀態(tài)CPU的基本功能指令控制:指令控制是指指令執(zhí)行的次序操作控制:指令執(zhí)行時確保執(zhí)行部件按照指令的要求完成指令執(zhí)行。時間控制:指令執(zhí)行時確保指令各個操作及整個執(zhí)行過程在規(guī)定時限內(nèi)完成。數(shù)據(jù)處理:CPU完成數(shù)據(jù)的算術(shù)或邏輯運算,有時也稱為數(shù)據(jù)加工。/02CPU性能量化CPU性能公式時鐘周期時間(ClockCycleTime,CCT)程序執(zhí)行所需要的指令數(shù)(InstructionCount,IC)每條指令執(zhí)行需要的時鐘周期數(shù)(CPI,CyclesPerInstruction)CPU時間=IC×CPI×CCTCPU性能公式【例2-1】比較下面兩種CPU執(zhí)行某程序的性能優(yōu)劣。假設(shè)CPU1執(zhí)行該程序需要5百萬條指令,指令的平均CPI為1.2,時鐘頻率為1GHz;CPU2執(zhí)行該程序需要3百萬條指令,指令的平均CPI為3.0,時鐘頻率為0.5GHz。根據(jù)CPU性能公式2-1,可以知道兩種CPU的程序執(zhí)行時間如下:CPU1的時間T1=5×106×1.2×10-9=6ms;CPU2的時間T2=3×106×3.0×2×10-9=18ms;因為T2>T1,故CPU1的性能更好。CPU性能公式【例2-2】比較下面兩種浮動指令優(yōu)化方案的性能優(yōu)劣。假設(shè)某CPU的浮點指令的使用頻率為0.2,浮點指令的平均CPI為10;其它指令的使用頻率為0.8,其它指令的平均CPI為1.2。方案1:把所有浮點指令的平均CPI降到8;方案2:把浮點指令FSQRT的CPI降到2,其中FSQRT占浮點指令使用頻率的0.2。CPU性能公式在知道每類指令的使用頻率和CPI后,式2-1可以改寫為:根據(jù)題意,兩種方案在改進過程中,指令集未發(fā)生變化,則完成任務(wù)所需要的指令數(shù)IC不會發(fā)生變化;同時,也沒有提到時鐘頻率發(fā)生變化,即CCT也不會變化。因此,根據(jù)CPU性能公式2-2,可以計算兩種改進方案的CPU時間,如下:方案1的時間T1=(0.2×IC×8+0.8×IC×1.2)×CCT=11.2×IC×CCT;方案2的時間T2=(0.2×0.2×IC×2+0.8×0.2×IC×10+0.8×IC×1.2)×CCT
=11.28×IC×CCT。因為T2>T1,故方案1的性能更好。CPU性能公式的暗示CCT主要取決于芯片加工工藝及CPU硬件結(jié)構(gòu),CPI主要取決于CPU硬件結(jié)構(gòu)及指令集架構(gòu)(ISA),IC則主要取決于ISA和編譯技術(shù)【例2-3】比較表2-1所示的基于RISC和CISC的CPU性能優(yōu)劣。表2-1RISC和CISC的運算速度CPU性能公式的暗示取表2-1數(shù)據(jù)的均值,根據(jù)公式2-1,可以計算得到RISC和CISC的CPU性能如下(設(shè)完成相同任務(wù)需要CISCCPU需要的指令數(shù)為IC):CISC的CPU性能=IC×8.5×19=161.5×ICnsRISC的CPU性能=1.35×IC×1.25*6=10.125×ICnsRISC相對CISC的性能加速比=161.5×IC/(10.125×IC)≈16倍??梢?,RISCCPU的性能遠(yuǎn)高于CISCCPU的性能。實際上,由表2-1數(shù)據(jù)可以看出,完成相同的任務(wù),CISC需要的IC少于RISC,這是CISC的優(yōu)勢,但在CPI和CCT上,CISC都處于劣勢。尤其是平均CPI,如果都取均值,CISC的CPI為8.5,RISC的CPI為1.25,RISC領(lǐng)先6.8倍。/03流水線技術(shù)流水線概念【例2-4】假設(shè)某產(chǎn)品的生產(chǎn)需要4道工序,該產(chǎn)品生產(chǎn)車間以前只有1個工人,只有1套生產(chǎn)該產(chǎn)品的機器。該工人工作8小時,可以生產(chǎn)120件產(chǎn)品(即每4分鐘生產(chǎn)1件)?,F(xiàn)車間主任希望將該產(chǎn)品的日產(chǎn)量提高到480件,那么他如何能夠?qū)崿F(xiàn)其目標(biāo)呢?方案一:再聘請3名工人,同時再購買3套生產(chǎn)該產(chǎn)品的機器。讓4名工人同時工作8小時,可以達(dá)到期望的日產(chǎn)量目標(biāo)??梢钥吹剑@種方案簡單直接,但需要付出購買3套機器和聘請3名工人的成本。流水線概念方案二:產(chǎn)品生產(chǎn)采用流水線生產(chǎn)方式,將原來的機器按照4道工序重新進行改造組合,將4道生產(chǎn)工序分離開來,使得每道工序的生產(chǎn)時間一樣,均為1分鐘。同時車間再聘請3名工人,讓每個工人負(fù)責(zé)該產(chǎn)品生產(chǎn)的一道工序,每完成一道工序,就將半成品傳給下一道工序的工人,直至生產(chǎn)出完整的產(chǎn)品。采用此種方案后,在不需要購買新設(shè)備,僅聘請3名工人,也能達(dá)到將日產(chǎn)量提高到480件的目標(biāo)。流水線概念【例2-5】假設(shè)指令流水執(zhí)行時需要3個階段,第1個階段是取指令I(lǐng)F,第2個階段是解析指令I(lǐng)D,第3階段是執(zhí)行指令EX,這三個階段分別需要的時間是t1,t2和t3秒;如果不采用流水,則需要的時間是t1+t2+t3秒。求采用流水線技術(shù)和不采用流水線技術(shù)的指令吞吐率。方案1:不采用流水。由于每執(zhí)行一條指令需要t1+t2+t3秒,則指令吞吐率為1/(t1+t2+t3)。流水線概念方案2:流水執(zhí)行。完成快的部件必須等完成慢的部件,因此,時鐘周期應(yīng)該為t1,t2和t3中最大的一個,則指令吞吐率為1/max(t1,t2,t3)。考慮一種理想情況,這三個時間相等,此時的吞吐率為3/(t1+t2+t3),為方案1的3倍。流水線分類1、單功能流水線和多功能流水線流水線分類2、靜態(tài)流水線和動態(tài)流水線流水線性能分析1.吞吐率吞吐率是衡量流水線性能的重要指標(biāo),它是指單位時間內(nèi)流水線所完成的任務(wù)數(shù),即流水線單位時間內(nèi)能輸出的結(jié)果。
式中,n表示任務(wù)數(shù),Tp表示流水執(zhí)行n個任務(wù)所用的時間。當(dāng)流水線在連續(xù)流動達(dá)到穩(wěn)定以后所得到的吞吐率稱為最大吞吐率。流水線性能分析假設(shè)流水線各功能段執(zhí)行時間Δt都相等,總共有k個功能段(這里取k=4)流水線性能分析如圖(a)所示的4段流水線中,其時空圖如圖(b)所示。流水線性能分析如圖(a)所示的4段流水線中,其時空圖如圖(b)所示。流水線性能分析(1)將瓶頸功能段繼續(xù)細(xì)分 從式中可以看出,最大吞吐率與實際吞吐率是由執(zhí)行時間最長的那個流水決定。因此,最長流水段就成了整個流水線的瓶頸。圖中除了流水線中的瓶頸功能段一直處于忙碌狀態(tài)外,其他功能段有2/3的時間是空閑的,造成資源浪費。流水線性能分析(2)將瓶頸功能段資源重復(fù)
流水線性能分析2.加速比流水線的加速比是指完成一批任務(wù),不使用流水線所用的時間與使用流水線的時間之比。若不使用流水線,即順序執(zhí)行所用的時間為Ts,使用流水線的執(zhí)行時間為Tp,則流水線的加速比為: 流水線性能分析如果流水線各段執(zhí)行時間都相等,則一條k段流水線,連續(xù)完成n個任務(wù)所需的時間為等效的非流水線上所需的時間為當(dāng)n>>k時,,即當(dāng)流水線的各功能段時間相等時,其最大加速比等于流水線的段數(shù)。流水線性能分析3.效率流水線效率是指流水線的各功能段部件的利用率。如果各段執(zhí)行時間相等,則
流水線性能分析【例2-6】一個單功能流水線,每段執(zhí)行時間都相等為Δt,輸入任務(wù)不連續(xù)的情況下,計算一條4段浮點加法器求8個浮點數(shù)和的流水線的吞吐率、加速比和效率。解:改寫式子為:流水線性能分析/04流水線相關(guān)及解決方案流水線相關(guān)及解決方案◆結(jié)構(gòu)相關(guān)
當(dāng)硬件資源滿足不了同時重疊執(zhí)行的指令的要求,而發(fā)生資源沖突時,就發(fā)生了結(jié)構(gòu)相關(guān)?!魯?shù)據(jù)相關(guān)
當(dāng)一條指令需要用到前面某條指令的結(jié)果,從而不能重疊執(zhí)行時,就發(fā)生了數(shù)據(jù)相關(guān)?!艨刂葡嚓P(guān)
當(dāng)流水線遇到分支指令和其他能夠改變PC值的指令時,就會發(fā)生控制相關(guān)。結(jié)構(gòu)相關(guān)采用5級指令流水線,IM、Reg、ALU和DM分別表示流水段中的功能部件取指階段IF(InstructionFetch),此階段訪問IM,讀取存儲在IM中的指令;譯碼階段ID(InstructionDecode),此階段對取得的指令進行譯碼,并根據(jù)譯碼結(jié)果讀取Reg數(shù)據(jù);執(zhí)行階段EX(Execute),此階段利用ALU執(zhí)行指令或計算地址;訪存階段MEM(Memory),此階段訪問DM,讀取存儲在DM中的數(shù)據(jù)或?qū)?shù)據(jù)寫入到DM中;寫回階段WB(WriteBack),此階段將將計算結(jié)果寫回Reg。結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)插入暫停,解決結(jié)構(gòu)相關(guān)數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)①寫后讀相關(guān)(ReadAfterWrite,RAW)。j的執(zhí)行要用到i的計算結(jié)果,j可能在i寫入其計算結(jié)果之前就先行對保存該結(jié)果的寄存器進行讀操作②寫后寫相關(guān)(WriteAfterWrite,WAW)。j和i的目的寄存器一樣,但是當(dāng)其在流水線中采用亂序執(zhí)行時,j可能在i寫入其計算結(jié)果之前就先行對目的寄存器進行寫操作③讀后寫相關(guān)(WriteAfterRead,WAR)。j可能在i讀取某個寄存器的內(nèi)容之前就對該寄存器進行寫操作數(shù)據(jù)相關(guān)定向技術(shù)(旁路)解決數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)暫停解決數(shù)據(jù)相關(guān)控制相關(guān)基于暫停的控制相關(guān)解決方案分支轉(zhuǎn)移成功分支轉(zhuǎn)移失敗控制相關(guān)【例2-9】假設(shè)分支指令在目標(biāo)代碼中出現(xiàn)的概率是0.3,轉(zhuǎn)移成功概率為0.8,流水線執(zhí)行其它指令的CPI為1,按照上圖給出的分支指令處理規(guī)則,求此時的指令執(zhí)行的平均CPI。指令的平均CPI=分支指令CPI*分支指令比重+其它指令CPI*(1-分支指令比重)分支指令CPI=轉(zhuǎn)移成功指令比重*(1+轉(zhuǎn)移成功的開銷)+(1-轉(zhuǎn)移成功指令比
重)*(1+轉(zhuǎn)移失敗的開銷)根據(jù)圖中所示的規(guī)則,分支指令轉(zhuǎn)移成功后的開銷=2,分支指令轉(zhuǎn)移失敗的開銷=1;根據(jù)題目給出的已知條件,分支指令比重=0.3,其它指令CPI=1。此時指令執(zhí)行的平均CPI應(yīng)為:平均CPI=(1-0.3)*1+0.3*0.8*3+0.3*(1-0.8)*2=1.54控制相關(guān)基于預(yù)測失敗的控制相關(guān)解決方案分支轉(zhuǎn)移失敗分支轉(zhuǎn)移成功控制相關(guān)基于延遲分支的控制相關(guān)解決方案分支轉(zhuǎn)移失敗分支轉(zhuǎn)移成功控制相關(guān)(動態(tài)解決方案)分支目標(biāo)緩沖區(qū)(Branch-TargetBuffer,BTB)控制相關(guān)分支目標(biāo)緩沖處理的步驟控制相關(guān)【例2-10】設(shè)一個核心循環(huán)共循環(huán)100次,每次循環(huán)執(zhí)行10條指令,除最后一條用于循環(huán)控制的分支指令外,其它指令的CPI為1。方案1,采用靜態(tài)控制相關(guān)解決方案,始終預(yù)測分支指令不跳轉(zhuǎn),預(yù)測成功開銷為零,預(yù)測不成功開銷為2個時鐘周期;方案2,采用基于BTB的動態(tài)控制相關(guān)解決方案,預(yù)測成功開銷為零,預(yù)測不成功或不命中的真分支的開銷都為4個時鐘周期。求兩種方案下執(zhí)行此核心循環(huán)需要的時鐘周期數(shù)以及方案2相對方案1的性能加速比。控制相關(guān)方案1執(zhí)行時,由于僅最后1次分支指令能夠預(yù)測成功,因此需要的時鐘周期數(shù)是99*(10+2)+10=1198。方案2執(zhí)行時,分支指令第1次執(zhí)行時,由于分支指令不能在BTB中命中,但又真的會發(fā)生跳轉(zhuǎn);最后1次執(zhí)行時,BTB仍然會預(yù)測發(fā)生跳轉(zhuǎn),但此時分支指令不會發(fā)生跳轉(zhuǎn),因此這兩次的執(zhí)行時鐘周期數(shù)應(yīng)該是10+4;故總的時鐘周期數(shù)應(yīng)該是98*10+2*(10+4)=1008。方案2相對方案1的性能加速比=1198/1008≈1.19倍。/05流水線舉例ARM流水線舉例ARM7ARM9DLX流水線RISC32006級流水結(jié)構(gòu)嵌入式系統(tǒng)原理與設(shè)計第3章存儲系統(tǒng)組成與設(shè)計第3章01020304存儲器簡介常用存儲器存儲系統(tǒng)設(shè)計高速緩存系統(tǒng)設(shè)計/01存儲器簡介存儲原理存儲器是利用存儲介質(zhì)的不同穩(wěn)定狀態(tài)來存儲信息存儲介質(zhì)特點:①兩種穩(wěn)定狀態(tài);②方便檢測;③容易相互轉(zhuǎn)換。存儲器分類1.按存儲介質(zhì)分類
(1)半導(dǎo)體存儲器:速度快,用作內(nèi)存。
◆記憶原理:觸發(fā)器、電容(靜態(tài)、動態(tài))
◆雙極型晶體管(ECL、TTL、I2L)
◆場效應(yīng)管型MOS(PMOS、NMOS、CMOS)
(2)磁表面存儲器:容量大,用作外存。
(3)光存儲器:可靠性高,保存時間長。存儲器分類2.按存儲方式分類(1)隨機訪問存儲器RAM
存儲器的任意單元都可隨機訪問。
訪問時間與存儲單元的位置無關(guān)(2)只讀存儲器ROM
正常工作時只讀,能隨機讀出,不能隨機寫入?!鬗ROM:只讀◆PROM:一次寫◆可多次改寫ROM:EPROM、E2PROM存儲器分類2.按存儲方式分類(3)順序存取存儲器◆信息以文件形式組織,一個文件包含若干個塊,一個塊包含若干字節(jié);◆存儲時以數(shù)據(jù)塊為單位存儲,數(shù)據(jù)的讀取時間與數(shù)據(jù)物理位置關(guān)系極大;
◆速度慢,容量大,成本低;◆磁帶、電荷耦合器件CCD、VCD存儲器分類3.按存儲器信息的可保存性分(1)斷電后是否丟失數(shù)據(jù)◆易失性存儲器特點:斷電后,信息就丟失。如SRAM◆非易失性存儲器(永久性存儲器)特點:斷電后,信息不丟失。如磁盤(2)讀出后是否保持?jǐn)?shù)據(jù)
◆破壞性存儲器特點:讀出時,原存信息被破壞,需重寫。如:DRAM
◆非破壞性存儲器特點:讀出時,原存信息不被破壞。如:SRAM存儲器分類4.按在計算機系統(tǒng)中的作用分類
(1)高速緩沖存儲器:位于主存和CPU之間
(2)主存儲器:一般存在于CPU主板上,常用DRAM構(gòu)建,用來存儲計算
機運行期間較常用的大量的程序和數(shù)據(jù)。
(3)輔助存儲器:不能由CPU的指令直接訪問,必須通過專門的程序或?qū)?/p>
門的通道把所需的信息與主存進行成批交換,調(diào)入主存后才能使用。存儲器性能指標(biāo)
(1)存儲容量:存儲器所能存儲的二進制信息總量。
(2)速度:主存的一項重要技術(shù)指標(biāo)?!舸嫒r間:又稱訪問時間,是指從啟動一次存儲器操作到完成該操作所經(jīng)歷的時間?!舸鎯χ芷?指連續(xù)啟動兩次獨立的存儲體操作所需的最小時間間隔。它包括存儲器的存取時間和自身恢復(fù)時間存儲器性能指標(biāo)(3)帶寬(存儲器數(shù)據(jù)傳輸率、頻寬):
存儲器單位時間所存取的二進制信息的位數(shù)。帶寬=存儲器總線寬度/存取周期(4)價格(每位價格)存儲容量越大,存取速度越快,存儲器的價格也就越高。
除上述指標(biāo)外,影響存儲器性能的還有功耗、可靠性等因素。/02常用存儲器ROM存儲器ROM存儲芯片的基本結(jié)構(gòu)舉例:用三極管構(gòu)成4*4ROM存儲器ROM存儲器一次性編程只讀存儲器PROMPROM內(nèi)部是通過保險絲一樣的結(jié)構(gòu)進行內(nèi)部連接,只能編程一次。存儲位元的基本結(jié)構(gòu)有兩種:全“1”熔斷絲型、全“0”肖特基二極管型,ROM存儲器光擦除可編程只讀存儲器EPROM可重復(fù)擦除和寫入,寫入數(shù)據(jù)時,需要過紫外線照射芯片上的石英玻璃窗口將原存儲內(nèi)容抹去FG浮空柵,CG為控制柵,當(dāng)FG有電子積累時,該MOS管的開啟電壓變得很高,即使CG為高電平,該管仍不能導(dǎo)通,這種狀態(tài)代表存儲0。反之,F(xiàn)G無電子積累時,MOS管的開啟電壓較低,當(dāng)CG為高電平時,該管可以導(dǎo)通,這種狀態(tài)代表存儲1用EPROM實現(xiàn)組合邏輯www.islide.cc113RAM存儲器SRAM利用觸發(fā)器來存儲信息T1通導(dǎo),T2截止,為“1”狀態(tài);T2通導(dǎo),T1截止,為“0”狀態(tài)。RAM存儲器SRAM保持
字驅(qū)動線W處于低電位時,T5、T6截止,切斷了兩根位線與觸發(fā)器之間的聯(lián)系。寫入操作
寫入“1”:位線D上加低電位,位線D上加高電位,即B點為高電位,A點為低電位,導(dǎo)致T1導(dǎo)通,T2截止,保存了信息“1”。
寫入“0”:位線D上加高電位,位線D上加低電位,即B點為低電位,A點為高電位,導(dǎo)致T2導(dǎo)通,T1截止,保存了信息“0”。RAM存儲器SRAM讀操作若原存信息為“1”,即T1導(dǎo)通,T2截止。這時B點為高電位,A點為低電位,分別傳給兩根位線,使得位線D為低電位,位線D為高電位,表示讀出的信息為“1”。若原存信息為“0”,即T2導(dǎo)通,T1截止。這時A點為高電位,B點為低電位,分別傳給兩根位線,使得位線D為高電位,位線D為低電位,表示讀出的信息為“0”。RAM存儲器DRAM利用和晶體管集電極相連的電容的充放電來存儲信息定義:C上有電荷—“1”
C無電荷—“0”保持:字線w低,T截止,切斷了C的通路,
C上電荷狀態(tài)保持不變。當(dāng)然由于
漏電存在,需刷新。RAM存儲器DRAM寫入操作寫入“1”,位線D上加高電位,對電容C充電。寫入“0”,位線D上加低電位,電容C通過T放電。讀操作當(dāng)T導(dǎo)通以后,若原存信息為“1”,電容C上的電荷通過T輸出到位線上,在位線上檢測到電流,表示所存信息為“1”。若原存信息為“0,電容C上幾乎無電荷,在位線上檢測不到電流,表示所存信息為“0”。RAM存儲器由于有漏電阻存在,電容上的電荷不可能長久保存,需要周期地對電容進行充電,以補充泄漏的電荷,這個過程稱為DRAM刷新。從上一次對整個存儲器刷新結(jié)束到下一次對整個存儲器全部刷新一遍的時間間隔稱為刷新周期,刷新周期主要取決于電容的放電速度。集中式刷新,在刷新周期內(nèi)集中安排刷新時間,在刷新時間內(nèi)停止CPU的讀寫操作;分散式刷新,將系統(tǒng)的存取周期分成兩部分,前半期可用于正常讀寫或保持,后半期用于刷新;異步式刷新,把刷新操作平均分配到整個最大刷新間隔內(nèi)進行。RAM存儲器由于有漏電阻存在,電容上的電荷不可能長久保存,需要周期地對電容進行充電,以補充泄漏的電荷,這個過程稱為DRAM刷新。從上一次對整個存儲器刷新結(jié)束到下一次對整個存儲器全部刷新一遍的時間間隔稱為刷新周期,刷新周期主要取決于電容的放電速度。集中式刷新,在刷新周期內(nèi)集中安排刷新時間,在刷新時間內(nèi)停止CPU的讀寫操作;分散式刷新,將系統(tǒng)的存取周期分成兩部分,前半期可用于正常讀寫或保持,后半期用于刷新;異步式刷新,把刷新操作平均分配到整個最大刷新間隔內(nèi)進行。RAM存儲器假定DRAM允許的刷新周期為2ms,存儲器的存取周期為0.5μs,容量為16K×1位,存儲矩陣為128×128,在2ms內(nèi)要對128行全部刷新一遍。集中式刷新需要在2ms的周期末尾,對整個DRAM的128行刷新一遍,所需時間為128×0.5μs=64μs。RAM存儲器分散式刷新將系統(tǒng)的存取周期分成兩部分,前半期可用于正常讀寫或保持,后半期用于刷新。存儲芯片的存取周期:0.5
s系統(tǒng)存取周期應(yīng):1
sRAM存儲器異步式刷新把刷新操作平均分配到整個最大刷新間隔內(nèi)進行,相鄰兩行的刷新間隔為最大刷新間隔時間÷行數(shù)。在前述的128×128矩陣?yán)又校?ms內(nèi)分散地將128行刷新一遍,即每隔15.5μs(2000μs÷128≈15.5μs)刷新一行。閃存Flash閃存位元結(jié)構(gòu)與EPROM隧道氧化層的位元結(jié)構(gòu)類似。由兩個相互重疊的多晶硅柵組成,浮柵用來存儲電荷,以電荷多少來代表所存儲的數(shù)據(jù);控制柵作為選擇柵極起控制與選擇的作用。Flash和E2PROM的最大區(qū)別在于Flash按扇區(qū)操作,E2PROM則按字節(jié)操作,二者尋址方法不同。Flash的電路結(jié)構(gòu)較簡單,同樣容量占芯片面積較小,數(shù)據(jù)密度更高,降低了成本。閃存Flash分為NORFlash和NANDFlash。NOR表示或非門電路,NAND表示與非門電路。兩者主要存在以下幾點差異:(1)讀寫操作單位不同,NOR閃存以字節(jié)為單位,而NAND閃存以頁為單位(2)讀寫速度不同,NOR閃存隨機讀取速度快,NAND閃存編程和擦除速度更快。(3)存儲密度不同,NAND閃存單位面積的存儲密度更高。(4)接口復(fù)雜度及可靠性不同,NOR閃存接口簡單,可靠性高,而NAND閃存需
要用一些信道糾錯算法來保證數(shù)據(jù)的可靠性。(5)耐久性方面,NAND閃存編程/擦除次數(shù)通常大于NOR閃存。磁表面存儲器1.磁表面存儲器把某些磁性材料均勻地涂敷在載體的表面上,形成厚度為0.3~5μm的磁層,將信息記錄在磁層上,構(gòu)成磁表面存儲器。2.磁表面存儲器存儲信息的原理利用磁性材料在不同方向的磁場作用下,形成的兩種穩(wěn)定的剩磁狀態(tài)來記錄信息。磁表面存儲器3.磁表面存儲器信息編碼磁表面存儲器4.磁表面存儲器的讀寫操作◆磁頭:磁表面存儲器的讀寫元件。利用磁頭來形成和判
別磁層中的不同磁化狀態(tài)?!舸蓬^是由鐵氧化體或坡莫合金等高導(dǎo)磁率的材料制成的
電磁鐵,磁頭上繞有讀寫線圈,可以通過不同方向的電流?!魧懘蓬^:用于寫入信息的磁頭。讀磁頭:用于讀出信息的磁頭。復(fù)合磁頭:既可用于讀出,又可用于寫入的磁頭。磁表面存儲器磁表面存儲器的寫操作磁表面存儲器磁表面存儲器的讀操作機械硬盤◆磁盤存儲器由驅(qū)動器、控制器和盤片三部分組成◆磁盤驅(qū)動器又稱磁盤機或磁盤子系統(tǒng)用于控制磁頭與
盤片的運動及讀寫。是獨立于主機之外的完整裝置。◆機械硬盤是最常
見的磁性存儲器機械硬盤◆磁盤控制器主機與磁盤驅(qū)動器之間的接口,通常是插在主機總線插槽中的一塊印刷電路板。磁盤控制器的作用:接受主機發(fā)出的命令與數(shù)據(jù),轉(zhuǎn)換為驅(qū)動器的控制命令和數(shù)據(jù)格式,控制驅(qū)動器的操作。
機械硬盤◆盤片:存儲信息的介質(zhì)盤片磁道扇間空隙扇區(qū)機械硬盤◆記錄面:磁盤片表面稱為記錄面。盤片的上下兩面都能記錄信息?!舸诺溃河涗浢嫔弦幌盗型膱A。每個盤片表面通常有幾十到幾百個磁道。
磁道的編址:從外向內(nèi)依次編號,最外一個同心圓叫0磁道,最里面的
一個同心圓叫n磁道,n磁道里面的圓面積不用來記錄信息。◆扇區(qū):將盤面沿垂直于磁道的方向劃分成若干個扇區(qū)。扇區(qū)的編號方法:
可以連續(xù)編號,也可間隔編號?!糁妫▓A柱面):n個面上位于同一半徑的磁道形成一個圓柱面。磁盤
組的圓柱面數(shù)等于一個盤面的磁道數(shù)。機械硬盤◆磁盤地址的表示
例如,若某盤片組有8個記錄面,每個盤面分成256條磁道,8個扇區(qū);當(dāng)主機要訪問其中第5個記錄面上,第65條磁道,第7個扇區(qū)的信息時,則主機應(yīng)向磁盤控制器提供如下的地址信息:
0100000l101111磁道號盤面號扇區(qū)號機械硬盤【例3-1】某機械硬盤的磁盤組有6片磁盤,每片有兩個記錄面,最上最下兩個面不用。存儲區(qū)域內(nèi)徑22cm,外徑33cm,道密度為40道/cm,內(nèi)層位密度400位/cm,轉(zhuǎn)速2400轉(zhuǎn)/分,平均尋道時間為10ms。問:(1)共有多少柱面?(2)盤組總存儲容量是多少?(3)數(shù)據(jù)傳輸率多少?(4)平均尋址時間是多少?機械硬盤解:(1)有效存儲區(qū)域=16.5-11=5.5(cm)
因為道密度=40道/cm,所以共有40×5.5=220道,即220個圓柱面。(2)內(nèi)層磁道周長為2πR=2×3.14×11=69.08(cm)
每道信息量=400位/cm×69.08cm=27632位=3454B
每面信息量=3454B×220=759880B
盤組總?cè)萘浚?59880B×l0=7598800B=7.25MB(3)磁盤數(shù)據(jù)傳輸率Dr=r×N,N為每條磁道容量,r為磁盤轉(zhuǎn)速。
又N=3454B,r=2400轉(zhuǎn)/60秒=40轉(zhuǎn)/秒,故
Dr=r×N=40×3454B=13816B/s。機械硬盤解:(4)磁盤旋轉(zhuǎn)一圈的時間為t=60/2400*1000=25ms平均尋址時間Ta=10ms+25/2ms=22.5ms固態(tài)硬盤固態(tài)硬盤結(jié)構(gòu)固態(tài)硬盤固態(tài)硬盤局限:1)閃存只提供讀、寫和擦除3種操作,且這三種操作性能不對稱,讀最快,寫次之,擦除最慢;2)閃存是按頁、塊、平面的結(jié)構(gòu)進行組織;頁是讀/寫的最小單位,一般為2/4/8KB;塊是擦除的最小單位,一個塊一般包含64/128個頁;3)閃存擦除后只能寫一次,即所謂的erase-before-write,這造成閃存不支持原地更新;4)閃存每個存儲單元的編程/擦除(P/E)次數(shù)有限,超過該P/E次數(shù)后,閃存存儲數(shù)據(jù)不再可靠。固態(tài)硬盤固態(tài)硬盤優(yōu)點:(1)速度快。固態(tài)硬盤無需通過磁頭的機械旋轉(zhuǎn)來訪問數(shù)據(jù),是機械硬盤存取速度的數(shù)倍。(2)耐用防震。固態(tài)硬盤內(nèi)部不存在任何機械部件,由于碰撞震動導(dǎo)致數(shù)據(jù)丟失
的可能性很小。(3)無噪聲。得益于無機械部件,固態(tài)存儲器工作噪聲值為0分貝。(4)重量輕。同樣存儲容量的固態(tài)硬盤體積要更小,便于攜帶。(5)功耗低。固態(tài)硬盤無機械結(jié)構(gòu),功耗來源主要是內(nèi)部芯片,因此功耗低。(6)工作環(huán)境要求低。傳統(tǒng)硬盤受限于其機械結(jié)構(gòu),溫度過低會導(dǎo)致金屬的鈍化,
溫度過高會引起機械部件膨脹,這限制了傳統(tǒng)硬盤的工作環(huán)境溫度。/03存儲系統(tǒng)設(shè)計主存儲器的讀寫主存數(shù)據(jù)傳輸示意圖主存儲器的讀寫主存和CPU之間的連接示意圖主存儲器的讀寫主存的基本讀寫操作示意圖存儲系統(tǒng)的大小端1.兩種多字節(jié)數(shù)據(jù)排列順序◆高端優(yōu)先(bigendian)
數(shù)值的最高字節(jié)存儲在單元X中,次高字節(jié)存儲在單元X+1中◆低端優(yōu)先(littleendian)
最低字節(jié)存儲在單元X中,次低字節(jié)存儲在X+1中存儲系統(tǒng)的大小端1.兩種多字節(jié)數(shù)據(jù)排列順序多字節(jié)存儲的另一個值得關(guān)注的問題是對齊問題。例如,摩托羅拉68040CPU能同時讀入4個字節(jié)的數(shù)據(jù),然而,這4個字節(jié)必須在連續(xù)的單元中,它們的地址除了最低兩位不同之外,其余的位均相同。這也就是說,該CPU可以同時讀單元100、101、102和103,但不能同時讀單元101、102、103和104。后者需要兩個讀操作,一個操作讀100、101、102和103,另一個操作讀104、105、106和107;其中100、105、106和107都是不需要的讀操作,這浪費了CPU的性能。www.islide.cc148存儲器字位擴展位擴展【例3-2】用4K×2位的RAM存儲芯片構(gòu)成4K×8位的存儲器。需要四個4K×2位芯片。12位地址A0~A11、片選線CS和讀寫使能線R/W都連接到各個芯片對應(yīng)線上。8位數(shù)據(jù)總線D0~D7分成4組,每組包括2跟線存儲器字位擴展字?jǐn)U展【例3-2】用4K×2位的RAM存儲芯片構(gòu)成4K×8位的存儲器。需要16K×8位的芯片4個。用16位地址線中的低14位A13~A0進行存儲芯片片內(nèi)尋址,高兩位地址A15、A14用于選擇芯片。存儲器從0000H開始連續(xù)編址第一片地址:0000H~3FFFH第二片地址:4000H~7FFFH第三片地址:8000H~BFFFH第四片地址:C000H~FFFFH存儲器字位擴展字位擴展字位擴展的一般方法為:選擇芯片現(xiàn)進行位擴展,擴展成組,使得組的位數(shù)達(dá)到要求;再用組進行字?jǐn)U展,按照字?jǐn)U展的方法將將字?jǐn)?shù)加到目標(biāo)字?jǐn)?shù)。擴展為
M>m,N>n)容量的存儲器,進行字位擴展共需要的芯片數(shù)量為:存儲器字位擴展【例3-4】用2K×4位的RAM存儲器芯片構(gòu)成4K×8位的存儲器。4K×8位存儲器需要4個2K×4位的存儲芯片構(gòu)成。先將4個芯片兩兩組合進行位擴展組成2K×8位的存儲組。當(dāng)A11地址線為0時,選擇前兩個芯片構(gòu)成的2K×8位存儲器組,A11地址線為0時,選擇后兩個芯片構(gòu)成的2K×8位存儲器組。地址線的A10~A0為片內(nèi)地址,同時接在4個芯片上。數(shù)據(jù)輸出8位數(shù)據(jù),D0~D7整體連接如圖所示。設(shè)存儲器從0000H開始連續(xù)編址,則四塊芯片的地址分配為:
第一組芯片地址范圍為:0000H~07FFH第二組芯片地址范圍為:0800H~0FFFH存儲器字位擴展分層存儲系統(tǒng)設(shè)計存儲器分層結(jié)構(gòu)分層存儲系統(tǒng)設(shè)計對分層存儲系統(tǒng)的性能評價(1)命中率H命中率為CPU訪問存儲系統(tǒng)時,在M1中找到所需數(shù)據(jù)的概率。若在程序執(zhí)行過程中,訪問M1和M2的次數(shù)分別為N1和N2,則命中率H定義為:分層存儲系統(tǒng)設(shè)計對分層存儲系統(tǒng)的性能評價(2)平均訪問時間TA假設(shè)訪問在M1命中需要的訪問時間為TA1;當(dāng)訪問在M1不命中,則需向M2發(fā)出訪問請求。此時,需要把M2中包含請求數(shù)據(jù)的信息塊傳送到M1,CPU才能得到需要的數(shù)據(jù)。假設(shè)M2的訪問時間是TA2,把一個信息塊從M2傳送到M1的時間為TB,則M1不命中時的數(shù)據(jù)訪問時間為:其中
稱為失效開銷,平均訪問時間為:分層存儲系統(tǒng)設(shè)計對分層存儲系統(tǒng)的性能評價(3)存儲系統(tǒng)的平均位價格C上式中,S1和C1是M1的容量和每位價格,S2和C2是M2的容量和每位價格。/04高速緩存系統(tǒng)設(shè)計緩存基本原理1.Cache設(shè)計的依據(jù)Cache設(shè)計的依據(jù)是程序執(zhí)行時訪問存儲器具有局部性特點,簡稱局部性。局部性又分為時間局部性和空間局部性。時間局部性是指正在訪問的指令和數(shù)據(jù),很有可能不久以后該指令和數(shù)據(jù)可能再次被訪問??臻g局部性是指正在訪問的指令和數(shù)據(jù)的臨近存儲單元在不久以后很有可能被訪問。緩存基本原理2.有Cache下的主存讀訪問過程數(shù)據(jù)交換的大小CPU與Cache:字節(jié)/半字/字?jǐn)?shù)據(jù)交換大?。簤K(通常4~256個字)緩存基本原理3.Cache的關(guān)鍵性能指標(biāo)Cache性能評價的關(guān)鍵指標(biāo)是Cache命中率,它是指CPU要訪問的內(nèi)容在Cache中的比率。具體計算方法如下,設(shè)程序執(zhí)行期間訪問Cache的命中次數(shù)為Nc,失配次數(shù)為Nm,則Cache的命中率H為:主存與Cache的地址映像規(guī)則直接映像直接映像:將主存塊號除以Cache塊數(shù),余數(shù)即為該主存塊在Cache中的位置;也就是說,映射到同一個Cache塊的主存塊號相對Cache塊數(shù)“同余”主存地址分成三段:標(biāo)識、塊號、塊內(nèi)偏移量標(biāo)識數(shù)據(jù)主存與Cache的地址映像規(guī)則全相聯(lián)映像主存的任意塊可以映像到Cache的任意塊,即無論是主存塊到Cache塊,還是Cache塊到主存塊,都是多對多的映射主存地址分成兩段:標(biāo)識、塊內(nèi)偏移量主存與Cache的地址映像規(guī)則組相聯(lián)映像組相聯(lián)映像方式是先將Cache塊分為若干組,每組中有相同數(shù)量的Cache塊,再將主存塊按與Cache的組數(shù)進行分組,主存中的任何一組只能映像到Cache中的某一固定組(類似直接映像),但同一組中的主存塊可放置在Cache中指定組內(nèi)的任意塊中(類似全相聯(lián)映像)主存與Cache的地址映像規(guī)則采用組相聯(lián)映像方式時,主存地址分成三段:標(biāo)識、組號、塊內(nèi)偏移量,與直接映像的標(biāo)識、塊號、塊內(nèi)偏移量作用類似設(shè)主存有2n塊,Cache有2m塊,包括G=2g個組,可以看到:若g=0、G=1,即Cache只有1個組,共包含2m個塊,此時為全相聯(lián)映像Cache。若g=m、G=2m,即Cache有2m個組,每個組只有1個塊,此時為直接映像Cache。若0<g<m,即Cache有2g個組,每個組里有k=2m-g個塊,此時稱這種組相聯(lián)映像方式為k路組相聯(lián)Cache。主存與Cache的地址映像規(guī)則【例3-5】某采用組相聯(lián)映像的主存-Cache系統(tǒng)中,主存容量為1MB,Cache的容量為16KB,按256B分塊,Cache采用4路組相聯(lián)。請確定主存、Cache的地址結(jié)構(gòu)?!咧鞔嫒萘?MB=220B,∴主存地址長度為20位;∵Cache塊大小為256B=28B,∴主存可分為220/28=212個塊,塊內(nèi)偏移地址長8位?!逤ache容量16KB=214B,∴Cache地址長度為14位;∵Cache塊大小為256B=28B,∴Cache可分為214/28=26個塊,塊內(nèi)偏移地址長8位?!逤ache每組包含4塊,∴Cache共分為26/4=24=16組,組地址長度為4位。進一步,主存20位地址的從高到低的構(gòu)成為:8位標(biāo)識位、4位組號位,8位塊內(nèi)偏移地址位。續(xù):訪問流程www.islide.cc1671.用主存地址的4位組號位訪問對應(yīng)的Cache組2.檢查對應(yīng)組包含的塊的標(biāo)識位與地址碼的標(biāo)識位是否相等3.若相等,則繼續(xù)檢查有效位為14.若第2/3步的結(jié)果都為真,判斷命中,根據(jù)主存塊內(nèi)偏移地址訪問命中的cache塊5.否則,cache訪問不命中(失配),用主存塊號(標(biāo)識+組號)訪問主存
Cache的替換算法與寫策略1.當(dāng)訪存Cache不命中時,必須從主存中調(diào)入所需塊。此時,若Cache已滿,則必須按一定算法從Cache中選擇一個塊將其替換出去,然后才能調(diào)入新塊。隨機替換法為均勻使用一組中的各塊,隨機替換法隨機地選擇被替換的塊。隨機替換策略實際上是不要什么算法,只需要隨機產(chǎn)生一個符合映像規(guī)則的塊號,然后將此塊從Cache中替換出去即可。Cache的替換算法與寫策略先進先出法先進先出法(FirstInFirstOut,FIFO)是按塊調(diào)入Cache的先后決定替換順序,即需要替換時,總是淘汰最先調(diào)入Cache的塊。最近最少使用法最近最少使用法(Least
Recently
Used,LRU)是把近期最少使用的Cache塊替換出去。對Cache的每個塊設(shè)置一個計數(shù)器,當(dāng)塊命中后,其對應(yīng)的計數(shù)器清零,其它塊計數(shù)器增1。當(dāng)需要替換時,比較符合映像規(guī)則的塊的計數(shù)器值,將計數(shù)值最大的塊替換出。Cache的替換算法與寫策略最不經(jīng)常使用法最不經(jīng)常使用法(LeastFrequentlyUsed,LFU)每塊設(shè)置一個計數(shù)器,從0開始計數(shù);每訪問一次,被訪問塊的計數(shù)器增1。當(dāng)需要替換時,比較符合映射規(guī)則的Cache塊的計數(shù)值,將計數(shù)值最小的塊替換出,同時將這些塊的計數(shù)器都清零。這種方法實際上是將計數(shù)周期限定在對這些特定塊兩次替換之間的間隔時間內(nèi),因而不能嚴(yán)格反映近期訪問情況。Cache的替換算法與寫策略2.若替換時該塊在Cache時已經(jīng)被改寫過,則需要將被替換的Cache塊寫回主存,以保證數(shù)據(jù)的一致性。寫直達(dá)法在寫Cache的同時也將數(shù)據(jù)寫入主存。采用寫直達(dá)法,數(shù)據(jù)被同時寫入Cache和主存中,保證了主存中的數(shù)據(jù)與Cache中的數(shù)據(jù)一直是一致的。寫回法當(dāng)CPU執(zhí)行寫操作時,只寫Cache不寫主存,只有當(dāng)被寫的Cache塊要被替換出去時才將已修改過的Cache塊寫回主存,減少主存的寫操作次數(shù),提高系統(tǒng)寫操作的速度Cache的替換算法與寫策略3.Cache寫失效策略若要被寫的塊不在Cache中,即寫失效時,有兩種策略決定是否將相應(yīng)的塊調(diào)入Cache。按寫分配法當(dāng)寫失效時,先把所寫單元所在的塊調(diào)入Cache,然后再進行寫入。與讀失效類似,這種方法也稱為寫時取。不按寫分配法寫失效時,直接寫入下一級存儲器而不將相應(yīng)的塊調(diào)入Cache。這種方法也稱為繞寫。Cache的替換算法與寫策略【例3-6】某采用2路組相聯(lián)映像的主存-Cache系統(tǒng)中,設(shè)Cache容量為8個塊,主存容量為256個塊;替換策略為LRU?,F(xiàn)假設(shè)Cache處于初始狀態(tài)(即Cache還未存儲有效數(shù)據(jù)),CPU依次要訪問主存塊0,1,2,3,245,246,247,0,4,248,245,0,245,0,6,245,248,245,127,0中的數(shù)據(jù)。請給出Cache的數(shù)據(jù)存儲過程,并計算此時Cache的命中率。Cache的替換算法與寫策略根據(jù)題意可知,Cache的組數(shù)為8/2=4組,每組包括2個塊。任意一個主存塊在Cache中的組號i=主存塊號mod4。Cache的數(shù)據(jù)存儲過程如圖3-37所示。該圖中,-代表Cache還未存有效數(shù)據(jù),H代表命中,M代表失配(即不命中)。此外,圖3-37中的LRU原則是通過組內(nèi)塊的先后順序體現(xiàn)的,每組中第1個塊為最近訪問塊(MRU塊),第2個塊為最近最少訪問塊(LRU塊)。在20次存儲訪問中,有8次在Cache命中,所有此Cache的命中率為8/20=40%。Cache的替換算法與寫策略嵌入式系統(tǒng)原理與設(shè)計第4章總線與接口第4章01020304總線基本概念總線操作常用總線標(biāo)準(zhǔn)常用接口標(biāo)準(zhǔn)/01總線基本概念總線基本概念1.總線定義總線是在模塊與模塊之間或者設(shè)備與設(shè)備之間傳送信息的一組公用信號線,是系統(tǒng)在主控器(模塊或設(shè)備)的控制下,將發(fā)送器(模塊或設(shè)備)發(fā)出的信息準(zhǔn)確地傳送給某個接收器(模塊或設(shè)備)的信號通路??偩€基本概念2.總線分類(1)按數(shù)據(jù)的傳輸方式分類按數(shù)據(jù)的傳輸方式可以將總線分為并行總線和串行總線兩類。并行總線指數(shù)據(jù)位在多條數(shù)據(jù)線上并行傳輸,數(shù)據(jù)線的數(shù)量等于數(shù)據(jù)的寬度。在并行總線中,按傳輸數(shù)據(jù)寬度分為8位、16位、32位、64位等傳輸總線。總線基本概念2.總線分類(2)按總線傳輸信息性質(zhì)分類數(shù)據(jù)總線上傳輸?shù)氖歉鞴δ懿考g的數(shù)據(jù)信息,一般為雙向傳輸總線,數(shù)據(jù)總線的寬度一般等于機器字長,常為8位、16位或32位。地址總線用來傳輸數(shù)據(jù)(指令也可以認(rèn)為是一種數(shù)據(jù))在主存單元或I/O設(shè)備的地址。地址總線是單向總線,一般由CPU輸出??刂瓶偩€發(fā)出各種控制信號。由于數(shù)據(jù)總線、地址總線都是被掛在總線上的所有部件共享的,如何使各部件能在不同時刻占有總線使用權(quán),需依靠控制總線來完成??偩€基本概念3.總線的性能指標(biāo)(1)總線位寬總線位寬指的是總線上能同時傳送的二進制數(shù)據(jù)位數(shù)。常說的32位總線、64位總線指的就是總線位寬。(2)總線工作頻率總線工作頻率指的是用于控制總線操作周期的時鐘信號頻率。(3)總線帶寬總線帶寬指的是單位時間內(nèi)總線上可傳送的數(shù)據(jù)量,又稱最大傳輸率,一般以Bps為單位,即每秒可以傳輸?shù)淖止?jié)數(shù)。總線帶寬=總線工作頻率×總線位寬/8總線基本概念4.總線結(jié)構(gòu)單總線結(jié)構(gòu)使用單一的總線來連接CPU、主存和I/O設(shè)備總線基本概念4.總線結(jié)構(gòu)多總線結(jié)構(gòu)中,包括CPU總線、系統(tǒng)總線、高速總線、擴充總線。由于各種總線的速度不一致,因此需要一種稱為“橋”的部件實現(xiàn)多種總線的互聯(lián)互通。/02總線操作總線操作階段(1)申請分配階段。由需要使用總線的模塊提出申請,由總線仲裁模塊決定將下一個傳輸周期的總線使用權(quán)(2)尋址階段。取得使用權(quán)的模塊通過總線發(fā)出本次要訪問的從模塊的地址及有關(guān)命令(3)傳數(shù)階段。主模塊和從模塊進行數(shù)據(jù)交換(4)結(jié)束階段。主模塊總線上撤除,讓出總線使用權(quán)??偩€仲裁1.集中式總線仲裁(1)鏈?zhǔn)讲樵兛刂瓶偩€中有3根線用于總線控制(BS-總線忙、BR-總線請求、BG-總線同意),其中總線同意信號BG是串行地從一個I/O接口送到下一個I/O接口。離總線仲裁部件最近的設(shè)備具有最高的優(yōu)先級??偩€仲裁1.集中式總線仲裁(2)計數(shù)器定時查詢總線仲裁部件接到由BR送來的總線請求信號后,在總線未被使用(BS=0)時,總線仲裁的計數(shù)器計數(shù),并通過設(shè)備地址線,向各設(shè)備發(fā)出計數(shù)值。當(dāng)某個請求占用總線的設(shè)備的設(shè)備地址與計數(shù)值一致時,獲得總線使用權(quán),建立總線忙BS信號??偩€仲裁1.集中式總線仲裁(3)獨立請求方式每一臺設(shè)備均有一對總線請求線Bri和總線同意線Bgi
。當(dāng)設(shè)備要求使用總線時,便發(fā)出該設(shè)備的請求信號??偩€控制部件中有一排隊電路,可根據(jù)優(yōu)先次序確定響應(yīng)哪一臺設(shè)備的請求??偩€仲裁2.分布式仲裁分布式仲裁中,每個主控設(shè)備都有自己的仲裁號和仲裁器。當(dāng)需要總線請求時,把它們唯一的仲裁號發(fā)送到共享的仲裁總線上。每個仲裁器將仲裁總線上得到的號與自己的號進行比較。如果仲裁總線上的號大,則它的總線請求不予響應(yīng),并撤銷它的仲裁號。最后,獲勝者的仲裁號保留在仲裁總線上??梢?,分布式仲裁是以優(yōu)先級仲裁策略為基礎(chǔ),分布式仲裁下仲裁號愈大優(yōu)先級愈高。總線仲裁2.分布式仲裁假定仲裁總線由8根仲裁線組成,則可以分配28個仲裁號。競爭線默認(rèn)為邏輯“1”,仲裁線的邏輯為“線或”總線仲裁2.分布式仲裁【例4-1】假定設(shè)備1和設(shè)備2同時要求使用總線,它們的仲裁號分別為00000101和00001010,解釋兩個設(shè)備的分布式仲裁過程。兩個設(shè)備的CN7~CN4經(jīng)過如圖4-5的邏輯后,AB7~AB4均為1。設(shè)備1的CN3為0,設(shè)備2的CN3為1,經(jīng)過仲裁后AB3為0。此時設(shè)備1中AB3對應(yīng)的或門電路的輸入為CN3=0和AB3=0,所以對應(yīng)的競爭線W3輸出為0。根據(jù)電路邏輯,設(shè)備1的后續(xù)仲裁結(jié)果均為1,與仲裁號CN無關(guān)。而設(shè)備2的CN3為1,其對應(yīng)的競爭線W3輸出為仍為1
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠化景觀對體育場地土壤侵蝕防治的作用考核試卷
- 做人與做事(人與自我 )-2024年高考英語話題寫作攻略(解析)
- 醫(yī)療器械零售品牌建設(shè)考核試卷
- 農(nóng)業(yè)保險產(chǎn)品設(shè)計與化肥產(chǎn)業(yè)風(fēng)險管理效率評估考核試卷
- 志愿者服務(wù)與管理體系的可持續(xù)發(fā)展路徑考核試卷
- 小升初熱點命題:長方體和正方體(含答案)-蘇教版六年級數(shù)學(xué)下冊
- 數(shù)字化技能培訓(xùn)平臺建設(shè)考核試卷
- 園藝植物遺傳育種??荚囶}與參考答案解析
- 工程施工質(zhì)量誤差限度規(guī)定
- 部編版三年級語文上冊第六單元綜合達(dá)標(biāo)測試(A卷)單元試卷(含答案)
- 《SMT基礎(chǔ)培訓(xùn)資料》課件
- 學(xué)校維修維護合同模板
- 設(shè)備安裝應(yīng)急應(yīng)對預(yù)案
- 民事訴訟委托書
- 高考物理一輪復(fù)習(xí)考點精講精練第21講 磁場的描述 磁場對電流的作用(原卷版)
- 《國家電網(wǎng)有限公司電力建設(shè)安全工作規(guī)程第4部分:分布式光伏》知識培訓(xùn)
- 生豬屠宰及肉制品深加工項目可行性研究報告
- 2024-2025學(xué)年江蘇省南京二十九中學(xué)數(shù)學(xué)九年級第一學(xué)期開學(xué)監(jiān)測試題【含答案】
- 2024年個人公司代持股協(xié)議書
- 2024年廣西氣象行業(yè)職業(yè)技能競賽(綜合業(yè)務(wù)理論)試題庫(含答案)
- 初中一年級思維邏輯訓(xùn)練數(shù)學(xué)題300道附答案
評論
0/150
提交評論