1. 冯・诺依曼结构 我们将数据和指令都存储在存储器中的计算机称为冯・诺依曼机。这种结构的计算系统由一个中央处理单元(CPU)和一个存储器组成。存储器拥有数据和指令,并且可以根据所给的地址对它进行读或写。 CPU有几个可以存放内部使用值的内部寄存器。其中,存放指令在存储器地址中的寄存器是程序计数器(PC)。CPU先从存储器中取出指令,然后对指令进行译码,最后执行。程序计数器并不直接决定机器下一步要做什么,它只是间接地指向了存储器中的指令。只要改变指令,就能改变CPU所做的事情。指令存储器地址数据器和CPU是否分离可以区分是存储程序计算机还是有限状态机。 2. 哈佛体系结构 另一种体系结构是哈佛体系结构,它与冯・诺依曼体系结构很相似。哈佛机为数据和程序提供了各自独立的存储器,程序计数器只指向程序存储器而不指向数据存储器,这样做的后果是很难在哈佛机上编写出一个自修改的程序(写入数据值然后使用这些值作为指令的程序)。 哈佛体系结构现今仍被广泛使用的原因很简单,即独立的程序存储器和数据存储器为数字信号处理提供了较高的性能。实时处理信号会对数据存取系统带来两方面的压力:首先,大量的数据流通过CPU;其次,数据必须在一个精确的时间间隔内被处理,而不是恰巧轮到CPU时进行处理。连续的定期到达的数据集合叫做流数据。让两个存储器有不同的端口提供了较大存储器带宽;这样一来,数据和程序不必再竞争同一个端口,这使得数据适时地移动更容易。 不同版本的ARM体系结构由数字来标识。ARM 7是一款冯・诺依曼体系结构的机器,而ARM 9使用的是哈佛体系结构。这些差异除了性能方面的差异之外对汇编语言程序员是不可见的。 |