• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于單體多字與多體并行系統(tǒng)優(yōu)化主存結(jié)構(gòu)研究

      2022-07-14 09:46:58陳益
      企業(yè)科技與發(fā)展 2022年4期
      關(guān)鍵詞:存儲芯片

      陳益

      【摘 要】主存和CPU之間的速度差距導(dǎo)致了CPU執(zhí)行效率的降低。對主存進行結(jié)構(gòu)優(yōu)化、采用高效性能存儲芯片、增加存儲器帶寬及構(gòu)建多層次存儲結(jié)構(gòu)在改善二者速度差距上都有積極的作用。相比而言,以單體多字和多體并行的方法對主存結(jié)構(gòu)進行優(yōu)化,能用更小的成本獲得更理想的效果,尤其是多體并行系統(tǒng)的低位交叉方式,對縮小主存和CPU之間速度差距有積極作用。對比得知,從結(jié)構(gòu)上對主存進行調(diào)整,可以在一定程度上縮小主存與CPU之間的速度差距。

      【關(guān)鍵詞】存儲芯片;帶寬;主存結(jié)構(gòu)優(yōu)化;單體多字;多體并行

      【中圖分類號】G642 【文獻標識碼】A 【文章編號】1674-0688(2022)04-0035-03

      0 引言

      隨著半導(dǎo)體技術(shù)和集成電路技術(shù)的發(fā)展,精簡指令芯片(RISC)技術(shù)的應(yīng)用,主存(或存儲器)運行速度和CPU運行速度的差異日趨增大,造成了計算機主機系統(tǒng)的不均衡發(fā)展[1]。采用高性能的存儲芯片,能讓速度更快、帶寬更大、訪問延遲更小,但對高速器件性能的挖掘存在達到物理極限的問題;主存-Cache結(jié)構(gòu),在主存和CPU之間放一個小容量的Cache,將CPU常用的信息放在Cache中,整機的速度能得到很大的提高,但Cache的集成度低、功耗大、價格高、容量小,增加了Cache的容量,這必然增大了硬件成本開銷[2]。這些方法對提高訪存速度有一定的作用,但都有各自的局限[3]。本文以調(diào)整主存自身結(jié)構(gòu)為研究對象,通過對主存結(jié)構(gòu)優(yōu)化,提高訪存速度。

      1 單體多字系統(tǒng)

      現(xiàn)代計算機結(jié)構(gòu)中,最影響機器效率和速度的就是主存。CPU執(zhí)行程序時所需的指令、數(shù)據(jù)均來自主存,運行的結(jié)果保存到主存,如主存運行速度很慢,CPU無論運行速度多快都無法提高整機速度。CPU得不到所需要的指令和數(shù)據(jù),只能空等,這種現(xiàn)象在計算機系統(tǒng)結(jié)構(gòu)中稱為“主存墻”,主存墻是影響計算機系統(tǒng)性能的主要因素之一。通過對主存的結(jié)構(gòu)進行優(yōu)化可在一定程度上緩解主存墻現(xiàn)象。

      CPU執(zhí)行一條指令,至少要完成取指令和執(zhí)行指令兩個步驟。假設(shè)主機的存儲字長、機器字長、指令字長3者相等,取指令時在存儲器中只能取出一條指令;執(zhí)行指令時在存儲器中取數(shù)據(jù),一次也只能取出和機器字長等長的數(shù)據(jù)。此時,存儲器和CPU速度存在的差異,可以通過單體多字系統(tǒng)調(diào)整主存結(jié)構(gòu)的方式得以調(diào)整。

      單體多字的核心是在單個存儲體中增加存儲器的存儲字長。假如CPU的機器字長是16位,存儲器的存儲字長設(shè)成64位,CPU每次訪問存儲器,可以訪問4個機器字,每個機器字都是一條機器指令或長度為16位的數(shù)據(jù),CPU一次性把4個值從主存中取出放在數(shù)據(jù)寄存器(MDR)中,下一次直接從MDR中把需要的指令或數(shù)據(jù)取走,這個方法可以增加存儲器的帶寬[4]。

      單體多字方式每一個存儲單元包括4個機器字,但是4個機器字存取時是以整體的方式進行的,因此存在一些問題:其一,CPU向存儲器的某存儲單元寫長度為16位的字,它先將字寫入單字長寄存器中,再寫入4個字長的MDR中,最后寫入存儲器中。對16位數(shù)據(jù)寫入的操作,會導(dǎo)致其他48位也被寫入給定的存儲單元中,并且這48位被修改的還可能是錯誤的信息。如果要讓這樣的存儲器完成16位單字長的寫入,需要在存儲器的內(nèi)部增加專門的硬件,使存儲器結(jié)構(gòu)更加復(fù)雜。其二,如果要取的指令或數(shù)據(jù)不是連續(xù)存放在相鄰的地址中,或不是連續(xù)存放在一個存儲字中,用戶一次性取出了4條指令,執(zhí)行完第1條指令后,由(PC)+1的下一條指令,即第2條指令若是跳轉(zhuǎn)指令且跳轉(zhuǎn)的范圍大大超出了4個儲存字,那么所取的4條指令僅第1條有用,其他3條均無用,浪費了資源?;谝陨戏治觯枰獙误w多字方式做相應(yīng)的改進。

      2 多體并行系統(tǒng)

      多體并行的基本思想是在不提高存儲器效率、不擴展數(shù)據(jù)通路位數(shù)的前提下,通過對存儲芯片的組織布局,提高CPU單位時間內(nèi)訪問的數(shù)據(jù)量,以此緩解CPU與主存之間的速度差異問題。多體并行是一種采用多體模塊組成的存儲器系統(tǒng),分為高位交叉和低位交叉兩種方式。以下對兩種交叉方式的介紹,均以4個存儲體為例,編號從M0~M3。

      2.1 高位交叉方式

      所謂高位交叉,是指給存儲體構(gòu)成的存儲器編址時,從M0存儲體開始,依次為M0中每個存儲單元編址,直到最后一個存儲單元為止,然后以同樣的方式為存儲體M1、M2、M3編址,直到為存儲體M3的最后一個存儲單元編址完為止(也稱為“順序交叉”)。

      2.1.1 高位交叉執(zhí)行過程

      分析4個存儲體的執(zhí)行過程,假定M0~M3的每個存儲體包括16個存儲單元,地址分配空間為00 0000-11 1111,前面的兩位00-11,這是存儲體的編號,選中M0~M3中的任意一個存儲體,后面的4位0000-1111是體內(nèi)地址,經(jīng)地址譯碼后選中0~15號的任意一個存儲單元。CPU給出一個地址,地址的前兩位作為存儲體的體號,完成對存儲體的尋址,選中M0~M3的任意一個存儲體;后4位是體內(nèi)地址,經(jīng)地址譯碼后選定體內(nèi)的某一個存儲單元。如果CPU給出的6位地址中前2位是00,即選中存儲體M0,對后4位譯碼得到存儲體M0內(nèi)部的一個具體存儲單元。假如每一個存儲體都有自己的控制電路(MAR、MDR、地址譯碼器等),能夠?qū)ψx寫信號進行鎖存,4個存儲體就可以并行工作。

      此方法將多個存儲體進行了獨立,并且每個存儲體都有自己獨立的控制電路用于完成各種操作,4個存儲體有并行工作的基礎(chǔ)。執(zhí)行過程如圖1所示[5]。

      2.1.2 高位交叉應(yīng)用分析

      在4個存儲體的高位交叉方式中,高2位選中存儲體,低4位作為體內(nèi)地址尋找指定存儲單元的過程,其實質(zhì)是對存儲器容量進行擴展,尤其是對地址范圍(字)的擴展。高位交叉的方式雖然具備了并行工作的基礎(chǔ),但是對程序或數(shù)據(jù)存取的特征分析不難發(fā)現(xiàn),存在各個存儲體工作強度不一致的狀況。程序在計算機中是按順序存儲的,用戶使用一個程序,如果第1條指令存放在M0的第0號存儲單元,下一條指令存在第1號存儲單元……第16條指令存在第15號存儲單元,指令按序執(zhí)行,執(zhí)行程序的過程中,M0這個存儲體不停地被CPU訪問,工作繁忙,其他的3個存儲體是空閑的。

      高位交叉執(zhí)行過程出現(xiàn)了并行的雛形,但以程序或數(shù)據(jù)組織的特征進行分析,相鄰地址的數(shù)據(jù)處于同一存儲體、一個地址寄存器,多模塊串行(局部性原理)性能無提升,但為擴充容量提供了方便。此方式容易造成某個存儲體頻繁地被CPU訪問,其他的存儲體卻是空閑的,因此必須想辦法解決高位交叉中存在的問題。

      2.2 低位交叉方式

      高位交叉方式是對一個存儲體進行編址完后,再對另一個存儲體進行編址,屬于縱向編址方式,存在的問題是每個存儲體的工作不均等?,F(xiàn)在改變編碼方式,進行橫向編址。

      2.2.1 低位交叉地址編址

      以存儲體M0~M3為例,M0的首址是0000 00,M1的首址是0000 01,M2的首址是0000 10,M3的首址是0000 11,按照這種順序給每個存儲體的每個存儲單元進行編址。地址特征后2位對M0來說是00,M1是01,M2是10,M3是11,用來選中某個存儲體,前4位是存儲體的體內(nèi)地址,經(jīng)譯碼后選擇具體的存儲單元。CPU任意給出一個地址,分為低2位的體號地址和高4位的體內(nèi)地址2個部分。低位地址譯碼后選定存儲體,高位地址譯碼后選定存儲體內(nèi)的某個存儲單元。如果4個存儲體完全獨立,獨立地讀寫控制電路,能進行地址、數(shù)據(jù)、控制信號的鎖存,能并行工作,采用輪流的方式對每個存儲體編址。這便是低位交叉方式的編址全過程[6]。

      2.2.2 低位交叉執(zhí)行過程

      低位交叉執(zhí)行一個程序的過程為代碼在存儲體中按照地址進行順序存儲,第1條指令存放在M0的第一個存儲單元,第2條存放在M1的第一個存儲單元,第3條存放在M2的第一個存儲單元,第4條存放在M3的第一個存儲單元,第5條存放在M0的第二個存儲單元,以此類推直到最后一條存放在M3的最后一個存儲單元為止。CPU在取指令時,在一個訪存周期的開始給出訪問的地址,包括體號和體內(nèi)地址,這個信號假如訪問的是M0,它將內(nèi)部地址和讀寫命令進行鎖存,然后完成讀操作,之后CPU在同一個主存周期中再次傳輸?shù)刂?、控制命令給M1,輪流對M0~M3進行訪問,如果M0準備好數(shù)據(jù),在一個存取周期要結(jié)束的時候向CPU進行數(shù)據(jù)傳送。低位交叉方式從總線通信控制角度看,屬于分離式方式,提高了主存的帶寬。低位交叉編址的多體存儲器如圖2所示。

      低位交叉方式數(shù)據(jù)組織特點:相鄰地址處于不同存儲體中,每個存儲體均需地址寄存器多模塊并行(局部性原理),性能得以提升,也能方便地擴充容量。

      2.2.3 低位交叉特點及應(yīng)用

      低位交叉方式的優(yōu)點是可以在不改變存取周期的前提下,增加存儲器的帶寬。在單體訪問周期中,將一個訪問周期分為4段,第1段啟動M0,對M0讀寫操作,之后在第2個時間啟動M1,對M1存取操作,在第3個時間啟動M2,在第4個時間啟動M3,相當于用流水的方式訪問不同的存儲體,在一個存取周期內(nèi)訪問了4個存儲字(如圖3所示)。

      假設(shè)四體低位交叉的存儲器存取周期為T,地址、數(shù)據(jù)、控制信號在總線上進行傳輸,總線的傳輸周期為τ,為實現(xiàn)流水方式的存取,應(yīng)滿足T=4。實際上是把一個完整的訪問時間分成4段,每一段的長度正好是總線的傳輸周期(如圖4所示)。

      在T時間啟動對M0的存取操作,經(jīng)過一段時間后(1/4T),啟動對M1的存取操作,再經(jīng)過后啟動對M2的存取操作。一個存取周期結(jié)束,M0會給出存或取的一個結(jié)果完成存取操作,再經(jīng)過一段時間后,M1也會完成存取操作,直到M3為止。如果用戶需要連續(xù)讀取4個存儲字需要的時間計算過程為第1個字需要T時間,第1個字結(jié)束后,每經(jīng)過一個總線傳輸周期會完成一個訪問(讀?。┎僮鱗7]。

      以上為單體多字、多體并行方式提高存儲器速度的處理過程。多體并行中的高位交叉更像是對存儲器容量進行擴展,低位交叉是真正實現(xiàn)了存儲器帶寬或訪問速度的提高。

      3 高性能存儲芯片

      為進一步提高主存的性能,增強主存結(jié)構(gòu)功能,可以采用高性能的存儲芯片。同步動態(tài)隨機存取內(nèi)存(Synchro-

      nous Dynamic Random-access Memory,SDRAM)就是一種高性能的存儲芯片,SDRAM采用同步DRAM方式通信,要求存儲器和CPU之間在給定的時間點必須開始或完成給定的操作,存儲器的速度可以和CPU的速度保持一致,CPU不需要等待,SDRAM要求存儲器的速度非常快[8]。SDRAM在計算機中被廣泛使用,從起初的SDRAM到后來的DDR1,接著DDR2和DDR3進入市場,2015年DDR4開始進入市場。

      CDRAM是帶Cache的DRAM。工作過程為CPU給出要訪問存儲器的地址,存儲器先把地址和上一次訪問的行地址進行比較,若相等,說明這行已經(jīng)被寫入Cache中,用列選信號直接輸入Cache里面選中指定的存儲單元。若不相等,將這行寫入Cache中,以備下一次使用。CDRAM中的第一個數(shù)據(jù)是從主存開始的,速度較慢,在從主存中讀取第一個數(shù)據(jù)時,根據(jù)程序訪問的局部性原理,會將第一個數(shù)據(jù)連同它所在的數(shù)據(jù)塊一起送入緩沖存儲器Cache中,方便CPU下次直接從Cache讀取想要的數(shù)據(jù),后續(xù)數(shù)據(jù)的讀取速度非??臁?/p>

      RDRAM主要解決存儲器帶寬問題。RDRAM的數(shù)據(jù)存儲是16位,遠低于DDR和SDRAM的64位,但在頻率方面遠遠高于二者,可以達到400 MHz或更高。RDRAM在一個時鐘周期內(nèi)傳輸兩次數(shù)據(jù),能夠在時鐘的上升期和下降期各傳輸一次數(shù)據(jù),主存帶寬能達到1.6 GBps。

      4 結(jié)束語

      本文以尋找縮小主存和CPU速度差距的方法為訖點,重點以調(diào)整主存結(jié)構(gòu)的方式為依托,對單體多字系統(tǒng)、多體并行系統(tǒng)和高性能存儲芯片3種方式進行分析,研究發(fā)現(xiàn),多體并行系統(tǒng)中的低位交叉方式是最能有效縮小存儲器和CPU速度差異,提高存儲器帶寬,使計算機主機系統(tǒng)均衡發(fā)展的方法。

      參 考 文 獻

      [1]邱賜云,李禮,張歡,等.大數(shù)據(jù)時代——從馮·諾依曼到計算存儲融合[J].計算機科學(xué),2018(11):71-75.

      [2]胡森森,計衛(wèi)星,王一拙,等.片上多核處理器Cache一致性協(xié)議優(yōu)化研究綜述[J].軟件學(xué)報,2017,28(4):1027-1047.

      [3]邵雄凱,葉志偉,歐陽勇,等.基于系統(tǒng)能力培養(yǎng)的計算機組成原理課程教學(xué)探討[J].計算機教育,2018(11):140-144.

      [4]唐朔飛.計算機組成原理[M].3版.北京:高等教育出版社,2021:6.

      [5]袁春風,張澤生,楊若瑜,等.“計算機組成與系統(tǒng)結(jié)構(gòu)”課程建設(shè)思路與教學(xué)實踐[J].計算機教育,2012(2):62-66.

      [6]譚志虎,胡迪青,秦磊華.計算機組成原理課程設(shè)計的改革[J].電氣電子教學(xué)學(xué)報,2016(6):110-112.

      [7]聶小龍.DDR3 SDRAM控制器與PHY的設(shè)計與仿真[D].濟南:山東大學(xué),2017.

      [8]石曉敬,呂小萍,郭文秀.基于計算思維的計算機網(wǎng)絡(luò)課程教學(xué)改革[J].中華醫(yī)學(xué)圖書情報雜志,2017(6):63-66.

      猜你喜歡
      存儲芯片
      基于單片機的音樂播放器硬件設(shè)計
      大數(shù)據(jù)模式在起重機械行業(yè)中的安全管理
      今日自動化(2020年6期)2020-01-06 03:42:59
      中國存儲芯片打破韓美日壟斷局面邁出堅實一步
      多通道NAND Flash存儲芯片控制器的設(shè)計與實現(xiàn)
      無線電工程(2018年9期)2018-08-23 02:11:20
      基于單片機的點餐系統(tǒng)硬件設(shè)計
      握手言合 三星將為新一代Iphone大量供應(yīng)零部件
      iPhone換閃存加容量這事靠譜嗎?
      電腦迷(2015年12期)2015-04-29 23:22:51
      武漢新芯3D NAND將成為中國存儲芯片產(chǎn)業(yè)彎道超車的切入點
      電子世界(2015年24期)2015-01-16 03:19:38
      NORFLASH存儲芯片測試程序的設(shè)計
      電子世界(2014年6期)2014-10-21 20:04:55
      基于單片機的存儲測試電路
      和静县| 华蓥市| 壶关县| 江阴市| 巨野县| 旅游| 珲春市| 汉沽区| 丘北县| 准格尔旗| 新晃| 晋中市| 栾川县| 钦州市| 定日县| 大姚县| 同仁县| 玉田县| 布拖县| 云霄县| 辽源市| 洪江市| 昌江| 景东| 油尖旺区| 富平县| 潞西市| 江达县| 汶上县| 冷水江市| 定结县| 昌图县| 常德市| 岳池县| 乌兰浩特市| 汤阴县| 襄樊市| 泗水县| 金川县| 舟山市| 南京市|