计算机组成原理第4章-(主存储器)【中】

只读存储器ROM分类

对于只读存储器ROM来说,共有三类:“PROM”、“EPROM”、“EEPROM”。

存储器的扩展【重要

首先,我们要明白存储器为什么要扩展??

因为单片存储芯片的容量是有限的,很那满足实际的需要,因此,必须将若干存储芯片连在一起才

能组成足够容量的扩展器,这就是存储容量的扩展,也叫作存储器的扩展。

通常,对于存储器的扩展,有:“位扩展”、“字扩展”。

位扩展

位扩展是增加存储字长,例如2片1K * 4的芯片可以组成1片1K * 8的芯片。

这里有一点需要提醒读者,位扩展可以说对应的是MDR。(根数

我们给出一个例子,对于下图两片2114芯片,我们让其中一片2114芯片的D0,D1,D2,D3作为组成

的新的芯片的D4,D5,D6,D7

\

字扩展

字扩展是指增加存储器字的数量。(存储器单元的数量

对应的是MAR。(根数

例如,用2片1 K *8的芯片可以组成1片2K * 8的芯片。

对应的,此时我们增加一根MAR线,记做A10,A10用来区分两片芯片,可以假设A10为1的时候选

中左边的芯片,A10为0的时候选中右边的芯片,相对于位扩展来说,字扩展需要额外增加MAR线

的数量

在这里,抛给读者一个问题,当我想用四片1K * 8的芯片组成一片4K * 8的芯片,那么请问MAR线

有几根呢?

答案是11根。

对于答案的产生有两种方法,在这里作者按照之前讲的方法赘述一下:

已知一片1K * 8的芯片,需要10根MAR线,此时我们再拿出一根MAR线,这根MAR线可以存“0”,

也可以存“1”,那么是不是可以代表着能指示两片芯片呢??

同理,当我们多拿出两根MAR线,对于这两根MAR线,它们的数据组成一共有四种,换算成二进

制代码就是:“00”,“01”,“10”,“11”,即2^{2}

对于这四种二进制代码,每一个都对应一个芯片的地址芯片号)。

在这里,其实还有字扩展和位扩展同时使用,不过原理都是一样的,作者就不赘述了。

存储器的校验方法【极其重要

对于存储器来说,它里面存的数据可能会出错,比如当某个电器元件短路时,DRAM依靠电容存储

数据,此时它的数据就会出错,为此我们需要一种方法来检验存储器里面存储的数据是否正确。

我们主要说明两种方法:“汉明校验法”【必会】、“CRC校验法”。

汉明校验码

汉明校验码只具有“1纠错能力

汉明校验码需要具备一定的能力,慎重考虑。

我们先来了解一下,纠错理论:

“L - 1 = D + C 且 D >= C”。

即编码最小距离L越大,其检错位数D就越大,纠错位数C就越大。

其中C恒小于等于D。

例如,当L = 3时,那么这种编码可以检错2位或者可以检错1位并且纠错1位

我们再来看一下汉明校验码的编码理论

假设需要检测的二进制代码位数为n位,那么需要添加k为检测位,共组成n+k位二进制编码。

其中:

2^{k} >= n + k + 1。

当k的位数确定后,我们就可以分配增加的k位检测码放到哪里了。

我们人为规定将n+k位二进制代码,从左至右依次记为1,2,3,4...n+k位(这与二进制代码从右至

左是不同的,不要弄混),我们再将k位检测码分别放到1,2,4,8,16...2^{k-1}位上。

其中,每一个检测位对应一个检测小组,具体分配如下:

C1:检测的小组包含1,3,5,7,9,11...位【从1开始,组长为1】 组1

C2:检测的小组包含2,3,6,7,10,11...位【从2开始,组长为2】 组2

C4:检测的小组包含4,5,6,7,12,13,14,15...位【从4开始,组长为4】 组3

C8:检测的小组包含8,9,10,11,12,13,14,15...位【从8开始,组长为8】 组4

.....

这样划分有下面三个特点:

1.每个小组有一位是它自己独有的。

2.每两个小组共同占有一位是其他小组没有的,这个位数是:“2^{i-1}+2^{j-1}”,其中i,j是组号

3.每三个小组共同占有“2^{i-1}+2^{j-1}+2^{k-1}”。其中i,j,k是组号

以此类推。

检错过程

现在给出一个例子:

建设我们要传递的信息是b4b3b2b1,那么我们可以求出k=3,此时它们的安排如下。

在这里,我们还需要强调一下,在汉明码检错的时候,有两种格式:“偶原则”、“奇原则”。

其中,偶原则是异或奇原则是先异或后对结果取反

现在我们再假设b4b3b2b1是:“0101”。

那么按照偶原则:

C1组包含:1,3,5,7,9....

在这个例子中就是包含1,3,5,7四位。

除去它自身第1位,就是包含3,5,7三位,即b4,b3,b1,我们对它们异或: 0 ^ 1 ^ 1 == 0。

同理,C2组包含:2,3,6,7,10,11...

在这个例子中就是包含2,3,6,7四位,即b4,b2,b1,对它们异或:0 ^ 0 ^ 1 == 1。

C4组就包含:4,5,6,7四位,即b3,b2,b1,对它们异或:1 ^ 0 ^ 1 == 0。

故7位汉明校验码就是:

0100101。

纠错过程

纠错过程就是检错过程的逆置,我们假设检测位Pi为(I=1,2,4,8,.....),即C1,C2,C4....

例如对于7位检测码,我们只需要检测P1,P2,P4即可。

若是偶原则,则P1,P2,P4需要是0,若是奇原则,则需要是1

我们假设接受到一个汉明码为:0100111。

该码为7位,因此,我们需要检测P1,P2,P4即可。

怎么检测呢?

偶原则就是异或,奇原则就是异或后取反!

所以P1 = 1 ^ 3 ^ 5 ^ 7(1357是位置) ,即P1 = 0 ^ 0 ^ 1 ^ 1 = 0

P2 = 2 ^ 3 ^ 6 ^ 7,即P2 = 1 ^ 0 ^ 1 ^ 1 = 1

P4 = 4 ^ 5 ^ 6 ^ 7,即P4 = 0 ^ 1 ^ 1 ^ 1 = 1

可见P2,P4出错(不是0),那么是哪一位出错了呢?

前面我们讲到,汉明码分类的一个重要性质:“每两组唯一确定一位”,ok啊!

那么它们确定的位是2^{2-1}+2^{3-1},即第 2 + 4 = 6位。

那么第6位是1,只需要将它取反变成0即可,此时正确的汉明码我们已经求出:

0100101。

下图是该例子的一个示意图:

下面,我们给出一道练习题:

“已知接收到的汉明码为0110101(偶原则配置),试问欲传送的信息是什么?”

原谅作者手机马赛克画质QVQ

最后,我们再给出一道课后练习题,交给读者们自行完成:

请按照奇原则配置1100101的汉明码:

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

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

相关文章

神经网络:池化层知识点

1.CNN中池化的作用 池化层的作用是对感受野内的特征进行选择,提取区域内最具代表性的特征,能够有效地减少输出特征数量,进而减少模型参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling)&a…

回归烟火气,中国烹饪正在进行一场重构

当前的中国厨电行业,急需一场前所未有的变革。 近几年,厨电行业已告别以往的跨越式增长,多数厨电企业陷入迷茫,如何才能打破增长瓶颈?《一点财经》认为,只有积极适应新形势,探索新的经营方式&a…

基于Antd4 和React-hooks的项目开发

基于Antd4 和React-hooks的项目开发 https://github.com/dL-hx/react-cnode 项目依赖使用 react 16.13react-redux 7.xreact-router-dom 5.xredux 4.xantd 4axiosmoment 2.24 (日期格式化)qs 项目视图说明 首页主题详情用户列表用户详情关于 配置按需加载 https://3x.an…

DC-8靶场

目录 DC-8靶场链接: 首先进行主机发现: sqlmap得到账号密码: 反弹shell: exim4提权: Flag: DC-8靶场链接: https://www.five86.com/downloads/DC-8.zip 下载后解压会有一个DC-8.ova文件…

自动气象监测站助力生活生产

随着科技的发展,我们的生活和生产方式正在发生着日新月异的变化。其中,WX-CQ12 自动气象监测站作为一项气象监测设备,正在发挥着越来越重要的作用。它不仅为我们提供了更加准确、实时的天气信息,还为农业、交通、旅游等领域提供了…

studioone 6.5中文版功能特点

studioone 6.5中文版是一款强大的音乐编曲软件,可以帮助您使用灵活的和弦轨道功能实现音乐创作,该软件更加人性化的贴近人们使用的习惯,增加了很多专业性的功能,在完成简单的编辑操作后,会得到直观的修改过程,有需要的…

实验:使用ADC读取烟雾传感器的值

CubeMX 配置 3.3/4096 * smoke_value 这个表达式的含义是将ADC的原始数值 smoke_valuesmoke_value 转换成相应的电压值,假设ADC的范围是0到4095,电源电压是3.3V。这是一个将ADC的数字值映射到实际电压值的线性转换。 具体来说: 3.33.3 是电…

《论文阅读28》Unsupervised 3D Shape Completion through GAN Inversion

GAN,全称GenerativeAdversarialNetworks,中文叫生成式对抗网络。顾名思义GAN分为两个模块,生成网络以及判别网络,其中 生成网络负责根据随机向量产生图片、语音等内容,产生的内容是数据集中没有见过的,也可…

excel导出,post还是get请求?

1,前提 今天在解决excel导出的bug时,因为导出接口查询参数较多,所以把原来的get请求接口修改为post请求 原代码: 修改后: 2,修改后 postman请求正常,然后让前端对接口进行同步修改&#xff0…

【CSS @property】CSS自定义属性说明与demo

CSS property property - CSS: Cascading Style Sheets | MDN At 规则 - CSS:层叠样式表 | MDN Custom properties (–*): CSS variables - CSS: Cascading Style Sheets | MDN CSS Houdini - Developer guides | MDN 📚 什么是property? property CSS…

2023优秀开源项目获选榜名单(开放原子开源基金会)|JeecgBoot 成功入选

JeecgBoot 是一个开源的企业级低代码开发平台,它成功入选2023年度生态开源项目,这是对其十年坚持开源的认可。作为一个开源项目,JeecgBoot 在过去的十年里一直秉承着开放、共享、协作的理念,不断推动着开源社区的发展。 2023年开放…

计算机视觉的应用22-基于计算机视觉领域与VR虚拟现实眼镜,构思考虑远程协助独居老人生活起居的应用

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用22-基于计算机视觉领域与VR虚拟现实眼镜,构思考虑远程协助独居老人生活起居的应用,在当下信息科技飞速发展的社会背景下,老龄化问题日益凸显。越来越多的老年人选…

程序流程图的意义(合集)

程序流程图的意义 1、矩形 作用:一般用作要执行的处理(process),在程序流程图中做执行框。 在axure中如果是画页面框架图,那么也可以指代一个页面。有时候我们会把页面和执行命令放在同一个流程中做说明,这个时候将两类不同的矩形…

Spring Boot3通过GraalVM生成exe执行文件

一、安装GraalVM 1、官网:https://www.graalvm.org/downloads/ 2、配置环境变量 2.1、环境变量必须使用JAVA_HOME,否则会出现问题 2.2、在系统变量配置Path,%JAVA_HOME%\bin,注意必须放在顶部第一位 2.3、配置jdk的环境变量,在P…

LuaJava操作Java的方法

最近在学习lua,然后顺便看了下luaj,可能用的人比较少,网上关于luaj的文章较少,其中在网上找到这个博主的相关文章,很详细,对于要学习luaj的小伙伴可以两篇一起查看,本文在此基础上进行扩展。 …

CSS:元素显示模式与背景

CSS:元素显示模式与背景 元素显示模式什么是元素显示模式块级元素 block行内元素 inline行内块元素 inline-block元素显示模式对比元素显示模式转换 display 背景背景颜色 background-color背景图片 background-image背景平铺 background-repeat背景图片位置 backgr…

Unity的UI界面——Text/Image

编辑UI界面时,要先切换到2d界面 (3d项目的话) 1.Text控件 Text控件的相关属性: Character:(字符) Font:字体 Font Style:字体样式 Font Size:字体大小 Line Spac…

Nodejs 第二十九章(express)

什么是express? Express是一个流行的Node.js Web应用程序框架,用于构建灵活且可扩展的Web应用程序和API。它是基于Node.js的HTTP模块而创建的,简化了处理HTTP请求、响应和中间件的过程。 简洁而灵活:Express提供了简单而直观的A…

maven+spock

pom配置 话说JunitMockito的组合用起来是真难用&#xff0c;还是Spock的简单&#xff0c;尤其是参数化的测试。junit的Parameter是鸡肋&#xff0c;杂恶心&#xff1b;Theories用来也不爽。 <?xml version"1.0" encoding"UTF-8"?><project xm…

跟着我学Python进阶篇:01.试用Python完成一些简单问题

往期文章 跟着我学Python基础篇&#xff1a;01.初露端倪 跟着我学Python基础篇&#xff1a;02.数字与字符串编程 跟着我学Python基础篇&#xff1a;03.选择结构 跟着我学Python基础篇&#xff1a;04.循环 跟着我学Python基础篇&#xff1a;05.函数 跟着我学Python基础篇&#…