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

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

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

探究計算機存儲器結(jié)構(gòu)體系1

jf_78858299 ? 來源:小余的自習室 ? 作者:小余的自習室 ? 2023-03-30 10:32 ? 次閱讀

前言

生活中經(jīng)常聽到這句話“一分錢一分貨,哪有那么多又便宜又好用”,在計算機存儲體系中,也是如此,存儲速度越快的,也就越貴,而且是呈指數(shù)的貴。計算機存儲呈如下金字塔排布。

理想情況下,我們肯定希望擁有無限大的內(nèi)存容量,這樣就可以立刻訪問任何一個特定的機器字,但我們不得不認識到有可能需要構(gòu)建分層結(jié)構(gòu)的存儲器,每一層次容量都要大于前一層次,但其訪問速度也要更慢一些。

圖片

你是不是經(jīng)常被以下名詞弄得暈頭轉(zhuǎn)向。ROM/RAM/DRAM/SRAM/SDRAM/DDR SDRAM等等,下面,我盡力以上圖為參考,從上到下,說明各個層次存儲器的特點和區(qū)別,并對它們的工作原理做一些簡要的說明

1.寄存器Register

寄存器是CPU中的一部分。它是一個高速存貯部件,可以用來暫存指令、數(shù)據(jù)和地址。每個CPU中有多個寄存器,例如8086CPU中含有14個寄存器。

寄存器是CPU的內(nèi)部組成單元,是CPU運算時取指令和數(shù)據(jù)最快的地方。它可以用來暫存指令、數(shù)據(jù)和地址。在CPU的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數(shù)器(PC)。CPU的算術(shù)邏輯部件中,包含的寄存器有累加器(ACC)。 下圖中藍色小框里面,全是寄存器。

圖片

2.高速緩存(Cache)與主存

2.1 引入cache的目的

計算機在運行程序時,首先將程序從磁盤讀取到主存,然后CPU按規(guī)則從主存中取出指令,數(shù)據(jù)并執(zhí)行指令,但是直接從主存(一般是DRAM)中讀寫是很慢的,所以引入了高速緩存(Cache)。

在程序運行前首先會試圖將指令,數(shù)據(jù)從主存中讀取到Cache中,然后在程序執(zhí)行時直接訪問Cache,如果指令和數(shù)據(jù)可以從Cache中讀取到,那么就說是“命中(hit)”,反之就是“不命中(miss)”,miss情況下需要從主存中讀取指令或者數(shù)據(jù),這樣會直接影響CPU的性能,所以命中率對CPU來說至關(guān)重要。

現(xiàn)代處理器一般有三層cache,分別稱為L1 cache、L2 cache、L3 cache。L1 cache離CPU核最近,存儲信息讀取速度接近CPU核的工作速度 ,容量較小,一般分成I-cache和D-cache兩塊,分別存儲指令和數(shù)據(jù);L2 cache比L1更遠,速度慢一些,但是容量更大,不分I-cache和D-cache;L3更慢、更大,現(xiàn)在流行多核處理器,L3一般由多個處理器核共享,而L1、L2是單核私有的。

圖片

實際上cache是一個廣義的概念,可以認為主存是磁盤的cache,而CPU內(nèi)cache又是主存的cache,使用cache的目的就是偽造出一個容量有低層次存儲器(如磁盤)那么大,而速度又有寄存器(如通用寄存器)那么快的存儲器,簡單來說就 要讓存儲單元看起來又大又快 。

2.2 cache的理論基礎(chǔ)

cache之所以能work,主要基于兩個認識,即程序運行時數(shù)據(jù)具有時間局部性空間局部性

時間局部性是指一個數(shù)據(jù)如果當前被使用到,那么接下去一段時間它很可能被再次用到;空間局部性是指一個數(shù)據(jù)如果當前被使用到,那么接下去一段時間它周圍的數(shù)據(jù)很可能也會被用到,比如數(shù)組。

2.3 Cache的組成方式

cache容量較小,所以 數(shù)據(jù)需要按照一定的規(guī)則從主存映射到cache 。一般把主存和cache分割成一定大小的塊,這個塊在主存中稱為 data block ,在cache中稱為cache line。 舉個例子,塊大小為1024個字節(jié),那么data block和cache line都是1024個字節(jié)。當把主存和cache分割好之后,我們就可以把data block放到cache line中,而這個“放”的規(guī)則一般有三種,分別是“ 直接映射 ”、“ 組相聯(lián) ”和“ 全相聯(lián) ”。

直接映射

直接映射采用“ 取模 ”的方式進行一對一映射。舉個例子,如果cache中共有8個cache line,那么0、8、16、24…號data block會被映射到0號cache line中,同理1、9、17….號data block會被映射到1號cache line中。

組相聯(lián):

直接映射中主存中的每一個data block都有一個確定的cache line進行映射,這是有缺陷的。當程序連續(xù)讀取0、8、0、8號data block的數(shù)據(jù)時,因為只有一個cache line供映射,所以當?shù)诙巫x取0號block時,第一次讀到cache中的0號block早被頂替出去了,這時候又會產(chǎn)生miss,miss會極大地影響執(zhí)行效率。

為了解決上面的問題,提出使用“組相聯(lián)”的方式。

根據(jù)上圖我們很容易發(fā)現(xiàn)比起直接映射,組相聯(lián)翻倍了block可以映射的cache line的數(shù)量,圖上數(shù)量為2,我們稱每兩個cache line為一個cache set。

全相聯(lián)

全相聯(lián)是極端的組相聯(lián),即cache只有一個cache set。每一個data block都可以存進任何一個cache line。下圖是對應(yīng)關(guān)系。

圖片

2.4.RAM與ROM

計算機中按存儲類型劃分為 隨機存儲器 (Random Access Memory, RAM)和 只讀存儲器 (Read Only Memory, ROM)

  • (1) 隨機存儲器 (Random Access Memory, RAM)

    RAM是一種可讀/寫存儲器,其特點是存儲器的任何一個存儲單元的內(nèi)容都可以隨機存取,而且存取時間域存儲單元的物理位置無關(guān)。

  • (2) 只讀存儲器 (Read Only Memory, ROM)

    顧名思義,ROM只能對其存儲的內(nèi)容讀出,不能對其重新寫入。因此,通常用它存放固定不變的程序、常數(shù)、漢字字庫等。存放在ROM設(shè)備中的程序通常稱為固件(firmware)。比如我們計算機的BIOS,就是存放在ROM中的。隨著半導體技術(shù)的發(fā)展,出現(xiàn)了可編程只讀存儲器(Programmable ROM, PROM)、可擦除可編程只讀存儲器(Erasable Programmable ROM, EPROM)及用電可擦除可編程只讀存儲器(Electrically Erassable Programmable ROM, EEPROM)。近年來還出現(xiàn)了閃速存儲器(Flash Memory),它基于EEPROM。

高速緩存和主存都是RAM(Random-Access Memory,隨機訪問存儲器),它分為靜態(tài)的(SRAM)和動態(tài)的(DRAM),分別對應(yīng)高速緩存和主存。

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

    關(guān)注

    7

    文章

    422

    瀏覽量

    55129
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    562

    瀏覽量

    85618
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    704

    瀏覽量

    65156
收藏 人收藏

    評論

    相關(guān)推薦

    計算機存儲器的作用是什么?

    計算機存儲器分為兩種基本類型:ROM 和 RAM 。
    發(fā)表于 09-17 09:01

    計算機存儲器的新技術(shù)描述

    本文分別介紹了存儲器的分類、組成、層次結(jié)構(gòu)、常見存儲器存儲器的選擇,最后描述了計算機存儲器的一
    發(fā)表于 09-09 07:47

    微型計算機存儲設(shè)備

    第四章微型計算機存儲設(shè)備4.1 內(nèi)存內(nèi)存是計算機中數(shù)據(jù)存儲和交換的設(shè)備。在整個計算機中內(nèi)存起著調(diào)節(jié)CPU和外部
    發(fā)表于 09-10 09:02

    計算機存儲器采用分級存儲體系的目的是什么

    計算機硬件能直接執(zhí)行哪種語言?計算機存儲器采用分級存儲體系的目的是什么?常用的虛擬存儲器由哪兩
    發(fā)表于 09-17 06:44

    了解計算機硬件體系結(jié)構(gòu)

    知識7.掌握顯卡和顯示的工作原理、結(jié)構(gòu)特點及性能指標8.了解計算機的其他設(shè)備1.了解計算機硬件體系結(jié)構(gòu)
    發(fā)表于 09-17 09:03

    微型計算機和單片機的基本結(jié)構(gòu)

    1. 微型計算機和單片機的基本結(jié)構(gòu)微型計算機的基本結(jié)構(gòu)如下圖所示。1.1 控制控制
    發(fā)表于 11-22 06:03

    計算機體系結(jié)構(gòu)的硬件存儲器簡單介紹

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

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

    layer of indirection.”“計算機科學領(lǐng)域的任何問題都可以通過增加一個間接的中間層來解決”0.計算機體系結(jié)構(gòu)1.操作系統(tǒng)概念...
    發(fā)表于 01-07 06:42

    計算機數(shù)據(jù)存儲的原理是什么

    磁性材料的存儲元,它可存儲一個二進制代碼。(計算機最小存儲單位是bit(比特),只能存儲0和1)
    發(fā)表于 01-25 07:16

    計算機存儲器主要作用_計算機存儲器的分類介紹

    計算機存儲器計算機的內(nèi)部存儲區(qū)域,以芯片格式和集成電路形式存在。計算機存儲器應(yīng)用于錄音機或磁盤
    發(fā)表于 05-17 16:28 ?1.2w次閱讀

    計算機存儲器的作用及分類

    存儲器是很多設(shè)備都需具備的主要器件,在計算機中,存儲器同樣發(fā)揮著重要作用。為增進大家對計算機存儲器的了解,本文將對
    發(fā)表于 12-04 09:45 ?1.8w次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>存儲器</b>的作用及分類

    計算機存儲器的作用和分類說明

    存儲器是很多設(shè)備都需具備的主要器件,在計算機中,存儲器同樣發(fā)揮著重要作用。為增進大家對計算機存儲器的了解,本文將對
    的頭像 發(fā)表于 12-06 17:55 ?1w次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>存儲器</b>的作用和分類說明

    探究計算機存儲器結(jié)構(gòu)體系2

    你是不是經(jīng)常被以下名詞弄得暈頭轉(zhuǎn)向。ROM/RAM/DRAM/SRAM/SDRAM/DDR SDRAM等等,下面,我盡力以上圖為參考,從上到下,說明各個層次存儲器的特點和區(qū)別,并對它們的工作原理做一些簡要的說明
    的頭像 發(fā)表于 03-30 10:32 ?794次閱讀
    <b class='flag-5'>探究</b><b class='flag-5'>計算機</b><b class='flag-5'>存儲器</b><b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體系</b>2

    計算機系統(tǒng)的組成之存儲器

    我們知道計算機只有CPU是不能工作的,那理論上除了CPU還需要什么硬件呢?答:還需要 存儲器 。 那什么是存儲呢?在電子計算機中,用來存儲
    的頭像 發(fā)表于 03-30 14:41 ?2223次閱讀
    <b class='flag-5'>計算機</b>系統(tǒng)的組成之<b class='flag-5'>存儲器</b>

    計算機存儲器的分類及其區(qū)別

    計算機存儲器計算機系統(tǒng)中不可或缺的重要部分,用于存放程序和數(shù)據(jù)。隨著科技的進步,存儲器的種類越來越多,功能和性能也日益豐富。一般來說,計算機
    的頭像 發(fā)表于 09-05 10:40 ?856次閱讀