一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

內(nèi)存尋址的具體設(shè)計(jì)

FPGA研究院 ? 來源: FPGA開發(fā)之路 ? 2023-12-16 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文的目的不是介紹內(nèi)存尋址的具體設(shè)計(jì),其實(shí)很多細(xì)節(jié)我也不了解,而是想通過內(nèi)存尋址的設(shè)計(jì)思想看看對(duì) FPGA 的設(shè)計(jì)有什么幫助和借鑒。

內(nèi)存尋址有兩個(gè)的重要的設(shè)計(jì):

內(nèi)存分頁(yè)

頁(yè)表分級(jí)

關(guān)于內(nèi)存分頁(yè) - 規(guī)整即簡(jiǎn)單

內(nèi)存分頁(yè)即將內(nèi)存分割為以頁(yè)(一般是4KB)為單元的塊,然后內(nèi)存的分配和使用都是以頁(yè)為最小單元。假如一個(gè)進(jìn)程只需要 2KB 的內(nèi)存,仍然給其分配 4KB(一頁(yè))的空間。

關(guān)于內(nèi)存分頁(yè)的好處,我覺得知乎上一位知友的描述非常生動(dòng)和形象。他將內(nèi)存分頁(yè)比喻為停車場(chǎng)劃分停車位。停車位的劃分使得停車人尋找停車位時(shí)變得簡(jiǎn)單,停車人不再需要自己判斷位置空間是否夠大能停下車,只需要看有沒有空位即可。同時(shí)也使停車位的使用管理變得高效,停車場(chǎng)管理人員可以很容易判斷并發(fā)布停車位的空位信息。當(dāng)然,這可能只是內(nèi)存分頁(yè)的好處中的其中一個(gè)。

我們可以總結(jié)一下內(nèi)存分頁(yè)的使用場(chǎng)景:

有一塊大的 memory 空間

有很多 Users 要使用 memory

Users 使用 memory 的時(shí)間和空間大小不確定

那么當(dāng)我們?cè)?FPGA 設(shè)計(jì)中遇到這樣類似的場(chǎng)景時(shí),便可以借鑒內(nèi)存分頁(yè)的思想,將 memory 劃分為不同的塊,來提高 memory 的使用和管理效率。當(dāng)然,對(duì)于 memory 塊的劃分可能導(dǎo)致 memory 的浪費(fèi),像前面舉的例子,只需要 2KB 的內(nèi)存,卻分配了 4KB 的空間。如何正確的取舍,去做 tradeoff,這也是設(shè)計(jì)者需要考慮的。

再往本質(zhì)里看,這其實(shí)是硬件設(shè)計(jì)上的一個(gè)“規(guī)整”問題。就像CPU指令集的設(shè)計(jì),因?yàn)椴煌噶顚?duì) bit 利用的規(guī)整,簡(jiǎn)化了CPU的設(shè)計(jì)。規(guī)整即簡(jiǎn)單。

關(guān)于頁(yè)表分級(jí) - 時(shí)間換空間

頁(yè)表是用來將虛擬地址映射為物理地址的數(shù)據(jù)結(jié)構(gòu)。對(duì)于 4KB 的頁(yè)單元,需要 12-bit 來尋址。如果地址線的總位寬是 32-bit,那么我們需要 2^20 (32-12=20) 個(gè)頁(yè)表,假如每個(gè)表項(xiàng)用 4 byte,那么頁(yè)表總共要用到 4MB 的內(nèi)存。這還只是一個(gè)進(jìn)程用到的空間。

頁(yè)表分級(jí)減少了頁(yè)表對(duì)內(nèi)存的使用量。用過兩級(jí)分頁(yè)(第一級(jí)頁(yè)目錄+第二級(jí)頁(yè)表),即先通過第一級(jí)頁(yè)目錄查找到頁(yè)表,再通過第二級(jí)頁(yè)表去查找頁(yè),只有當(dāng)?shù)谝患?jí)的頁(yè)目錄項(xiàng)用到時(shí)才去分配第二級(jí)的頁(yè)表。舉個(gè)例子,假如頁(yè)目錄和頁(yè)表分別占用10-bit。頁(yè)目錄有2^10個(gè)項(xiàng) (一共占用 4KB 內(nèi)存),假如頁(yè)目錄只有第一項(xiàng)被用到,那么我們只需要分配其對(duì)應(yīng)的頁(yè)表,這個(gè)頁(yè)表也是有2^10個(gè)項(xiàng) (一共占用 4KB 內(nèi)存),那么此時(shí)只用到了 4KB+4KB = 8KB 內(nèi)存,相比于 4MB 節(jié)省了很大部分。

我們總結(jié)一下頁(yè)表分級(jí)的場(chǎng)景:

多個(gè) Users 共用一份地址線訪問 memory

每個(gè) Users 都需要自己的 memory 空間

實(shí)際有效的 Users 的數(shù)目是動(dòng)態(tài)變化的

Users 對(duì) memory 空間的使用也是動(dòng)態(tài)變化的

遇到類似的場(chǎng)景我們便可以考慮將地址分級(jí),對(duì) Users 動(dòng)態(tài)分配 memory 空間,幾個(gè) Users 甚至可以復(fù)用一份 memory,達(dá)到節(jié)省 memory 使用的目的。這樣做當(dāng)然增加了 memory 控制和管理的復(fù)雜度,也是設(shè)計(jì)上的 tradeoff。

再往本質(zhì)里看,這個(gè)場(chǎng)景其實(shí)利用了事件發(fā)生的時(shí)間上的差異。是時(shí)間“換”空間的概念,地址分級(jí)只是實(shí)現(xiàn)這個(gè)概念的一個(gè)手段。

總結(jié)

本文思考了內(nèi)存尋址的兩個(gè)設(shè)計(jì)點(diǎn)對(duì) FPGA 設(shè)計(jì)的借鑒意義。很多時(shí)候,設(shè)計(jì)的思想是相通的,尤其是像 CPU 或者 Linux內(nèi)核 這樣的經(jīng)典的,經(jīng)久不衰的設(shè)計(jì)。

來源: 本文轉(zhuǎn)載自FPGA開發(fā)之路 公眾號(hào)

審核編輯:湯梓紅

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618602
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1416

    瀏覽量

    41444
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217120
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213843
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3125

    瀏覽量

    75274

原文標(biāo)題:從內(nèi)存尋址看 FPGA 設(shè)計(jì)

文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PLC里面的立即尋址、直接尋址、間接尋址你都搞懂了嗎?

    我們都知道西門子200plc有三種尋址方式:立即尋址、直接尋址、間接尋址;這里主要給大家區(qū)分下直接和間接尋址
    的頭像 發(fā)表于 01-04 15:20 ?3095次閱讀
    PLC里面的立即<b class='flag-5'>尋址</b>、直接<b class='flag-5'>尋址</b>、間接<b class='flag-5'>尋址</b>你都搞懂了嗎?

    什么是單片機(jī)尋址方式?尋址方式有哪些?

    的內(nèi)容為20H,則執(zhí)行MOV R1,A指令后,內(nèi)部RAM 09H單元的值就變?yōu)?0H。2. 直接尋址直接尋址是指把存放操作數(shù)的內(nèi)存單元的地址直接寫在指令中。在MCS-51單片機(jī)中,可以直接尋址
    發(fā)表于 01-13 14:54

    Hexagon DSP的十二種尋址模式

    Hexagon DSP的十二種尋址模式 絕對(duì)尋址 絕對(duì)尋址模式將32位的值作為有效內(nèi)存地址。例如:R2 = memw(##100000) // load R2 with word fr
    發(fā)表于 09-20 10:19

    單片機(jī)的可尋址內(nèi)存是何意思

    說到單片機(jī),我的第一反應(yīng)是這個(gè):(是不是感覺很厲害/手動(dòng)滑稽)然而,拿到手卻發(fā)現(xiàn)是這樣的:(以為自己拿到了一條蜈蚣/手動(dòng)滑稽)但是,咱們的這個(gè)僅有八個(gè)腳,可尋址內(nèi)存只有64K的單片機(jī)(可尋址內(nèi)
    發(fā)表于 02-16 06:42

    間接尋址的應(yīng)用

    介紹:本文介紹如何進(jìn)行間接尋址,并舉例說明如何利用間接尋址來清內(nèi)存。
    發(fā)表于 07-01 11:56 ?14次下載

    單片機(jī)尋址能力的解讀

    單片機(jī)尋址能力的解讀:CPU位寬與內(nèi)存尋址能力沒有關(guān)系
    發(fā)表于 12-27 15:30 ?1次下載

    ARM指令尋址方式之內(nèi)存訪問指令尋址

    4.2 內(nèi)存訪問指令尋址 根據(jù)內(nèi)存訪問指令的分類,內(nèi)存訪問指令的尋址方式可以分為以下幾種。 ① 字及無符號(hào)字節(jié)的Load/Store指令的
    發(fā)表于 10-18 16:32 ?1次下載
    ARM指令<b class='flag-5'>尋址</b>方式之<b class='flag-5'>內(nèi)存</b>訪問指令<b class='flag-5'>尋址</b>

    plc的尋址方式:立即尋址、直接尋址、間接尋址

    我們都知道西門子200plc有三種尋址方式:立即尋址、直接尋址、間接尋址;這里主要給大家區(qū)分下直接和間接尋址 1、直接
    的頭像 發(fā)表于 09-25 11:50 ?2.3w次閱讀
    plc的<b class='flag-5'>尋址</b>方式:立即<b class='flag-5'>尋址</b>、直接<b class='flag-5'>尋址</b>、間接<b class='flag-5'>尋址</b>

    西門子PLC如何尋址,具體方法是怎樣的

    西門子S7-200編程語(yǔ)言的基本單位是語(yǔ)句,語(yǔ)句由指令組成。每條指令有兩部分:一部分是操作碼,另一部分是操作數(shù)。操作碼指示該指令的功能是什么,操作數(shù)指示操作碼所需的數(shù)據(jù)在哪里。尋址是尋找操作數(shù)的過程
    發(fā)表于 12-20 09:34 ?7528次閱讀

    尋址方式與內(nèi)存計(jì)算的詳細(xì)說明

    指令轉(zhuǎn)移示意圖如下: 地址指針的字長(zhǎng)是二進(jìn)制的16位,說明可以表達(dá)的地址個(gè)數(shù)為2^16個(gè)。 2^16=(2^6)*(2^10)=64*1024=64KB,也就是它的可尋址范圍是64KB,相應(yīng)的地址號(hào)
    的頭像 發(fā)表于 06-18 20:34 ?7696次閱讀
    <b class='flag-5'>尋址</b>方式與<b class='flag-5'>內(nèi)存</b>計(jì)算的詳細(xì)說明

    PLC中為什么要間接尋址?直接尋址不行嗎?

    PLC中為什么要間接尋址?直接尋址不行嗎? PLC,也稱程序可編程控制器,是一種專門用于自動(dòng)化控制的電子設(shè)備,廣泛應(yīng)用于各種工業(yè)領(lǐng)域中。在PLC編程中,常常用到尋址的概念,以便讀取或控制具體
    的頭像 發(fā)表于 09-15 14:59 ?2353次閱讀

    什么是PLC直接尋址和間接尋址?

    什么是PLC直接尋址和間接尋址?? PLC直接尋址和間接尋址是在程序設(shè)計(jì)中經(jīng)常使用的兩種方法。直接尋址指的是根據(jù)地址直接訪問特定的
    的頭像 發(fā)表于 09-15 14:59 ?3109次閱讀

    寄存器尋址的實(shí)現(xiàn)方式

    在計(jì)算機(jī)體系結(jié)構(gòu)中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內(nèi)部的寄存器。寄存器尋址可以提高程序的執(zhí)行效率,因?yàn)樗苊饬藢?duì)內(nèi)存的訪問。 寄存器
    的頭像 發(fā)表于 07-12 10:36 ?1579次閱讀

    寄存器尋址和直接尋址的區(qū)別

    寄存器尋址和直接尋址是計(jì)算機(jī)指令系統(tǒng)中的兩種基本尋址方式。它們?cè)谥噶畹膱?zhí)行過程中起著至關(guān)重要的作用,決定了指令操作數(shù)的來源和目標(biāo)。下面我們將介紹這兩種尋址方式的特點(diǎn)、區(qū)別以及在實(shí)際應(yīng)用
    的頭像 發(fā)表于 07-12 10:42 ?4337次閱讀

    DDR4尋址原理詳解

    )的尋址原理是計(jì)算機(jī)內(nèi)存系統(tǒng)中至關(guān)重要的一個(gè)環(huán)節(jié),它決定了數(shù)據(jù)如何在內(nèi)存中被有效地存儲(chǔ)和訪問。DDR4的尋址原理復(fù)雜而高效,以下將詳細(xì)闡述其關(guān)鍵要素和工作流程。
    的頭像 發(fā)表于 09-04 12:38 ?2185次閱讀