由美籍匈牙利数学家冯·诺依曼于1946年提出的,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存,这正是治愈“神童”ENIAC健忘症的良方。冯·诺依曼和同事们依据此原理设计出了一个完整的现代计算机雏形,并确定了存储程序计算机的五大组成部分和基本工作方法。冯·诺依曼的这一设计思想被誉为计算机发展史上的里程碑,标志着计算机时代的真正开始。
虽然计算机技术发展很快,但“存储程序原理”至今仍然是计算机内在的基本工作原理。自计算机诞生的那一天起,这一原理就决定了人们使用计算机的主要方式——编写程序和运行程序。科学家们一直致力于提高程序设计的自动化水平,改进用户的 *** 作界面,提供各种开发工具、环境与平台,其目的都是为了让人们更加方便地使用计算机,可以少编程甚至不编程来使用计算机,因为计算机编程毕竟是一项复杂的脑力劳动。但不管用户的开发与使用界面如何演变,“存储程序原理”没有变,它仍然是我们理解计算机系统功能与特征的基础。 EDSAC于1949年5月建成,它是世界上第一台真正实现内部存储程序的电子计算机,其中凝集着冯·诺依曼等人设想,也是后来所有电脑的真正原型和范本。 经过对冯·诺依曼原理的深入研究,设计了一个冯·诺依曼计算机模型,详细描述了该模型机的核心部件功能和指令系统,并结合一个具体的例子给出了冯·诺依曼机进行运算的完整流程以此生动形象地阐释计算机的各个组成部分和存储程序工作原理为计算机工作原理的教学提供一个良好的CAI模型,使得初学者能够从理性和感性角度更为深刻地掌握计算机工作原理
O 是时间复杂度,是一个表示程序随机算规模增加而消耗时间增长的函数
n 是指程序规模
n0 是指一个临界点当超过这个临界点的时候O产生作用(也就是说允许在一个较小规模的时候时间不合O发生严格的正相关关系)
T(n)是指规模为n时程序所使用的时间
M 一个常系数
例子
for(int i = 0; i < n; i++)
{
for (int t = 0; t < n; t++)
{
//
*** 作1;
*** 作2;
}
}
好了 当n >= 2 时
在模型机上运行的时候 所用的时间就是
1ms(循环里面那两个 *** 作的时间)2 n(内层循环)n(外层循环)
也就是说 T(n) = 2ms n^2
当然了在具体的时候两个 *** 作所用的时间不一样(比如乘法和加法的指令周期是不一样的),而且循环本身也是要消耗时间。不过分析时间复杂度一般不考虑那么多
当然不管多大的数都是有一个比例的,在这里我们可以估算一下肯定不大于7ms(其实没必要考虑这些)
所以这时
T(n) <= 7ms n^2
M= 7;
这时候我们不再管 *** 作具体执行时间是多少,直接把常数扔掉,得到
O(n^2)
他的意思是当规模大于1时,随着n的增大,程序的时间会以n^2的速度增加
这不是严格的讨论量的关系,这是在讨论它的增长速度的问题。不知道我说清楚了没有
以上就是关于简述冯诺依曼存储程序所设计的原理全部的内容,包括:简述冯诺依曼存储程序所设计的原理、关于时间复杂度的疑惑!!!!!!!!!!!!!!!!!!!!!!!!!!!!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)