电子科技大学中山学院计算机组成原理实验4Cache控制器设计实验

合集下载

计算机组成原理TEC 4实验手册(含实验步骤)完整6个实验 三个程

计算机组成原理TEC 4实验手册(含实验步骤)完整6个实验 三个程

计算机组成原理TEC 4实验手册(含实验步骤)完整6个实验三个程计算机组成原理tec-4实验手册(含实验步骤)完整6个实验三个程tec―4计算机组成原理实验系统教师实验指导书清华大学科教仪器厂2021年11月目录前言2tec―4计算机共同组成原理实验系统3基本实验运算器共同组成实验13双端口存储器原理实验18数据通路共同组成实验22微程序控制器共同组成实验28cpu共同组成和机器指令继续执行实验40中断原理实验45课程设计软布线控制器的设计与调试50流水微程序控制器的设计与调试61流水软布线控制器的设计与调试70附录781前言计算机共同组成原理就是大学计算机专业的一门专业基础课程。

清华同方股份有限公司和北京邮电大学白中英教授合作,研发出来tec―4计算机共同组成原理实验系统。

在这个实验设备上,既能搞计算机共同组成原理课程的实验,又能展开计算机系统结构课程的流水实验。

该实验设备计算机模型直观、新颖,运算器数据通路、控制器、控制器各部分分割准确,为学生提供更多了很多的动手条件,有助于提升学生自学的主动性和创造性。

为了更好地使用tec―4计算机组成原理实验系统,我们编写了这本《教师用实验指导书》。

它是tec―4计算机组成原理实验系统的配套资料。

本书提供了9个实验,其中6个基本实验,3个课程设计。

对每个实验提供了接线图、实验步骤及实验结果;对3个课程设计提供了参考方案。

当然,每个实验的接线方法或者源程序绝不是唯一的,实验结果也会有所不同。

本书提供的接线图和源程序只是许多接线方法、源程序中的一种,只能作为参考。

这些接线图、源程序和实验结果都经过实际实验验证。

本书的目的是希望减少教师设计、准备、调试实验的劳动,让教师把主要精力集中在提高教学质量上。

各位老师在使用中如果发现错误和不妥之处,欢迎提出宝贵意见,以便将来改进。

除了本书外,tec―4计算机共同组成原理实验系统除了另一本服务设施资料《计算机共同组成原理十几页、题库和实验》,这就是一本科学出版社出版发行的学生用书。

计算机组成原理中Cache性能优化

计算机组成原理中Cache性能优化

计算机组成原理中Cache性能优化在计算机组成原理中,Cache是一个非常重要的概念。

它是指CPU内部的一块高速缓存,用来存储CPU常用的数据和指令,其目的是为了加速对这些数据和指令的访问速度,提高计算机的整体性能。

然而,Cache的性能也会影响计算机的整体性能,因此,优化Cache的性能是计算机组成原理的一个重要方向。

Cache的性能优化的方法有很多种,下面我们就简单谈一谈其中的一些方法。

增加Cache的大小Cache的大小与访问速度直接相关。

一般来说,Cache大小越大,CPU访问Cache的速度就会越快。

因此,增加Cache的大小是一种有效的优化Cache性能的方法。

但是,增加Cache大小具有一定的限制,因为Cache的大小不仅会影响CPU的访问速度,还会影响CPU的成本和功耗。

因此,在增加Cache大小时,需要综合考虑各种因素,并做出合理的折衷。

使用高速Cache高速Cache是指访问速度更快的Cache。

普通的Cache通常有1级和2级。

而高速Cache主要包括3级和4级别的Cache。

相比普通的Cache,高速Cache能够更快的响应CPU的操作请求,从而提高计算机的整体性能。

使用高速Cache的方法也比较简单,只需要对Cache进行升级或者更换即可。

使用多级Cache使用多级Cache,是一个提高Cache性能的另一个有效方法。

多级Cache通常包括三层缓存:L1、L2和L3。

L1位于CPU内部,大小比较小,但速度非常快;L2位于CPU和内存之间,大小比L1大,速度比L1慢;L3位于主板上,大小比L2更大,速度比L2更慢。

多级Cache的优势在于,当L1 Cache大小有限时,数据和指令能够被传递到L2 Cache中,并在L3 Cache中更多地缓存。

这种方法能够减少L1 Cache的访问次数,从而提高CPU的性能。

使用硬件加速Cache硬件加速Cache是一种专为Cache设计的硬件,主要用于提高Cache的性能。

电子科技大学计算机组成原理计算机组成原理PPT课件

电子科技大学计算机组成原理计算机组成原理PPT课件
第21页/共62页
计算机的硬件
1.2.1 计算机的硬件系统组成CPU
(第3章) 控 制 器
运算器
高速缓存

( 第
线
4 章
主存储器




虚拟存储器
输 出
(磁盘设备)
接 口
(第5章)
输入设备 ( 第 6 章
输出设备 )
第22页/共62页
计算机的一般组成结构为: 运算器+存储器+控制器+输入/
输出设备。
输出结果
执行指令
存储程序
将程序转换为 指令序列
图 计算机的工作流程
第15页/共62页
1.1.2 信息的数字化表示
1. 在计算机中用数字代码表示各种信息 二进制代码
例1 用数字代码表示数据 5 表示为 0 101
- 5 表示为 1 101
第16页/共62页
例2 用数字代码表示字符
A 表示为 1000001
的辅助存储器。 如:磁盘存储器、光盘存储器等,其主要特
点是存储容量大,价格便宜,工作速度较慢。
第34页/共62页
/
………… …………
地 址 寄 存
译 码 器

存储体
控制线路


写 线
据 寄 存


讨论
存储单元读/写原理、存储器逻辑设计
第35页/共62页
/
………… …………
地 址 寄 存
译 码 器
B 表示为 1000010
例3 用数字代码表示命令、状态
启动
表示为 00
停止
表示为 01
正在工作 表示为 10

计算机组成原理——cache高速缓存存储器

计算机组成原理——cache高速缓存存储器

计算机组成原理——cache⾼速缓存存储器cache-⾼速缓存存储器在主存与CPU之间插⼊⼀级或多级SRAM组成的⾼速缓存存储器。

扩展cache有限,因为SRAM价格昂贵。

cache作⽤:为了解决CPU和主存之间速度不匹配⽽采⽤的⼀项重要技术。

cache特性:具有空间局部性以及时间局部性。

cache的组成:SRAM和控制逻辑。

如果cache在CPU芯⽚外,它的控制逻辑⼀般和主存控制逻辑合成在⼀起,称主存/cache控制器。

若cache在CPU 内,则由CPU提供它的控制逻辑。

CPU与cache之间的数据交换是以字为单位,⽽cache与主存之间的数据交换是以块为单位。

⼀个块由若⼲字组成,是定长的。

cacheache的命中率:为了使主存的平均读出时间尽可能接近cache的读出时间,cache命中率应接近于1.地址映射含义:为了把主存块放到cache中,必须应⽤某种⽅法把主存地址定位到cache中,称作地址映射。

地址映射⽅式:全相联映射⽅式、直接映射⽅式和组相联映射⽅式。

全相联映射⽅式⼩结:(1)在全相联cache中,全部标记⽤⼀个相联存储器来实现,全部数据⽤⼀个普通RAM来实现。

(2)优点”冲突率⼩,cache利⽤率⾼(3)缺点:⽐较器难于设计与实现(4)只适⽤⼩容量cache。

直接映射⽅式⼩结:(1)优点:硬件简单,成本低。

(2)缺点:每个主存块只有⼀个固定得⾏位置可存放。

(3)发⽣冲突率⼤。

(如果块号相距m整数倍得两个块存于同⼀cache⾏时)(4)适合⼤容量cache.组相联映射⽅式⼩结:适度兼顾了“全相联映射⽅式”和“直接映射⽅式”的优点以及尽量避免两者的缺点。

替换策略含义:当⼀个新的主存块需要拷贝到cache,⽽允许存放块的⾏位置都被其他主存占满时,就要产⽣替换。

适合的地址映射⽅式:全相联映射⽅式和组相联映射⽅式(1)最不经常使⽤(LFU)算法含义:将⼀段时间内被访问次数最少的那⾏数据换出。

计算机组成原理课程设计(中央处理器--微程序控制器设计)

计算机组成原理课程设计(中央处理器--微程序控制器设计)

计算机组成原理课程设计:中央处理器-微程序控制器设计摘要本文档介绍了一个针对计算机组成原理课程的设计项目,即中央处理器的微程序控制器设计。

在设计中央处理器的微程序控制器时,我们将考虑指令的执行、数据的处理以及控制信号等关键方面。

通过这个设计项目,学生将深入了解计算机系统的核心组件并掌握微程序控制器的设计方法。

引言计算机组成原理课程旨在帮助学生理解计算机硬件系统的基本原理和组成部分。

其中,中央处理器是计算机系统中最核心的部分之一。

微程序控制器是中央处理器的关键组件,它通过微指令序列控制着处理器的各个部件。

本设计项目旨在实践计算机组成原理的理论知识和设计方法,使学生能够了解中央处理器的内部结构和工作原理,并掌握微程序控制器的设计技术。

设计目标本次设计的目标是: 1. 使用合适的指令集设计一个完整的微程序控制器。

2. 实现基本的指令执行功能,包括算术逻辑单元(ALU)操作、内存读写、条件分支和跳转等。

3. 考虑控制信号与数据通路之间的兼容性和时序关系。

4. 考虑指令的效率和性能,实现合理的指令编码和微指令生成策略。

设计内容1. 指令集设计在设计微程序控制器时,首先需要确定适合该设计的指令集。

指令集应该包括基本的算术、逻辑、移位和控制指令,以及内存读写指令。

根据实际需求,可以添加其他合适的指令。

2. 微指令设计为了实现指令集中的每个指令,需要设计相应的微指令。

微指令是一系列控制信号的序列,用于控制中央处理器中各个部件的操作。

每个微指令应该包含控制信号、操作码、寄存器的选择和数据通路的选择等信息。

3. 数据通路设计数据通路连接了CPU中各个部件,包括寄存器、ALU、控制器等。

在设计数据通路时,需要考虑指令的执行顺序、数据的传递和处理,以及控制信号的生成等。

数据通路应该支持指令的执行和数据操作。

4. 控制信号设计控制信号是微程序控制器中最关键的部分,它确定了中央处理器中各个部件的操作方式和时序。

在设计控制信号时,需要考虑不同指令的差异性和并行性,确保指令的正确执行。

计算机组成原理实验指导书 电子科技大学

计算机组成原理实验指导书 电子科技大学

计算机专业核心硬件课程实验指导书电子科技大学计算机学院实验平台介绍一.硬件部分:1.核心适配板:主控芯片是XILINX公司的SPRTAN XC3S500E(50万逻辑门电路),它具有可编程接口(JTAG),通过并口与PC机相连,该芯片可以反复擦写。

2.实验箱上输入/输出接口:⑴按键开关:键按下为抵电平,弹起为高电平,实验箱上的序号是AN1,AN2。

用它可以形成脉冲信号。

(2个)⑵拨动开关:开关向上为高电平,向下为低电平,实验箱上的序号是K1~K12。

(12个)⑶发光二极管:分成红、绿、黄三种颜色。

高电平点亮,低电平熄灭。

实验箱上的序号是L1~L24。

(24个)(4)8段LED数码管:低电平点亮相应的段。

实验箱上的序号是LED1~LED4。

(4个)3. 用户接口部分二.软件部分:本实验系统的开发软件采用Xilinx公司的ISE集成开发环境。

其软件开发流程:1.创建工程*双击桌面“Xilinx ISE 7.1”;*选择“File” New Project”,屏上显示(图1);●填写“工程项目名”和文件存放路径。

*点击“下一步”,屏上显示(图2);●选择所使用芯片的类型、封装等信息;●选择综合工具(Synthesis Tool)(图1)(图2)2.设计输入*在(图3)对话框,输入文件名,同时选左框中的”Verilog Module”*输入Verilog HDL 的源程序代码(图3)3.约束(引脚绑定)*在“Process View”框中,点击“User Constraints”前的‘+’,双击“Assign Package Pins”*在“Design Browser”框中,选“I/O Pins”*在“Design Object List…”框中‘Loc’栏添入芯片的引脚序号,注意在引脚序号前加上字母p;4.综合在“Process View”框中,点击“Synthesize-XST”;5.实现在“Process View”框中,点击“Implement Design”;6.下载在“Process View”框中,点击“Configure Device(Impact)”;●选“Boundary-Scan Mode”●选“Automatically connect to cable….”(注意此时必须将实验目标板通过并口与PC相连,同时打开实验箱的电源!),屏上显示下图。

《计算机体系结构》第六次实验 cache

Cache实验报告姓名:王宇航学号:09283020 安全0901Cache实验报告一、实验要求:1.阅读分析附件模拟器代码要求:1)读懂2)关键注释3)总结关键参数和算法的实现方法2.通过读懂代码加深了解cache的实现技术3.结合书后习题1进行测试4.通过测试和进行实验设计了解参数和算法选择的特点和相互关系(比较,组合等),需要定性和量化结合说明,可以用数字或图表等多种描述手段配合说明。

二、实验代码:1. LRU页面置换算法程序一共有3中模式:Direct_mapped 2 Set_associate 3 Fully_associate对于第一种,直接映射,显然用不到LRU算法,因为每一个地址在cache中只有一个地方可以去。

对于后两种,组相联映射和全相联映射,就需要用到LRU算法了。

其中,全相联映射等于是只有一个set的Set_associate,而LRU正是用在一个set中,所以,后面两种模式的LRU问题可以归结为一种:一个set中,来了一个没有的页面,需要置换出一个,应该置换出哪一个的问题。

那么,具体过程如下:1 这个set中的每一个block都有一个lru值,初始为0。

2 每次访问这个set的时候,不管是否命中,这个set中的所有block的lru值都+1。

3 当需要置换出去一个页面的时候,选择一个lru值最大的那个置换出入,用来放入刚刚进来的。

4 不管是否命中,刚刚访问过的,或者加入的那个block的lru值置为0。

if(x<lru[index][z])//选择lru值最大的一个{x=lru[index][z];y=z;}if(z==((assoc*2)-2))//没有命中时{newarray[index][y+1]=tag; //把lru值最大的替换掉misscount++;c=misstype(blockaddress[j],NOofblock,j);cc=1;for(m=0;m<(assoc*2);m=m+2)//所有的lru值+1lru[index][m]++;lru[index][y]=0;//把lru值最大的替换掉}z=z+2;2. 用于判断缺页类型的算法在程序中,体现了3中缺页的类型:Compulsory Miss:之前没有出现的地址,肯定不会命中Conflict Miss:由于冲突而产生的不命中Capacity Miss:由于容量不足而导致的不命中在函数int misstype(int ba, int nb, int l)中。

cache性能分析及优化实验报告

实验报告实验名称:计算机原理cache性能分析及优化实验学员:张英杰学号: 201008040092 培养类型: 4+1军人年级:任职培训队专业:计算机科学与技术所属学院:计算机学院指导教员:唐玉华职称:研究员实验室:校计算机中心四号院机房实验日期: 2010.12.1—2010.12.19国防科学技术大学训练部制《实验报告》填写说明1.学员完成人才培养方案和课程标准要所要求的每个实验后,均须提交实验报告。

2.实验报告封面必须打印,报告内容可以手写或打印。

3.实验报告内容编排及打印应符合以下要求:(1)采用A4(21cm×29.7cm)白色复印纸,单面黑字打印。

上下左右各侧的页边距均为3cm;缺省文档网格:字号为小4号,中文为宋体,英文和阿拉伯数字为Times New Roman,每页30行,每行36字;页脚距边界为2.5cm,页码置于页脚、居中,采用小5号阿拉伯数字从1开始连续编排,封面不编页码。

(2)报告正文最多可设四级标题,字体均为黑体,第一级标题字号为4号,其余各级标题为小4号;标题序号第一级用“一、”、“二、”……,第二级用“(一)”、“(二)” ……,第三级用“1.”、“2.”……,第四级用“(1)”、“(2)” ……,分别按序连续编排。

(3)正文插图、表格中的文字字号均为5号。

一实验概述(一)实验目的1.掌握Cache的基本概念、基本组织结构2.掌握影响Cache性能的三个指标3.了解相联度对Cache的影响4.了解块大小对Cache的影响5.了解替换算法对Cache的影响6.了解Cache失效的分类及组成情况7.了解一些基本的Cache性能优化方法(选做)(二)实验步骤1.运行模拟器SimpleScalar2.在基本配置情况下运行矩阵乘计算程序统计Cache失效次数,并统计三种不同类型的失效3.改变Cache容量,统计各种失效的次数,并进行分析4.改变Cache的相联度,统计各种失效的次数,并进行分析5.改变Cache块大小,统计各种失效的次数,并进行分析6.改变Cache的替换策略,统计各种失效次数,并分析7.对给出的矩阵乘计算程序进行适当改写以优化cache性能。

计算机组成原理课程设计模型机实验报告 精品

实践报告计算机组成原理--模型机设计报告作者姓名:专业:计算机科学与技术学号:指导教师:完成日期:年月号******学院计算机工程系摘要“计算机组成原理”是计算机科学与技术系的一门核心专业基础课程,在计算机专业中起了很重要的作用。

课程中分部分介绍了计算机的各个部件,我们有必要将它们组合起来以对计算机有一个整体的认识。

这次课程设计通过对一个简单模型机的设计与实现,是我们对计算机的基本组成、部件的设计、部件间的连接有更深的理解。

依次设计计算机的几个部件并进行连接使成为一个完整的模型机。

通过运行和调试,使之正常工作。

关键词:运算器;控制器;存储器;输入输出接口;模型机正文:一、课设目的要求:《计算机组成原理》是一门理论性、实践性均较强的专业基础课,要求学生具有一定的电路分析、指令系统编写能力、软件设计能力。

通过计算机组成原理实践周,要突出《计算机组成原理》理论联系实际的特点,培养实践动手能力。

1.培养学生运用理论知识和技能,构建建立问题逻辑结构,锻炼学生分析解决实际问题的能力。

2.培养学生使用PROTEUS软件分析和设计计算机内部器件的方法和技巧。

3.培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。

4.通过实践设计,要求学生在指导教师的指导下,独立完成设计课题的全部内容,包括:(1)通过调查研究和上机实习,掌握PROTEUS软件的设计和仿真调试技能。

(2)掌握计算机系统的组成结构及其工作原理。

(3)设计实现一个简单计算机的模型机,并能够使用PROTEUS软件进行电路仿真验证二、课设内容:利用所学的计算机结构和工作原理的知识,要求学生独立完成简单计算机的模型机设计,并用PROTEUS软件进行验证。

在分析设计过程中,要求学生养成良好的习惯,学会分析实际问题,并利用所学的知识建立系统的逻辑结构,学会PROTEUS调试技巧和方法,通过逻辑设计和工程设计培养调试硬件电路的实际动手能力。

要求学生掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。

计算机组成原理实验4

武汉大学计算机学院教学实验报告课程名称计算机组成原理实验成绩教师签名实验名称控制器实验序号04 实验日期2011.11.24姓名冯凯学号201030150011专业物联网工程年级-班10级物联网一班一、实验目的及实验内容(本次实验所涉及并要求掌握的知识;实验内容;必要的原理分析)小题分实验目的:1.了解控制器的功能;2.掌握微控制器设计方法;3.熟悉微控制器的结构;实验内容:1.写出下列微操作的微码 [a dd1]+[add2]→[add2]PC→AR,PC+1 →PCMEM →ARMEM →QPC→AR,PC+1 →PCMEM →ARMEM+Q →QQ → MEM, CC#=02.读懂例题的微程序并运行之实验原理:TEC-2中控制器由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、微程序计数器(μPC)、控存(CS)、微指令寄存器(μIR)等组成,而程序计数器器(PC)采用通用寄存器中的R5。

对控制器的控制如下:共分成3 个子字段,总共使用18位码。

实验机器微机指令如下:二、实验环境及实验步骤小题分:(本次实验所使用的器件、仪器设备等的情况;具体的实验步骤)实验环境:电脑主机,TEC-2实验平台实验步骤:1.启动TEC-2机,进入监控程序状态。

2.用E命令输入微码(或数据):>E900。

显示:0900 XXXX:之后继续输入:(此处填入由分析得到的实验微码)3.用D命令查看微码(或数据):>D900。

显示:(显示刚才输入的实验微码)4.用A命令输入加载程序:>A800。

显示:0800:之后继续输入:MOV R1,900MOV R2,7MOV R3,100LDMCRET5.用U命令查看程序:>U800。

显示:0800:2C10 0900 MOV R1,900 0802:2C20 0007 MOV R2,7 0804:2C30 0100 MOV R3,100 0806:D000 LDMC0807:AC00 RET6.用G命令运行加载程序:>G800。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四 Cache控制器设计实验 1.实验目的 (1) 掌握Cache控制器的原理及其设计方法。 (2) 熟悉CPLD应用设计及EDA软件的使用。

2.实验设备

PC机一台,TD-CMA实验系统一套。 3.实验原理

本实验采用的地址变换是直接映像方式,这种变换方式简单而直接,硬件实现很简单,访问速度也比较快,但是块的冲突率比较高。其主要原则是:主存中一块只能映像到Cache的一个特定的块中。 假设主存的块号为B,Cache的块号为b,则它们之间的映像关系可以表示为: b = B mod Cb 其中,Cb是Cache的块容量。设主存的块容量为Mb,区容量为Me,则直接映像方法的关系如图4-1所示。把主存按Cache的大小分成区,一般主存容量为Cache容量的整数倍,主存每一个分区内的块数与Cache的总块数相等。直接映象方式只能把主存各个区中相对块号相同的那些块映像到Cache中同一块号的那个特定块中。例如,主存的块0只能映像到Cache的块0中,主存的块1只能映像到Cache的块1中,同样,主存区1中的块Cb(在区1中的相对块号是0)

块0块1...块Cb-1块0块1...块Cb-1块Cb

块Cb+1

...

块2Cb-1

块Mb-Cb

块Mb-Cb+1

...

块Mb-1

...

区0区1

区Me-1主存储器

Cache

图4-1 直接相联映像方式 也只能映像到Cache的块0中。根据上面给出的地址映像规则,整个Cache地址与主存地址的低位部分是完全相同的。 直接映像方式的地址变换过程如图4-2所示,主存地址中的块号B与Cache地址中的块号b是完全相同的。同样,主存地址中的块内地址W与Cache地址中的块内地址w也是完全相同的,主存地址比Cache地址长出来的部分称为区号E。 区号E块号B块内地址W块内地址w块号b相等比较区号E(按地址访问)有效位E1主存地址Cache地址块失效相等

区表存储器 访问Cache若比较结果相等且有效位为'1',则用Cache地址访问Cahce,读出数据送往CPU

图4-2 直接相联地址变换 在程序执行过程中,当要访问Cache时,为了实现主存块号到Cache块号的变换,需要有一个存放主存区号的小容量存储器,这个存储器的容量与Cache的块数相等,字长为主存地址中区号E的长度,另外再加一个有效位。 在主存地址到Cache地址的变换过程中,首先用主存地址中的块号去访问区号存储器(按地址访问)。把读出来的区号与主存地址中的区号E进行比较,根据比较结果和与区号在同一存储字中的有效位情况作出处理。如果区号比较结果相等,有效位为‘1’,则Cache命中,表示要访问的那一块已经装入到Cache中了,这时Cache地址(与主存地址的低位部分完全相同)是正确的。用这个Cache地址去访问Cache,把读出来的数据送往CPU。其他情况均为Cache没有命中,或称为Cache失效,表示要访问的那个块还没有装入到Cache中,这时,要用主存地址去访问主存储器,先把该地址所在的块读到Cache中,然后CPU从Cache中读取该地址中的数据。 本实验要在CPLD中实现Cache及其地址变换逻辑(也叫Cache控制器),采用直接相联地址变换,只考虑CPU从Cache读数据,不考虑CPU从主存中读数据和写回数据的情况,Cache和CPU以及存储器的关系如图4-3所示。

CPUCACHEMEM...A7A0MA7MA0......D7D0...MD7MD0

RDMR

图4-3 Cache系统图 Cache控制器顶层模块如图4-4所示,主存地址为A7…A0,共8位,区号E取3位,这样Cache地址还剩5位,所以Cache容量为32个单元,块号B取3位,那么Cache分为8块,块内地址W取2位,则每块为4个单元。图4-4中,WCT为写Cache块表信号,CLR为系统总清零信号,A7…A0为CPU访问内存的地址,M=0为Cache失效信号,CA4…CA0为Cache地址,MD7…MD0为主存送Cache的数据,D7…D0为Cache送CPU数据,T2为系统时钟,RD为CPU访问内存读信号,LA1和LA0为块内地址。 WRCLRA[7..2]MCacheTableA[4..0]RDWRD[7..0]Q[7..0]

CacheMem

VCCVCC

AND2AND2OR2NOTAND2AND2OR2WIREWIREWIREWIREWIRE

NOTNOTAND2CLRCLKWCTLA[1..0]COUNTERPRNCLRNDENAQDFFENOTAND2NOTAND2OR2NOTNAND3

NOT

D[7..0]CA[4..0]RDT2MD[7..0]WCTA[7..2]CLRWCTM

BUSYMRD

T2

MCLRLA[1..0]CLRWCTT2

NA[1]NA[0]

LA[1]

A[1]LA[0]A[0]MA[4]A[3]A[2]NA[1]NA[0]CA[0]CA[4]CA[3]CA[2]CA[1]

图4-4 Cache控制器顶层模块图 在QuartusII软件中先实现一个8位的存储单元(见例程中的MemCell.bdf),然后用这个8位的存储单元来构成一个32 X 8位的Cache(见例程中的CacheMem.bdf),这样就实现了Cache的存储体。 再实现一个4位的存储单元(见例程中的TableCell.bdf),然后用这个4位的存储单元来构成一个8 X 4位的区表存储器,用来存放区号和有效位(见例程中的CacheTable.bdf),在这个文件中,还实现了一个区号比较器,如果主存地址的区号E和区表中相应单元中的区号相等,且有效位为1,则Cache命中,否则Cache失效,标志为M,M为0时表示Cache失效。 当Cache命中时,就将Cache存储体中相应单元的数据送往CPU,这个过程比较简单。当Cache失效时,就将主存中相应块中的数据读出写入Cache中,这样Cache控制器就要产生访问主存储器的地址和主存储器的读信号,由于每块占四个单元,所以需要连续访问四次主存,这就需要一个低地址发生器,即一个2位计数器(见例程中的Counter.vhd),将低2位和CPU给出的高6位地址组合起来,形成访问主存储器的地址。M就可以做为主存的读信号,这样,在时钟的控制下,就可以将主存中相应的块写入到Cache的相应块中,最后再修改区表(见例程中的(CacheCtrl.bdf)。

4. 实验步骤

(1) 使用Quartus II软件编辑实现相应的逻辑并进行编译,直到编译通过,Cache控制器在 EPM1270芯片中对应的引脚如图4-5所示,框外文字表示I/O号,框内文字表示该引脚的含义(本实验例程见‘安装路径\Cpld \CacheCtrl\CacheCtrl.qpf’工程)。 EPM1270RDD26MRA24D09...D16MD7...MD0D17...D24A7...A0A01...A08MA7...MA0B23...B30D7...D0MoA23T2D28CLRD27

图4-5 引脚分配图 (2) 关闭实验系统电源,按图4-6连接实验电路,并检查无误,图中将用户需要连接的信号用圆圈标明。 (3) 打开实验系统电源,将生成的POF文件下载到EMP1270中去,CPLD单元介绍见附1。 (4) 将时序与操作台单元的开关KK3置为‘运行’档,CLR信号由CON单元的CLR模拟给出,按动CON单元的CLR按钮,清空区表。 (5) 预先往主存写入数据:联机软件提供了机器程序下载功能,以代替手动读写主存,机器程序以指定的格式写入到以TXT为后缀的文件中,机器指令的格式如下: 机器指令格式说明:$P机器指令代码十六进制地址机器指令标志XXXX

如$P 1F 11,表示机器指令的地址为1FH,指令值为11H,本次实验只初始化00-0FH共16个单元,初始数据如下,程序中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。

CPLD单元CON单元SD17...SD10L7 ... L0B23...B30A23L8......D17...D24...A7... A0...A01...A08D27CLRD26K7D7... D0...D09...D16CPU内总线D28

KK+时序与操作台单元

VCCGND扩展单元VCCGND

A24

RD

(RD)D7... D0

...

MEM单元

图4-6 实验接线图 ; //************************************** // ; // // ; // Cache控制器实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //************************************** //

相关文档
最新文档