首页 > 其他分享 >存储管理系统设计

存储管理系统设计

时间:2023-09-12 11:11:46浏览次数:44  
标签:存储管理 cache 系统 存储体 tag 处理器 命中 设计 数据

存储管理系统设计

一、Dcache设计

数据cache是一块只读的cache,主要负责缓存处理器操作所需要的数据。该cache选择4路组相连的方式,容量为32KB,行大小为8个字,采用lru替换算法。其结构同样分为存储体和控制器两部分。

​ 访问地址位32位,其中
低5位表示行内偏移,
5~12位表示索引位,选择对应行,
高19位表示tag标志位。

​ 数据cache的存储体设计为4块数据存储器和4块数据Tag存储器,并且各自拥有相同的结构,其中数据存储体每块大小为8KB,总共32KB。数据tag存储器每块分为256行,每行有19位。

​ 控制器模块主要使用状态机完成,命中时读取数据只需一个时钟,该状态机有3个状态,具体如下所示:
​ IDLE:初始态,在该状态中进行cache读命中判断,如果命中,则将对应的命中数据下发,否则跳转至MISS状态。
​ MISS:读缺失态,在本状态中,更新替换算法,同时向上级请求读取数据,待总线应答后,跳转至REPL状态。
​ REPL:重装状态,该状态负责cache行的重新填装,将上级存储返回的数据写入cache数据存储体,并将处理器需要的数据

处理器发送给cache一个读请求信号和读地址,该地址包括cache组索引,数据Tag和数据偏移地址三部分;
1、首先根据组索引确认所需cache数据在存储体中的哪一组,然后将该组中对应4路的tag读出,同时根据数据偏移地址确定该数据在4路中的具体位置,并将对应的4个32位数据读出,通过比较读出的tag与解码出的tag确定是否命中以及命中的哪一路。
2、若命中,则将对应的数据送往处理器。若缺失,则需要通过总线访问上级存储,将上级存储中正确的数据送入处理器,紧接着替换cache line,更新相应的tag值。

标签:存储管理,cache,系统,存储体,tag,处理器,命中,设计,数据
From: https://www.cnblogs.com/lane-yang/p/17695648.html

相关文章

  • 如何基于视频云储蓄EasyGBS国标视频平台建设智慧环保在线监测系统
    国标GB28181协议视频平台EasyGBS是基于国标GB28181协议的视频云服务平台,支持多路设备同时接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可提供视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级联等功能,在视频能力上,GB2818......
  • win2003系统system占用80端口的解决办法
    本人一直都是用APMServ在winxp中搭建本地服务器测试网站,但最近换了win2003系统,结果本来在XP正常使用的APMServ启动时死活都提示80端口被占用,换成8080端口,虽然提示服务启动了,但是本地网站却打不开,在cmd中用命令查找时,发现提示system占用了80端口。如何查看端口在win03的cmd命令窗口......
  • win7系统如何在防火墙里开放端口
    依次点击“开始”—“控制面板”—“windows防火墙”步骤阅读2先点击“打开或关闭windows防火墙”将windows防火墙打开步骤阅读步骤阅读3点击“高级设置”步骤阅读4设置入站规则(入站规则:别人电脑访问自己电脑;出站规则:自......
  • 【23种设计模式】装饰模式(九)
    前言装饰模式,英文名称:DecoratorPattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理解吧,大家一定要看清楚,是“装修”,不是“装饰”。在房子装修的过程中,各种功能可以相互组合,来增加房子的功用。类似的,如果我们在软件系统中,要给某个类型或者对象......
  • C与CPP常见编译工具链与构建系统简介
    笔者最近在研究CEF的CMake工程,心血来潮想要对各种编译工具链以及构建系统做一个简单的总结,于是就有了本文。本文不会讲解任何关于C/C++语言方面的内容,主要C/C++的编译出发,介绍各种编译工具链与构建系统的关系。此外,由于笔者水平有限,无法从非常专业的角度剖析C/C++的语言特性与编译......
  • DITA Reuse的设计和管理
    1.Topic划分以Topic为主要重用对象,就需要将整本手册切分为若干个Topic。第一次拆分时往往会沿用以前的章节划分,把一个小节,自然转换成一个Topic。把所有章节填入表格,进行初次审阅:该小节是否完整回答了一个问题?是否包含了该问题以外的内容?该小节是否可以归为一个信息分类,如C......
  • Qt/C++音视频开发52-采集本地屏幕桌面的终极设计
    一、前言最开始设计的时候,只考虑了一个屏幕的情况,这种当然是最理想的情况,实际上双屏或者多屏的用户也不在少数,比如我这两个屏幕,屏幕1是1080P,屏幕2是2K分辨率,打印两个屏幕的区域是QRect(0,01920x1030),QRect(1920,-2082560x1390),可以看到有个负数值(可以在操作系统中的排列显示......
  • 24UDP协议/操作系统发展
    作业#作业内容:实现上传和下载电影写了一个,另外一个反过来就可以(代码参考day24代码)#思考1.上传的电影如何判断是否重复小白思想:校验电影名称是否存在正确思想:校验电影的md5值(核心是内容不是名称)2.上传的电影如何判断是否有毒提前对电影内容加......
  • m基于Faster R-CNN网络的烟雾检测系统matlab仿真,带GUI操作界面
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要经过R-CNN和FastRCNN的积淀,RossB.Girshick在2016年提出了新的FasterRCNN,在结构上,FasterRCNN已经将特征抽取(featureextraction),proposal提取,boundingboxregression(rectrefine),classification都整合在了......
  • m基于Faster R-CNN网络的烟雾检测系统matlab仿真,带GUI操作界面
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       经过R-CNN和FastRCNN的积淀,RossB.Girshick在2016年提出了新的FasterRCNN,在结构上,FasterRCNN已经将特征抽取(featureextraction),proposal提取,boundingboxregression(rectrefine......