计算机系统知识--内存

       内存这个概念从接触计算机开始就知道了,那个时候学的的是硬件,主要就是知道计算机比较重要的几大部件就是CPU、内存、硬盘、显卡、网卡等等,那时候解决一些特定问题有时候也会找内存的原因,比如计算机运行缓慢,电脑蓝屏、有时候中了病毒也是从程序 占用内存的多少来判断的,呵呵,都是血一般的教训啊。。

        刚刚接触电脑的时候,老师就拿内存的工作原理举例子映射学习。现在好几年过去了。

       虽然感觉和内存距离很近,但是不知道它的“内心世界”,就好像还隔绝着一片海洋。希望通过这次对内存的学习总结,能拉近我们的距离。


一、内存构成

       内存看着很简单,就是一个长条形的芯片,上面集成了很多的小黑块。从最初的内存K级到M级再到现在的G级,内存存储能力发生了很大的变化。同时变化的也有它的运行速度。


       这一个一个的黑框就是主要的逻辑单元,也就是叫做DRAM芯片或者内存颗粒。更换过内存卡的亲们一定知道,不同的机器型号是要买不同的内存条的,不然会有这样那样的问题发生,这是因为各大生产内存的厂商们在规划内存条的功能、性能、规格等标准都略有不同,但是这不影响我们学习内存的工作原理,因为在这方面都是大同小异的。


在上一篇学习cpu中,就有存储器为cpu提供数据和寻找指令地址对应的指令,这个过程称为寻址。


       内存是用于存放数据与指令的半导体存储单元,RAM(随机存取存储器)、ROM(只读存储器)及Cache(高速缓存)三部分cache的存取速率最快,但是它的空间不大。我们一般用户使用的操作系统就被存储在主存里,然后经由cache进入cpu进行运算、控制。辅存包括U盘,移动硬盘,光盘等。

输入输出设备是直接与主存储器进行交互的。

                                                     

二、内存工作原理

       内存在计算机中就像是一个十字路口,他和cpu的交互主要就是存储了数据和指令,然而cpu是如何获得这些内容的,就要看看内存是怎么来工作的的了?以下是单个DRAM芯片进行的指令交换。

                                                              

DRAM内部工作原理

         DRAM是动态随机存取存储器,它是最常见的系统内存,因为持有数据时间很短,所以需要经常刷新存储数据,否则会造成数据丢失。


                                         内存颗粒工作示意图

内存寻址

      内存最重要的一点就是可以供cpu进行寻址,找到cpu地址相应的指令和数据。

三、内存访问

        cpu最先访问的是cache而不是主存,所以cache和主存间要有一个转换,这里就有了cache和主存的映射方式,主要分为直接相联映射、全相联映射、组相联映射三种方式,



      直接相联映射:也称为顺序相联映射,主存中的某模块只能映射到满足特定关系的cache中,这样运行起来比较简单,但是也正是因为主存和cache存在特定关系,如果特定关系里有一个cache已经被占用,那其他和它一样有关系的主存块就会空闲,造成了cache的利用率会很低,


      全相联映射:主存中任意一模块都可以映射到cache中,效率高,但是这样使用的资源非常高,很多情况都不适用。

      组相联映射:它是全相联映射和直接相联映射的结合,这样将cache分成组,这样就可以使用直接相联映射,然后在各组内部与主存的映射过程使用全相联映射,这样就提高了各组的运行效率。


地址总线

      地址总线的数量决定了他最大的寻址范围。就目前来说一般地址总线先字长相同。比如32位计算机拥有32为数据线和32为地线,最大寻址范围是4G0x00000000 ~ 0xFFFFFFFF)。


总结:

     内存的知识其实很重要,它是计算机工作原理的十字路口,和很多部件有交互关系,它像是软件和硬件交互,相互转换的一个阶段。



《计算机系统知识--CPU》

《计算机系统知识--内存》

《计算机系统知识--输入输出技术》


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
计算机系统概论是一门介绍计算机基础概念和计算机系统组成的课程,旨在让学生了解计算机的结构、运行原理、操作系统、数据存储等知识,并学习使用计算机工具进行编程、调试和优化等操作。 具体来说,计算机系统概论包括以下内容: 1.计算机概论:介绍了计算机的历史、发展和应用领域,以及计算机体系结构和组成部分的基本概念。 2.计算机硬件:涵盖了计算机CPU、主板、内存、硬盘等硬件的结构和工作原理,以及各种输入输出设备的使用和驱动程序的编写等。 3.操作系统:介绍了操作系统的作用和功能,包括进程管理、内存管理、文件系统、设备管理等方面的知识,让学生学会使用操作系统进行任务管理和资源分配。 4.程序设计:教授程序设计的基本原理和方法,包括编程语言的选择和使用、算法设计和代码实现等方面的技能,使学生能够用程序实现各种计算和数据处理任务。 5.网络与互联网:让学生了解计算机网络和互联网的结构和运作原理,掌握网络通讯和数据传输的基本技术和协议,学会进行网络编程和应用开发。 总之,计算机系统概论是一门非常实用的课程,对于想要从事计算机相关工作或者学术研究的人来说,都具有很高的参考价值。而且,在ITEYE中文版免费学习,更为学生提供了良好的学习资源和平台,有助于加强自学和提高专业水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值