计算机组成原理 第三章(存储器)—第三节(主存储器(下))

本文主要是介绍计算机组成原理 第三章(存储器)—第三节(主存储器(下)),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面:

  1. 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:计算机组成原理(哈工大刘宏伟)135讲(全)高清_哔哩哔哩_bilibili

一、存储器与CPU的连接

1、存储容量的扩展

(1)由于单片存储芯片的容量总是有限的(因为把一片芯片的容量做得非常大是不切实际的),因此有时需要将若干存储芯片连在一起才能组成足够容量的存储器,这称为存储容量的扩展。

(2)存储容量的扩展有位扩展和字扩展两种方式:

①位扩展:位扩展是指增加存储字长例如2片1K×4位的芯片可组成1K×8位的存储器,如下图所示,图中2片2114的地址线A_{9}\sim A_{0}\overline{CS}\overline{WE}都分别连在一起,其中一片的数据线作为高4位D_{7}\sim D_{4},另一片的数据线作为低4位D_{3}\sim D_{0},这样便构成了一个1K×8位的存储器

②字扩展:字扩展是指增加存储器中字的数量例如用2片1K×8位的存储芯片可组成一个2K×8位的存储器,即存储字增加了一倍,如下图所示,A_{10}用作片选信号,由于存储芯片的片选输入端要求低电平有效,那么当A_{10}为低电平时\overline{CS}_{0}有效,选中左边的1K×8位芯片,当A_{10}为高电平时,经过反相后使得\overline{CS}_{1}有效,选中右边的1K×8位芯片

③字、位扩展:字、位扩展是指既增加存储字的数量,又增加存储字长,下图所示是用8片1K×4位的芯片组成4K×8位的存储器,每2片1K×4位的芯片构成一组1K×8位的存储器,4组便构成4K×8位的存储器,地址线A_{11}A_{10}经片选译码器得到4个片选信号分别选择其中1K×8位的存储芯片,\overline{WE}为读/写控制信号。

2、连接方式

(1)地址线的连接:存储芯片的容量不同,其地址线数也不同,CPU的地址线数往往比存储芯片的地址线数多,通常总是将CPU地址线的低位与存储芯片的地址线相连,CPU地址线的高位或在存储芯片扩充时使用,或做其它用途(比如片选信号)。例如,假设CPU的地址线为16位A_{15}\sim A_{0},1K×4位的存储芯片仅有10根地址线A_{9}\sim A_{0},此时可将CPU的低位地址A_{9}\sim A_{0}与存储芯片的地址线A_{9}\sim A_{0}相连。

(2)数据线的连接:CPU的数据线数与存储芯片的数据线数也不一定相等,这时必须对存储芯片进行扩位,使其数据位数与CPU的数据线数相等

(3)读/写命令线的连接:CPU的读/写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写;有些CPU的读/写命令线是分开的,此时CPU的读命令线应与存储芯片的允许读控制端相连,而CPU的写命令线则应与存储芯片的允许写控制端相连。

(4)片选线的连接:存储器由许多存储芯片组成,哪一片被选中完全取决于该存储芯片的片选控制端能否接收到来自CPU的片选有效信号,对此有两种连接方式——一种是线选法,即用n条线连接n个芯片,简单粗暴,但是地址空间不连续;另一种是译码片选法(常用),如上图所示,它用n条线即可连接2^{n}个芯片,且地址空间可连续,只是电路稍微有点复杂。

(5)合理选择存储芯片:主要是指存储芯片类型(RAM或ROM)和数量的选择,通常选用ROM存放系统程序、标准子程序和各类常数等,RAM则是为用户编程而设置。

(6)举例:

①假定主存地址空间分配如下(按字节寻址),CPU有16根地址线,那么将下面的地址写成16位二进制地址码后,可以发现A_{9}\sim A_{0}并不能区分开系统程序区和用户程序区,直到A_{10}开始有差别,当A_{10}为1时会选中系统程序区,当A_{10}为0时两个区都有可能被选中,于是可以将CPU的低11位地址A_{10}\sim A_{0}与1片2K×8位的ROM地址线相连,将CPU的低10位地址A_{9}\sim A_{0}与2片1×4K的RAM地址线相连,剩下的高位地址与访存控制信号共同产生存储芯片的片选信号

A_{15}始终为低电平,A_{14}始终为高电平,它们正好可分别与74138译码器的\overline{G}_{2A}(低)和G_{1}(高)对应,而访存控制信号\overline{MREQ}(低电平有效)又正好可与\overline{G}_{2B}(低)对应,剩下的A_{13}A_{12}A_{11}可分别接到译码器的C、B、A输入端,其输出\overline{Y}_{4}有效时选中1片ROM,\overline{Y}_{5}A_{10}同时有效均为低电平时,与门输出选中2片RAM

二、存储器的校验

1、汉明码的组成

(1)在计算机运行过程中,由于种种原因致使数据在存储过程中可能会出现差错,为了及时发现错误并纠正,通常可将原数据配成汉明编码。

(2)汉明码具有一位纠错能力

        由编码纠错理论得知,任何一种编码是否具有检测能力和纠错能力,都与编码的最小距离有关,所谓编码的最小距离是指在一种编码系统中,任意两组合法代码之间的最少二进制位数的差异

        根据纠错理论得L-1=D+C(D\geq C),即编码最小距离L越大,其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于或等于检错能力。

(3)假设要检测的二进制代码为n位,为使其具有纠错能力,需增添k位检测位,组成n+k位的代码。为了能准确对错误定位以及指出代码无误,新增添的检测位数k应满足2^{k}\geq n+k+1

n

K(最小)

1

2

2~4

3

5~11

4

12~26

5

27~57

6

58~120

7

(4)设n+k位代码自左向右依次编为第1、2、3、…、n+k位,而将k位检测位记作C_{i}(i=1,2,4,8,\cdots ),分别安插在n+k位代码编号的第1、2、4、8、…、2^{k-1}位上

这些检测位的位置设置是为了保证它们能分别承担n+k位信息中不同数位所组成的“小组”的奇偶检测任务,使检测位和它所负责检测的小组中1的个数为奇数或偶数,具体分配如下:

②按照上面列出的分配方式,其余检测位的小组所包含的位也可类推,这种小组的划分有如下特点:

(5)举例:

2、汉明码的纠错过程

(1)汉明码的纠错过程实际上是对传送后的汉明码形成新的检测位P_{i}(i=1,2,4,8,\cdots ),根据P_{i}的状态便可直接指出错误的位置。P_{i}的状态是由原检测位C_{i}及其所在小组内“1”的个数确定的,倘若是按配偶原则配置的汉明码,其传送后形成新的检测位P_{i}应为0,否则说明传送出错,并且还可直接指出出错的位置

(2)继续以n=4为例(采用配偶原则),由于P_{i}C_{i}有对应关系,则P_{i}可由下式确定:

(3)汉明码虽然只能纠正1位错误,但是如果添加一个全校验位,那么它还可以检出2位错误,不过当检出2位错误的时候(全体校验成功,但其它校验位有问题),计算机没办法进行纠错,只能进行重传。

三、提高访存速度的措施

1、单体多字系统

(1)由于程序和数据在存储体内是连续存放的,因此CPU访存取出的信息也是连续的,如果可以在一个存取周期内从同一地址取出4条指令,然后再逐条指令送至CPU执行,即每隔1/4存取周期,主存向CPU送一条指令,这样显然增大了存储器的带宽,提高了单体存储器的工作速度。

(2)下图所示是一个单体四字结构的存储器,每字W位,按地址在一个存取周期内可读出4×W位的指令或数据,使主存带宽提高到原来的4倍。采用这种办法的前提指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或者操作数不能连续存放,这种方法的效果就不明显。

2、多体并行系统

(1)多体并行系统就是采用多体模块组成的存储器,每个模块有相同的容量和存取速度,各模块各自都有独立的地址寄存器(MAR)、数据寄存器(MDR)、地址译码、驱动电路和读/写电路,它们既能并行工作,又能交叉工作(并行工作即同时访问N个模块,同时启动,同时读出,完全并行地工作,不过同时读出的N个字在总线上需分时传送)。

(2)下图所示的是适合于并行工作的高位交叉编址的多体存储器结构示意图,程序按体内地址顺序存放(一个体存满后,再存入下一个体),于是又有顺序存储之称。高位地址可表示体号(即
M_{i},对下图而言是最高两位地址码),低位地址为体内地址,按这种编址方式,只要合理调动,使不同的请求源同时访问不同的体,便可实现并行工作。这种编址方式由于一个体内的地址是连续的,有利于存储器的扩充。

(3)下图所示的是低位交叉编址的多体存储器结构示意图,程序连续存放在相邻体中,于是又有交叉存储之称。低位地址用来表示体号(即M_{i},对下图而言是最低两位地址码),高位地址为体内地址,这种编址方法又称为模M编址(M等于模块数,地址码除以M,余数就是体号)

(4)多体模块结构的存储器采用交叉编址后,可以在不改变每个模块存取周期的前提下提高存储器的带宽。下图所示的是CPU交叉访问4个存储体的时间关系,负脉冲为启动每个体的工作信号,虽然对每个体而言存取周期均未缩短,但由于CPU交叉访问各体,使4个存储体的读/写过程重叠进行,最终在一个存取周期的时间内,存储器实际上向CPU提供了4个存储字。

(5)假设每个体的存储字长和数据总线的宽度一致,并假设低位交叉的存储器模块数为n,存取周期为T,总线传输周期为τ,那么当采用上图所示的流水线方式存取时应满足T=n\tau。以四体低位交叉编址(交叉存储)的存储器为例,采用流水方式存取的示意图如下图所示,连续读取n个字所需的时间为t_{1}=T+(n-1)\tau;若采用的是高位交叉编址(顺序存储)的存储器,则连续读取n个字所需的时间为t_{2}=nT

3、高性能存储芯片

        采用高性能存储芯片也是提高主存速度的措施之一。DRAM集成度高,价格便宜,广泛应用与主存,其发展速度很快。为了进一步提高DRAM的性能,人们开发了许多对基本DRAM结构的增强功能,出现了SDRAM、RDRAM和CDRAM。

这篇关于计算机组成原理 第三章(存储器)—第三节(主存储器(下))的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/802946

相关文章

《计算机英语》Unit 1 Computer Overview 计算机概述

期末试卷组成 1、选择20道 2、判断20道 3、词汇翻译(单词+词组,参照课后习题) 4、翻译2道(一道原题,参照作业) SectionA About Computer 关于计算机 algorithm          n.  算法  operate          v.  操作  digital           adj. 数字的  integrated circuit

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库

计算机组成原理——RECORD

第一章 概论 1.固件  将部分操作系统固化——即把软件永恒存于只读存储器中。 2.多级层次结构的计算机系统 3.冯*诺依曼计算机的特点 4.现代计算机的组成:CPU、I/O设备、主存储器(MM) 5.细化的计算机组成框图 6.指令操作的三个阶段:取指、分析、执行 第二章 计算机的发展 1.第一台由电子管组成的电子数字积分和计算机(ENIAC) 第三章 系统总线

GaussDB关键技术原理:高性能(二)

GaussDB关键技术原理:高性能(一)从数据库性能优化系统概述对GaussDB的高性能技术进行了解读,本篇将从查询处理综述方面继续分享GaussDB的高性能技术的精彩内容。 2 查询处理综述 内容概要:本章节介绍查询端到端处理的执行流程,首先让读者对查询在数据库内部如何执行有一个初步的认识,充分理解查询处理各阶段主要瓶颈点以及对应的解决方案,本章以GaussDB为例讲解查询执行的几个主要阶段

计算机Java项目|基于SpringBoot的网上摄影工作室

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码  项目编号:L-BS-QBBSSPRINGBOOT

【计算机组成原理】部分题目汇总

计算机组成原理 部分题目汇总 一. 简答题 RISC和CICS 简要说明,比较异同 RISC(精简指令集)注重简单快速的指令执行,使用少量通用寄存器,固定长度指令,优化硬件性能,依赖软件(如编译器)来提升效率。 CISC(复杂指令集)包含多样复杂的指令,能一条指令完成多步操作,采用变长指令,减少指令数但可能增加执行时间,倾向于硬件直接支持复杂功能减轻软件负担。 两者均追求高性能,但RISC

MySQL数据库锁的实现原理

MySQL数据库的锁实现原理主要涉及到如何确保在多用户并发访问数据库时,保证数据的完整性和一致性。以下是MySQL数据库锁实现原理的详细解释: 锁的基本概念和目的 锁的概念:在数据库中,锁是用于管理对公共资源的并发控制的机制。当多个用户或事务试图同时访问或修改同一数据时,数据库系统通过加锁来确保数据的一致性和完整性。 锁的目的:解决多用户环境下保证数据库完整性和一致性的问题。在并发的情况下,会

Modbus初学者教程,第三章:modbus寄存器说明

第三章:modbus寄存器说明 寄存器种类 Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中。Modbus寄存器是指一块内存区域。Modbus寄存器根据存放的数据类型以及各自读写特性,将寄存器分为4个部分,这4个部分可以连续也可以不连续,由开发者决定。寄存器的意义如下表所示。 Modbus协议定义了设备间的数据传输方式,包括数据格式和通信规则。Modbus寄存器是协议中用

线性回归(Linear Regression)原理详解及Python代码示例

一、线性回归原理详解         线性回归是一种基本的统计方法,用于预测因变量(目标变量)与一个或多个自变量(特征变量)之间的线性关系。线性回归模型通过拟合一条直线(在多变量情况下是一条超平面)来最小化预测值与真实值之间的误差。 1. 线性回归模型         对于单变量线性回归,模型的表达式为:         其中: y是目标变量。x是特征变量。β0是截距项(偏置)。β1

标准分幅下的图幅号转换成经纬度坐标【原理+源代码】

最近要批量的把标准分幅下的图幅号转换成经纬度坐标,所以这两天写了个程序来搞定这件事情。 先举个例子说明一下这个程序的作用。 例如:计算出图幅号I50G021040的经纬度范围,即最大经度、最小经度、最大纬度、最小纬度。 运用我编写的这个程序,可以直接算出来,这个图幅号的经纬度范围,最大经度为115.3125°,最小经度为115.25°,最大纬度为31.167°,最小纬度为31.125°。