处理器内存空间组织形式是系统所有处理操作的关键部分。内存信息由两个不同类型组成:
(1)处理器将要执行的指令存在于代码空间;
(2)处理器将存取信息作为它的程序执行的一部分,被存储在数据空间。
在处理器的设计中,这两个空间可以放置在物理独立存储器中,或者可以放在相同的物理空间,如图D.2所示。程序空间和数据空间分开的结构为哈佛结构。哈佛结构最基本的优点是可以对程序寄存器和数据寄存器同时操作,增加了存储器宽度。由于程序寄存器和数据寄存器有不同的总线连接到处理器上,为了各自优化它们的宽度可以不同,并且程序代码可以被完全保护起来,避免在无意中受到数据操作的破坏。其主要缺点是程序和数据只能放在各自的存储空间,因此程序寄存器中的任何空余空间是不能用来存储数据,反之亦然。哈佛结构通常用于微控制器和特殊用途的处理器,包括TI的TMS320C2x和TMS320C5x DSP系列。
图D.2 内存结构
程序和数据存在于同一个内存空间的处理器形式称为冯·诺依曼(或普林斯顿)结构。其主要优点是所有的存储器对于任何大小关系的代码和数据比例都是有效的,这就会有更大的内存空间分配灵活性。而缺点是程序寄存器和数据寄存器不能同时操作,并且在程序和数据存储器之间会存在破坏的可能性。目前,这种结构几乎被所有通用目的的微处理器和大多数的专用处理器使用。这主要是由于其配置的灵活性。(www.xing528.com)
除了它们的主内存之外,现代处理器系统经常会有高速缓冲存储器。缓存是有限大小的高速本地存储器,通常在处理器的内部,并且典型操作不需要处理器有任何明确的控制。高速缓冲存储器的目的是为了保留所有指令的一个子集。这是希望当需要高速缓冲存储器时,所有指令流的一定比例部分将出现在缓存中,因而处理器就不用等待从更慢的主内存中读取指令了。如果当处理器需要的时候,这个对象在高速缓冲存储器中则叫做Cache Hit(高速缓冲存储器命中)。如果这个对象不在高速缓冲存储器中,则叫Cache Miss(高速缓存缺失)。使这项技术非常有效的基本原理是程序显示出一些能被挖掘出来的可预见的运转状态。注意,如果指令流真正是随机的,那么高速缓冲存储器是没有用的。特别地,大多数高速缓冲存储器都已经利用下面的特性进行优化了。
时间局部性:依靠访问的程序或数据马上会用到的可能性较大这个性质。在高速缓冲存储器中保持最近刚使用的程序和数据,再次使用的可能性很高。
空间局部性:依靠这个性质,与更远位置的代码和数据比较起来,靠近被访问的存储器位置的代码和数据更可能被需要。为了利用空间局部性,当任何一个块中的地址被访问的时候,大多数处理器高速缓冲存储器自动地从主内存中获取一大块数据。
由于高速缓冲存储器长度有限,在高速缓冲存储器中会使用多种运算法则来尽量保持最大可能需要的信息。高速缓冲存储器能够实质地提高性能,事实上,现代通用的处理器都依赖于多种等级不同层次的高速缓冲存储器来达到好的性能。然而,高速缓冲存储器使得人们很难预知程序的执行时间,因为所需的指令或数据是在高速缓冲存储器里或者必须从慢一点的主要内存中获得是不一定的。在现在计算机结构中这是一个普遍的主题,很多技术用来提升通用处理器的执行速度然而预测执行时间又会变得比较困难或有这种可能性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。