基于计算机体系结构的Cache模拟器设计研究

2018-07-27 03:39陈卫卫
微型电脑应用 2018年7期
关键词:体系结构模拟器菜单

陈卫卫

(西安航空职业技术学院,西安 710089)

0 引言

目前,高性能的计算机发展正在不断寻找新的模式,计算机的体系结构也面临着全面改革。网络化可动态的计算机体系结构能够打破传统计算机中CPU与内存的布局,合理的将CPU、硬盘、内存分离开来,然后将相同类别的部件组在一起。Cache根据计算模式与运行模式的不同需求,以最有效的资源组合方式来实现最适应的体系结构。Cache主要通过模拟器来实现,这种结构具有许多全新的特点,Cache模拟器可以为系统的运行提供硬件模拟与验证,为系统的操作提供稳定平台,属于一个全系统、可伸缩、可并行的模拟器。

1 计算机体系结构Cache模拟器设计分析

1.1 设计目的

(1) 加强对Cache基本概念、组织结构以及基本原理的正确理解;

(2) 掌握Cache容量、相关度、块大小对性能的影响。

1.2 设计背景

计算机系统性能受存储器性能影响,它是核心部件之一,存储器一般是通过结构分层保持价格与容量之间的平衡,从而提升速度。需要在存储层之间采取相应的机制,来对各层次之间的高速流转进行实现。对于计算机存储结构初学者来讲,这些方法的出现显然给学习者增加了难度。Cache模拟器的设计与应用主要是以图形动画的形式来分析比较难懂的存储结构而进行简单化的,通过用户交互的方式表现出来。

1.3 设计原理

在计算机CPU与主存之间设置缓冲存储器,目的是为了提高计算机速度,减小CPU与主存的速度差距,Cache属于计算机系统中不可缺少的部件之一,对提高计算机系统性能有着重要意义。计算机体系结构Cache模拟器的设计原理主要体现在局部性原理。一个计算机程序引用的数据项向最近引用过的数据项有所倾向,这种现象称之为局部性原理。该原理属于计算机系统结构设计的重要基础。Cache模拟器设计原理主要是把存储器中访问较高的内容存放在Cache中,CPU对数据进行读取时会首先在Cache中查找,如果Cache中存在需要查找的内容,就会直接读取,然后同时送往Cache和CPU。

1.4 计算机体系结构模拟器主框架设计

计算机体系结构模拟器用户交互功能接口主要划分为系统、配置、操作、窗口以及帮助五大类。其主框架,如图1所示。

1) 系统菜单:其功能是对模拟器进行选择后将文件完成输入加载的过程。用户输入通过对指令文件处理和转换,

图1 模拟器主结构框架

通过此接口,可以满足模拟器系统对多种指令格式的要求。

2) 配置菜单:在配置菜单中主要显示系统参数和模拟器参数。系统参数会对接入体系的所有模拟器产生影响,该参数菜单用户可以进行更改。模拟器参数,会根据系统菜单中所选择的模拟器来决定是否显示出来供用户选择修改。

3) 操作菜单:操作菜单主要是控制模拟器的显示,菜单项的内容主要是根据用户在系统菜单中选择的模拟器变换。

4) 窗口菜单:窗口菜单会随着模拟器的不同而进行变换,在向用户显示具体模拟器操作时,此菜单会显示用户需要的信息。

5) 帮助菜单:在帮助菜单中有各模拟器的使用说明,供用户查阅。

2 Cache模拟器实现的相关技术及算法

1) 映像规则

一般情况下,主存的容量会远大于Cache的容量,所有需要用过映像规则来解决一个块从主存调入Cache如何放置的问题。映像规则主要分为以下3种。

(1) 全相联映像:主存中的每一个块都可以放置到Cache的任意位置。

(2) 直接映像:主存中的块只能放到Cache中的固定位置。

(3) 组相联映像:主存中的每一块可以被放置在Cache中唯一组中的任意位置。

2) 查找方法

当CPU访问 Cache时,需要确定Cache中的被访问块和正确的放置位置。通过目录搜索的方法会随着映射方法的不同而改变。通过公式计算的方法对直接映象法块进行查取,组相联与全相联都要通过对部分的Cache块进行搜索,所以这种方法的实现大多会采取硬件加速的方法。

3) 替换算法

由于主存中的块会比Cache中的块多,所以从主存中调入一个块到Cache中时,就会显示出该块所有块的占用情况,必须要腾出某一个块,来容纳新的块。

4) 写策略

在系统运作中的写操作要比读操作复杂得多。写操作分为将主存中的内存块导入到Cache与写入Cache两部分,所以会多出一个写的步骤,写操作会花费更多的时间,而且会产生新的问题。根据存储层次的要求,Cache内容应该属于主存部分内容的一个副本。

3 Cache模拟器的模拟过程

Cache模拟器的模拟过程主要分为两大模块,其前端是访问请求模块,后端是模拟执行模块,如图2所示。

根据前端生产访问所提出的请求方式的不同,采用execution-driven模拟器作为系统承载平台。模拟器可以对指令集构架进行实现,并且在模拟器上对程序执行,适时的产生访问请求来驱动后端,当目标系统的程序运行结束之后,会产生相应的统计信息,这种模拟方法的精度较高,信息统计相对比较充分,实现灵活性模拟。

图2 Cache模拟器模拟过程

4 Cache模拟器的实际应用

在Cache模拟器设计完成之后,需要研究模拟器的正确使用,下面通过目录法来对Cache模拟器的使用进行分析。

系统启动之后,在系统菜单中对Cache模拟器子菜单项进行选择。如果当前系统正处于其他模拟器状态,那么要对背景图进行切换,重新对Cache模拟器初始化,然后再对子菜单项进行选择。在对话框中选择目录法,系统会根据目录法的相关组件重新初始化,背景图也会重新描绘。从而可以了解到界面上方有4个文本输入框以及下拉框。可以在文本框中输入访问地址,在下拉框中选择操作类型,然后开始该访问在相应的CPU上执行。

Cache模拟器的执行方式大致分为分步执行与连续执行。分步执行主要是已经划分好的动画步骤单元按照用户的指令进行一步一步的执行。连续执行是指模拟器一次性的完成指令的全过程,然后呈现给用户。

当指令发出之后,模拟器会对指令进行处理,生成动画操作,根据用户的选择,通过不同的动画执行方式来与用户之间进行交互。模拟器的执行过程,如图3所示。

图3 模拟器执行界面

一旦模拟器进入到执行状态,会拒绝其他指令的输入,在界面中的输入框、下拉框以及按钮都会被禁止,每一步动画都会配有相应的说明,用户可以通过说明来了解相应指令的执行状况。通过消息通知功能,用户可以对Cache目录法的工作原理更好地掌握。在运行的过程中,选择窗口菜单中的状态图菜单,会出现以下界面,如图4所示。

时刻向用户显示Cache的变化状态,能够帮助学生更好的理解对状态图的描述。

菜单窗口中的信息统计子菜单,会对已经完成的运行指令进行统计,统计信息,如图4所示。

图4 多Cache模拟器状态图(目录法)

5 总结

Cache模拟器的设计采用模块化与层次化的设计思路,

图5 Cache模拟器统计信息

每个模块都是一个相对独立的系统,更加便于系统进行升级与维护,该模拟器的设计具有良好的灵活性与重构能力,能够同时配置多个系统,用户可以进行资源的申请、释放以及调整。Cache模拟器对体系结构的支持还比较有限,不能够模拟大规模的系统,随着科学与技术的发展,该模拟器会得到进一步的升级与完善。

猜你喜欢
体系结构模拟器菜单
了不起的安检模拟器
盲盒模拟器
划船模拟器
中国新年菜单
本月菜单
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析
基于DODAF的装备体系结构设计
基于云计算的航天器控制系统自组织体系结构
动态飞行模拟器及其发展概述