计算机组成原理 主存和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,一经查实,立即删除!

相关文章

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

鸿蒙原生应用再添新丁!中国移动 入局鸿蒙 来自 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…

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

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

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

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

前端Web系统架构设计

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

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…

计算机毕业设计 SpringBoot的停车场管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

堆排序 Heapsort

堆排序&#xff08;Heapsort&#xff09;是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子结点的键值或索引总是小于&#xff08;或者大于&#xff09;它的父节点。堆排序可以说是一种利用堆的概…

简易机器学习笔记(四)初识卷积神经网络

前言 第一次写卷积神经网络&#xff0c;也是照着paddlepaddle的官方文档抄&#xff0c;这里简单讲解一下心得。 首先我们要知道之前写的那些东西都是什么&#xff0c;之前写的我们称之为简单神经网络&#xff0c;也就是简单一层连接输出和输出&#xff0c;通过前向计算和逆向…

Simple Facebook Sign-In

简单的Facebook登录为Android、iOS、Windows、Mac、通用Windows平台(UWP)和Unity制作的WebGL应用程序提供了基于OAuth 2.0的Facebook登录。 优点: ● 跨平台游戏和应用程序的跨平台用户身份验证 ● 无插件,无第三方库,无依赖● 对建筑规模没有影响 ● 客户端-服务器应…

solidity显示以太坊美元价格

看过以太坊白皮书的都知道&#xff0c;以太坊比较比特币而言所提升的地方中&#xff0c;我认为最重要的一点就是能够访问外部的数据&#xff0c;这一点在赌博、金融领域应用会很广泛&#xff0c;但是区块链是一个确定的系统&#xff0c;包括里面的所有数值包括交易ID等都是确定…

OS 7--DNS配置+Apache发布网站

环境准备 centOS 7 1.配置DNS 1.1 域名为lianxi.com 1.2 为WWW服务器、FTP服务器、NEWS服务器做域名解析 1)安装DNS yum -y install bind bind-utils (如果安装不上&#xff0c;就把磁盘在重洗挂载一下&#xff09; 2&#xff09;修改DNS配置文件 vim /etc/resolv.conf…

车载 Android之 核心服务 - CarPropertyService 解析

重要类的源码文件名及位置&#xff1a; CarPropertyManager.java packages/services/Car/car-lib/src/android/car/hardware/property/ CarPropertyService.java packages/services/Car/service/src/com/android/car/ 类的介绍&#xff1a; CarPropertyManager&#xff1a…