冯诺依曼体系结构与哈弗体系结构

冯·诺依曼结构(von Neumann architecture)

  冯·诺依曼结构也称作普林斯顿结构,是一种将程序(指令序列的集合)和数据存放在同一存储器的不同地址的电脑设计概念结构。这是建立在冯·诺依曼原理,即程序可看做一种特殊的“数据”,同样地可以被处理和存储,故两者可存放在同一存储器中,采用单一的地址总线和数据总线。

特点:

第一,程序和数据存放在同一存储器的不同地址上;

第二,存储单元线性排列,且其位数固定;

第三,顺序执行,即程序/数据—>内存—>取指令执行指令;

  顺序执行程序。执行前,将需要的程序和数据先放入存储器(PC为内存)。当执行时把要执行的程序和要处理的数据按顺序从存储器中取出指令一条一条地执行,称作顺序执行程序。

第四,组成上有运算器,存储器,控制器,输入/输出设备。如下图:

  冯·诺依曼体系结构的特点决定了它可以最大限度地利用资源。怎么理解呢?你数据和程序放在同一个地方,不用花销太多的资源就能取到数据和程序。这也算是冯氏结构的一大优点吧。可是由于程序和数据存放在同一存储区,存取程序和数据间时共享同一总线,导致了冯·诺依曼瓶颈。

哈佛结构

  与冯氏结构相对的是哈佛结构,即将程序和数据分开存储的结构。其过程CPU首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度。如下图:

  联系冯氏结构的瓶颈,我们很快能想到哈佛结构能够完成指令和数据的并发操作,减轻了程序运行时的访存瓶颈,也就是提高吞吐量,是一种并行结构;而冯氏结构只能是顺序操作,是一种串行的处理方式。原始的冯·诺依曼体系结构,通过引入流水线技术(Pipeline)提高吞吐量。

  流水线技术与并行处理有所区别,流水线是在顺序指令流计算机中实现处理时间重叠的技术。流水线的并行处理是指完成对一条指令的不同操作(取指令、解码指令、执行指令)的各个部件在时间上是可以同时重叠工作(三级流水线)。CPU是按照取指令、解码指令、执行指令来完成一条指令的操作,当CPU取完第一条指令后,接着解码第一条指令,同时CPU取第二条指令,该步完成后,CPU执行第一条指令,同时解码第二条指令、取第三条指令,如此重叠操作。

  因此,各部件同时处理是针对不同指令而言的,各部件分别同时为多条指令的不同部分(step、stage)进行工作,以提高各部件的利用率来提高指令的平均执行速度。但是这样虽然提高了系统的速率,由于流水线结构使得不容易计算程序运行的时间,对一些时序要求很严的情况,该结构还是存有弊端的。所以在一些实时性很强的嵌入式系统采用哈佛结构可以高速数据处理,同时读取指令和数据,大大提高了数据吞吐率,保证了系统的可靠性。

 

http://www.weboch.com.cn/ARM/neumann-harvard.asp

http://blog.csdn.net/souljaven/article/details/47667831?locationNum=3&fps=1



关于ARM的一些概念

  ARM内核和架构都是什么意思,它们到底是什么关系?

http://www.cnblogs.com/locean/p/5710377.html

http://www.cnblogs.com/locean/p/5710225.html

时间: 2024-08-05 07:55:43

冯诺依曼体系结构与哈弗体系结构的相关文章

大数据技术之_30_JVM学习_01_JVM 位置+JVM 体系结构概览+堆体系结构概述+堆参数调优入门+JVM 的配置和优化+Tomcat 的配置和优化

1.JVM 位置2.JVM 体系结构概览3.堆体系结构概述4.堆参数调优入门5.JVM 的配置和优化6.Tomcat 的配置和优化 熟悉 JVM 架构与 GC 垃圾回收机制以及相应的 JVM 调优,有过在 Linux 系统下的调优经验. 淘宝的周志明<深入理解 Java 虚拟机>中说 JVM 的优化,其中 99% 优化的是堆,1% 优化的是方法区. 内地女歌手照片--李嘉欣,贴在桌面上. 1.JVM 位置 JVM 是运行在操作系统之上的,它与硬件没有直接的交互 2.JVM 体系结构概览 详解如

NUMA体系结构详解

1. NUMA的几个概念(Node,socket,core,thread) 对于socket,core和thread会有不少文章介绍,这里简单说一下,具体参见下图: 一句话总结:socket就是主板上的CPU插槽; Core就是socket里独立的一组程序执行的硬件单元,比如寄存器,计算单元等; Thread:就是超线程hyperthread的概念,逻辑的执行单元,独立的执行上下文,但是共享core内的寄存器和计算单元. NUMA体系结构中多了Node的概念,这个概念其实是用来解决core的分组

NUMA体系结构介绍

 1. NUMA的几个概念(Node,socket,core,thread) 对于socket,core和thread会有不少文章介绍,这里简单说一下,具体参见下图: 一句话总结:socket就是主板上的CPU插槽; Core就是socket里独立的一组程序执行的硬件单元,比如寄存器,计算单元等; Thread:就是超线程hyperthread的概念,逻辑的执行单元,独立的执行上下文,但是共享core内的寄存器和计算单元. NUMA体系结构中多了Node的概念,这个概念其实是用来解决core的分

计算机组成与体系结构重点(四川大学软件学院)

四川大学软件学院计算机组成期末考试由任课教师按照教学大纲出题,采用闭卷考试的方法, 英语出题.加▲表示重点,考的概率极大.本概念集合由笔者参照课本,往年真题以及老师说的重点编写. 第一章 引言 1.  ▲指令集体体系结构(ISA):ISA是在机器上运行的所有软件和执行这些软件的硬件之间的协定接口. 2.  ▲硬件软件等效性:一切硬件可以实现的软件也可以实现反之亦然 3.  ▲计算机3个组成部分:处理器,储存器,I/O设备 4.  摩尔定律:硅芯片的密度每18个月翻一番 5.  Rock定律:制造

软件体系结构原理、方法与实践总结

第1章:软件体系结构概论 什么是软件危机,软件危机的具体表现有哪些? 软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象. 软件危机的表现: 软件成本日益增长,开发进度难以控制,软件质量差,软件维护困难 产生软件危机的原因,如何克服软件危机? 产生软件危机的原因有用户需求不明确,缺乏正确的理论指导,软件规模越来越大,软件复杂度越来越高. 人们面临的不光是技术问题,更重要的是管理问题.要提高软件开发效率,提高软件产品质量,必须采用工程

LVS的体系结构

LVS集群的体系结构 章文嵩 ([email protected]) 转自LVS官方资料 2002 年 4 月 本文主要介绍了LVS集群的体系结构.先给出LVS集群的通用体系结构,并讨论了其的设计原则和相应的特点:最后将LVS集群应用于建立可伸缩的Web.Media.Cache和Mail等网络服务. 1.引言 在过去的十几年中,Internet从几个研究机构相连为信息共享的网络发展成为拥有大量应用和服务的全球性网络,它正成为人们生活中不可缺少的 一部分.虽然Internet发展速度很快,但建设和

三、oracle 体系结构

1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序在客户端的用户进程中运行,启用Oracle网络服务驱动器与服务器建立连接:3).服务器运行Oracle网络服务驱动器,建立专用的服务器进程执行用户进程:4).客户端提交事务:5).服务器进程获取sql语句并检查共享池中是否有相似的sql语句,如果有,服务器

oracle11g 体系结构详解

1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序在客户端的用户进程中运行,启用Oracle网络服务驱动器与服务器建立连接:3).服务器运行Oracle网络服务驱动器,建立专用的服务器进程执行用户进程:4).客户端提交事务:5).服务器进程获取sql语句并检查共享池中是否有相似的sql语句,如果有,服务器

第03章 mysql 体系结构

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] MySQL体系结构 [4] MySQL体系结构详解 [5] MySQL体系结构 [6] mysql体系结构 [7] MySQL InnoDB体系结构 [8] MySQL体系结构以及各种文件类型学习汇总 [9] 基于mysql体系结构的深入解析