7.3 编址与存储相关计算
两个方面的内容:一方面是内存的编址方法,另外一方面就是磁带、光盘它的容量以及其它方面的一些计算.内存编址方法这一块有两个方面的内容是需要大家掌握的:第一方面是编址,
编址的概念:在计算机的系统当中,它的存储器有很多个存储空间,就如同我们去一个澡堂,它可能有储物柜,然后排列了很多很多的储物柜,它会对这个储物柜进行编号,从1号开始编一直编到100号或者是200号,如果说你不对这些储物柜进行编号,那么这些储物柜就无法利用起来.因为客人来了之后他不清楚自己是哪一个储物柜,所以不方便把东西放进来也不方便把东西取出去.编址就起了这样的一个作用:就是标明每一个空间它的一个地址,或者说是一个名称,能够找得到这一个空间的名称.内存当中的具体编址的方法:
例如这是一块内存芯片,要对这一块芯片进行编址,我们首先要了解的就是这每一个空格代表一个位,就是一个bit.每一个方格就是一个bit,然后这一块芯片总共呢它有8行4列,所以有32位,32个bit.这4条线是数据线,用于取出当中的数据.然后我们的编址是按4位4位的编址,每4位编一个地址.每4位编一个地址之后我们就可以一次性每一次取出4个位.其实这一个概念就和我们以前讲到的多少位的计算机能够联系起来,比如说16位的计算机,那么它的数据位,数据总线的宽度它就是16位,这样的一个计算机系统它一次可以取出来的数据量就为16位.这样的计算机它的一个字,注意不是字节,是一个字,就是16位.当然对于32位的计算机,那么它的一个字就是32位.64位的计算机,它的一个字,就是64位.注意这个64位也就是我们所说的这个数据总线的宽度.数据总线的宽度就表示了计算机一次它可以取出多少个数据,或者说是一次处理多少数据.扯远了,回到正题.
这里是每4位编成一个地址,那么我们的32个空间要编多少个地址呢?我们就发现按4位4位的编址这一块芯片要编8个地址,要编8个地址是不是就意味着要8条地址线呢?是不是需要8条地址线?其实不需要的.因为我们所用的地址是3位的地址,用不着8位.只需要用3位的10就能够表示8个地址了.
我们可以把这8位连到一个译码芯片上面.这边接3个位,这边的才是地址线.这边输入的比如是000,译码信号就会指示出我们现在要存储的数据是000号数据.而如果译码信号进入的是001,那么译码信号它就会指示需要存取的空间是001号空间.所以说我们平时所讲到的地址的位数或者说编这一些地址需要的地址线的数量,是讲的这个地址它的位数,并不是指的它能够指示的空间的一个数量.其实从这一个例题我们也能够看出一个规律,多少位的2进制数,能够表示出来的数值,就是它的编址空间的大小.我们刚才说了3位的空间,3位的2进制数,用2^3就可以计算出它能够给多少个空间进行编址.2^3=8,所以3位的地址能够编8个地址出来.可以指示出8个空间.而2^4=16,所以用4位的地址可以表示16个空间.同样的道理,地址线的条数,比如说是14,那么它可以编址的内存空间的个数就是2^14个.
主要要理解的就是地址的位数和它表达的值的数量的一个关系.3位的地址可以表示出8个实际的地址出来.4位的可以表示16个地址.这个就像我们平常的储物柜编号一样的,这是2进制的,然后如果我们是10进制的,1位10进制的就可以编0-9个地址,就可以表示给10个存储空间进行编址.而两位的地址是00-99就可以给100个数、100个空间进行编址,这是10进制.而我们现在用的2进制,2进制的话就是2^n,2的n次方,得到的数就是这么多位地址,能够表示给多少个存储空间进行编址.
下面我们还需要了解的一个问题就是芯片的拼接.芯片的拼接也比较常用.这一个芯片它是8*4位的芯片,也就是有8行,每一行有4个位,4个bit,然后我们如果说要把这一个芯片拼接成容量更大的芯片.我们通常有两种方式进行拼接,我们可以纵向的拼接,也可以横向的拼接.这样子拼接出来的存储空间,我们知道都是64个位,也就是8个字节的空间.但是大家需要注意一点,这样子拼接出来的两块芯片,它就是完全不同的两种芯片了.这一块芯片称为16*4的芯片,而这种芯片被称为8*8的芯片.它们的特性也由它们的结构所决定,所以它们也存在着不同的特性.
这个16*4拼合起来的大芯片,它的地址位数是4位,就是不再是我们以前所说的3位了,因为3位已经编不完这些地址了,3位只能够编8个地址,因为2^4=16,刚好够用4位地址,那么我们这一种芯片它的地址线的位数就是4位,而数据线的位数它没有变化.这种芯片它一次只能取4个位,而这种8*8的芯片情况就不同了,8*8的芯片由于它的行数仍然只有8行,所以对它进行编址仍然用3位的地址就可以了.它不同的是它这个数据线的位数增多了,它数据线的位数由4位增至了8位数据线,这样子它就一次性能够取出8个数据来,就是8个位的数据.
所以这两种芯片虽然都是用同样的芯片组合起来的,拼接起来的,但是它们的特性是完全不同的.我们再把这个意思把它拓广,因为我们平常8*4位芯片不可能会出现到这种这么小的芯片,那么我们可以认为是8KB*4位的芯片.让你两块芯片组成一个16KB*4位的芯片,那么你组合就应该是这种组合方式.而这个8KB我们也可以计算出它的编址需要多少位地址,我们就把8KB写成2^n次方的形式,求出这个n来就行了.因为1KB它是等于2^10,而8=2^3,所以8KB=2^13,所以若这个存储芯片是8KB的大小,那么它的地址线应该有13根,也就是说它的地址的位数有13位之多.好,下面我们讲清楚这一些基本的一些的概念,一些思想之后,我们来从实际的问题当中来看待.
来看看这些问题应当要如何应用我们刚刚所学到的知识,来解决.
如果主存的容量为:
它其实就是一个16MB*8位的芯片,主存我们可以看做是16MB*8位的芯片,它是按字节来编址,所以每一次能够取出8个位因为8位就是一个字节,所以我们就只要把这一个16MB化成2的n次方,就能够求出,求出这个n之后,就知道主存的地址至少应该需要多少个位,那么16MB是等于2的,1MB=2^20,因为1KB=2^10,16MB=2^(4+20)=2^24.那么我们就求出来了,求出这个主存的地址,应该是24位.
如果这个题目不按字节来编址,我按4位来编址,换成4位编址情况确实有所不同,我们就把这个16MB*8位就得变化了,就是16MB*2*4位,就等于把一个字节拆成两个部分,两个4位,然后这个2要并入前面一部分,就变成了32MB*4位,然后就是把这一个32MB的地址空间化为2的n次方形式,我们就发现如果按4位来编址,那么地址的位数就需要25位了.
同样再把这个题目改一改, 我们改成按字编址,而不按字节编址.按字编址而我们同时又知道这个计算机系统是64位的系统,64位代表是8个字节,因为每8位是一个字节,所以64位应该是8个字节,那么也就是说现在要对16MB字节的这个空间每8个字节来进行这个编址.那么我们这边就得写成另外一种形式了,就写成2MB*8字节,注意哦我们再怎么变换形式它的总容量大小一直没有发生变化的,都是16MB.这个乘以8位就相当于乘了一个字节.而这里乘了2后面乘了4位,4位是0.5个字节,也就是半个字节,1/2个字节,这里就是2MB*8字节,我们只要把这个2MB写成2的n次方形式,求出n,那么这个地址的数也就求出来了.求出来应该是21.就是按字编址,而每个字有64位的话那么我们的地址的位数就只需要21位了.
接下来再来看一个问题,这一个问题就牵涉到了也是内存编址,它是内存地址容量的一个计算.题目是这样子的:内存按字节编址,地址从A4000H-CBFFFH,这个计算还是比较容易的.它的原则是什么一个原则呢?一个什么原理来计算呢?
开始起始地址是A4000这一条线,这一条线就是CBFFF,我们就只要求出这一段的大小就可以了.因为它是一个连续的地址空间,当然这个计算就比较好计算了,而且又是字节编址,那么我们就直接把这个地址减去这一个地址,用它尾数-开始数+1那么我们就能够得到字节数,这里有一个单位的换算我们就直接用CBFFF-A4000+1,加1是为了,很容易理解如果我的起始地址是从1开始,到9,我们很容易可以知道123456789是9个空间,然后如果说我们用尾数9减去1还缺了1个所以要补1个加1.那么我们就直接用CBFFF减A4000再加1就行了.我们可以先给这个CBFFF+1-A4000,这样子就得到了2进制的28000H.我们把这个16进制的数转成10进制,转成10进制之后然后我们就发现它的大小刚好是160KB.我们也可以现在用计算机、计算器算一下,
转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/7252436.html
7.3 编址与存储相关计算相关推荐
- 计算机网络:子网划分、子网掩码、CIDR 、路由聚合相关计算详解
目录 IPv4 的分类 IPv4 的划分 无分类编址CIDR IPv4 地址应用规划 IPv4 的分类 连接到 Internet 中的每一个主机(或路由器)都分配一个 32 比特的全球唯一的标识符,即 ...
- 互联网日志的种类、存储和计算
最近几年,经常听到数据挖掘这个词. 不过,我仔细看了下,发现这个词还是挺模糊的. 挖掘 这个词,应该指从数据中发现有价值的信息. 比如从搜索词中,发现网民的关注点,进而指导广告投放.产品推荐,生产用户 ...
- 转发 微博 Qzone 微信 基础知识|存储相关的名词
基础知识|存储相关的名词 静静呐呐呐 2020-09-23 16:10:04 存储 狭义的存储定义是指具体的某种设备,如以前软盘.CD以及硬盘等.广义上的存储是指存储设备,包括硬件存储系统.软件系统. ...
- 存储相关知识-DAS/SAN/NAS
存储相关知识-DAS/SAN/NAS 余二五 2017-11-15 22:16:00 浏览1826 服务器 主机 IP CPU 磁盘 存储 最近在看一些存储相关的东西,就顺手作了一些总结.我发现国内在 ...
- 亿级流量系统架构之如何支撑百亿级数据的存储与计算
"本文聊一下笔者几年前所带的团队负责的多个项目中的其中一个,用这个项目来聊聊一个亿级流量系统架构演进的过程. 一.背景引入 首先简单介绍一下项目背景,公司对合作商家提供一个付费级产品,这个商 ...
- 亿级流量系统架构之如何支撑百亿级数据的存储与计算【转载 石杉的架构笔记】-1...
亿级流量系统架构之如何支撑百亿级数据的存储与计算[石杉的架构笔记] 原创: 中华石杉 "本文聊一下笔者几年前所带的团队负责的多个项目中的其中一个,用这个项目来聊聊一个亿级流量系统架构演进的过 ...
- 云存储相关技术及术语的探讨
摘 要 在经历计算浪潮和网络浪潮之后,数据存储技术已经发展成为信息领域的三大支撑技术之一.随着云计算.等信息技术的发展,异构数据源越来越多,数据量飞速增长,这就使得社会对数据存储的需求逐日攀升.同时, ...
- 计算机组成:中断向量的相关计算
中断向量的相关计算 中断码 0~255一个256个中断码,一个中断码占4字节. 1号中断向量:00000H~00003H.比如中断码15H,那么起始的地址:15H × 4 = 00054H(可以转换成 ...
- mysql 地理_MySQL geometry地理位置数据存储和计算
最近学习了些MySQL geometry数据存储和计算,在这里记录下. 1. 环境 geometry推荐在5.6版本以上使用,尽管大部分功能在5.5已经可用,除了距离计算函数st_distance等新 ...
最新文章
- Phpcms V9手机门户设置教程:怎么用PC V9做手机网站
- LiveGBS-GB28181流媒体服务如何实现跨域鉴权
- java类怎么删除对象_在java中删除一个对象?
- 采购订单单位与基本计量单位不一致问题案例
- HDU - 5452 Minimum Cut(LCA+树上差分)
- vundle按照YouComplete
- .net hbase client--终于浮出水面的轮子
- 用计算机表示45,计算机应用基础信息专业技术习题(45页)-原创力文档
- C语言动态库libxxx.so的几种使用方法
- thinkphp3.2 无法加载模块
- c语言消去法解线性方程组,高斯消元法解线性方程组(C++实现)
- 一次JDBC与MySQL因“CST”时区协商误解导致时间差了13或14个小时
- 【雕爷学编程】Arduino动手做(59)---RS232转TTL串口模块
- U盘如何使用量产工具格式化
- Qt随机数生成器:QRandomGenerator
- 关于excel:具有OR条件的SUMIF
- 深入浅出正则表达式(一)(zzl)
- IOS开发者自带弱网测试工具界面说明NETWORK LINK CONDITIONER
- 电脑开机显示自动修复失败无法进入系统的解决方法
- linux系统之时间同步设置