计算机基本原理之内存编址

内存编址目的

存储器由一块块的空间(存储单元)组成,为了方便寻找到每一块空间,我们需要对每一个空间进行标识——内存编址。

内存编址概述

芯片

存储器由若干个芯片构成。

内存容量

存储器的大小。内存容量=每个芯片容量*芯片个数。

每个芯片的容量=一个地址代表的容量*编址总数。

数据总线

计算机一次处理n位的数据,则数据总线的长度为n。注意的是:数据总线的长度,并不一定代表一个地址的长度。

和数据总线紧密相关。数据总线有几位,则一个字就由多少位组成。如64位计算机,表示一次可以处理64位数据,则1个字就是64位。

地址总线

假如需要n位二进制数来表示所有的地址,则地址总线的个数为n。

内存编址应用

基本应用

假如某个存储器只有一个芯片(8*4bit),该芯片的容量为32bit(位);计算机每次处理4bit(位)数据;内存按4bit(位)来编址,那个该芯片有多少个地址,数据总线的长度和地址总线的个数分别是多少?

分析:

1.该芯片有多少个地址?

内存容量=一个地址代表的容量*地址总数

地址总数=内存容量/一个地址代表的容量

技巧:一个地址代表的容量从题里找“按……编制的字眼”,如果没有默认当做“按字节Byte编址”

答案:32bit/4bit=8个地址

2.数据总线的长度

技巧:从题里找“一次处理/读取……数据”或一个字的长度。

答案:4bit

3.地址总线的个数

技巧:先求出地址总个数,然后看需要几个2进制数表示,则地址总线的个数就是几个。

答案:8个地址,需要3个二进制数表示。因为2^3=8,所以是3个。

如图所示:

举一反三

答案:(1) C. (2) B.

分析:

1.求解主存容量(用字节表示):

先求出地址总个数:CBFFFH-A4000H+1=28000H(十六进制)

2*(16^4)+8*(16^3)=2^17+2^15=2^10(2^7+2^5)

=160*1024(个)=160K(个)

再求出主存容量:160K*1B=160KB,即160K字节。

2.求解芯片个数

先求出一块芯片的容量

8bit=1B

32K*1B=32KB

再求出芯片个数

160KB/32KB=5(个)

总结

在分析内存编址问题时,大家要从题干入手,根据题干分析出哪些内容是已知的,哪些内容是未知的。通过上面的分析,我们了解了出题人给出信息的方式,这样即使题目有变化,也难不倒我们了。

时间: 2024-11-10 20:16:17

计算机基本原理之内存编址的相关文章

内存编址、寻址、内存对齐

朱老师物联网大讲堂学习笔记 1.内存编址方法   内存在逻辑上是一个个格子,格子占有空间,可以用来存储数据,每个格子有编号,编号就是内存的地址,地址和格子空间是一一对应且永久绑定的.程序运行时,CPU只关心地址,不关心这个地址所代表的空间在哪里,怎么分布这些实体问题.有地址就一定能够找到对应的内存单元(内存单元:包括内存地址和空间).地址是固定的,空间中存储的东西是变动的,这和数组做左右值相关? 关键:内存编址以 字节 为单位.比如给定一个内存地址7,其对应的空间大小就是固定的8bit,是定死的

小白扫盲之-计算机为何需要内存

很多人在购买计算机时,在碰到内存时会 有点懵比. 不知道 选多大内存, 对计算机的影响,或者说对计算机的作用是什么. 其本质的问题就是.(老子不知道内存是个什么鬼,还他妈这么贵!) so  简单剖析一下. first: 计算机必备的几大组件: CPU: CPU和人脑差不多. 人脑有两大功能. 1.提供逻辑的运算, 2.记忆/存储功能. but     CPU 和人脑的区别就是,CPU只有逻辑运算的功能.所以CPU能做的事情,就只有运算.  CPU是没办法记忆数据的. so     CPU想要进行

计算机基本原理

从本质上来说操作系统就是把底层硬件抽象成了一层虚拟机,所以说计算机本身就是一个虚拟机.计算机本身并不会做任何事情,它就是一堆铁疙瘩,即使给它加电它也不会做任何事情,cpu只有在程序的指挥下才会做事情.所以,操作系统的启动就是一个自举的过程,上电的一刹那间主板上的一块ROM芯片中的代码会被自动映射到内存的低地址空间,这块ROM芯片中存的就是BIOS,后续的过程可以参见我的另一篇博客http://jiuyugu.blogspot.com/2016/03/blog-post.html,本文不做详细讨论

进击的IT人-----计算机基本原理1

一 计算机的组成和运行 1.硬盘加载到内存,由CPU去读取指令. 硬盘里的数据是静态数据,断电不受影响.比如下载到硬盘里的歌曲和电影; 内存里的数据是动态数据,断电就没有了,比如正在运行的游戏,软件. 2.计算机发展的阶段 (1)机器语言(0101001)--->汇编语言(mov,ax,bx)----->高级语言(xx.c) (2)高级语言或者汇编语言到机器语言的过程叫做"编译" (3)高级语言-- 编译----->汇编语言----链接再编译------>机器语

如何检测计算机最大支持内存

一.电脑最大支持的内存由  硬件+操作系统=决定支持的最大内存1.打开“开始”菜单,点击“运行”按钮2.在弹出来的窗口输入“CMD”,然后确定或者按下回车键3.在命令窗口输入“wmic memphysical get maxcapacity”然后敲下回车键4. 然后电脑会给出一串以千字节为单位的数字.再把这串数字换算成我们常见的GB单位的 换算方法是:“得出来的数字/(除以)1024/(除以)1024“ 二.补充说明:1.操作系统不同,主板不同,那么它们所支持最大内存容量也是不同的2.Win 3

计算机与操作系统

1.ENIAC :Electronic Numerical Integrator And Computer 电子数字积分计算机 他是世界上第一台通用计算机,也是继ABC之后的第二台电子计算机 2.计算机的五个基本组成部分 1)运算器 2)存储器 3)控制器 4)输入设备 5)输出设备 补充: CPU:运算器.控制器.寄存器.缓存 存储器:内存,RAM(Random Access Memrroy 随机存储器) output :输出设备.下指令,提供数据等 Input:输入设备.输出数据加工后的结果

计算机组成原理答疑--来源于南京大学课件

1.数据通路宽度.机器字长.“字”宽.存储单元宽度.编址单位.总线宽度.指令字长各指什么?它们之间有何关系? 答:在计算机内部,有指令和数据两大类信息.指令和数据都以二进制形式存放在存储器中,运行程序时,需要把指令和数据从存储器读出,通过总线传输到CPU,然后,CPU再通过执行指令来对操作数进行相应的运算,最后把结果数据送到寄存器或存储器中.所以,在设计或使用计算机过程中,要涉及到:指令和数据在存储器中按什么长度存放:写入或读出时按什么长度存取:在总线上传输时同时传送多少位:数据和指令送到CPU

计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理

前言 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体. 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地.因为对我来说,屏幕上的东西简直就是天书.有了计算机我们生活发生了巨大的变化,打游戏,上网,聊天,甚至到现在以此为业.有时无不感叹计算机的强大. 人类总是聪明的而又懒惰的.即便是1+1这种简单的计算都不想自己做,1623年Wilhelm Schickard 制作了一个能进行六位以内数加减法,并能通过铃声输出答案

伙伴系统之伙伴系统概述--Linux内存管理(十四)

日期 内核版本 架构 作者 GitHub CSDN 2016-09-02 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理 1 前景回顾 1.1 Linux内存管理的层次结构 Linux把物理内存划分为三个层次来管理 层次 描述 存储节点(Node) CPU被划分为多个节点(node), 内存则被分簇, 每个CPU对应一个本地物理内存, 即一个CPU-node对应一个内存簇bank,即每个内存簇被认为是一个节点 管理区(Zone)