Zohar's blog

计算机组成 - 概念

Computercomputercomputer history

计算机系统由硬件和软件两部分组成,软件系统是面向人类的,硬件系统是搭载软件的实体,软件和硬件在逻辑上是等效的,但并不相等,本文记述了关于计算机组成与系统原理的大部分概念

计算机发展

计算机迭代

代数 类型 时间 特征
电子管 1946 ~ 1957 速度低、体积大、价格高、可靠性差,用于科学计算
晶体管 1958 ~ 1964 体积缩小、可靠性提高,从科学计算扩大到数据处理
集成电路 1965 ~ 1971 速度达 MIPS 级,小型机出现,应用领域扩大
超大规模集成电路 1971 ~ 速度达 TIPS 级,多机系统和网络发展,微型机出现

计算机分类

  • 硬件上分类

    • 模拟计算机:由模拟运算器构成

    • 数字计算机:由数字逻辑器件构成

      • 专用计算机:针对特定任务设计的计算机

      • 通用计算机:适应性较高,牺牲了效率、速度和经济性

  • 规模上分类

    • 巨型机:超级计算机

    • 大型机:大型服务器

    • 小型机:服务器

    • 微型机:个人电脑

IAS 计算机

“存储程序”计算机,即冯诺依曼计算机,为今通用计算机的原型,基本思想:

将事先编号的程序和原始数据送入主存后才能执行程序,程序一旦被启动执行,计算机能在不需操作人员干预下自动完成逐条取出指令并执行的任务。

ABC 计算机

全称阿塔纳索夫-贝瑞计算机,是世界上第一台电子计算机。由美国科学家阿塔纳索夫在1937年开始设计,不可编程,仅仅设计用于求解线性方程组,并在1942年成功进行了测试。是公认的计算机先驱,为今天大型机和小型机的发展奠定了坚实的基础。另外两位科学家莫齐利和艾克特借鉴并发展了他的思想制成了第一台数字电子计算机ENIAC。但ENIAC的设计思想实际上是来源于阿塔纳索夫在此之前的设计:可重复使用的内存、逻辑电路、基于二进制运、用电容作存储器。这台计算机在1990年被认定为IEEE里程碑之一。

阿塔纳索夫和克利福德·贝瑞的计算机在1960年才被认可,并且陷入了谁才是第一台计算机的冲突中。那时候,ENIAC普遍被认为是第一台现代意义上的计算机,但是在1973年,美国联邦地方法院判决撤销了ENIAC的专利,并得出结论:ENIAC的发明者是从阿塔纳索夫那里继承了电子数字计算机的主要设计构想。因此,ABC被认定为世界上第一台电子计算机

ENIAC

ENIAC,全称为Electronic Numerical Integrator And Computer,即电子数字积分计算机。冯诺依曼 1944 年加入美国军方 ENIAC 计算机研制项目,1945 年提出并发表一个全新的“存储程序通用电子计算机”方案 —— EDVAC(冯诺依曼思想), ENIAC 是继 ABC 之后的第二台电子计算机和第一台通用计算机

EDVAC 冯诺依曼体系

  1. 用二进制代码表示程序和数据;

  2. 采用存储程序的工作方式(核心思想);

  3. 新型的现代计算机硬件组成(五大逻辑模块):

奠定了电子计算机的理论基础

后 PC 时代

指 2000 年后至今,将计算机(Computer)、通信(Communication)和消费产品(Consumption)的技术结合起来,以3C产品的形式通过Internet进入家庭的时代。

计算机系统

五大逻辑模块

五大逻辑模块

CPU

中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

CPU 组成

  • 运算器

    1. 功能:完成算数和逻辑运算

    2. 组成

      名称 全称 作用
      MQ Multiple-Quotient Register 乘商寄存器
      ACC Accumulator 累加器
      ALU Arithmetic Logic Unit 运算逻辑单元
      X   通用寄存器, X 代表使用的某一个寄存器
      PSW Program Status Word 程序状态寄存器
  • 控制器

    1. 功能:产生控制命令(微命令),控制全机操作

    2. 组成:

      名称 全称 作用
      CU Control Unit 分析指令,给出控制信号
      IR Instruction Register 存放当前执行的指令
      PC Program Counter 存放指令地址,有自动加 1 的功能

存储器

  1. 功能:存储数据和数字化后的程序

  2. 基本概念:

    名词 举例 释义
    存储位 bit 放一个二进制数位的存储单元,是存储器最小的存储单位,或称记忆单元
    存储字 int 一个数(n位二进制位)作为一个整体存入或取出时,称存储字
    存储单元 4k 存放一个存储字的若干个记忆单元组成一个存储单元
    地址 0xFFFFFF 存储单元的地址
    存储容量 128GB 存储器所有存储单元总数

输入输出设备

  1. 功能:执行输入/输出信息的转换

总线

  1. 功能:为多个部件分时共享的一组传送通路

    • 数据总线:传送各种数据信息

    • 地址总线:传送各种地址信息

    • 控制总线:传送各种控制信号

计算机硬件典型架构

  1. 微型机:南北桥架构

  2. 小型机:多处理器架构

  3. 巨型机:集群架式架构

多处理器系统结构

特点:主机由多处理器CPU构成,根据处理器之间的紧密程度,分为:

  1. 紧密耦合型多机系统

  2. 松散耦合型多机系统

计算机性能

基本字长

  • 介绍:CPU 单位时间内处理一组二进制数的位数,通常等于CPU数据总线的宽度。

  • 作用:影响计算的精度、指令的功能

外频

  • 介绍:外频是系统总线的工作频率,也叫系统时钟频率和基频,即 CPU 的基准频率,是CPU与主板之间同步运行的速度。

  • 作用:外频速度越高,CPU就可以同时接受更多来自外围设备的数据,从而使整个系统的速度进一步提高。

  • 与 CPU 主频关系:CPU的实际频率 = 外频 × 倍频系数。

CPU 性能指标

  • 时钟频率(Clock-rate) = 主频 = 外频 × 倍频

  • 时钟周期(Clock-cycle) = 1 / 时钟频率

  • IPS(Instructions per second):每秒执行的指令数

  • CPI(Clock-cycles per instruction):每条指令所需要的时钟周期数
    CPI = Clock-rate / IPS = IPS / Clock-cycle

  • FLOPS:CPU 每秒可执行的浮点次数
    FLOPS = 总浮点次数 / 耗费秒数 = Core × Clock-rate × FMA数量 × 同时加法乘法次数 × FMA处理位数 / CPU 字长
    FMA 即乘法及加法融合指令,同时执行一次加法和乘法操作

带宽

  • 介绍:带宽(bandwidth)即吞吐率(throughput),或称数据传输率,为单位时间内数据的传输量

  • 计算:带宽 = 字长 × 工作频率 / 8 (Bps)

存储器的容量

  • 内存容量 = 可编址的存储单元个数(总线地址码位数) × 存储单元的位宽(编址单位)

  • 外存容量:与总线地址码位数无关