計算機存儲器容量擴展設計實例解析

存儲器容量擴充是《計算機組成原理》課程的重要知識點。講解一個例題,以說明進行存儲器容量擴充設計的方法。

題目:在32位計算機系統中,用8K×16位的SRAM芯片組成一個64KB的存儲器,已知起始地址為:6000 0000H。已知:SRAM芯片有兩個控制端nCS和nWE:當nCS=0時SRAM被選中。當nWE=0時,進行寫操作:當nWE=1時,進行讀操作。CPU的讀寫控制信號為R/nW(R/nW=1時,進行讀操作;R/nW=0時,進行寫操作),訪存控制信號為nMREQ(nMREQ=0時訪存)。要求:設計此存儲器,畫出它與CPU連接框圖。

解:

第1步:確定存儲器擴展方案 ? ? ?

分析題意可知,本題是要利用8K×16位SRAM設計16K×32位的存儲器,因此需要用4塊SRAM芯片進行字位擴展,具體方案是:由2個芯片為一組進行位擴展,需要2組進行字擴展(需要2個片選信號)。確定了位擴展方案后,可以畫出下圖。要注意,位擴展芯片輸出的數據線跟系統數據總線的接法。例如:組1-H輸出的數據線接系統數據總線的D31-D16位,而組1-l輸出的數據線接系統數據總線的D15-D0位。

第2步:設計地址譯碼電路,譯碼電路的輸出接到每個SRAM芯片的nCS引腳,提供片選信號。這一步可以細化:

① 為了便于分析地址,把地址變換成二進制形式 ? ? ?

60000000H=0110 0000 0000 0000 0000 0000 0000 0000 B

② 畫出地址空間分配表

③ 為每個參與字擴展的存儲小組,指定地址譯碼輸出值

在上面的地址空間分配表基礎上,設定地址譯碼輸出值。由于本題需要對2組存儲器模塊進行字擴展,因此需要2個地址譯碼輸出信號。加下表中,填充為紅色的列。

④將上表轉換成真值表畫法,以便進行譯碼電路設計。轉換后的真值表如下:

由于本題中SRAM需要的片選信號nCS的有效狀態是低電平,而上表中cs0和cs1的有效狀態是高電平,因此,增加nCS0和nCS1,用這兩個信號作為SRAM芯片nCS引腳的驅動信號。完善后的真值表,如下:

⑤ 寫出輸出信號的邏輯表達式

⑥畫出譯碼輸出信號的邏輯電路圖

⑦考慮系統訪存信號nMREQ的控制作用,完整的地址譯碼電路如下:

至此,地址譯碼電路設計完成。

第3步:將地址譯碼電路與存儲器芯片連接,得到完整的CPU與存儲器連接的邏輯電路圖

方法二:利用譯碼器來實現地址譯碼電路

接下來介紹一種利用譯碼器來實現地址譯碼電路的方法。以利用3:8譯碼器來實現地址譯碼電路為例,進行說明。

已知譯碼器有3個編碼輸入端和1個低電平有效的使能端#EN。為了能夠利用譯碼器的編碼輸入端,把地址總線的A31~A13位,劃分成兩部分,見下表:

按此表的設計,可以把A15~A13接入譯碼器的編碼輸入端,見下圖

分析上表中A31~A16的取值可知,本題中,A31~A16的取值固定不變,因此可以與訪存信號nMREQ一起考慮,設計組合邏輯電路,以驅動譯碼器的使能端#EN。先寫出A31~A16的地址譯碼邏輯表達式:

地址譯碼邏輯電路如下:

考慮訪存信號nMREQ后,畫出下圖所示的完整地址譯碼邏輯電路:

將該地址譯碼電路與存儲器芯片連接,得到完整的CPU與存儲器連接的邏輯電路,如下圖所示:

綜上所述,本文介紹了兩種設計地址譯碼邏輯電路的方法。當字擴展組數較多時,推薦使用譯碼器來進行設計的方案。方法一介紹的專用組合邏輯電路的方法,僅適用于字擴展組數較少的情況。在這個問題的解決過程中,準確編寫地址空間分配表是整個設計的關鍵。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86470.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86470.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86470.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

轉載-秒殺系統—1.架構設計和方案簡介

轉載: https://mp.weixin.qq.com/s?__bizMzg5MzY5NDM3MQ&mid2247490866&idx1&sn0081517454680c85e0ed23eda4e82df5&chksmc02ba5fef75c2ce8b0c7f54182f3bda539230c75d2d75ed2b514b93decc0ff0c5de548a35dc3&cur_album_id3548464749150224391&…

Kubernetes中的容器生命周期回調

在介紹Kubernetes容器生命周期回調前,展示一個案例。 有個私有化部署的項目需要跑一個redis用作緩存,因redis中的數據不需要持久化,選擇在Kubernetes中通過deployment的方式部署,下面是deployment的代碼片段, ......…

基于STM32的工業倉庫環境智能監控系統設計

文章目錄 一、前言1.1 項目介紹【1】項目開發背景【2】設計實現的功能【3】項目硬件模塊組成【4】設計意義【5】市面上同類產品研究現狀【6】摘要 1.2 設計思路1.3 系統功能總結1.4 開發工具的選擇【1】設備端開發【2】上位機開發 1.5 模塊的技術詳情介紹【1】ESP8266-WIFI模塊…

如何在 Manjaro Linux 上啟用 AUR 倉庫來安裝軟件包

Manjaro 是基于 Arch 的系統,是了解和學習 Arch Linux 命令的絕佳方式。它自帶所有流行的桌面環境界面,無論是 XFCE 還是 Gnome 的愛好者,都可以在 Manjaro 中直接使用。 Manjaro 或 Arch Linux 的默認軟件包管理器是 Pacman,我們…

有限上升時間信號的反射波形

有限上升時間信號的反射波形: 從上一節討論中我們知道,阻抗不連續的點處,反射信號是入射信號的一個副本,并討論了上升時間為0的信號的反射情況。這些規律對于上升時間不為0的信號同樣適用,只不過入射信號和反射信號的疊加稍稍復雜…

Vue 3.4+ defineModel 全面詳解 + 實戰最佳實踐

🌟 前言:為什么要關注 defineModel? 過去我們在 Vue 組件中使用 v-model 時,常需要這樣寫: // 子組件 defineProps([modelValue]) defineEmits([update:modelValue])function update(val) {emit(update:modelValue, …

MySQL事物隔離級別詳解

目錄 事物隔離級別總結 實際情況演示 臟讀(未提交) 避免臟讀(讀已提交) 不可重復讀 可重復讀 幻讀 事物隔離級別總結 SQL標準定義了四種事物隔離級別,用來平衡事物的隔離性(Isolation)和…

【安卓開發】Kotlin入門教程

一、Kotlin 基礎入門 1.1 Kotlin 簡介 Kotlin 是一種由 JetBrains 開發的靜態類型編程語言,運行在 Java 虛擬機上,也可以編譯為 JavaScript 或原生代碼。它于 2017 年被 Google 宣布為 Android 官方開發語言。 主要特點: 簡潔:…

工業機器人保護氣體節約方法

焊接在現代工業生產中作為一項關鍵技術,其效率和質量直接影響著產品的最終性能和生產成本。隨著智能制造的不斷推進,工業焊接機器人在自動化生產線中扮演著越來越重要的角色。焊接過程中的氣體調節一直是一個技術難題,它直接關系到焊接質量的…

java中集合API

集合API 一、簡述二、Collection(1).List1.ArrayList:2. LinkedList (2) Set 三、Map1.HashMap2. TreeMap 三、Iterator接口Collections工具類1.對集合元素進行排序2.基于Comparator,自定義方法(內部類)進行…

Oracle 用戶權限與對象權限詳解

一、權限體系概述 Oracle 數據庫的權限管理是保障數據安全的核心機制,主要分為系統權限(System Privileges) 和對象權限(Object Privileges) 兩大類: 系統權限:賦予用戶在數據庫中執行特定操作…

kubectl get pods 時 “client-side throttling, not priority and fairness“ 原因初探

1. 問題起源 在kubernetes里,使用kubectl get pods 時,返回 I0508 05:43:04.655602 100742 request.go:668] Waited for 1.178494016s due to client-side throttling, not priority and fairness, request: GET:https://10.103.0.1:443/apis/cert-ma…

力扣網C語言編程題:位運算來解決 “尋找重復數”

一. 簡介 前面兩篇文章解決力扣網上"查找重復數"的題目,提供了三種思路:哈希表、二分法和快慢指針。文章如下: 力扣網C語言編程題:“尋找重復數”的兩種思路-CSDN博客 力扣網C語言編程題:快慢指針來解決 …

3D視覺感知

目錄 3D視覺感知任務 單目3D感知 單目3D物體檢測 – 直接預測3D信息 單目3D物體檢測 – 總結 單目深度估計 雙目3D感知 多目3D感知 3D視覺感知任務 ? 輸入:單攝像頭或多攝像頭生成的圖像數據 ? 單張圖像 ? 圖像序列 ? 輸出 ? 稀疏&#xff1a…

es中常規的根據字段查詢時走什么索引(說明:「常規的根據字段查詢」不包含分詞查詢)

在Elasticsearch中,“常規的根據字段查詢”且不涉及分詞的查詢(如精確匹配、范圍查詢),主要依賴以下索引機制: 一、核心索引類型及適用場景 字段類型索引結構典型查詢方式應用場景keyword倒排索引(未分詞…

MYSQL如何插入數據,效率會更高

在MySQL中,插入數據的效率可以通過多種方式逐步提升。以下是從簡單到復雜的優化路徑,幫助你逐步提高數據插入的性能: 一、基礎插入:逐條插入 這是最基礎的插入方式,適用于少量數據的插入操作。雖然簡單,但…

Rabbitmq的五種消息類型介紹,以及集成springboot的使用

交換機類型 Fanout Exchange 扇型交換機,這個交換機沒有路由鍵概念,就算你綁了路由鍵也是無視的。 這個交換機在接收到消息后,會直接轉發到綁定到它上面的所有隊列 Direct Exchange 直連型交換機,根據消息攜帶的路由鍵將消息投遞…

日語學習-日語知識點小記-進階-JLPT-真題訓練-N2階段(4):2022年12月2023年12月

日語學習-日語知識點小記-進階-JLPT-真題訓練-N2階段(4):2022年12月&2023年12月 1、前言(1)情況說明(2)工程師的信仰(3)真題訓練 2、2個卷的單詞部分1、 真題-2023年…

從代碼學習深度強化學習 - Actor-Critic 算法 PyTorch版

文章目錄 前言算法原理1. 從策略梯度到Actor-Critic2. Actor 和 Critic 的角色3. Critic 的學習方式:時序差分 (TD)4. Actor 的學習方式:策略梯度5. 算法流程代碼實現1. 環境與工具函數2. 構建Actor-Critic智能體3. 組織訓練流程4. 主程序:啟動訓練5. 實驗結果總結前言 在深…

Python 數據分析與可視化 Day 8 - Pandas 高級操作技巧

? 今日目標 掌握 Pandas 的索引體系(Index / MultiIndex)使用 set_index() 和 reset_index() 管理數據索引理解 pivot_table 與 melt、stack/unstack 重塑數據形態初步理解“寬表”與“長表”在數據分析與可視化中的應用場景 📚 一、深入理…