zoukankan      html  css  js  c++  java
  • 3.计算机体系与结构

    转:https://www.cnblogs.com/sum-41/p/11495552.html

    冯诺依曼体系

    冯诺依曼体系,用一句话来概括就是:将程序指令和数据一起存储的计算机设计概念结构。

    在前面学习计算机的发展历史的时候,我们知道,早期的计算机只能运行固定用途的程序,怎么理解?举个例子:有个计算机它只能运行数学运算的程序,那么它就不能运行文字处理的软件,也不能拿来玩游戏,如果要让它能够进行别的功能,就需要改变计算机的程序,而在当时,所谓的重写程序并不是指现在的重新编译一个程序那么简单,而是必须更改电路或者说更改结构,甚至重新设计这个机器。

    这样就很坑爹了啊。如果说计算机只能用来打游戏,不能用来写代码,或者说只能用来写代码,不能用来玩游戏,那么我们就不能先玩一会游戏再写一会代码了,这样子是非常不合理的。于是冯诺依曼就想着将程序存储起来,然后在设计底层硬件的时候,不再是设计专有的电路,而是设计一个通用电路,当我们需要运行某种程序的时候,我们先把这段程序翻译成电路能够理解的语言,然后让通用电路去执行相关的逻辑。

    这就是冯诺依曼体系的核心概念——存储程序指令,设计通用电路。

    了解了冯诺依曼体系是怎样诞生的,如果能够理解冯诺依曼体系给计算机领域带来的巨大改变,我们就能明白冯诺依曼体系为什么这么重要了。由冯诺依曼体系所延伸的存储型计算机的概念,改变了之前糟糕的一切,皆由创造一种通用的指令集结构,并将所谓的运算转化为一串程序指令的运行,使整个计算机更有弹性。借助将指令当成一种特殊类型的计算数据,一台存储型的计算机可以轻易地改变其程序,并且在程序的控制下,改变运行的内容,改变的时候不需要重新设计电路,不需要重新改变计算机的结构,这就是冯诺依曼体系所带来的巨大贡献。

    由冯诺依曼体系指导完成的计算机包含五大组件:

    1. 存储器:用来存放程序和数据
    2. 控制器:用来控制程序的流转和数据的输入运行,以及处理运算结果
    3. 运算器:主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中
    4. 输入设备:用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等
    5. 输出设备:可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等

    我们现代所有使用的计算机,从本质上讲,都是冯诺依曼机,包括笔记本电脑、台式电脑、普通服务器、迷你计算机等等。由冯诺依曼体系所指导完成的计算机,必须有以下的几点功能:

    1. 能够把需要的程序和数据送至计算机中(由输入设备完成)
    2. 能够长期记忆程序、数据、中间结果及最终运算结果的能力(由存储器完成)
    3. 能够具备算术、逻辑运算和数据传送等数据加工处理的能力(由运算器、控制器完成)
    4. 能够按照要求将处理结果输出给用户(由输出设备完成)

    冯诺依曼体系结构示意图:

    我们可以看到,存储器和CPU是分开的,这就导致一个问题:CPU和存储器速率之间的问题无法调和。因为CPU是高速运算的,处理速率极快,而存储器没有CPU快,到CPU的数据传输速度慢,这会导致CPU经常空转等待数据传输,这样子是非常浪费资源的。

    既然我们都知道了冯诺依曼体系存在的性能瓶颈,那么,如何解决呢?

    现代计算机的结构

    现代计算机在冯诺依曼体系结构基础上进行了修改,解决了CPU和存储设备之间的性能差异问题。下面是现代计算机的结构示意图:

    可以看到,跟前面不一样的是,运算器、控制器和存储器组成了现代计算机的CPU。

    存储器,从广义上,可以理解为存储数据的介质,包括磁带和硬盘。但是,这里的存储器主要是指围绕CPU的高速设备,包括寄存器和内存。现代计算机的结构,可以理解为以存储器为核心的结构。

    关于存储器,还有很多需要理解的知识,我们会在后续文章里详细介绍。

    总结

    这一节,我们需要了解冯诺依曼体系的含义和它是如何产生的,还需要了解现代计算机的结构和特点以及它解决了什么问题。

  • 相关阅读:
    win7系统激活最简单方法
    如何删除计算机多系统中不需要了的系统?
    SQL SERVER 中 GO 的用法2
    SQL SERVER 中 GO 的用法
    SQL SERVER中架构的理解
    linux诡异的半连接(SYN_RECV)队列长度
    skbtrace
    IO之流程与buffer 图
    MYSQL 缓存详解 [myownstars] 经典博客
    TCP 函数
  • 原文地址:https://www.cnblogs.com/jvStarBlog/p/11941506.html
Copyright © 2011-2022 走看看