靜態SDRAM和動態SDRAM的區別

来源:https://www.cnblogs.com/wridy/archive/2020/06/24/13186804.html
-Advertisement-
Play Games

SDRAM有一個同步介面,在響應控制輸入前會等待一個時鐘信號,這樣就能和電腦的系統匯流排同步。時鐘被用來驅動一個有限狀態機,對進入的指令進行管線(Pipeline)操作。這使得SDRAM與沒有同步介面的非同步DRAM相比,可以有一個更複雜的操作模式。下麵宇芯電子介紹關於靜態SDRAM和動態SDRAM的 ...


SDRAM有一個同步介面,在響應控制輸入前會等待一個時鐘信號,這樣就能和電腦的系統匯流排同步。時鐘被用來驅動一個有限狀態機,對進入的指令進行管線(Pipeline)操作。這使得SDRAM與沒有同步介面的非同步DRAM相比,可以有一個更複雜的操作模式。下麵宇芯電子介紹關於靜態SDRAM和動態SDRAM的區別。
靜態記憶 假設我們要將16Mb存儲器連接到FPGA。 16Mb表示記憶體可容納1600萬位(準確地說是16777216位)。現在,很少對比特進行單獨定址,而是通常以8或16的數據包(我們稱其為字)進行定址。因此,如果我們的16Mb存儲器被組織為16位的1M字,則需要20位地址匯流排和16位數據匯流排,以及一些可寫和可讀信號。  

實際的存儲器也將具有CS(片選),如果存儲器是同步的,則為時鐘(為清晰起見,在圖片中將其省略)。 現在,如果該記憶體是一個Blockram(在FPGA內部),它將看起來有所不同(假設存在如此大的16Mb Blockram ...典型的Blockram要小得多)。  

如您所見,它仍然是一塊記憶體,但是有兩條地址匯流排。那是因為現代FPGA中的Blockram是雙埠的……這意味著兩個代理可以同時訪問存儲器。通常,一個代理寫入記憶體,而另一個則讀取。因此,每個代理的記憶體都有獨立的地址和數據匯流排。上面的圖片在頂部顯示了第一個(寫)代理,在底部顯示了第二個(讀)代理。更高級的Blockram允許每個代理讀取和寫入,但是上面顯示的體繫結構是最常用的。同樣,blockram通常也被同步使用,因此每個代理都必須提供一個時鐘(未在圖片中顯示)。

到目前為止,所顯示的記憶體是靜態的,這意味著僅通過對其施加電源即可保存其內容。另外,靜態存儲器可以看作是一個長字形的線性數組(您只需提供一個地址即可訪問匹配的數據...無需複雜)。需要權衡的是每比特成本要比...高得多。
動態記憶 我們將使用SDRAM,它是動態記憶體(SDRAM中的“ D”)。在動態記憶體中,記憶體不被視為單詞的長線性數組,而是被組織為單詞的矩陣(行/列)。  

上圖顯示行的12位和列的8位,如前所述總共有20個地址位...很容易。
有一種複雜性:為了提高性能,將記憶體分成相等的塊(稱為“存儲體”)。那是因為某些動態記憶體操作速度很慢,因此擁有存儲體可以在等待另一個存儲體的同時使用它。

因此,如果我們的16Mb SDRAM有2個存儲區,則每個存儲區擁有8Mb。  

訪問SDRAM時,FPGA必須選擇存儲體(1位),行(現在只有11位)和列(8位),總共需要20位。但這是一個兩步過程:首先是行+庫,然後是列:
•FPGA選擇一個存儲區並激活其行之一。然後它等待幾個時鐘(等待行準備就緒)。
•現在,該行處於活動狀態,FPGA只需提供列地址即可訪問(讀取和/或寫入)該行中所需的任何數據。
•FPGA處理完該行後,必須先關閉該行,然後再打開新行。
為了獲得最佳性能,用戶(= FPGA)希望避免過多地打開和關閉行,而是在關閉行之前儘可能多地完成工作,併在不同存儲體中進行交錯操作,以免浪費時鐘周期。大多數SDRAM實際上有4或8個存儲體,每個存儲體都是獨立的,因此可以激活自己的行。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 上一篇【.Net Core微服務入門全紀錄(五)——Ocelot-API網關(下)】中已經完成了Ocelot + Consul的搭建,這一篇簡單說一下EventBus。 EventBus-事件匯流排 首先,什麼是事件匯流排呢? 貼一段引用: 事件匯流排是對觀察者(發佈-訂閱)模式的一種實現。它是一種 ...
  • 如果要支持Blazor WebAssembly的本地化,應該如何實現呢?下麵,我們就按照本地化問題操作中所涉及的所有主要問題以提問的方式進行說明。 1.本地化的核心原理是什麼? 答:就是顯式地在Program.Main方法中設置 CultureInfo.DefaultThreadCurrentCul ...
  • 大家好,我是良許。 在我們編寫代碼的時候,我們經常需要知道兩個文件之間,或者同一個文件不同版本之間有什麼差異性。在 Windows 下有個很強大的工具叫作 BeyondCompare ,那在 Linux 下需要用到什麼工具呢? 本文介紹 9 種 Linux 下常用的 9 種代碼比對工具,不僅有命令行 ...
  • 利用數組實現 1 #include<stdio.h> 2 #include<string.h> 3 4 void copy_string(char str1[],char str2[]) 5 { 6 int i = 0; 7 while(str2[i] != '\0') 8 { 9 str1[i] ...
  • 1. 概念 原子操作是指不被打斷的操作,即它是最小的執行單位。最簡單的原子操作就是一條條的彙編指令(不包括一些偽指令,偽指令會被彙編器解釋成多條彙編指令)。在 linux 中原子操作對應的數據結構為 atomic_t,定義如下: typedef struct { int counter; } ato ...
  • 隨著智能化互聯時代的來臨,家中的智能設備越來越多:電視機、平板、游戲主機、電腦、手機等遍及家中各個角落,同時設備之間共用數據的需求變的越來越強烈。比如同步、備份手機上的照片和視頻,在電視機上觀看電腦中下載的影片、手機拍攝的視頻,存儲高清電影、音樂、VLOG 素材等。這時候在家中搭建一臺 NAS(Ne ...
  • Linux內核記憶體管理的一項重要工作就是如何在頻繁申請釋放記憶體的情況下,避免碎片的產生。Linux採用伙伴系統解決外部碎片的問題,採用slab解決內部碎片的問題,在這裡我們先討論外部碎片問題。避免外部碎片的方法有兩種:一種是之前介紹過的利用非連續記憶體的分配;另外一種則是用一種有效的方法來監視記憶體,保 ...
  • Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。 Unix時間戳不僅被使用在Unix 系統、類Unix系統中,也在許多其他 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...