zoukankan      html  css  js  c++  java
  • 计算机基础-计算机的构成

      也许有人认为技术人员不需要硬件或计算机底层原理的知识。因为这个层面的一些处理往往已经封装好,不需要重新进行规划。然而,事实并非如此,系统构建于硬件与操作系统之上,我们应该对计算机底层原理有一定认识,以避免在研发过程中导致的一系列安全与性能问题。
      
      计算机的发展经历了电子管和晶体管时代、集成电路时代(中小规模、大规模、超大规模、甚大规模、极大规模)。2016年底,世界最高水平的单片集成电路芯片上所容纳的元器件数量已经达到 80 多亿个。现有的计算机构成概念是冯•诺依曼等人于 1946 年 6 月首先提出来的,它可以简要地概括为以下几点:
        (1)计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
        (2)计算机内部采用二进制来表示指令和数据。
        (3)将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
      冯•诺依曼对计算机世界的最大贡献在于“存储程序控制”概念的提出和实现。六十多年来,虽然计算机的发展速度惊人,但就其结构原理来说,目前绝大多数计算机仍建立在存储程序概念的基础上。通常把符合存储程序概念的计算机统称为冯•诺依曼型计算机。当然,现代计算机与早期计算机相比,在结构上还是有许多改进的。随着计算机技术的不断发展,也暴露出了冯•诺依曼型计算机的主要弱点:存储器访问会成为瓶颈。目前,已出现了一些突破存储程序控制的计算机,统称为非冯•诺依曼型计算机,例如,数据驱动的数据流计算机、需求驱动的归约计算机和模式匹配驱动的智能计算机等。
      详见下图:
      
    1.控制器,控制器是分析和执行指令的部件,也是统一指挥并控制计算机各部件协调工作的中心部件,所依据的是机器指令。控制器的组成包含如下。
      ① 程序计数器 PC:存储下一条要执行指令的地址;
      ② 指令寄存器 IR:存储即将执行的指令;
      ③ 指令译码器 ID:对指令中的操作码字段进行分析解释;
      ④ 时序部件:提供时序控制信号。
    2.运算器,运算器也称为算术逻辑单元(ArithmeticandLogicUnit,ALU),其主要功能是在控制器的控制下完成各种算术运算和逻辑运算。运算器的组成包含如下。
      ① 算术逻辑单元 ALU:数据的算术运算和逻辑运算;
      ② 累加寄存器 AC:通用寄存器,为 ALU 提供一个工作区,用在暂存数据;
      ③ 数据缓冲寄存器 DR:写内存时,暂存指令或数据;
      ④ 状态条件寄存器 PSW:存状态标志与控制标志(争议点:也有将其归为控制器的)。
    3.主存储器,主存储器也称为内存储器(通常简称为“内存”或“主存”)。存储现场操作的信息与中间结果,包括机器指令和数据。
    4.辅助存储器,辅助存储器也称为外存储器,通常简称为外存或辅存。存储需要长期保存的各种信息。
    5.输入设备,输入设备的任务是把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。按输入信息的形态可分为字符(包括汉字)输入、图形输入、图像输入及语音输入等。目前,常见的输入设备有键盘、鼠标、扫描仪等。
    6.输出设备,输出设备的任务是将计算机的处理结果以人或其他设备所能接受的 形式送出计算机。目前,最常用的输出设备是打印机和显示器。有些设备既可以是输入 设备,同时也可以是输出设备,例如,辅助存储器、自动控制和检测系统中使用的数模转换装置等。
     
    除了以上几个重要的组成部分,计算机还有一个重要的组成部分---总线:
      总线是一组能为多个部件分时共享的公共信息传送线路。共享是指总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组公共线路传送;分时是指同一时刻只允许有一个部件向总线发送信息,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突。当然,在同一时刻,允许多个部件同时从总线上接收相同的信息。按总线相对于 CPU 或其他芯片的位置可分为内部总线和外部总线两种:
        内部总线:在 CPU 内部,寄存器之间和算术逻辑部件 ALU 与控制部件之间传输数据所用的总线称为内部总线;
        外部总线:外部总线指 CPU 与内存 RAM、ROM 和输入/输出设备接口之间进行通信的通路。
      由于 CPU通过总线实现程序取指令、内存/外设的数据交换,在 CPU 与外设一定的情况下,总线速度是制约计算机整体性能的最大因素。
    按总线功能来划分,又可分为地址总线、数据总线、控制总线三类,
    人们通常所说的总线都包括这三个组成部分,地址总线用来传送地址信息,数据总线用来传送数据信息,控制总线用来传送各种控制信号。
     
    这些构成的具体工作原理我将在以下的文章中详细介绍,待续...
  • 相关阅读:
    无向图的双连通分量
    word发布博客
    构造泛型类型变量数组
    利用函数式接口和反射实例化泛型类型变量
    java8 lambda方法引用
    java8 常用函数式接口
    第一章 java程序设计概述
    算法基础~链表~从位置m到n逆序
    算法基础~链表【将链表逆序题(不可申请额外的空间)~头插法】
    Css定位的bug(margin导致的bug)
  • 原文地址:https://www.cnblogs.com/On-my-way/p/12095813.html
Copyright © 2011-2022 走看看