2.计算机组成原理之计算机系统概论

计算机系统概论

文章目录

计算机系统简介

问题1:现代计算机系统由哪两部分构成?

物联网:

  • 把感应器嵌入和装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等各种物体中,并且被普遍连接,形成所谓“物联网”,然后将“物联网”与现有的互联网整合起来,实现人类社会与物理系统的整合,形成智慧地球。

计算机的多态性

2.计算机组成原理之计算机系统概论

计算机的软硬件概念

计算机的软硬件概念:计算机系统由硬件和软件两部分构成

  • 硬件: 计算机的实体,如主机、外设等;
  • 软件: 由具有各类特殊功能的信息(程序)组成;

软件:

  • 系统软件:用来管理整个计算机系统;如:语言处理程序、操作系统、服务性程序、数据库管理系统、网络软件
  • 应用软件: 按任务需要编制成的各种程序。

计算机系统的简单层次结构

2.计算机组成原理之计算机系统概论

系统复杂性管理的方法-1:抽象

  • 抽象-对于一个过程或者一件制品的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达得更加清楚-----百度百科;
  • 抽象-指高级的模型,和低级的实体相对-----*
  • 抽象-隐藏系统中不重要的细节。 -----David Harris

从物理构成的角度抽象:

2.计算机组成原理之计算机系统概论

计算机系统的层次结构

计算机系统的层次结构:

2.计算机组成原理之计算机系统概论

计算机组成与计算机体系结构从研究内容上来说有什么区别呢?

  • 计算机体系结构:
    • 程序员所见到的计算机系统的属性
    • 概念性的结构与功能特性
    • (指令系统、数据类型、寻址技术、 I/O机理)
    • 例:有无乘法指令;
  • 计算机组成:
    • 实现计算机体系结构所体现的属性
    • (具体指令的实现)
    • 例:如何实现乘法指令。

计算机的基本组成

冯·诺依曼计算机的特点:

  1. 计算机由五大部件组成,运算器、控制器、存储器、输入设备、输出设备;
  2. 指令和数据以同等地位存于存储器,可按地址寻访;
  3. 指令和数据用二进制表示;
  4. 指令由操作码和地址码组成;
  5. 存储程序(核心特点),程序存放在存储器中,具有存储程序特征的计算器都是冯诺依曼计算机;
  6. 以运算器为中心。

2.计算机组成原理之计算机系统概论

该结构图的缺点:

  • 1.以运算器为中心,运算器会成为计算机的瓶颈(数据的输入输出必须经过运算器,运算器还需要处理算术逻辑运算);
  • 2.不具备层次结构。

2.计算机组成原理之计算机系统概论

系统复杂性管理的方法-2(3’Y)

  • 层次化(Hierachy):将被设计的系统划分为多个模块或子模块;再对子模块进行设计或继续细化;
  • 模块化(Modularity):(模块必须)有明确定义(well-defined)的功能和接口;
  • 规则性(regularity):模块更容易被重用;

计算机的工作步骤

问题: 一个现实中的问题(假设可计算问题),如何用计算机来解决?

1.上机前的准备

  • 建立数学模型
  • 确定计算方法
  • 编制解题程序
    • 程序 —— 运算的 全部步骤
    • 指令 —— 每 一个步骤

编程举例:计算 ax^2 + bx + c

确定算法模型及计算方法:

  • 采用算法2;

2.计算机组成原理之计算机系统概论

指令格式举例:

  • 基于算法2编写相应的指令;
  • ACC - 寄存器, 取数的结果、加法的结果、减法的结果等默认保存在ACC中;
  • 问题: 乘法指令存在问题, 例:8位 * 8位 会产生溢出;

2.计算机组成原理之计算机系统概论

计算程序清单:

  • 指令和数据都是保存在存储器中的;
  • 指令和数据用二进制表示;

2.计算机组成原理之计算机系统概论

2.计算机的解题过程

问题:存储器的结构?

问题:如何进行访问?

问题:每次访问获得的数据的位数是多少呢?

(1)存储器的基本组成

  • 组成: 存储体 - 存储单元 - 存储元件(0/1)
  • 对应: 大楼 - 房间 - 床位(无人/有人)
  • 存储单元 – 存放一串二进制代码;指令和数据都是存放在存储单元中;
  • 存储字 - 存储单元中二进制代码的组合;
  • 存储字长 - 存储单元中二进制代码的位数;
  • 每个存储单元赋予一个地址号;

MAR-存储器地址寄存器:

  • 保存存储单元的地址;
  • 反映存储单元的个数;

MDR-存储器数据寄存器:

  • 保存了要放入CPU 或要放入 存储体中的数据;
  • 反映存储字长;

例:

  • 设 MAR=4位,MDR=8位(二进制);
  • 存储单元个数16,存储字长8;

2.计算机组成原理之计算机系统概论

存储单元如何进行访问?

  • 存储单元是按地址寻访;

(2)运算器的基本组成及操作过程

问题:运算器的结构是什么?

问题:运算器功能是什么?,如何工作的?

  • 例:加法、减、乘法、除、逻辑运算:或、与、非等;

运算器的基本组成及操作过程:

  • 核心: ALU ,算元运算单元;
  • X 寄存器,作为运算的输入;
  • ACC 寄存器, 也用于保存运算的结果;
  • MQ 寄存器,也称乘商计数器, 乘法操作运算的结果的长度要增加一倍,把增加出来的部分保存在 MQ中;
  • 计算机中的乘法:乘法是通过加法+移位的方式实现,乘数和被乘数都是二进制,能过累加器把结果累加起来,累加器使用ACC,运算结果 ACC保存结果的高位,MQ保存结果的低位;
  • 计算机中的乘法:乘法是使用 ACC 通过 累加+移位 的方式实现;
  • 计算机中的除法:除法是通过减法+移位的方式实现;

2.计算机组成原理之计算机系统概论

加法操作过程 (指令 加 M):

  1. 初始态,被加数放入 ACC 寄存器中;
  2. 取数,将 地址M的数据放入 X 寄存器中, [M] -> X ;
  3. 累加,将结果放入ACC中 , [ACC] + [X] -> ACC 。

2.计算机组成原理之计算机系统概论

减法操作过程:

2.计算机组成原理之计算机系统概论

乘法操作过程 (指令 乘 M):

  1. 初始态,将被乘数放入 ACC 寄存器中;
  2. 取数, 将乘数 [M] 放入 MQ 寄存器中;
  3. 将被乘数放入 ACC 寄存器中;
  4. 因为乘法是使用 ACC 通过 累加+移位 的方式实现,执行累加前要将 ACC 置0 , 0 -> ACC;
  5. 执行乘法,将结果的高位保存在 ACC 中, 低位保存在 MQ 中。

注:步骤 2 和 3 的执行顺序可互换,或者并行处理,但其它指令总体是需要按顺序执行的;哪些指令可以并行,哪些指令必须按先后顺序执行这个工作由控制器来负责。

2.计算机组成原理之计算机系统概论

二进制乘法示例:

2.计算机组成原理之计算机系统概论

除法操作过程:

  • 除法是通过减法+移位的方式实现;

2.计算机组成原理之计算机系统概论

二进制除法示例:

2.计算机组成原理之计算机系统概论

(3)控制器的基本组成

问题:控制器的功能?

  • 解释指令 和 保证指令的按序执行;

问题:控制器的基本结构如何呢?

2.计算机组成原理之计算机系统概论

运算器、控制器、存储器构成了什么?

  • 构成了一台计算机的主机;

(4)主机完成一条指令的过程

  • 程序在主机上是如何执行的。

主机完成一条指令的过程-以取数指令为例:

  • 阶段一:取指令
    • 对应操作: 1,2,3,4
    • 1,2:PC 存放当前欲执行指令的地址,PC 把该指令地址送给 MAR, 再由 MAR 送给存储体;
    • 3,4:在控制器的控制下,存储体把指定存储单元中保存的取数指令取出,送入到 MDR ,再送入到 IR ,IR保存当前欲执行的指令;
  • 阶段二:分析指令
    • 对应操作:5
    • 分析指令大量操作是在 CU 控制单元内部执行,分析指令只需将 指令的操作码部分放入 CU 中,再由CU 控制相应的部件去执行相应的指令;
  • 阶段三:执行指令
    • 对应步骤:6,7,8,9
    • 6,7:因为指令为取数指令,从IR 开始将 地址码部分送入 MAR , 再由 MAR 送入存储体;
    • 8,9:在控制器的控制下,从存储体中将取数指令要取的数存入 MDR, 再送入到 ACC 寄存器中。

2.计算机组成原理之计算机系统概论

主机完成一条指令的过程-以存数指令为例:

2.计算机组成原理之计算机系统概论

程序运行过程举例:

2.计算机组成原理之计算机系统概论

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

2.计算机组成原理之计算机系统概论

2.计算机组成原理之计算机系统概论

公众号

2.计算机组成原理之计算机系统概论

参考

计算机组成原理(上) 国家精品 刘宏伟 、张丽杰 、舒燕君 、张展 、潘道华

https://www.icourse163.org/learn/HIT-309001?tid=1463127442#/learn/announce

上一篇:flink table窗口聚合的open函数未调用的bug分析


下一篇:洛谷P4343 [SHOI2015]自动刷题机