计算机组成原理(唐朔飞)--第一篇 概论

本篇主要介绍计算机系统的基本组成、应用与发展,并通过对该书结构的介绍,指出学习该书的思路。

第一章 计算机系统概论

下一篇计算机组成原理(唐朔飞)–第二篇 计算机系统的硬件结构之系统总线

1.1 计算机系统简介

1.1.1 计算机的软硬件概念

硬件:计算机的实体部分,看得见的电子元器件。
软件:事先编制的具有各种特殊功能的程序组成,通常存放在计算机主存或辅存中。软件的发展可以充分发挥计算机硬件的功能,提高计算机的工作效率,而且已经发展到可以局部模拟人的思维。
软件通常分为系统软件和应用软件。

  1. 系统软件:主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。包括:标准程序库、语言处理程序、操作系统、服务程序、数据库管理系统、网络软件。
  2. 应用软件:主要是为了满足用户任务需求所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、事务管理程序。

1.1.2 计算机系统的层次结构

计算机系统的层次结构是随着计算机的发展逐步发展起来的。
在这里插入图片描述

  1. 早期只有机器语言,人们编写机器语言后直接在实际机器M1上执行,因机器语言由01代码组成,需要程序员对计算机硬件系统和指令系统特别熟悉,编写难度较大。
  2. 20世纪50年代出现了汇编语言,人们先用汇编语言编写程序,汇编语言通过虚拟机器M2翻译成机器语言,在实际机器M1上运行,M1输出结果。汇编语言使用符号表示指令或数据所在的存储单元地址,使程序编写难度降低。汇编语言的劣势是,摆脱不了实际机器的指令系统,而且同样需要程序员对计算机硬件系统和指令系统非常熟悉。
  3. 20世纪60年代出现了高级语言,高级语言把用户编程与实际机器的操作分离开,人们在虚拟机器M3上进行高级语言编程,使用虚拟机将用户编程代码翻译成汇编程序或机器语言。此时的计算机系统具有三层结构。
  4. 不仅在实际机器M1上有向上延伸的各级虚拟机,同理,机器M1内部向下延伸出现了微程序机器M0,M0是直接将M1中的机器指令变成一组微指令,构成一个微程序。M0每执行完一个微程序,再将M1的下一条指令放入M0生成下一组微指令,继续执行。此时的计算机系统具有四层结构,M0,M1,M2,M3。
  5. 在传统机器M1和虚拟机器M2之间还存在着一级虚拟机器,由操作系统软件构成。操作系统向上,提供了在汇编语言和高级语言实现和使用过程中的基本操作,向下起到控制并管理计算机系统全部硬件和软件资源的作用。

1.1.3 计算机组成和计算机体系结构

首先我们需要区分两个概念,什么是计算机组成?什么是计算机体系结构?

  • 计算机体系结构是程序员可见的计算机系统的属性,比如从传统机器M1的层次看,有指令集、数据类型、存储器寻址技术、I/O机理大都属于抽象属性。站在不同的计算机系统层次上看,计算机体系结构也是不同的。
  • 计算机组成是指如何实现计算机体系结构所体现的属性。如指令的实现,即如何取指令、分析指令、取操作数、运算、送结果,这些都是计算机组成的问题。

1.2 计算机的基本组成

1.2.1 冯诺依曼计算机的特点

  1. 计算机由运算器、存储器、控制器、输入设备、输出设备组成
  2. 数据和指令以同等地位存储于存储器内,并可按地址寻访。
  3. 数据和指令以二进制形式存放。
  4. 指令由地址码、操作码构成,操作码表示操作的属性,地址码表示操作数的存放地址。
  5. 指令在存储器内按顺序存放。通常指令是按顺序执行,可根据运算结果或设定条件改变执行顺序。
  6. 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。

1.2.2 计算机的硬件框图

冯诺依曼计算机结构框图:

在这里插入图片描述
各部件功能如下:
运算器:用来完成计算机的数值运算、逻辑运算,并将中间结果暂存在运算器中。
存储器:存放数据和指令。
控制器:控制指挥程序的执行、输入数据,运行以及处理运算结果。
输入设备:用来将人们熟悉的信息形式转换为机器能识别的形式。
输出设备:将计算机运行结果转换成人们熟悉的信息形式。

现代计算机硬件结构图:

在这里插入图片描述
在这里插入图片描述

1.2.3 计算机的工作步骤

  • 上机前的准备
  1. 建立数学模型
  2. 确定计算方法
  3. 编制解题程序
  • 计算机的工作过程
  1. 主存储器在这里插入图片描述
    主存的工作方式就是按照存储单元的地址号实现对存储字的存、取。这种存取方式称为按地址存取。
    下面分别介绍主存的构成部件:
    存储体内部由一个个存储单元构成,每个存储单元又包含多个存储元件,每个存储元件能寄存一位二进制代码0或1。存储字是存在存储单元中的二进制代码,存储字可以表示一串字符、二进制数、一条指令。存储字长是存储字的长度。
    MAR是存储器地址寄存器,它的位数对应存储单元的个数。
    MDR是存储器数据寄存器,它的长度对应存储字长。
    随着硬件技术的发展,主存都制成大规模集成电路的芯片,而将MAR,MDR集成在CPU中。
    早期计算机的存储字长与指令字长、数据字长相等,但随着计算机的应用范围不断扩大,解题精度不断提高,往往要求指令字长、数据字长是可变的。因此现在存储字长、指令字长、数据字长三者可各不相同,但它们必须是字节的整数倍。

  2. 运算器
    在这里插入图片描述
    在这里插入图片描述
    加法操作过程在这里插入图片描述
    减法操作过程
    在这里插入图片描述
    乘法操作过程
    在这里插入图片描述
    除法操作过程
    在这里插入图片描述

  3. 控制器
    在这里插入图片描述
    控制器的主要作用指挥各部件自动协调的工作,具体步骤是读取指令、分析指令、执行指令。
    下面分别介绍控制器中的各个部件:
    CU:控制单元,分析当前指令需要完成的操作,并发出各种微指令序列,控制被控对象。
    IR:指令寄存器,存放当前欲执行的指令,指令来源于MDR。
    PC:程序计数器,存放当前欲执行指令的地址,与存储器的MAR有一条直接通路,且具有自动加一(根据计算机的不同加的数字也不同)的功能。

  4. I/O
    每一种IO设备都由I/O接口与主机联系,它接收CU发出的各种控制命令,并完成相应操作。

主机上完成一条指令的过程(取数过程)
在这里插入图片描述
注:序列号与图中序号对应

  1. 首先程序计数器PC在CU的控制下将地址送到MAR中。
  2. MAR将地址送给存储体。
  3. 在控制器的控制下,存储体将对应地址存储单元中的取数指令送给MDR。
  4. MDR将对应的取数指令送给IR。
  5. IR将指令寄存器中指令的操作码部分送给CU,CU进行指令分析。我们的指令是将存储单元M中保存的数据存储到ACC中去。
  6. IR将指令寄存器中地址部分送给MAR。
  7. MAR将地址送给存储体。
  8. 在控制器的控制下,存储体将对应地址M,存储单元中的数据送给MDR。
  9. MDR将数据送到ACC中。

1.3 计算机硬件的主要技术指标

衡量一台计算机性能的优劣是根据多项技术指标综合确定的,既包含硬件的各种性能指标,又包括软件的各种功能。这里主要讨论硬件的技术指标。

1.3.1 机器字长

机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。 字长越长,能表示的数的范围越大,精度越高。并且机器字长影响数据运算速度。

1.3.2 存储容量

存储容量=存储单元个数x存储字长

1.3.3 运算速度

早期用一条指令运算的时间衡量计算机运算速度,后来又用吉普森法按频率对指令运算时间进行加权运算。现在机器运算速度普遍采用单位时间内执行指令的平均条数来确定,MIPS作为计量单位(每秒执行百万条数据)。也可以用CPI执行一条指令的时钟周期、FLOPS每秒浮点运算次数来衡量。

1.4 本书结构

在这里插入图片描述

第二章 计算机的发展及应用

2.1 计算机的发展史

1946年 美国 ENIAC,为美军弹道实验室研究,通过搬动开关和插拔电缆编程,没有存储器,计算速度被编程耗时抵消了。
电子技术和计算机体系结构技术推动计算机的发展,所以计算机的发展历史是按硬件技术的发展划代的。
在这里插入图片描述

2.2 计算机的应用

  1. 科学计算与数据处理
  2. 工业控制和实时控制
  3. 网络技术
  4. 虚拟现实
  5. 办公自动化和管理信息系统
  6. CAD/CAM/CIMS
  7. 多媒体技术
  8. 人工智能

2.3 计算机的展望

  1. 计算机具有类似人脑的智能(人工智能)
  2. ?替代传统的硅芯片(量子计算机)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章