首页 > 其他分享 >5.1 存储技术

5.1 存储技术

时间:2023-07-18 11:22:37浏览次数:48  
标签:5.1 控制器 主存 存储技术 总线 内存 写头 内存模块

随机访问存储器

随机访问存储器分为静态的与动态的。

静态SRAM将每个位存储在一个双稳态的存储器单元里,每个单元用一个六晶体管电路来实现。这个电路有这样一个属性,它可以无限期地保持在两个不同的电压配置(configuration)或状态(state)之一。其他任何状态都是不稳定的——从不稳定状态开始,电路会迅速地转移到两个稳定状态中的一个。

由于SRAM存储器单元的双稳态特性,只要有电,它就会永远地保持它的值。即使有干扰(例如电子噪音)来扰乱电压,当干扰消除时,电路就会恢复到稳定值。

 动态RAM将每个位存储为对一个电容的充电,与SRAM不同,DRAM对干扰非常敏感,当电容的电压被扰乱后,它就永远不会恢复了。

 内存模块,DRAM封装在内存模块中DRAM芯片封装在内存模块(memory module)中,它插到主板的扩展槽上。Core i7系统使用的240个引脚的双列直插内存模块(Dual Inline Memory Module, DIMM),它以64位为块传送数据到内存控制器和从内存控制器传出数据。示例模块用8个64 Mbit的8 M×8的DRAM芯片,总共存储64MB(兆字节),这8个芯片编号为0~7。每个超单元存储主存的一个字节,而用相应超单元地址为(i,j)的8个超单元来表示主存中字节地址A处的64位字。DRAM0存储第一个(低位)字节,DRAM1存储下一个字节,依此类推。

要取出内存地址A处的一个字,内存控制器将A转换成一个超单元地址(i,j),并将它发送到内存模块,然后内存模块再将i和j广播到每个DRAM。作为响应,每个DRAM输出它的(i,j)超单元的8位内容。模块中的电路收集这些输出,并把它们合并成一个64位字,再返回给内存控制器。通过将多个内存模块连接到内存控制器,能够聚合成主存。在这种情况中,当控制器收到一个地址A时,控制器选择包含A的模块k,将A转换成它的(i,j)的形式,并将(i,j)发送到模块k。

 访问主存:数据流通过称为总线(bus)的共享电子电路在处理器和DRAM主存之间来来回回。每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为总线事务(bus transaction)。读事务(read transaction)从主存传送数据到CPU。写事务(write trans-action)从CPU传送数据到主存。总线是一组并行的导线,能携带地址、数据和控制信号。取决于总线的设计,数据和地址信号可以共享同一组导线,也可以使用不同的。同时,两个以上的设备也能共享同一总线。

 

每当CPU要传送数据到主存时,总线接口先在总线上发起读事务,首先CPU将地址放到系统总线上,IO桥将信号传递到内存总线,然后主存感受到内存总线上的地址信号,从内存总线读地址,从RAM取出数据字写到内存总线,然后IO桥翻译成系统总线信号,最后CPU感受到系统总线上的数据,从总线读数据,并将数据复制到寄存器。

磁盘存储

磁盘构造

碰盘是由盘片(plater)构成的。每个盘片有两面或者称为表面(surface),表面覆盖着融性记录材料。盘片中央有一个可以旋转的主轴(spindle),它使得盘片以固定的旋转速率(rotational rate)旋转,通常是5400~15 000转每分钟(Revolution Per Minute, RPM)。磁盘通常包含一个或多个这样的盘片,并封装在一个密封的容器内。

磁盘操作

磁盘用读/写头(read/write head)来读写存储在磁性表面的位,而读写头连接到一个传动臂(actuator arm)一端。通过沿着半径轴前后移动这个传动臂,驱动器可以将读/写头定位在盘面上的任何磁道上。这样的机械运动称为寻道(seek)。一旦读/写头定位到了期望的磁道上,那么当磁道上的每个位通过它的下面时,读/写头可以感知到这个位的值(读该位),也可以修改这个位的值(写该位)。有多个盘片的磁盘针对每个盘面都有一个独立的读/写头。读/写头垂直排列,一致行动。在任何时刻,所有的读/写头都位于同一个柱面上。

对扇区的访问时间主要由寻道时间,旋转时间,和传送时间。

 磁盘控制器

磁盘封装中有一个小的硬件设备,称为磁盘控制器,维护着逻辑块号和实际物理扇区之间的映射关系。当操作系统想要执行一个I/O操作时,例如读一个磁盘扇区的数据到主存,操作系统会发送一个命令到磁盘控制器,让它读某个逻辑块号。控制器上的固件执行一个快速表查找,将一个逻辑块号翻译成一个(盘面,磁道,扇区)的三元组,这个三元组唯一地标识了对应的物理扇区。控制器上的硬件会解释这个三元组,将读/写头移动到适当的柱面,等待扇区移动到读/写头下,将读/写头感知到的位放到控制器上的一个小缓冲区中,然后将它们复制到主存中。

访问磁盘

固态硬盘

 

 

 

 

标签:5.1,控制器,主存,存储技术,总线,内存,写头,内存模块
From: https://www.cnblogs.com/LCAB/p/17557933.html

相关文章

  • graylog5.1安装(Centos7)
    官网安装地址:https://go2docs.graylog.org/5-1/downloading_and_installing_graylog/red_hat_installation.htm?tocpath=Downloading%20and%20Installing%20Graylog%7CInstalling%20Graylog%7C_____6一、需要安装的组件OpenJDK17(5.0以上版本的graylog已内置,无需安装)OpenSe......
  • 第三章 存储技术基础
    @目录第三章存储技术基础1存储基础介绍1.1什么是存储1.2存储发展历程1.3主流硬盘类型1.3.1硬盘简介1.3.2硬盘关键指标1.4存储组网类型1.4.1DAS存储简介1.4.2NAS存储简介1.4.3SAN存储简介1.4.4FC-SAN简介1.4.5IP-SAN简介1.4.6三种存储网络总结对比1.5存储形态简介......
  • 5.1 缓冲区溢出与攻防博弈
    在黑客安全圈子中,基于内存攻击技术的攻击手段在随着时代的变化而不断发展着,内存攻击是指通过利用软件的安全漏洞,构造恶意的输入,从而使正常程序造成拒绝服务或者是远程获得控制权,内存攻击技术中最先登上历史舞台的就是缓冲区溢出漏洞,时至今日能够被广泛利用的并具有较大破坏性的高......
  • kali 5.16内核升级6.0.0 失败以后重新修改gurb引导菜单
    背景简介:自己拿测试机升级内核后,无法正常开机出现“unabletomountrootfsonunknown-block(0,0) kali”错误 #新内核不能正常启动尝试自己修复,并且恢复引导菜单,恢复开机默认启动,以下为研究记录 #首先几个重要目录/boot/grub/grub.cfg  #这个目录是开机引导选......
  • ubuntu20.04 卸载已有的显卡驱动,安装安装 NVIDIA 驱动程序 525.85.12(主要是搭建deepst
    nvidia安装deepstream官网:  https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Quickstart.html一、首先卸载本机的显卡驱动:参考连接(https://blog.csdn.net/gongdiwudu/article/details/128850792)1、卸载驱动库sudoapt-get--purgeremovenvidia*sudoapt......
  • tinymce:插入视频/音频后的回调(tinymce 6.5.1)
     一,官方文档地址:https://www.tiny.cloud/docs/tinymce/6/media/二,需求及代码:我们需要在插入视频后,设置其style宽度为100%,注意,是style中的width,如图:代码:tinymce.init({selector:'#tinydemo',plugins:"media",toolbar:"media",video_templat......
  • 最廉价的5.1家庭影院系统解决方案
    最廉价的5.1家庭影院系统解决方案2010年的时候,突然对家庭影院系统产生了兴趣,经过一段时间的研究,以当时市面最便宜的音响系统不到1/5的价格,自己组建了一套5.1家庭影院系统,效果很好,现在把它总结出来。简单来说,家庭影院系统由两部分组成:画面音响画面大家都做到了,拿电脑、电视......
  • 游戏服务器被攻击怎么办?绍兴高防服务器租用203.135.102.x
    游戏服务器遭受攻击的原因可能有很多。攻击者可能会利用多种方式来入侵服务器,如通过计算机病毒、木马程序、蠕虫程序和社交工程等方式。这些攻击可以让服务器瘫痪,造成用户数据丢失、业务中断,甚至影响到公司的声誉。今天我就来和大家说原因和解决方法一、竞争对手来攻击你的服务器,让......
  • QT5.14.0下载与安装
    离线下载地址:https://download.qt.io/archive/qt/一、下载从上面的下载链接选择合适的版本,直接点击下载即可,这里以5.14.0为例:  我这里是win11,直接下载的Windows,然后等待文件下载完成。二、安装然后打开刚下好的安装包: 点击Next后,弹出登录界面: 填入账号继续点击Nex......
  • tinymce:安装中文语言包(tinymce 6.5.1)
    一,未安装中文前:二,下载中文语言包:https://www.tiny.cloud/get-tiny/language-packages/如图:解压缩后,复制langs目录到static目录下:如下:三,js代码中进行初始化:1234567891011<script>      tinymce.init({        language_url......