冯诺依曼的瓶颈问题
电脑有四个主要部分:中央处理器、存储器、接口电路和外部设备,各部分之间的互连总线有:地址总线、控制总线、双向数据线和输入输出线。电脑的信息数据采用二进制进行编码,将数据输入电脑时,是一个一个地按地址对号先后入座,经计算、处理,然后输出结果,而不是将数据同时输入电脑。将数据一个一个地输入和处理的方式被称为串行方式;将数据同时输入和处理的方式,被称为并行方式。串行方式比并行方式所需的各部件之间的互联线数目大大减少,从而简化了电路,使目前超大规模集成电路得以实现。但是,却使电脑丧失了实时处理的能力,因为,串行方式延长了数据输入和处理的时间,从而限制了电脑的计算处理速度,这就是所谓冯诺依曼"瓶颈"问题。如同满瓶之水,只能从瓶颈慢慢地流出,使时间延长了。 思考:冯•诺依曼瓶颈本质的原因是什么?
冯•诺依曼型计算机以存储程序原理为基础,指令与数据混合存储,程序执行时,CPU在程序计数器的指引下,线性顺序地读取下一条指令和数据,以运算器为中心,这就注定了其本质特点是线性或是串行性,表现在两个方面:
1.指令执行的串行性。CPU的运算依赖于寄存器。每一个指令的运算或多或少依赖于其前序指
令的执行结果,尽管后来有些技术,比如将以运算器为中心通过运用DMA等技术变为以存储器为中心、超标量、智能预测执行、寄存器改名技术以达到多条管道并行进行,这已经或多或少地改变了冯•诺依曼的原型,但是本质还是串行执行指令。使得我们在设计程序时,基本上是按流水线的方式在思考问题,即使结构化编程,每个结构体本身也还是串行思考方式下实现的。而时下时兴的面向对象技术只是实现了封装,每个对象成员在设计时也是以串行的思考方式实现的,使得软件的实现效率比较低。
2.存储器读取的串行性。存储器是现代冯•诺依曼体系的核心。一切数据都要在存储器里打转,
但是研究计算机原理,注意到,所有对内存的读取都是独占性的,每一个瞬间,内存实体只能被一个操作对象通过片选信号占据。这就决定了内存的串行读取特性,尽管后来出现了许多新的技术,比如双端内存读取技术(可以从两个读取口同时互不影响地操作内存,初期为了解决显存的显示瓶劲)及双通道甚至多通道技术(可以将待写入的数据分块同时写入不同的存储区块,可以将内存存取速度成倍地提高,这种技术我认为源于RAID技术),这些技术或多或少增强了系统的性能,但都没有改变每一个单体串行工作的特点。
综上所述,我认为冯•诺依曼瓶劲的本质是串性。改善的出路是使用并行技术,在指令运算处理及数据存储上都巧妙地运用并行技术。比如:存储器的访问不再用片选控制,而是可以任意地访问单元,在读写数据时用原子操作或事务处理的思想保证数据的一致性。
1
.冯?诺依曼结构的特点
把冯?诺依曼计算机(Von Neumann computer)的特点归纳如下:
(1)使用单一处理部件来完成计算、存储及通信工作。
(2)使用线性组织的定长存储单元来存储程序,存储时对指令和数据不加区别。
(3)存储空间的单元是直接寻址的。
(4)使用二进制机器语言,其指令完成基本操作码的简单操作。
(5)对计算进行集中的顺序的控制。
4.普林斯顿结构与哈佛结构
有人就把冯?诺依曼结构称为普林斯顿体系结构(Princetion architecture)。与此相对的一种结构则称为哈佛体系结构(Harvard architecture)。哈佛体系结构的主要特点是把指令和数据分开进行存储。今天,我们所说的哈佛结构主要是指在单一的主存储器情况下,带有两个分离的指令高速缓存(instruction cache)和数据高速缓存(data cache)。 5.非冯?诺依曼结构的发展
冯结构既为计算机的发展铺平了道路,又因“集中的、顺序的控制”而成为性能提高的瓶颈。因此,计算机科学家仍在不断地探索各种非冯?诺依曼结构的计算机。例如,函数式编程语言计算机、数据流计算机就是著名的非冯?诺依曼结构。
(三) 体系结构的分类
1.宏观上按处理机数量的分类
(1)单处理系统单处理系统(uniprocessing system)是利用一个处理单元与其它外部设备 2
结合起来,实现存储、计算、通信、输入与输出等功能的系统。
(2)并行处理与多处理系统并行处理与多处理系统(parallel processing and multiprocessing system)是为了充分发挥问题求解过程中处理的并行性,利用两个以上的处理机互连起来,彼此进行通信协调,以便共同求解一个大问题的计算机系统。
(3)分布式处理系统分布式处理系统(distributed processing system)是指物理上远距离而松耦合的多计算机系统。其中,物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理机内部总线上传输慢得多,这也正是松耦合的含义。
2.微观上按并行程度的分类
(1)Flynn的分类法1966年M.J.Flynn提出按指令流和数据流的多少进行分类的方法。他首先定义了:指令流是机器执行的指令序列;数据流是由指令调用的数据序列。然后,他把计算机系统分为四类
3
冯诺依曼的瓶颈问题
电脑有四个主要部分:中央处理器、存储器、接口电路和外部设备,各部分之间的互连总线有:地址总线、控制总线、双向数据线和输入输出线。电脑的信息数据采用二进制进行编码,将数据输入电脑时,是一个一个地按地址对号先后入座,经计算、处理,然后输出结果,而不是将数据同时输入电脑。将数据一个一个地输入和处理的方式被称为串行方式;将数据同时输入和处理的方式,被称为并行方式。串行方式比并行方式所需的各部件之间的互联线数目大大减少,从而简化了电路,使目前超大规模集成电路得以实现。但是,却使电脑丧失了实时处理的能力,因为,串行方式延长了数据输入和处理的时间,从而限制了电脑的计算处理速度,这就是所谓冯诺依曼"瓶颈"问题。如同满瓶之水,只能从瓶颈慢慢地流出,使时间延长了。 思考:冯•诺依曼瓶颈本质的原因是什么?
冯•诺依曼型计算机以存储程序原理为基础,指令与数据混合存储,程序执行时,CPU在程序计数器的指引下,线性顺序地读取下一条指令和数据,以运算器为中心,这就注定了其本质特点是线性或是串行性,表现在两个方面:
1.指令执行的串行性。CPU的运算依赖于寄存器。每一个指令的运算或多或少依赖于其前序指
令的执行结果,尽管后来有些技术,比如将以运算器为中心通过运用DMA等技术变为以存储器为中心、超标量、智能预测执行、寄存器改名技术以达到多条管道并行进行,这已经或多或少地改变了冯•诺依曼的原型,但是本质还是串行执行指令。使得我们在设计程序时,基本上是按流水线的方式在思考问题,即使结构化编程,每个结构体本身也还是串行思考方式下实现的。而时下时兴的面向对象技术只是实现了封装,每个对象成员在设计时也是以串行的思考方式实现的,使得软件的实现效率比较低。
2.存储器读取的串行性。存储器是现代冯•诺依曼体系的核心。一切数据都要在存储器里打转,
但是研究计算机原理,注意到,所有对内存的读取都是独占性的,每一个瞬间,内存实体只能被一个操作对象通过片选信号占据。这就决定了内存的串行读取特性,尽管后来出现了许多新的技术,比如双端内存读取技术(可以从两个读取口同时互不影响地操作内存,初期为了解决显存的显示瓶劲)及双通道甚至多通道技术(可以将待写入的数据分块同时写入不同的存储区块,可以将内存存取速度成倍地提高,这种技术我认为源于RAID技术),这些技术或多或少增强了系统的性能,但都没有改变每一个单体串行工作的特点。
综上所述,我认为冯•诺依曼瓶劲的本质是串性。改善的出路是使用并行技术,在指令运算处理及数据存储上都巧妙地运用并行技术。比如:存储器的访问不再用片选控制,而是可以任意地访问单元,在读写数据时用原子操作或事务处理的思想保证数据的一致性。
1
.冯?诺依曼结构的特点
把冯?诺依曼计算机(Von Neumann computer)的特点归纳如下:
(1)使用单一处理部件来完成计算、存储及通信工作。
(2)使用线性组织的定长存储单元来存储程序,存储时对指令和数据不加区别。
(3)存储空间的单元是直接寻址的。
(4)使用二进制机器语言,其指令完成基本操作码的简单操作。
(5)对计算进行集中的顺序的控制。
4.普林斯顿结构与哈佛结构
有人就把冯?诺依曼结构称为普林斯顿体系结构(Princetion architecture)。与此相对的一种结构则称为哈佛体系结构(Harvard architecture)。哈佛体系结构的主要特点是把指令和数据分开进行存储。今天,我们所说的哈佛结构主要是指在单一的主存储器情况下,带有两个分离的指令高速缓存(instruction cache)和数据高速缓存(data cache)。 5.非冯?诺依曼结构的发展
冯结构既为计算机的发展铺平了道路,又因“集中的、顺序的控制”而成为性能提高的瓶颈。因此,计算机科学家仍在不断地探索各种非冯?诺依曼结构的计算机。例如,函数式编程语言计算机、数据流计算机就是著名的非冯?诺依曼结构。
(三) 体系结构的分类
1.宏观上按处理机数量的分类
(1)单处理系统单处理系统(uniprocessing system)是利用一个处理单元与其它外部设备 2
结合起来,实现存储、计算、通信、输入与输出等功能的系统。
(2)并行处理与多处理系统并行处理与多处理系统(parallel processing and multiprocessing system)是为了充分发挥问题求解过程中处理的并行性,利用两个以上的处理机互连起来,彼此进行通信协调,以便共同求解一个大问题的计算机系统。
(3)分布式处理系统分布式处理系统(distributed processing system)是指物理上远距离而松耦合的多计算机系统。其中,物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理机内部总线上传输慢得多,这也正是松耦合的含义。
2.微观上按并行程度的分类
(1)Flynn的分类法1966年M.J.Flynn提出按指令流和数据流的多少进行分类的方法。他首先定义了:指令流是机器执行的指令序列;数据流是由指令调用的数据序列。然后,他把计算机系统分为四类
3