计算机组成原理 主存和CPU连接与主存提速方案

文章目录

    • 主存与CPU的连接
      • 译码器
        • 线选法
        • 译码片选法
        • 总结
      • 位拓展
      • 字拓展
      • 字位同时拓展
    • 主存提速方案
      • 存储周期
      • 双端口RAM
      • 多模块存储器
        • 单体多字存储器
        • 多模块多体并行存储器存储器
          • 高位交叉编址
          • 低位交叉编址

主存与CPU的连接

主存与CPU的连接
译码器
线选法
译码片选法
位拓展
字拓展
字位同时拓展

译码器

线选法

译码器
在这里插入图片描述

线选法
n条地址线线-> n个选片信号,电路简单,但是地址空间不连续
低电平有效:
输入电压为0,有效
输入电压为1,无效

译码片选法

在这里插入图片描述

译码片选法
n条地址线线-> 2 n 2^n 2n个选片信号,电路复杂,但是地址空间连续

总结
线选法译码片选法
n条地址线线->n个选片信号n条地址线线-> 2 n 2^n 2n个选片信号
电路简单电路复杂
地址空间不连续地址空间可连续,可以增加逻辑设计

位拓展

位扩展:
假定手头只有若干 8Kx1位的SRAM芯片。首先需要使用2片该芯片,把这2片芯片连接为类似1片8Kx2位的芯片
可以看出,连接后存储单元数量不变,每个单元包含的位由1个变为2个,这种连接叫作存储器的位扩充。
在这里插入图片描述

位扩展
假定手头只有若干 8Kx1位的SRAM芯片首先需要使用8片该芯片,把这8片芯片连接为类似1片8Kx8位的芯片。
在这里插入图片描述

字拓展

字扩展:
假定手头只有若于 8Kx8位的SRAM芯片。首先需要使用2片该芯片,把这2片芯片连接为类似1片16Kx8位的芯片可以看出,连接后存储单元包含的位数不变,存储单元的数目增多。这种连接叫作地址(字)扩充。
线选法
在这里插入图片描述

片选法
在这里插入图片描述

字位同时拓展

在这里插入图片描述

主存提速方案

主存提速方案
存储周期
存取时间
存取周期
双端口RAM
多模块存储器
单体多字
多体并行
低位交叉编址
高位交叉编址

存储周期

RAM读周期
在这里插入图片描述

读操作时,必须保证片选信号为低电平,读写信号为高电平。
t R C t_{RC} tRC (读周期时间):指对芯片连续两次读操作之间的最小间隔时间。
t A t_A tA (读出时间):从给出有效地址后,经过译码电路、驱动电路的延迟,到读出所选单元内容,并经I/O电路延迟,直到数据在外部数据总线上稳定出现所需的时间。显然,读出时间小于读周期时间。
t C O t_{CO} tCO (片选到数据输出稳定的时间):数据能否送到外部数据总线上,不仅取决于地址,还取决于片选信号。因此, t C O t_{CO} tCO是从有效到数据稳定出现在外部数据总线上的时间。
t C X t_{CX} tCX(片选到数据输出有效时间):从片选有效到数据开始出现在数据总线上的间隔时间。
t O T D t_{OTD} tOTD:片选无效后数据还需在数据总线上保持的时间。
t O H A t_{OHA} tOHA:地址失效后,数据线上的有效数据维持时间,以保证所读数据可靠。

RAM写周期
在这里插入图片描述

执行写操作时,必须保证片选信号为低电平,读写信号为低电平。
t W t_W tW(写入时间):为保证数据可靠地写入,与同时有效的时间必须大于或等于 t W t_W tW
t A W t_{AW} tAW(滞后时间):地址有效后,必须经过 t A W t_{AW} tAW时间,WE/信号才能有效(低),否则可能产生写出错。
t W R t_{WR} tWR(写恢复时间):WE/无效后,经tWR时间后地址才能改变,否则也可能错误地写入。
t D W t_{DW} tDW:写入数据必须在写无效之前tDW时间就送到数据总线上。
t D H t_{DH} tDH:WE/无效后,数据还要保持的时间。此刻地址线仍有效, t W R > t D H t_{WR}>t_{DH} tWR>tDH,以保证数据可靠写入。
t W C t_{WC} tWC(写周期时间):表示连续两次写操作之间的最小时间间隔。 t W C = t A W + t W + t W R t_{WC} = t_{AW} + t_W + t_{WR} tWC=tAW+tW+tWR

存取时间
存取周期
在这里插入图片描述

双端口RAM

双口 RAM 是指一个特殊类型的RAM,它有两套完全独立的数据线、地址线和读 /写控制线。只要不同时访问同一个单元,两个独立的 CPU 可以同时对双口 RAM 进行随机访问。如果同时访问双端口RAM的同一个单元,由内部的控制电路决定哪个端口可以访问该单元。

在这里插入图片描述

注意
需要有两组完全独立的数据线、地址线、控制线。CPU、DRAM中也要有更复杂的控制电路

两个端口对同一主存操作有以下4种情况

  1. 两个端口同时对不同的地址单元存取数据。
  2. 两个端口同时对同一地址单元读出数据。
  3. 两个端口同时对同一地址单元写入数据。
  4. 两个端口同时对同一地址单元,一个写入数据,另一个读出数据。

解决方法∶ 置"忙"信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。

多模块存储器

传统存储器
在这里插入图片描述

多模块存储器
为提高访存速度,常采用多模块存储器,常用的有单体多字存储器多体并行存储器

单体多字存储器

单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储 m 个字,总线宽度也为 m 个字。一次并行读出 m 个字,地址必须顺序排列并处于同一存储单元。
eg.单体四字存储器:每字W位,给定一个地址,可以在一个存取周期内读出4×W位指令或数据,使主存带宽提高到4倍

假设存取时间为r,恢复时间为3r那么存取周期为T=4r
在这里插入图片描述

特点

  1. 每个存储单元存储m个字,总线宽度也为m个字,一次并行读出m个字
  2. 指令和数据在主存内必须是连续存放的
多模块多体并行存储器存储器

多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交叉工作。
多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种。
在这里插入图片描述

高位交叉编址

高位地址表示体号,低位地址为体内地址。高位交叉编址方式下,总是把低位的体内地址送到由高位体号确定的模块内进行译码。访问一个连续主存块时,总是先在一个模块内访问,等到该模块访问完才转到下一个模块访问,CPU总是按顺序访问存储模块,存储模块不能被并行访问,因而不能提高存储器的吞叶率。

体号 体内地址

低位交叉编址

低位地址为体号,高位地址为体内地址。低位交叉编址方式下,总是把高位的体内地址送到由低位体号确定的模块内进行译码。程序连续存放在相邻模块中。 因此称采用此编址方式的存储器为交叉存储器。采用低位交叉编址后,可在不改变每个模块存取周期的前提下,采用流水线的方式并行存取,提高存储器的带宽。

体内地址 体号

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【线上问题】两台服务器的时间不一致导致jwt解析错误

目录 一、问题描述二、解决方法 一、问题描述 1.线上生产问题,本地和测试环境均无问题 2.本地和测试由于网关和登录服务均在同一台机器 3.线上的登录服务和网关部署不在一起,登录服务的时间正常,网关服务的服务器时间比实际快5秒 4.登录服务j…

负缓存 (在 DNS 中较为常见)

摘要 负缓存,也被称为负值缓存或负面缓存,指的是在域名系统(DNS)中记录和重用之前失败查询结果的机制。当DNS服务器无法解析一个域名时,它会返回一个特定错误码(例如NXDOMAIN),指示…

ChatGPT付费创作系统V2.6.2独立版 +WEB端+ H5端 + 小程序端

详情介绍 安装测试环境:Nginx 1.20+PHP7.4+MySQL 5.7 演示网址已升级至2.6.2最新版,仅供研究测试 WEB端:https://chat.ttbobo.cn 体验后台:https://chat.ttbobo.cn/admin 账号:admin 密码:123456 ChatGPT付费创作系统V2.6.2独立版 +WEB端+ H5端 + 小程序端 - 百创…

鸿蒙原生应用再添新丁!中国移动 入局鸿蒙

鸿蒙原生应用再添新丁!中国移动 入局鸿蒙 来自 HarmonyOS 微博1月2日消息,#中国移动APP启动鸿蒙原生应用开发#,拥有超3亿用户的中国移动APP宣布,正式基于HarmonyOS NEXT启动#鸿蒙原生应用#及元服务开发。#HarmonyOS#系统的分布式…

【Linux】进程控制深度了解

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握Linux下的进程控制 > 毒鸡汤&#xff…

【Leetcode】466. 统计重复个数

文章目录 题目思路代码 题目 466. 统计重复个数 思路 题目要求找出一个最大整数 m,使得经过 n2 个字符串 s2 组成的字符串能够被经过 n1 个字符串 s1 组成的字符串完全包含的次数。使用动态规划来记录每个位置匹配的情况,并通过循环节的分析来计算最…

JavaBean

学习目的与要求 熟练掌握<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>等JSP的操作指令。 本章主要内容 编写JavaBean在JSP中使用JavaBean 一个JSP页面通过使用HTML标记为用户显示数据&#xff08;静态部分&#xff09;&#xff0c;页面中变量的…

利用码云(Gitee)与IDEA轻松管理远程代码库的完整指南

目录 前言1 码云简介2 码云上创建远程库3 IDEA集成码云的步骤3.1 安装Gitee插件并建立连接3.2 项目分享到码云3.3 拉取代码 4 码云复制Github4.1 迁移github项目到码云4.2 代码同步 结语 前言 在软件开发领域&#xff0c;代码托管平台是开发者不可或缺的利器。Github作为全球最…

Qt实现文本编辑器(二)

上一章节讲述了如何制作文本编辑页面&#xff0c;以及应该有哪些功能需要实现&#xff0c;只是做了展示效果&#xff0c;实际的点击事件并没有处理。今天来具体讲解下是如何实现菜单栏以及工具栏上对应的需求吧~ 功能实现 功能&#xff1a; 1、动作消息触发 2、具体功能&am…

客户投诉处理常用的ChatGPT通用提示词模板

客户投诉接收&#xff1a;如何接收客户的投诉&#xff0c;并确保信息的准确记录&#xff1f; 投诉分类与优先级排序&#xff1a;如何对投诉进行分类&#xff0c;并确定处理的优先级&#xff1f; 调查与核实&#xff1a;如何对投诉进行调查和核实&#xff0c;了解问题的真实情…

常见安全概念澄清,Java小白入门(八)

认证 认证 (Identification) 是验证当前用户的身份。 常见的认证技术&#xff1a; 身份证用户名和密码用户手机&#xff1a;手机短信、手机二维码扫描、手势密码用户的电子邮箱用户的生物学特征&#xff1a;指纹、语音、眼睛虹膜 授权 授权 (Authorization) 指赋予用户系统…

Linux pwd命令教程:如何查看当前工作目录(附实例教程和注意事项)

Linux pwd命令介绍 pwd命令&#xff08;全称&#xff1a;print working directory&#xff09;是一个非常简单的Linux命令&#xff0c;它的功能就是打印当前工作目录。当你在Linux终端中感到迷失时&#xff0c;pwd命令可以帮助你重新定位&#xff0c;显示你所在的目录。 Linu…

Pointnet++改进:更换不同的激活函数,打造更优性能

简介&#xff1a; 1.该教程提供大量的首发改进的方式&#xff0c;降低上手难度&#xff0c;多种结构改进&#xff0c;助力寻找创新点&#xff01; 2.本篇文章对Pointnet进行激活函数的改进&#xff0c;助力解决RELU激活函数缺陷。 3.专栏持续更新&#xff0c;紧随最新的研究内容…

kotlin 过滤集合中的特定的元素

kotlin提供了过滤集合很方便过滤集合中特定的元素 1 如果是同一种类型的操作&#xff0c;建议使用filter 或者是partition 例如过滤出字符长度大于3的元素 使用partition val numbers listOf("one", "two", "three", "four")val …

前端Web系统架构设计

文章目录 1.目录结构定义2. 路由封装2.1 API路由定义2.2 组件路由定义 3. Axios请求开发4. 环境变量封装5. storage模块封装(sessionStorage, localStorage)6. 公共函数封装(日期,金额,权限..)7. 通用交互定义(删除二次确认,类别,面包屑...)8. 接口全貌概览 1.目录结构定义 2. …

【QT】跨平台区分32位和64位的宏

目录 0.背景 1.详细 0.背景 项目用到&#xff0c;原用的是 “WIN32”和“WIN64”,但是发现在64位下的时候&#xff0c;进了表示32位的代码&#xff0c;上网查找&#xff0c;原来是宏写错了&#xff0c;特此记录&#xff0c;适用windows和linux 1.详细 修改前&#xff1a; #…

LeetCode刷题--- 三步问题

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…

【Matlab】PSO-BP 基于粒子群算法优化BP神经网络的数据时序预测(附代码)

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/88689096 一&#xff0c;概述 PSO-BP算法是一种结合了粒子群算法&#xff08;PSO&#xff09;和BP神经网络的方法&#xff0c;用于数据时序预测。下面是PSO-BP算法的原理和过程&#xff1a; 1. 数据准备&…

继承和多态

全局变量&#xff0c;int monster 10000:定义英雄类hero&#xff0c;受保护的属性string name&#xff0c;int hp,int attck;公有的无参构造&#xff0c;有参构造&#xff0c;虚成员函数 void Ak(blood-0)&#xff0c;法师类继承自英雄类&#xff0c;私有属性 int p_atk50;重写…

Github 2024-01-03 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-01-03统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目3TypeScript项目3Jupyter Notebook项目1Dart项目1C项目1Rust项目1 系统设计指南 创建周期&#x…