层次存储系统解析:DRAM存取与数据对齐
需积分: 0 6 浏览量
更新于2024-07-11
收藏 6.51MB PPT 举报
"此资源主要讲解了计算机系统基础中第六章关于层次结构存储系统的内容,特别是主存储器(DRAM)的组织结构、访问机制以及数据对齐存放的重要性。内容涵盖存储器概述、主存与CPU的连接、磁盘存储、高速缓存、虚拟存储和地址转换等主题。"
在计算机系统中,主存储器(如128MB的DRAM存储器)是CPU与外部数据交换的关键组件。这个例子中,128MB的主存由8片16Mx8位的DRAM芯片组成,每片芯片具有12位的行地址和列地址,总计4096列。主存地址是27位,而片内地址是24位,这意味着主存的高24位地址与芯片内的地址相同,而低3位地址用于确定要访问的特定8个字节中的哪一个,实现交叉编址,使得数据可以在不同的芯片上同时读写。
数据对齐存放的规定至关重要,因为它能优化访问效率。例如,一个32位的int型数据如果存储在第8、9、10、11这4个连续的单元中,只需要访问一次内存即可;而如果存储在6、7、8、9这4个单元,由于跨越了芯片的边界,需要访问两次内存。这种对齐策略减少了访问次数,提高了系统性能。
存储控制器负责管理DRAM的读写操作,通过行地址和列地址(i, j)定位到具体的8个单元。当执行如"add"这样的指令时,CPU需要从主存中取出指令和数据,可能涉及多次访存操作,包括取指、取数和存数,这些都在CPU和主存之间进行。
层次结构存储系统包括从高速缓存(Cache)到主存再到磁盘的多级存储,旨在平衡速度和容量的需求。Cache利用程序的局部性原理,将常用的数据或指令暂存于快速存储中,减少对慢速主存的访问。虚拟存储器则通过地址转换机制,使程序能在比实际物理内存更大的虚拟地址空间中运行,解决了内存容量不足的问题。
在IA-32/Linux系统中,地址转换涉及TLB(Translation Lookaside Buffer)和页表,确保逻辑地址能够准确映射到物理地址,从而使程序能够高效地在有限的物理内存中运行。
本资源深入探讨了存储系统的工作原理,强调了访存操作在CPU执行指令过程中的核心作用,以及不同层次存储如何协同工作,优化了系统的整体性能。
2020-03-12 上传
2010-04-20 上传
2022-06-19 上传
2022-06-17 上传
2022-11-16 上传
2021-10-08 上传
2021-10-11 上传
2023-11-06 上传
点击了解资源详情
小婉青青
- 粉丝: 28
- 资源: 2万+
最新资源
- Flask 改成你认识的MVC
- meta_manager
- syncflux:SyncFlux是用于迁移或HA集群的开源InfluxDB数据同步和复制工具
- Mail.rar_WEB邮件程序_Java_
- Justdial-Scrapper:一个工作100%的Justdial抓取工具,只需输入网址,它就会从中提取业务信息
- biopython:Biopython的官方git存储库(最初从CVS转换)
- GP2_SW-Expert
- postgresql-to-sqlite:易于使用的解决方案,可以从Postgresql Dump创建sqlite数据库
- covid19_maroc_mapp
- Trackly - Productivity Tracker for Teams-crx插件
- Chapter3.rar_J2ME_Java_
- search-antispam:用于sreach表单的WordPress AnitSpam插件
- playground-z8pgw2ej:Tech.io游乐场
- ServUSetup.zip
- goodshop电脑端商城
- elegant-frontend-architecture