选取一款带有高速缓存的CPU,并对其高速缓存原理介绍

  • 格式:doc
  • 大小:380.50 KB
  • 文档页数:15

桂林理工大学 邹老师的弟子 题目六:选取一款带高速缓存的CPU,对其高速缓冲存储器的工作原理进行介绍 (这是我精心制作的论文报告,貌似那时候得85分。可以参考。) 目录: 一:介绍计算机系统和工作原理 二:介绍存储系统和结构 三:介绍CPU各项功能指标 四:介绍带高速缓冲存储器的工作原理 五:介绍一款带高速缓冲存储器的工作原理 详细介绍: (一)计算机系统和工作原理 ①计算机(指硬件)应由运算器、存储器、控制器、输入设备、输出 设备5大基本部件组成; ②计算机内部采用二进制来表示指令和数据; ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工 作,这就是存储程序的基本含义。 ④通常将运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。在由超大规模集成电路构成的微型计算机中,往往将CPU 制成一块芯片,成为微处理器。后面将详细介绍CPU的具体内容。 计算机组成原理图: 1、计算机系统的多层次结构 第一级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。 第二级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。 第三级是操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。 第四级是汇编语言级。这级的机器语言是汇编语言,它完成汇编语言翻译的程序叫做汇编程序。 第五级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。 第六级是应用语言级。这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。 (二)介绍存储系统和结构 存储系统是由几个容量、速度和价格各个不同的存储器构成的系统。 1、按存储器在计算机系统中的作用分类,可以分为三类存储器: ①高速缓冲存储器:高速缓冲存储器(Cache)位于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU能高速地使用它们。 ②主存储器:主存用来存放计算机运行期间所需要的程序和数据,CPU可直接随机地进行读/写访问。主存具有一定容量,存取速度较高。由于CPU要频繁地访问主存,所以主存的性能在很大程度上影响了整个计算机系统的性能。 ③辅助存储器:辅助存储器又称外存储器或后援存储器,它用来存放 当前暂不参与运行的程序和数据以及一些需要永久性保存的信息。 辅存设在主机外部,容量极大且成本很低,但存取速度较低,而且 CPU不能直接访问它。 2、存储系统层次结构 由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存之间成为Cache—主存储层次,主存储和辅存之间称为主存—赋存存储层次。 Cache存储系统是为解决主存速度不足而提出来的。在Cache和主存之间,增加辅助硬件,让它们构成一个整体。从CPU看,速度接近Cache的速度,容量是贮存的容量。 3、主存储器和CPU的连接 主存和CPU之间的硬连接:主存和CPU的硬连接有3组连线,地址总线(AB)、数据总线(DB)和控制总线(CB)。存储器地址寄存器(MDR)是主存和CPU之间的接口。MAR可以接受来自程序计数器(PC)的指令地址或者来自地址形成部件的操作数地址,以确定要访问的单元。MDR是向主存写入数据或者从主存读出数据的缓冲部件。MAR和MDR从功能上看属于主存,但是在小型计算机、微型计算机中常放在CPU内。

(三)介绍CPU各项功能指标 中央处理器(CPU)是整个计算机的核心,它包括运算器和控制器。CPU对整个计算机系统的运行是极其重要的,这里将从CPU的功能,内部结构和主要参数入手,为后面详细讨论程序的执行过程打下基础。 1、CPU的功能:若用计算机来解决某个问题,首先要为这个问题编制解题程序,而程序又是由指令的有序集合。按照“存储程序”的概念,只要把程序装入主存储器后,即可由计算机自动地完成取指令和执行指令的任务。 2、CPU中的主要寄存器:CPU中的寄存器是用来暂时保存运算器和控制过程中的中间结果、最终结果以及控制、状态信息的,它可以分为通用寄存器和专用寄存器两大类。 通用寄存器可以用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。累加寄存器Acc也是一个通用寄存器,它用来暂时存放ALU运算的结果信息。例如,在执行一个加法运算前,先将一个操作数暂时存放在Acc中,再从主存中取出另一个操作数,然后同Acc的内容相加,所得的结果送回Acc中。运算器中至少要有一个累计寄存器。 专用寄存器是专门用来完成某一种特殊功能的寄存器。CPU中至少要有5个专用的寄存器。它们是:程序计数器(PC)、指令寄存器(IR)、存储器地址寄存器(MAR)、存储器数据寄存器(MDR)、状态标志寄存器(PSWR)。 3、CPU的组成: CPU由运算器和控制器两大部分组成。 控制器的主要功能: ①从主存中取出一条指令,并指出下一条指令在主存中的位置。 ②对指令进行译码或测试,产生相应的操作控制信号,以便启用规定的动作。 ③指挥并控制CPU、主存和输入输出设备之间的数据流动方向。 运算器的主要功能: ①执行所有的算术运算; ②执行所有的逻辑运算,并进行逻辑测试。 4、CPU的主要技术参数 ①字长:CPU的字长是指在单位时间内同时处理的二进制数据的位数。CPU按照其处理信息的字长可以分为:8位CPU、16位CPU、32位CPU以及64位CPU等。 ②内部工作频率:又称为内频或主频,它是衡量CPU速度的重要参数。内部时钟频率的倒数是时钟周期,这是CPU中最小的时间元素。 ③外部工作频率:它是由主板为CPU提供的基准时钟频率。 ④片内Cache的容量:片内Cache又称CPU Cache,它的容量和工作速率对提高计算机的速度起着至关重要的作用。 ⑤工作电压:工作电压指的是CPU正常工作所需要的电压。随着CPU的制造工艺与内频的提高,近年来各种CPU的工作电压有逐步下降的趋势,以解决发热问题。 5、微程序控制器的组成和工作过程: 1、 微程序控制器的基本组成: ①控制存储器(CM):这是微程序控制器的核心部件,用来存放微程序,其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。 ② 微指令寄存器(uIR):用来存放从CM中取出的微指令,它的位数同微指令字长相等。 ③微地址形成部件:用来产生初始微地址和后继微地址,以保证微指令的连续执行。 ④微地址寄存器(uMAR):它接受微地址形成部件送来的微地址,为在CM中读取微指令做准备。 2、微程序控制器的工作过程: ①执行取令公共操作。取指微程序的入口地址一般为CM的0单元,当取指微程序执行完后,从主存中取出的机器指令就已经存入指令寄存器中了。 ②由机器指令的操作码字段通过微地址形成部件产生改机器指令所对应的微程序的入口地址,并送入uMAR。 ③从CM中逐条取出对应的微指令并执行之。 ④执行完对应于一条机器指令的一个微程序后又回到取微程序的入口地址,继续第①步,以完成取下一条机器指令的公共操作。

(四)介绍带高速缓冲存储器的工作原理 1、基本概念: 高速缓冲存储器(Cache)比主存储器体积小但速度快,用于保有从主存储器得到指令的副本,很可能在下一步为处理器所需的专用缓冲器。在计算机存储系统的层次结构中,介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。 2、Cache的基本结构: Cache和主存都被分为若干个大小相等的块,每个块由若干字节组成。由于Chche的容量远小于主存中的块数,它保存的信息只是主存中最急需执行的若干块的副本。高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。用主存地址的块号字段访问Cache标记,并将取出的标记和主存地址的标记字段相比较。若相等,说明访问Cache有效,称为Cache命中;若不相等,说明访问Cache无效,称Cache不命中或失效。 Cache的结构和工作原理图 2、作用介绍: 在计算机技术发展过程中,主存储器存取速度一直比中央处理器操作速度慢得多,使中央处理器的高速处理能力不能充分发挥,整个计算机系统的工作效率受到影响。有很多方法可用来缓和中央处理器和主存储器之间速度不匹配的矛盾,如采用多个通用寄存器、多存储体交叉存取等,在存储层次上采用高速缓冲存储器也是常用的方法之一。很多大、中型计算机以及新近的一些小型机、微型机也都采用高速缓冲存储器。 3、条件介绍: 程序的局部性有两个方面的含义:时间局部性和空间局部性。时间局部性是指如果一个存储单元被访问,则可能该单元会很快被再次访问。空间局部性是指如果一个存储单元被访问,则该单元邻近的单元也可能很快地被访问。 高速缓冲存储器的容量一般只有主存储器的几百分之一,但它的存取速度能与中央处理器相匹配。当中央处理器存取主存储器某一单元时,计算机硬件就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,中央处理器即将存取的主存储器单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。于是,中央处理器就可以直接对高速缓冲存储器进行存取。在整个处理过程中,如果中央处理器绝大多数存取主存储器的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著提高。 4、Cache的读写操作 ① Cache的读操作:当CPU发出读请求时,如果Cache命中,就直接对Cache进行读操作,与主存无关;如果Cache不命中,则仍需要访问主存,并把该块信息一次从主存调入Cache内。若此时Cache已满,则需要根据某种替换算法,用这个块替换掉Cache中原来的某块信息。 ② Cache的写操作:由于Cache中保存的只是主存的部分副本,这些副本与主存中的内容能否相一致,是Cache能否可靠工作的一个关键问题。当CPU发出写请求时,如果Cache命中,由可能会遇到Cache与主存中的内容不一致的问题。所以如果Cache命中,需要进行一定的写处理,处理的方法有:写直达法和写回法。如果Cache不命中,就直接把信息写入主存,并有两种处理方法: 不按写分配法,即只把所要写的信息写入主存。 按写分配法,即在把所要写的信息写入主存后还把这个块从主存中 读入Cache。